{"version":3,"sources":["vendor/ember-cli/app-prefix.js","geotechnical-data-platform-new/adapters/-json-api.js","geotechnical-data-platform-new/adapters/acceleration-value.js","geotechnical-data-platform-new/adapters/application.js","geotechnical-data-platform-new/adapters/axial-displacement-value.js","geotechnical-data-platform-new/adapters/axial-strain-value.js","geotechnical-data-platform-new/adapters/bending-strain-value.js","geotechnical-data-platform-new/adapters/displacement-value.js","geotechnical-data-platform-new/adapters/event-frequency.js","geotechnical-data-platform-new/adapters/event-ppa.js","geotechnical-data-platform-new/adapters/event-ppv.js","geotechnical-data-platform-new/adapters/firmware-value.js","geotechnical-data-platform-new/adapters/frequency-ppa.js","geotechnical-data-platform-new/adapters/frequency-ppv.js","geotechnical-data-platform-new/adapters/gateway-temperature.js","geotechnical-data-platform-new/adapters/gateway-value.js","geotechnical-data-platform-new/adapters/gateway.js","geotechnical-data-platform-new/adapters/instrument.js","geotechnical-data-platform-new/adapters/load-value.js","geotechnical-data-platform-new/adapters/log-viewer.js","geotechnical-data-platform-new/adapters/readings-value.js","geotechnical-data-platform-new/adapters/reconnection-value.js","geotechnical-data-platform-new/adapters/rssi-value.js","geotechnical-data-platform-new/adapters/strain-rate-value.js","geotechnical-data-platform-new/adapters/strain-value.js","geotechnical-data-platform-new/adapters/temp-value.js","geotechnical-data-platform-new/adapters/temperature-gateway-value.js","geotechnical-data-platform-new/adapters/temperature-value.js","geotechnical-data-platform-new/adapters/uploads-value.js","geotechnical-data-platform-new/adapters/uptime-value.js","geotechnical-data-platform-new/adapters/velocity-value.js","geotechnical-data-platform-new/adapters/vendor.js","geotechnical-data-platform-new/adapters/voltage-value.js","geotechnical-data-platform-new/app.js","geotechnical-data-platform-new/authenticators/myauth.js","geotechnical-data-platform-new/component-managers/glimmer.js","geotechnical-data-platform-new/components/-dynamic-element-alt.js","geotechnical-data-platform-new/components/-dynamic-element.js","geotechnical-data-platform-new/components/adict/create-alert.js","geotechnical-data-platform-new/components/adict/create-instrument.js","geotechnical-data-platform-new/components/adict/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/adict/edit-alert.js","geotechnical-data-platform-new/components/adict/edit-instrument.js","geotechnical-data-platform-new/components/adict/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/adict/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/adict/raw-data.js","geotechnical-data-platform-new/components/adict/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/adict/temporal-CABLE-chart-dropdown.js","geotechnical-data-platform-new/components/adict/temporal-MPBX-chart-dropdown.js","geotechnical-data-platform-new/components/adict/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/advanced-filter.js","geotechnical-data-platform-new/components/alert-row.js","geotechnical-data-platform-new/components/alerts-list.js","geotechnical-data-platform-new/components/array-path-layer.js","geotechnical-data-platform-new/components/base-layer.js","geotechnical-data-platform-new/components/blu900gw/create-alert.js","geotechnical-data-platform-new/components/blu900gw/create-gateway.js","geotechnical-data-platform-new/components/blu900gw/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/components/blu900gw/edit-alert.js","geotechnical-data-platform-new/components/blu900gw/edit-gateway.js","geotechnical-data-platform-new/components/blu900gw/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/components/blu900gw/raw-gateway-data.js","geotechnical-data-platform-new/components/blu900gw/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/components/blu900gw/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/components/blu900gw/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/components/blu900node/create-alert.js","geotechnical-data-platform-new/components/blu900node/create-gateway.js","geotechnical-data-platform-new/components/blu900node/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/components/blu900node/edit-alert.js","geotechnical-data-platform-new/components/blu900node/edit-gateway.js","geotechnical-data-platform-new/components/blu900node/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/components/blu900node/raw-gateway-data.js","geotechnical-data-platform-new/components/blu900node/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/components/blu900node/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/components/blu900node/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/components/blucell/create-alert.js","geotechnical-data-platform-new/components/blucell/create-gateway.js","geotechnical-data-platform-new/components/blucell/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/components/blucell/edit-gateway-alert.js","geotechnical-data-platform-new/components/blucell/edit-gateway.js","geotechnical-data-platform-new/components/blucell/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/components/blucell/raw-gateway-data.js","geotechnical-data-platform-new/components/blucell/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/components/blucell/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/components/blucell/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/components/blugate/create-alert.js","geotechnical-data-platform-new/components/blugate/create-gateway.js","geotechnical-data-platform-new/components/blugate/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/components/blugate/edit-alert.js","geotechnical-data-platform-new/components/blugate/edit-gateway.js","geotechnical-data-platform-new/components/blugate/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/components/blugate/nvd3-temporal-gateway-line-chart_old.js","geotechnical-data-platform-new/components/blugate/raw-gateway-data.js","geotechnical-data-platform-new/components/blugate/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/components/blugate/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/components/blugate/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/components/bluvibe/create-alert.js","geotechnical-data-platform-new/components/bluvibe/create-gateway.js","geotechnical-data-platform-new/components/bluvibe/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/components/bluvibe/edit-alert.js","geotechnical-data-platform-new/components/bluvibe/edit-gateway.js","geotechnical-data-platform-new/components/bluvibe/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/components/bluvibe/nvd3-temporal-gateway-line-chart_old.js","geotechnical-data-platform-new/components/bluvibe/raw-gateway-data.js","geotechnical-data-platform-new/components/bluvibe/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/components/bluvibe/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/components/bluvibe/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/components/bread-crumbs.js","geotechnical-data-platform-new/components/bs-accordion.js","geotechnical-data-platform-new/components/bs-accordion/item.js","geotechnical-data-platform-new/components/bs-accordion/item/body.js","geotechnical-data-platform-new/components/bs-accordion/item/title.js","geotechnical-data-platform-new/components/bs-alert.js","geotechnical-data-platform-new/components/bs-button-group.js","geotechnical-data-platform-new/components/bs-button-group/button.js","geotechnical-data-platform-new/components/bs-button.js","geotechnical-data-platform-new/components/bs-carousel.js","geotechnical-data-platform-new/components/bs-carousel/slide.js","geotechnical-data-platform-new/components/bs-collapse.js","geotechnical-data-platform-new/components/bs-dropdown.js","geotechnical-data-platform-new/components/bs-dropdown/button.js","geotechnical-data-platform-new/components/bs-dropdown/menu.js","geotechnical-data-platform-new/components/bs-dropdown/menu/divider.js","geotechnical-data-platform-new/components/bs-dropdown/menu/item.js","geotechnical-data-platform-new/components/bs-dropdown/menu/link-to.js","geotechnical-data-platform-new/components/bs-dropdown/toggle.js","geotechnical-data-platform-new/components/bs-form.js","geotechnical-data-platform-new/components/bs-form/element.js","geotechnical-data-platform-new/components/bs-form/element/control.js","geotechnical-data-platform-new/components/bs-form/element/control/checkbox.js","geotechnical-data-platform-new/components/bs-form/element/control/input.js","geotechnical-data-platform-new/components/bs-form/element/control/radio.js","geotechnical-data-platform-new/components/bs-form/element/control/textarea.js","geotechnical-data-platform-new/components/bs-form/element/errors.js","geotechnical-data-platform-new/components/bs-form/element/feedback-icon.js","geotechnical-data-platform-new/components/bs-form/element/help-text.js","geotechnical-data-platform-new/components/bs-form/element/label.js","geotechnical-data-platform-new/components/bs-form/element/layout/horizontal.js","geotechnical-data-platform-new/components/bs-form/element/layout/horizontal/checkbox.js","geotechnical-data-platform-new/components/bs-form/element/layout/inline.js","geotechnical-data-platform-new/components/bs-form/element/layout/inline/checkbox.js","geotechnical-data-platform-new/components/bs-form/element/layout/vertical.js","geotechnical-data-platform-new/components/bs-form/element/layout/vertical/checkbox.js","geotechnical-data-platform-new/components/bs-form/element/legend.js","geotechnical-data-platform-new/components/bs-form/group.js","geotechnical-data-platform-new/components/bs-modal-simple.js","geotechnical-data-platform-new/components/bs-modal.js","geotechnical-data-platform-new/components/bs-modal/body.js","geotechnical-data-platform-new/components/bs-modal/dialog.js","geotechnical-data-platform-new/components/bs-modal/footer.js","geotechnical-data-platform-new/components/bs-modal/header.js","geotechnical-data-platform-new/components/bs-modal/header/close.js","geotechnical-data-platform-new/components/bs-modal/header/title.js","geotechnical-data-platform-new/components/bs-nav.js","geotechnical-data-platform-new/components/bs-nav/item.js","geotechnical-data-platform-new/components/bs-nav/link-to.js","geotechnical-data-platform-new/components/bs-navbar.js","geotechnical-data-platform-new/components/bs-navbar/content.js","geotechnical-data-platform-new/components/bs-navbar/link-to.js","geotechnical-data-platform-new/components/bs-navbar/nav.js","geotechnical-data-platform-new/components/bs-navbar/toggle.js","geotechnical-data-platform-new/components/bs-popover.js","geotechnical-data-platform-new/components/bs-popover/element.js","geotechnical-data-platform-new/components/bs-progress.js","geotechnical-data-platform-new/components/bs-progress/bar.js","geotechnical-data-platform-new/components/bs-tab.js","geotechnical-data-platform-new/components/bs-tab/pane.js","geotechnical-data-platform-new/components/bs-tooltip.js","geotechnical-data-platform-new/components/bs-tooltip/element.js","geotechnical-data-platform-new/components/cable/create-alert.js","geotechnical-data-platform-new/components/cable/create-instrument.js","geotechnical-data-platform-new/components/cable/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/cable/edit-alert.js","geotechnical-data-platform-new/components/cable/edit-instrument.js","geotechnical-data-platform-new/components/cable/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/cable/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/cable/raw-data.js","geotechnical-data-platform-new/components/cable/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/cable/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/circle-layer.js","geotechnical-data-platform-new/components/circle-marker-layer.js","geotechnical-data-platform-new/components/create-new-blast-event-form.js","geotechnical-data-platform-new/components/create-new-seismic-event-form.js","geotechnical-data-platform-new/components/dash-map.js","geotechnical-data-platform-new/components/data-export-form.js","geotechnical-data-platform-new/components/data-export-gateway-form.js","geotechnical-data-platform-new/components/data-import-form-seis.js","geotechnical-data-platform-new/components/data-import-form.js","geotechnical-data-platform-new/components/data-import-gateway-form.js","geotechnical-data-platform-new/components/data-tables-details.js","geotechnical-data-platform-new/components/dconv/create-alert.js","geotechnical-data-platform-new/components/dconv/create-instrument.js","geotechnical-data-platform-new/components/dconv/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/dconv/edit-alert.js","geotechnical-data-platform-new/components/dconv/edit-instrument.js","geotechnical-data-platform-new/components/dconv/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/dconv/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/dconv/raw-data.js","geotechnical-data-platform-new/components/dconv/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/dconv/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/div-overlay-layer.js","geotechnical-data-platform-new/components/dppc/create-alert.js","geotechnical-data-platform-new/components/dppc/create-instrument.js","geotechnical-data-platform-new/components/dppc/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/dppc/edit-alert.js","geotechnical-data-platform-new/components/dppc/edit-instrument.js","geotechnical-data-platform-new/components/dppc/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/dppc/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/dppc/raw-data.js","geotechnical-data-platform-new/components/dppc/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/dppc/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/dropdown-option.js","geotechnical-data-platform-new/components/ember-modal-dialog-positioned-container.js","geotechnical-data-platform-new/components/ember-modal-dialog/-basic-dialog.js","geotechnical-data-platform-new/components/ember-modal-dialog/-in-place-dialog.js","geotechnical-data-platform-new/components/ember-modal-dialog/-liquid-dialog.js","geotechnical-data-platform-new/components/ember-modal-dialog/-liquid-tether-dialog.js","geotechnical-data-platform-new/components/ember-modal-dialog/-tether-dialog.js","geotechnical-data-platform-new/components/ember-popper-targeting-parent.js","geotechnical-data-platform-new/components/ember-popper.js","geotechnical-data-platform-new/components/ember-wormhole.js","geotechnical-data-platform-new/components/fa-icon.js","geotechnical-data-platform-new/components/file-field.js","geotechnical-data-platform-new/components/file-gateway-upload.js","geotechnical-data-platform-new/components/file-upload-seis.js","geotechnical-data-platform-new/components/file-upload.js","geotechnical-data-platform-new/components/filter-text-input-alert.js","geotechnical-data-platform-new/components/filter-text-input-events.js","geotechnical-data-platform-new/components/filter-text-input-gateway.js","geotechnical-data-platform-new/components/filter-text-input-log-viewer.js","geotechnical-data-platform-new/components/filter-text-input.js","geotechnical-data-platform-new/components/frequency-display-records-dropdown.js","geotechnical-data-platform-new/components/gateway-alerts-list.js","geotechnical-data-platform-new/components/gateway-list-children.js","geotechnical-data-platform-new/components/gateway-list.js","geotechnical-data-platform-new/components/gateway-selector.js","geotechnical-data-platform-new/components/geojson-layer.js","geotechnical-data-platform-new/components/hid/create-alert.js","geotechnical-data-platform-new/components/hid/create-instrument.js","geotechnical-data-platform-new/components/hid/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/hid/edit-alert.js","geotechnical-data-platform-new/components/hid/edit-instrument.js","geotechnical-data-platform-new/components/hid/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/hid/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/hid/raw-data.js","geotechnical-data-platform-new/components/hid/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/hid/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/image-layer.js","geotechnical-data-platform-new/components/instrument-drop-down.js","geotechnical-data-platform-new/components/instruments-list.js","geotechnical-data-platform-new/components/interactive-layer.js","geotechnical-data-platform-new/components/key-import-form.js","geotechnical-data-platform-new/components/key-upload.js","geotechnical-data-platform-new/components/leaflet-map.js","geotechnical-data-platform-new/components/log-viewer.js","geotechnical-data-platform-new/components/mapbox-gl-call.js","geotechnical-data-platform-new/components/mapbox-gl-control.js","geotechnical-data-platform-new/components/mapbox-gl-image.js","geotechnical-data-platform-new/components/mapbox-gl-layer.js","geotechnical-data-platform-new/components/mapbox-gl-marker.js","geotechnical-data-platform-new/components/mapbox-gl-on.js","geotechnical-data-platform-new/components/mapbox-gl-popup.js","geotechnical-data-platform-new/components/mapbox-gl-source.js","geotechnical-data-platform-new/components/mapbox-gl.js","geotechnical-data-platform-new/components/marker-layer.js","geotechnical-data-platform-new/components/micro/create-alert.js","geotechnical-data-platform-new/components/micro/create-instrument.js","geotechnical-data-platform-new/components/micro/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/micro/edit-alert.js","geotechnical-data-platform-new/components/micro/edit-instrument.js","geotechnical-data-platform-new/components/micro/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/micro/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/micro/raw-data.js","geotechnical-data-platform-new/components/micro/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/micro/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/modal-dialog.js","geotechnical-data-platform-new/components/multiDExto/create-instrument.js","geotechnical-data-platform-new/components/multiDExto/dExto-children-table-row.js","geotechnical-data-platform-new/components/multiDExto/dExto-children.js","geotechnical-data-platform-new/components/multiDExto/edit-instrument.js","geotechnical-data-platform-new/components/multiDExto/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/multiDExto/raw-data.js","geotechnical-data-platform-new/components/multiDExto/selected-dExtos.js","geotechnical-data-platform-new/components/multiDExto/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/navbar.js","geotechnical-data-platform-new/components/node.js","geotechnical-data-platform-new/components/oneforone/create-alert.js","geotechnical-data-platform-new/components/oneforone/create-gateway.js","geotechnical-data-platform-new/components/oneforone/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/components/oneforone/edit-alert.js","geotechnical-data-platform-new/components/oneforone/edit-gateway.js","geotechnical-data-platform-new/components/oneforone/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/components/oneforone/raw-gateway-data.js","geotechnical-data-platform-new/components/oneforone/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/components/oneforone/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/components/oneforone/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/components/pack/create-alert.js","geotechnical-data-platform-new/components/pack/create-instrument.js","geotechnical-data-platform-new/components/pack/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/pack/edit-alert.js","geotechnical-data-platform-new/components/pack/edit-instrument.js","geotechnical-data-platform-new/components/pack/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/pack/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/pack/raw-data.js","geotechnical-data-platform-new/components/pack/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/pack/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/pagination-links.js","geotechnical-data-platform-new/components/path-layer.js","geotechnical-data-platform-new/components/piezo/create-alert.js","geotechnical-data-platform-new/components/piezo/create-instrument.js","geotechnical-data-platform-new/components/piezo/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/piezo/edit-alert.js","geotechnical-data-platform-new/components/piezo/edit-instrument.js","geotechnical-data-platform-new/components/piezo/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/piezo/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/piezo/raw-data.js","geotechnical-data-platform-new/components/piezo/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/piezo/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/point-path-layer.js","geotechnical-data-platform-new/components/polygon-layer.js","geotechnical-data-platform-new/components/polyline-layer.js","geotechnical-data-platform-new/components/popup-layer.js","geotechnical-data-platform-new/components/popup-list.js","geotechnical-data-platform-new/components/raw-drop-down.js","geotechnical-data-platform-new/components/raw-port-drop-down.js","geotechnical-data-platform-new/components/rebar/create-alert.js","geotechnical-data-platform-new/components/rebar/create-instrument.js","geotechnical-data-platform-new/components/rebar/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/rebar/edit-alert.js","geotechnical-data-platform-new/components/rebar/edit-instrument.js","geotechnical-data-platform-new/components/rebar/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/rebar/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/rebar/raw-data.js","geotechnical-data-platform-new/components/rebar/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/rebar/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/rebarv2/create-alert.js","geotechnical-data-platform-new/components/rebarv2/create-instrument.js","geotechnical-data-platform-new/components/rebarv2/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/rebarv2/edit-alert.js","geotechnical-data-platform-new/components/rebarv2/edit-instrument.js","geotechnical-data-platform-new/components/rebarv2/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/rebarv2/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/rebarv2/raw-data.js","geotechnical-data-platform-new/components/rebarv2/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/rebarv2/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/record-selector.js","geotechnical-data-platform-new/components/rectangle-layer.js","geotechnical-data-platform-new/components/root.js","geotechnical-data-platform-new/components/searchable-select-option.js","geotechnical-data-platform-new/components/searchable-select.js","geotechnical-data-platform-new/components/single-save-checkbox.js","geotechnical-data-platform-new/components/single-save-datetime-picker.js","geotechnical-data-platform-new/components/single-save-gateway-inputs-array-table-row-cells.js","geotechnical-data-platform-new/components/single-save-geo-input.js","geotechnical-data-platform-new/components/single-save-input-InstType.js","geotechnical-data-platform-new/components/single-save-input-numeric.js","geotechnical-data-platform-new/components/single-save-input-password.js","geotechnical-data-platform-new/components/single-save-input.js","geotechnical-data-platform-new/components/single-save-inputs-array-table-row-cells-2.js","geotechnical-data-platform-new/components/single-save-inputs-array-table-row-cells.js","geotechnical-data-platform-new/components/single-save-instrument-anchors-rebar.js","geotechnical-data-platform-new/components/single-save-instrument-anchors.js","geotechnical-data-platform-new/components/single-save-interval-dropdown.js","geotechnical-data-platform-new/components/single-save-lookup.js","geotechnical-data-platform-new/components/single-save-select-alt.js","geotechnical-data-platform-new/components/single-save-select-non-model.js","geotechnical-data-platform-new/components/single-save-select.js","geotechnical-data-platform-new/components/single-save-time-picker.js","geotechnical-data-platform-new/components/slough/create-alert.js","geotechnical-data-platform-new/components/slough/create-instrument.js","geotechnical-data-platform-new/components/slough/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/slough/edit-alert.js","geotechnical-data-platform-new/components/slough/edit-instrument.js","geotechnical-data-platform-new/components/slough/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/slough/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/slough/raw-data.js","geotechnical-data-platform-new/components/slough/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/slough/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/sortable-table-header.js","geotechnical-data-platform-new/components/spatial-blast-dropdown.js","geotechnical-data-platform-new/components/spatial-event-dropdown.js","geotechnical-data-platform-new/components/spatial-group-dropdown.js","geotechnical-data-platform-new/components/spatial-seismic-dropdown.js","geotechnical-data-platform-new/components/spatial-time-dropdown.js","geotechnical-data-platform-new/components/spatial-window-dropdown.js","geotechnical-data-platform-new/components/svg-instrument.js","geotechnical-data-platform-new/components/temporal-blast-dropdown.js","geotechnical-data-platform-new/components/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/temporal-display-records-dropdown.js","geotechnical-data-platform-new/components/temporal-event-dropdown.js","geotechnical-data-platform-new/components/temporal-group-dropdown.js","geotechnical-data-platform-new/components/temporal-seismic-dropdown.js","geotechnical-data-platform-new/components/temporal-window-dropdown.js","geotechnical-data-platform-new/components/thermo/create-alert.js","geotechnical-data-platform-new/components/thermo/create-instrument.js","geotechnical-data-platform-new/components/thermo/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/thermo/edit-alert.js","geotechnical-data-platform-new/components/thermo/edit-instrument.js","geotechnical-data-platform-new/components/thermo/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/thermo/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/thermo/raw-data.js","geotechnical-data-platform-new/components/thermo/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/thermo/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/tile-layer.js","geotechnical-data-platform-new/components/tilt/create-alert.js","geotechnical-data-platform-new/components/tilt/create-instrument.js","geotechnical-data-platform-new/components/tilt/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/tilt/edit-alert.js","geotechnical-data-platform-new/components/tilt/edit-instrument.js","geotechnical-data-platform-new/components/tilt/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/tilt/raw-data.js","geotechnical-data-platform-new/components/tilt/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/tooltip-layer.js","geotechnical-data-platform-new/components/vendor-instrument.js","geotechnical-data-platform-new/components/vibe/create-alert.js","geotechnical-data-platform-new/components/vibe/create-instrument.js","geotechnical-data-platform-new/components/vibe/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/vibe/edit-alert.js","geotechnical-data-platform-new/components/vibe/edit-instrument.js","geotechnical-data-platform-new/components/vibe/frequency-chart-dropdown.js","geotechnical-data-platform-new/components/vibe/nvd3-frequency-line-chart.js","geotechnical-data-platform-new/components/vibe/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/vibe/raw-data.js","geotechnical-data-platform-new/components/vibe/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/video-layer.js","geotechnical-data-platform-new/components/welcome-page.js","geotechnical-data-platform-new/components/wire-single-save-inputs-array-table-row-cells.js","geotechnical-data-platform-new/components/wire/create-alert.js","geotechnical-data-platform-new/components/wire/create-instrument.js","geotechnical-data-platform-new/components/wire/create-new-raw-data-value-form.js","geotechnical-data-platform-new/components/wire/edit-alert.js","geotechnical-data-platform-new/components/wire/edit-instrument-port-drop-down.js","geotechnical-data-platform-new/components/wire/edit-instrument.js","geotechnical-data-platform-new/components/wire/geo-pt-edit.js","geotechnical-data-platform-new/components/wire/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/components/wire/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/components/wire/raw-data-dropdown.js","geotechnical-data-platform-new/components/wire/raw-data.js","geotechnical-data-platform-new/components/wire/roc-pws-edit.js","geotechnical-data-platform-new/components/wire/spatial-chart-dropdown.js","geotechnical-data-platform-new/components/wire/temporal-chart-dropdown.js","geotechnical-data-platform-new/components/wms-tile-layer.js","geotechnical-data-platform-new/controllers/alerts.js","geotechnical-data-platform-new/controllers/application.js","geotechnical-data-platform-new/controllers/blast-events.js","geotechnical-data-platform-new/controllers/create-alert.js","geotechnical-data-platform-new/controllers/create-gateway-alert.js","geotechnical-data-platform-new/controllers/create-gateway.js","geotechnical-data-platform-new/controllers/create-instrument.js","geotechnical-data-platform-new/controllers/create-lookup.js","geotechnical-data-platform-new/controllers/edit-alert.js","geotechnical-data-platform-new/controllers/edit-gateway-alert.js","geotechnical-data-platform-new/controllers/edit-gateway.js","geotechnical-data-platform-new/controllers/edit-instrument.js","geotechnical-data-platform-new/controllers/edit-lookups.js","geotechnical-data-platform-new/controllers/frequency-graphs.js","geotechnical-data-platform-new/controllers/frequency-graphs/frequency-graph.js","geotechnical-data-platform-new/controllers/gateway.js","geotechnical-data-platform-new/controllers/index.js","geotechnical-data-platform-new/controllers/instruments.js","geotechnical-data-platform-new/controllers/keys.js","geotechnical-data-platform-new/controllers/list-lookups.js","geotechnical-data-platform-new/controllers/log-viewer.js","geotechnical-data-platform-new/controllers/login.js","geotechnical-data-platform-new/controllers/progress-bar.js","geotechnical-data-platform-new/controllers/raw-data.js","geotechnical-data-platform-new/controllers/raw-gateway-data.js","geotechnical-data-platform-new/controllers/seismic-events.js","geotechnical-data-platform-new/controllers/settings.js","geotechnical-data-platform-new/controllers/spatial-graphs.js","geotechnical-data-platform-new/controllers/spatial-graphs/spatial-graph.js","geotechnical-data-platform-new/controllers/temporal-gateway-graphs.js","geotechnical-data-platform-new/controllers/temporal-gateway-graphs/temporal-gateway-graph.js","geotechnical-data-platform-new/controllers/temporal-graphs.js","geotechnical-data-platform-new/controllers/temporal-graphs/temporal-graph.js","geotechnical-data-platform-new/controllers/vibration-events.js","geotechnical-data-platform-new/data-adapter.js","geotechnical-data-platform-new/helpers/-element.js","geotechnical-data-platform-new/helpers/active-class.js","geotechnical-data-platform-new/helpers/alert-get-id.js","geotechnical-data-platform-new/helpers/and.js","geotechnical-data-platform-new/helpers/app-version.js","geotechnical-data-platform-new/helpers/arrayAt.js","geotechnical-data-platform-new/helpers/bs-contains.js","geotechnical-data-platform-new/helpers/bs-default.js","geotechnical-data-platform-new/helpers/bs-eq.js","geotechnical-data-platform-new/helpers/bs-noop.js","geotechnical-data-platform-new/helpers/bs-size-class.js","geotechnical-data-platform-new/helpers/bs-type-class.js","geotechnical-data-platform-new/helpers/buttonclass.js","geotechnical-data-platform-new/helpers/cancel-all.js","geotechnical-data-platform-new/helpers/compare-anchors.js","geotechnical-data-platform-new/helpers/current-date.js","geotechnical-data-platform-new/helpers/did-insert.js","geotechnical-data-platform-new/helpers/did-update.js","geotechnical-data-platform-new/helpers/div-icon.js","geotechnical-data-platform-new/helpers/element.js","geotechnical-data-platform-new/helpers/ember-leaflet-assign-to.js","geotechnical-data-platform-new/helpers/ember-leaflet-eq.js","geotechnical-data-platform-new/helpers/ember-leaflet-hash.js","geotechnical-data-platform-new/helpers/ember-leaflet-or.js","geotechnical-data-platform-new/helpers/ensure-safe-component.js","geotechnical-data-platform-new/helpers/eq.js","geotechnical-data-platform-new/helpers/format-number.js","geotechnical-data-platform-new/helpers/get-array-element.js","geotechnical-data-platform-new/helpers/get-array-value.js","geotechnical-data-platform-new/helpers/gt.js","geotechnical-data-platform-new/helpers/gte.js","geotechnical-data-platform-new/helpers/icon.js","geotechnical-data-platform-new/helpers/if-empty-string-or-null.js","geotechnical-data-platform-new/helpers/ignore-children.js","geotechnical-data-platform-new/helpers/is-after.js","geotechnical-data-platform-new/helpers/is-array.js","geotechnical-data-platform-new/helpers/is-before.js","geotechnical-data-platform-new/helpers/is-between.js","geotechnical-data-platform-new/helpers/is-empty.js","geotechnical-data-platform-new/helpers/is-equal.js","geotechnical-data-platform-new/helpers/is-greater-than.js","geotechnical-data-platform-new/helpers/is-instrument-anchors-set.js","geotechnical-data-platform-new/helpers/is-same-or-after.js","geotechnical-data-platform-new/helpers/is-same-or-before.js","geotechnical-data-platform-new/helpers/is-same.js","geotechnical-data-platform-new/helpers/is-stroke-length-required-and-set.js","geotechnical-data-platform-new/helpers/lat-lng-bounds.js","geotechnical-data-platform-new/helpers/loc.js","geotechnical-data-platform-new/helpers/logger.js","geotechnical-data-platform-new/helpers/lt.js","geotechnical-data-platform-new/helpers/lte.js","geotechnical-data-platform-new/helpers/moment-add.js","geotechnical-data-platform-new/helpers/moment-calendar.js","geotechnical-data-platform-new/helpers/moment-diff.js","geotechnical-data-platform-new/helpers/moment-duration.js","geotechnical-data-platform-new/helpers/moment-format.js","geotechnical-data-platform-new/helpers/moment-from-now.js","geotechnical-data-platform-new/helpers/moment-from.js","geotechnical-data-platform-new/helpers/moment-subtract.js","geotechnical-data-platform-new/helpers/moment-to-date.js","geotechnical-data-platform-new/helpers/moment-to-now.js","geotechnical-data-platform-new/helpers/moment-to.js","geotechnical-data-platform-new/helpers/moment-unix.js","geotechnical-data-platform-new/helpers/moment.js","geotechnical-data-platform-new/helpers/not-eq.js","geotechnical-data-platform-new/helpers/not.js","geotechnical-data-platform-new/helpers/now.js","geotechnical-data-platform-new/helpers/on-document.js","geotechnical-data-platform-new/helpers/on-window.js","geotechnical-data-platform-new/helpers/on.js","geotechnical-data-platform-new/helpers/or.js","geotechnical-data-platform-new/helpers/page-title.js","geotechnical-data-platform-new/helpers/parseint.js","geotechnical-data-platform-new/helpers/perform.js","geotechnical-data-platform-new/helpers/pluralize.js","geotechnical-data-platform-new/helpers/point.js","geotechnical-data-platform-new/helpers/range.js","geotechnical-data-platform-new/helpers/ref-to.js","geotechnical-data-platform-new/helpers/searchable-select-get.js","geotechnical-data-platform-new/helpers/searchable-select-highlight-match.js","geotechnical-data-platform-new/helpers/singularize.js","geotechnical-data-platform-new/helpers/sum.js","geotechnical-data-platform-new/helpers/task.js","geotechnical-data-platform-new/helpers/unix.js","geotechnical-data-platform-new/helpers/utc.js","geotechnical-data-platform-new/helpers/validate-dExto.js","geotechnical-data-platform-new/helpers/validate-initial-channels.js","geotechnical-data-platform-new/helpers/will-destroy.js","geotechnical-data-platform-new/helpers/xor.js","geotechnical-data-platform-new/initializers/app-version.js","geotechnical-data-platform-new/initializers/bread-crumbs.js","geotechnical-data-platform-new/initializers/container-debug-adapter.js","geotechnical-data-platform-new/initializers/ember-data-data-adapter.js","geotechnical-data-platform-new/initializers/ember-data.js","geotechnical-data-platform-new/initializers/ember-simple-auth.js","geotechnical-data-platform-new/initializers/export-application-global.js","geotechnical-data-platform-new/initializers/leaflet-assets.js","geotechnical-data-platform-new/initializers/load-bootstrap-config.js","geotechnical-data-platform-new/instance-initializers/add-modals-container.js","geotechnical-data-platform-new/instance-initializers/ember-data.js","geotechnical-data-platform-new/instance-initializers/ember-simple-auth.js","geotechnical-data-platform-new/models/acceleration-value.js","geotechnical-data-platform-new/models/alert-anchor.js","geotechnical-data-platform-new/models/alert-stat.js","geotechnical-data-platform-new/models/alert.js","geotechnical-data-platform-new/models/anchor.js","geotechnical-data-platform-new/models/axial-displacement-value.js","geotechnical-data-platform-new/models/axial-strain-value.js","geotechnical-data-platform-new/models/bending-strain-value.js","geotechnical-data-platform-new/models/blast-event.js","geotechnical-data-platform-new/models/blast-type.js","geotechnical-data-platform-new/models/chart.js","geotechnical-data-platform-new/models/displacement-value.js","geotechnical-data-platform-new/models/event-frequency.js","geotechnical-data-platform-new/models/event-ppa.js","geotechnical-data-platform-new/models/event-ppv.js","geotechnical-data-platform-new/models/firmware-value.js","geotechnical-data-platform-new/models/frequency-ppa.js","geotechnical-data-platform-new/models/frequency-ppv.js","geotechnical-data-platform-new/models/gateway-child-relation.js","geotechnical-data-platform-new/models/gateway-interval.js","geotechnical-data-platform-new/models/gateway-stat.js","geotechnical-data-platform-new/models/gateway-temperature.js","geotechnical-data-platform-new/models/gateway-type.js","geotechnical-data-platform-new/models/gateway-value.js","geotechnical-data-platform-new/models/gateway.js","geotechnical-data-platform-new/models/head-at.js","geotechnical-data-platform-new/models/instrument-stat.js","geotechnical-data-platform-new/models/instrument-type.js","geotechnical-data-platform-new/models/instrument.js","geotechnical-data-platform-new/models/licence-key.js","geotechnical-data-platform-new/models/licence.js","geotechnical-data-platform-new/models/load-value.js","geotechnical-data-platform-new/models/log-viewer.js","geotechnical-data-platform-new/models/lookup.js","geotechnical-data-platform-new/models/measurement.js","geotechnical-data-platform-new/models/project-setting.js","geotechnical-data-platform-new/models/readings-value.js","geotechnical-data-platform-new/models/reconnection-value.js","geotechnical-data-platform-new/models/rssi-value.js","geotechnical-data-platform-new/models/seismic-event.js","geotechnical-data-platform-new/models/seismic-type.js","geotechnical-data-platform-new/models/strain-rate-value.js","geotechnical-data-platform-new/models/strain-value.js","geotechnical-data-platform-new/models/temp-value.js","geotechnical-data-platform-new/models/temperature-gateway-value.js","geotechnical-data-platform-new/models/temperature-value.js","geotechnical-data-platform-new/models/uploads-value.js","geotechnical-data-platform-new/models/uptime-value.js","geotechnical-data-platform-new/models/velocity-value.js","geotechnical-data-platform-new/models/vendor.js","geotechnical-data-platform-new/models/vibration-event.js","geotechnical-data-platform-new/models/voltage-value.js","geotechnical-data-platform-new/models/vwmodel.js","geotechnical-data-platform-new/models/vwproperty.js","geotechnical-data-platform-new/models/vwvendor.js","geotechnical-data-platform-new/modifiers/create-ref.js","geotechnical-data-platform-new/modifiers/did-insert.js","geotechnical-data-platform-new/modifiers/did-update.js","geotechnical-data-platform-new/modifiers/focus-trap.js","geotechnical-data-platform-new/modifiers/style.js","geotechnical-data-platform-new/modifiers/will-destroy.js","geotechnical-data-platform-new/router.js","geotechnical-data-platform-new/routes/AuthenticatedRoute.js","geotechnical-data-platform-new/routes/alerts.js","geotechnical-data-platform-new/routes/application.js","geotechnical-data-platform-new/routes/blast-event.js","geotechnical-data-platform-new/routes/blast-events.js","geotechnical-data-platform-new/routes/create-alert.js","geotechnical-data-platform-new/routes/create-gateway-alert.js","geotechnical-data-platform-new/routes/create-gateway.js","geotechnical-data-platform-new/routes/create-instrument.js","geotechnical-data-platform-new/routes/create-lookup.js","geotechnical-data-platform-new/routes/edit-alert.js","geotechnical-data-platform-new/routes/edit-gateway-alert.js","geotechnical-data-platform-new/routes/edit-gateway.js","geotechnical-data-platform-new/routes/edit-instrument.js","geotechnical-data-platform-new/routes/frequency-graphs.js","geotechnical-data-platform-new/routes/frequency-graphs/frequency-graph.js","geotechnical-data-platform-new/routes/gateway-alert.js","geotechnical-data-platform-new/routes/gateway.js","geotechnical-data-platform-new/routes/index.js","geotechnical-data-platform-new/routes/instruments.js","geotechnical-data-platform-new/routes/keys.js","geotechnical-data-platform-new/routes/list-lookups.js","geotechnical-data-platform-new/routes/log-viewer.js","geotechnical-data-platform-new/routes/login.js","geotechnical-data-platform-new/routes/raw-data.js","geotechnical-data-platform-new/routes/raw-gateway-data.js","geotechnical-data-platform-new/routes/seismic-event.js","geotechnical-data-platform-new/routes/seismic-events.js","geotechnical-data-platform-new/routes/settings.js","geotechnical-data-platform-new/routes/spatial-graphs.js","geotechnical-data-platform-new/routes/spatial-graphs/spatial-graph.js","geotechnical-data-platform-new/routes/temporal-gateway-graphs.js","geotechnical-data-platform-new/routes/temporal-gateway-graphs/temporal-gateway-graph.js","geotechnical-data-platform-new/routes/temporal-graphs.js","geotechnical-data-platform-new/routes/temporal-graphs/temporal-graph.js","geotechnical-data-platform-new/routes/vibration-events.js","geotechnical-data-platform-new/serializers/-default.js","geotechnical-data-platform-new/serializers/-json-api.js","geotechnical-data-platform-new/serializers/-rest.js","geotechnical-data-platform-new/serializers/application.js","geotechnical-data-platform-new/services/-ensure-registered.js","geotechnical-data-platform-new/services/ajax.js","geotechnical-data-platform-new/services/cookies.js","geotechnical-data-platform-new/services/ember-leaflet.js","geotechnical-data-platform-new/services/modal-dialog.js","geotechnical-data-platform-new/services/moment.js","geotechnical-data-platform-new/services/page-title-list.js","geotechnical-data-platform-new/services/page-title.js","geotechnical-data-platform-new/services/session.js","geotechnical-data-platform-new/services/store.js","geotechnical-data-platform-new/session-stores/application.js","geotechnical-data-platform-new/templates/alerts.js","geotechnical-data-platform-new/templates/application.js","geotechnical-data-platform-new/templates/blast-events.js","geotechnical-data-platform-new/templates/components/adict/create-alert.js","geotechnical-data-platform-new/templates/components/adict/create-instrument.js","geotechnical-data-platform-new/templates/components/adict/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/adict/edit-alert.js","geotechnical-data-platform-new/templates/components/adict/edit-instrument.js","geotechnical-data-platform-new/templates/components/adict/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/adict/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/adict/raw-data.js","geotechnical-data-platform-new/templates/components/adict/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/adict/temporal-CABLE-chart-dropdown.js","geotechnical-data-platform-new/templates/components/adict/temporal-MPBX-chart-dropdown.js","geotechnical-data-platform-new/templates/components/adict/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/advanced-filter.js","geotechnical-data-platform-new/templates/components/alert-row.js","geotechnical-data-platform-new/templates/components/alerts-list.js","geotechnical-data-platform-new/templates/components/blu900gw/create-alert.js","geotechnical-data-platform-new/templates/components/blu900gw/create-gateway.js","geotechnical-data-platform-new/templates/components/blu900gw/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/templates/components/blu900gw/edit-alert.js","geotechnical-data-platform-new/templates/components/blu900gw/edit-gateway.js","geotechnical-data-platform-new/templates/components/blu900gw/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/templates/components/blu900gw/raw-gateway-data.js","geotechnical-data-platform-new/templates/components/blu900gw/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/templates/components/blu900gw/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/templates/components/blu900gw/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/templates/components/blu900node/create-alert.js","geotechnical-data-platform-new/templates/components/blu900node/create-gateway.js","geotechnical-data-platform-new/templates/components/blu900node/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/templates/components/blu900node/edit-alert.js","geotechnical-data-platform-new/templates/components/blu900node/edit-gateway.js","geotechnical-data-platform-new/templates/components/blu900node/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/templates/components/blu900node/raw-gateway-data.js","geotechnical-data-platform-new/templates/components/blu900node/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/templates/components/blu900node/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/templates/components/blu900node/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/templates/components/blucell/create-alert.js","geotechnical-data-platform-new/templates/components/blucell/create-gateway.js","geotechnical-data-platform-new/templates/components/blucell/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/templates/components/blucell/edit-gateway-alert.js","geotechnical-data-platform-new/templates/components/blucell/edit-gateway.js","geotechnical-data-platform-new/templates/components/blucell/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/templates/components/blucell/raw-gateway-data.js","geotechnical-data-platform-new/templates/components/blucell/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/templates/components/blucell/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/templates/components/blucell/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/templates/components/blugate/create-alert.js","geotechnical-data-platform-new/templates/components/blugate/create-gateway.js","geotechnical-data-platform-new/templates/components/blugate/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/templates/components/blugate/edit-alert.js","geotechnical-data-platform-new/templates/components/blugate/edit-gateway.js","geotechnical-data-platform-new/templates/components/blugate/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/templates/components/blugate/raw-gateway-data.js","geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-chart-dropdown_old.js","geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-right-axis-dropdown_old.js","geotechnical-data-platform-new/templates/components/bluvibe/create-alert.js","geotechnical-data-platform-new/templates/components/bluvibe/create-gateway.js","geotechnical-data-platform-new/templates/components/bluvibe/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/templates/components/bluvibe/edit-gateway-alert.js","geotechnical-data-platform-new/templates/components/bluvibe/edit-gateway.js","geotechnical-data-platform-new/templates/components/bluvibe/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/templates/components/bluvibe/raw-gateway-data.js","geotechnical-data-platform-new/templates/components/bluvibe/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/templates/components/bluvibe/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/templates/components/bluvibe/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/templates/components/bread-crumbs.js","geotechnical-data-platform-new/templates/components/cable/create-alert.js","geotechnical-data-platform-new/templates/components/cable/create-instrument.js","geotechnical-data-platform-new/templates/components/cable/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/cable/edit-alert.js","geotechnical-data-platform-new/templates/components/cable/edit-instrument.js","geotechnical-data-platform-new/templates/components/cable/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/cable/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/cable/raw-data.js","geotechnical-data-platform-new/templates/components/cable/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/cable/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/create-new-blast-event-form.js","geotechnical-data-platform-new/templates/components/create-new-seismic-event-form.js","geotechnical-data-platform-new/templates/components/data-export-form.js","geotechnical-data-platform-new/templates/components/data-export-gateway-form.js","geotechnical-data-platform-new/templates/components/data-import-form-seis.js","geotechnical-data-platform-new/templates/components/data-import-form.js","geotechnical-data-platform-new/templates/components/data-import-gateway-form.js","geotechnical-data-platform-new/templates/components/dconv/create-alert.js","geotechnical-data-platform-new/templates/components/dconv/create-instrument.js","geotechnical-data-platform-new/templates/components/dconv/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/dconv/edit-alert.js","geotechnical-data-platform-new/templates/components/dconv/edit-instrument.js","geotechnical-data-platform-new/templates/components/dconv/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/dconv/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/dconv/raw-data.js","geotechnical-data-platform-new/templates/components/dconv/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/dconv/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/display-noneditable-numeric.js","geotechnical-data-platform-new/templates/components/dppc/create-alert.js","geotechnical-data-platform-new/templates/components/dppc/create-instrument.js","geotechnical-data-platform-new/templates/components/dppc/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/dppc/edit-alert.js","geotechnical-data-platform-new/templates/components/dppc/edit-instrument.js","geotechnical-data-platform-new/templates/components/dppc/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/dppc/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/dppc/raw-data.js","geotechnical-data-platform-new/templates/components/dppc/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/ember-popper-targeting-parent.js","geotechnical-data-platform-new/templates/components/ember-popper.js","geotechnical-data-platform-new/templates/components/file-upload-seis.js","geotechnical-data-platform-new/templates/components/file-upload.js","geotechnical-data-platform-new/templates/components/filter-text-input-alert.js","geotechnical-data-platform-new/templates/components/filter-text-input-events.js","geotechnical-data-platform-new/templates/components/filter-text-input-gateway.js","geotechnical-data-platform-new/templates/components/filter-text-input-log-viewer.js","geotechnical-data-platform-new/templates/components/filter-text-input.js","geotechnical-data-platform-new/templates/components/frequency-chart-dropdown.js","geotechnical-data-platform-new/templates/components/frequency-display-records-dropdown.js","geotechnical-data-platform-new/templates/components/gateway-alerts-list.js","geotechnical-data-platform-new/templates/components/gateway-list-children.js","geotechnical-data-platform-new/templates/components/gateway-list.js","geotechnical-data-platform-new/templates/components/gateway-selector.js","geotechnical-data-platform-new/templates/components/getTotalsAlerts.js","geotechnical-data-platform-new/templates/components/getTotalsGateway.js","geotechnical-data-platform-new/templates/components/getTotalsInstruments.js","geotechnical-data-platform-new/templates/components/getTotalsLogViewers.js","geotechnical-data-platform-new/templates/components/hid/create-alert.js","geotechnical-data-platform-new/templates/components/hid/create-instrument.js","geotechnical-data-platform-new/templates/components/hid/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/hid/edit-alert.js","geotechnical-data-platform-new/templates/components/hid/edit-instrument.js","geotechnical-data-platform-new/templates/components/hid/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/hid/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/hid/raw-data.js","geotechnical-data-platform-new/templates/components/hid/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/hid/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/instrument-drop-down.js","geotechnical-data-platform-new/templates/components/instruments-list.js","geotechnical-data-platform-new/templates/components/key-import-form.js","geotechnical-data-platform-new/templates/components/key-upload.js","geotechnical-data-platform-new/templates/components/log-viewer-list.js","geotechnical-data-platform-new/templates/components/micro/create-alert.js","geotechnical-data-platform-new/templates/components/micro/create-instrument.js","geotechnical-data-platform-new/templates/components/micro/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/micro/edit-alert.js","geotechnical-data-platform-new/templates/components/micro/edit-instrument.js","geotechnical-data-platform-new/templates/components/micro/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/micro/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/micro/raw-data.js","geotechnical-data-platform-new/templates/components/micro/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/micro/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/multiDExto/create-instrument.js","geotechnical-data-platform-new/templates/components/multiDExto/dExto-children-table-row.js","geotechnical-data-platform-new/templates/components/multiDExto/dExto-children.js","geotechnical-data-platform-new/templates/components/multiDExto/edit-instrument.js","geotechnical-data-platform-new/templates/components/multiDExto/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/multiDExto/raw-data.js","geotechnical-data-platform-new/templates/components/multiDExto/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/navbar.js","geotechnical-data-platform-new/templates/components/oneforone/create-alert.js","geotechnical-data-platform-new/templates/components/oneforone/create-gateway.js","geotechnical-data-platform-new/templates/components/oneforone/create-new-raw-gateway-data-value-form.js","geotechnical-data-platform-new/templates/components/oneforone/edit-alert.js","geotechnical-data-platform-new/templates/components/oneforone/edit-gateway.js","geotechnical-data-platform-new/templates/components/oneforone/nvd3-temporal-gateway-line-chart.js","geotechnical-data-platform-new/templates/components/oneforone/raw-gateway-data.js","geotechnical-data-platform-new/templates/components/oneforone/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/templates/components/oneforone/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/templates/components/oneforone/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/templates/components/pack/create-alert.js","geotechnical-data-platform-new/templates/components/pack/create-instrument.js","geotechnical-data-platform-new/templates/components/pack/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/pack/edit-alert.js","geotechnical-data-platform-new/templates/components/pack/edit-instrument.js","geotechnical-data-platform-new/templates/components/pack/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/pack/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/pack/raw-data.js","geotechnical-data-platform-new/templates/components/pack/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/pack/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/page-item-count.js","geotechnical-data-platform-new/templates/components/pagination-links.js","geotechnical-data-platform-new/templates/components/piezo/create-alert.js","geotechnical-data-platform-new/templates/components/piezo/create-instrument.js","geotechnical-data-platform-new/templates/components/piezo/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/piezo/edit-alert.js","geotechnical-data-platform-new/templates/components/piezo/edit-instrument.js","geotechnical-data-platform-new/templates/components/piezo/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/piezo/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/piezo/raw-data.js","geotechnical-data-platform-new/templates/components/piezo/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/popup-list.js","geotechnical-data-platform-new/templates/components/progress-bar.js","geotechnical-data-platform-new/templates/components/radio-buttons.js","geotechnical-data-platform-new/templates/components/raw-drop-down.js","geotechnical-data-platform-new/templates/components/raw-gateway-drop-down.js","geotechnical-data-platform-new/templates/components/raw-port-drop-down.js","geotechnical-data-platform-new/templates/components/rebar/create-alert.js","geotechnical-data-platform-new/templates/components/rebar/create-instrument.js","geotechnical-data-platform-new/templates/components/rebar/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/rebar/edit-alert.js","geotechnical-data-platform-new/templates/components/rebar/edit-instrument.js","geotechnical-data-platform-new/templates/components/rebar/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/rebar/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/rebar/raw-data.js","geotechnical-data-platform-new/templates/components/rebar/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/rebar/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/rebarv2/create-alert.js","geotechnical-data-platform-new/templates/components/rebarv2/create-instrument.js","geotechnical-data-platform-new/templates/components/rebarv2/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/rebarv2/edit-alert.js","geotechnical-data-platform-new/templates/components/rebarv2/edit-instrument.js","geotechnical-data-platform-new/templates/components/rebarv2/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/rebarv2/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/rebarv2/raw-data.js","geotechnical-data-platform-new/templates/components/rebarv2/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/rebarv2/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/record-selector.js","geotechnical-data-platform-new/templates/components/selected-dExtos.js","geotechnical-data-platform-new/templates/components/single-save-checkbox.js","geotechnical-data-platform-new/templates/components/single-save-datetime-picker.js","geotechnical-data-platform-new/templates/components/single-save-gateway-inputs-array-table-row-cells.js","geotechnical-data-platform-new/templates/components/single-save-geo-input.js","geotechnical-data-platform-new/templates/components/single-save-input-InstType.js","geotechnical-data-platform-new/templates/components/single-save-input-numeric.js","geotechnical-data-platform-new/templates/components/single-save-input-password.js","geotechnical-data-platform-new/templates/components/single-save-input.js","geotechnical-data-platform-new/templates/components/single-save-inputs-array-table-row-cells-2.js","geotechnical-data-platform-new/templates/components/single-save-inputs-array-table-row-cells.js","geotechnical-data-platform-new/templates/components/single-save-instrument-anchors-rebar.js","geotechnical-data-platform-new/templates/components/single-save-instrument-anchors.js","geotechnical-data-platform-new/templates/components/single-save-interval-dropdown.js","geotechnical-data-platform-new/templates/components/single-save-lookup.js","geotechnical-data-platform-new/templates/components/single-save-select-alt.js","geotechnical-data-platform-new/templates/components/single-save-select-non-model.js","geotechnical-data-platform-new/templates/components/single-save-select.js","geotechnical-data-platform-new/templates/components/single-save-time-picker.js","geotechnical-data-platform-new/templates/components/slough/create-alert.js","geotechnical-data-platform-new/templates/components/slough/create-instrument.js","geotechnical-data-platform-new/templates/components/slough/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/slough/edit-alert.js","geotechnical-data-platform-new/templates/components/slough/edit-instrument.js","geotechnical-data-platform-new/templates/components/slough/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/slough/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/slough/raw-data.js","geotechnical-data-platform-new/templates/components/slough/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/slough/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/sortable-table-header.js","geotechnical-data-platform-new/templates/components/spatial-blast-dropdown.js","geotechnical-data-platform-new/templates/components/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/spatial-event-dropdown.js","geotechnical-data-platform-new/templates/components/spatial-group-dropdown.js","geotechnical-data-platform-new/templates/components/spatial-seismic-dropdown.js","geotechnical-data-platform-new/templates/components/spatial-time-dropdown.js","geotechnical-data-platform-new/templates/components/spatial-window-dropdown.js","geotechnical-data-platform-new/templates/components/svg-instrument.js","geotechnical-data-platform-new/templates/components/temporal-blast-dropdown.js","geotechnical-data-platform-new/templates/components/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/temporal-display-records-dropdown.js","geotechnical-data-platform-new/templates/components/temporal-event-dropdown.js","geotechnical-data-platform-new/templates/components/temporal-gateway-chart-dropdown.js","geotechnical-data-platform-new/templates/components/temporal-gateway-left-axis-dropdown.js","geotechnical-data-platform-new/templates/components/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/templates/components/temporal-group-dropdown.js","geotechnical-data-platform-new/templates/components/temporal-seismic-dropdown.js","geotechnical-data-platform-new/templates/components/temporal-window-dropdown.js","geotechnical-data-platform-new/templates/components/thermo/create-alert.js","geotechnical-data-platform-new/templates/components/thermo/create-instrument.js","geotechnical-data-platform-new/templates/components/thermo/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/thermo/edit-alert.js","geotechnical-data-platform-new/templates/components/thermo/edit-instrument.js","geotechnical-data-platform-new/templates/components/thermo/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/thermo/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/thermo/raw-data.js","geotechnical-data-platform-new/templates/components/thermo/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/thermo/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/threeD.js","geotechnical-data-platform-new/templates/components/tilt/create-alert.js","geotechnical-data-platform-new/templates/components/tilt/create-instrument.js","geotechnical-data-platform-new/templates/components/tilt/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/tilt/edit-alert.js","geotechnical-data-platform-new/templates/components/tilt/edit-instrument.js","geotechnical-data-platform-new/templates/components/tilt/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/tilt/raw-data.js","geotechnical-data-platform-new/templates/components/tilt/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/vendor-instrument.js","geotechnical-data-platform-new/templates/components/vibe/create-alert.js","geotechnical-data-platform-new/templates/components/vibe/create-instrument.js","geotechnical-data-platform-new/templates/components/vibe/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/vibe/edit-alert.js","geotechnical-data-platform-new/templates/components/vibe/edit-instrument.js","geotechnical-data-platform-new/templates/components/vibe/frequency-chart-dropdown.js","geotechnical-data-platform-new/templates/components/vibe/nvd3-frequency-line-chart.js","geotechnical-data-platform-new/templates/components/vibe/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/vibe/raw-data.js","geotechnical-data-platform-new/templates/components/vibe/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/components/wire-single-save-inputs-array-table-row-cells.js","geotechnical-data-platform-new/templates/components/wire/create-alert.js","geotechnical-data-platform-new/templates/components/wire/create-instrument.js","geotechnical-data-platform-new/templates/components/wire/create-new-raw-data-value-form.js","geotechnical-data-platform-new/templates/components/wire/edit-alert.js","geotechnical-data-platform-new/templates/components/wire/edit-instrument-port-drop-down.js","geotechnical-data-platform-new/templates/components/wire/edit-instrument-tabs.js","geotechnical-data-platform-new/templates/components/wire/edit-instrument.js","geotechnical-data-platform-new/templates/components/wire/geo-pt-edit.js","geotechnical-data-platform-new/templates/components/wire/nvd3-spatial-line-chart.js","geotechnical-data-platform-new/templates/components/wire/nvd3-temporal-line-chart.js","geotechnical-data-platform-new/templates/components/wire/raw-data-dropdown.js","geotechnical-data-platform-new/templates/components/wire/raw-data.js","geotechnical-data-platform-new/templates/components/wire/roc-pws-edit.js","geotechnical-data-platform-new/templates/components/wire/spatial-chart-dropdown.js","geotechnical-data-platform-new/templates/components/wire/temporal-chart-dropdown.js","geotechnical-data-platform-new/templates/create-alert.js","geotechnical-data-platform-new/templates/create-gateway-alert.js","geotechnical-data-platform-new/templates/create-gateway.js","geotechnical-data-platform-new/templates/create-instrument.js","geotechnical-data-platform-new/templates/create-lookup.js","geotechnical-data-platform-new/templates/dash-map.js","geotechnical-data-platform-new/templates/edit-alert.js","geotechnical-data-platform-new/templates/edit-gateway-alert.js","geotechnical-data-platform-new/templates/edit-gateway.js","geotechnical-data-platform-new/templates/edit-instrument.js","geotechnical-data-platform-new/templates/edit-lookups.js","geotechnical-data-platform-new/templates/frequency-graphs.js","geotechnical-data-platform-new/templates/frequency-graphs/frequency-graph-loading.js","geotechnical-data-platform-new/templates/frequency-graphs/frequency-graph.js","geotechnical-data-platform-new/templates/gateway.js","geotechnical-data-platform-new/templates/index.js","geotechnical-data-platform-new/templates/instruments.js","geotechnical-data-platform-new/templates/keys.js","geotechnical-data-platform-new/templates/list-lookups.js","geotechnical-data-platform-new/templates/log-viewer.js","geotechnical-data-platform-new/templates/login.js","geotechnical-data-platform-new/templates/raw-data.js","geotechnical-data-platform-new/templates/raw-gateway-data.js","geotechnical-data-platform-new/templates/seismic-events.js","geotechnical-data-platform-new/templates/settings.js","geotechnical-data-platform-new/templates/spatial-graphs.js","geotechnical-data-platform-new/templates/spatial-graphs/spatial-graph-loading.js","geotechnical-data-platform-new/templates/spatial-graphs/spatial-graph.js","geotechnical-data-platform-new/templates/temporal-gateway-graphs.js","geotechnical-data-platform-new/templates/temporal-gateway-graphs/temporal-gateway-graph-loading.js","geotechnical-data-platform-new/templates/temporal-gateway-graphs/temporal-gateway-graph.js","geotechnical-data-platform-new/templates/temporal-gateway-right-axis-dropdown.js","geotechnical-data-platform-new/templates/temporal-graphs.js","geotechnical-data-platform-new/templates/temporal-graphs/temporal-graph-loading.js","geotechnical-data-platform-new/templates/temporal-graphs/temporal-graph.js","geotechnical-data-platform-new/templates/vibration-events.js","geotechnical-data-platform-new/transforms/boolean.js","geotechnical-data-platform-new/transforms/date.js","geotechnical-data-platform-new/transforms/digits.js","geotechnical-data-platform-new/transforms/number.js","geotechnical-data-platform-new/transforms/string.js","geotechnical-data-platform-new/transforms/text.js","geotechnical-data-platform-new/uploaders/s3.js","geotechnical-data-platform-new/uploaders/uploader.js","vendor/ember-cli/app-suffix.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["'use strict';\n\n\n","define(\"geotechnical-data-platform-new/adapters/-json-api\", [\"exports\", \"@ember-data/adapter/json-api\"], function (_exports, _jsonApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _jsonApi.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import DS from 'ember-data';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\nimport { inject as service } from '@ember/service';\nimport { computed, observer } from '@ember/object';\n\nexport default DS.JSONAPIAdapter.extend({\n    host: ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT,\n    session: service(),\n    buildURL: function(type, id, record) {\n        //call the default buildURL and then append a slash\n\n        // console.log(\"API_PORT: \" + ENV.API_PORT);\n        return this._super(type, id, record) + '/';\n    },\n    headers: computed({\n        get() {\n            return {\n                Accept: 'application/vnd.api+json',\n                withCredentials: true,\n                Authorization: 'Basic ' + this.get('session').data.authenticated['login']\n            }\n        }\n        //Authorization: 'Basic ' + ENV.API_CREDENTIALS // base64encode yieldpoint:YPfuture\n    })\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    }\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/bluvibe/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/bluvibe/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/bluvibe/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/bluvibe/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/bluvibe/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/bluvibe/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        // console.log(\"in buildURL: modelName: \" + modelName + \"  ID: \" + id + \"  requestType: \" + requestType + \"  query: \" + query)\n        if (requestType === 'createRecord') {\n        //  console.log(\"gateway_value adapter createRecord modelName: \" + modelName);\n          return this.host + '/gateway/gateway_id/' + modelName + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n        // console.log(\"gateway_value adapter update modelName: \" + modelName);\n          return this.host + '/gateway/gateway_id/' + modelName + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n        //  console.log(\"gateway_value adapter undefined modelName: \" + modelName);\n          return this.host + '/gateway/' + query.gateway_id + '/' + modelName + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n    \n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            // console.log(\"Create record:::::::::::::::::::: \" + this.host + '/gateway/');\n            return this.host + '/gateway/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateway/gateway_id/';\n        }\n        if (typeof id !== 'undefined' && id !== null) {\n            return this.host + '/gateway/' + id + '/';\n        }\n        if (typeof query === 'undefined') {\n            return this.host + '/gateway/';\n        }\n        if (typeof query.gateway_id === 'undefined') {\n            return this.host + '/gateway/';\n        } else {\n            return this.host + '/gateway/' + query.gateway_id + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n        // console.log(\"Create record:::::::::::::::::::: \" + url  + \" \" + snapshot + \" \" + JSON.stringify(data)    );\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (id) {\n            url = url.replace(\"gateway_id\", id);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n        // console.log(\"Delete record:::::::::::::::::::: \");\n \n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (id) {\n            url = url.replace(\"gateway_id\", id);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/';\n        }\n        if (typeof id !== 'undefined' && id !== null) {\n            return this.host + '/instruments/' + id + '/';\n        }\n        if (typeof query === 'undefined') {\n            return this.host + '/instruments/';\n        }\n        if (typeof query.instrument_id === 'undefined') {\n            return this.host + '/instruments/';\n        } else {\n            // console.log(\"requestType: \" + requestType)\n            // console.log(\"query: \" + this.host + '/instruments/' + query.instrument_id + '/')\n        \n            return this.host + '/instruments/' + query.instrument_id + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (id) {\n            url = url.replace(\"instrument_id\", id);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n        if (id) {\n            url = url.replace(\"instrument_id\", id);\n        }\n        // console.log(\"Delete record:::::::::::::::::::: \" + url);\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/log-viewers/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/log-viewers/log-viewers_id/';\n        }\n        if (typeof id !== 'undefined' && id !== null) {\n            return this.host + '/log-viewers/' + id + '/';\n        }\n        if (typeof query === 'undefined') {\n            return this.host + '/log-viewers/';\n        }\n        // console.log(\"query::: \" + JSON.stringify(query))\n        if (typeof query.logViewer_id === 'undefined') {\n            return this.host + '/log-viewers/';\n        } else {\n            return this.host + '/log-viewers/' + query.logViewer_id + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"log-viewers_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (id) {\n            url = url.replace(\"log-viewers_id\", id);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n        if (id) {\n            url = url.replace(\"log-viewers_id\", id);\n        }\n        // console.log(\"Delete record:::::::::::::::::::: \" + url);\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n        // console.log(\"URL::: \" + url);\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/instruments/instrument_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/instruments/' + query.instrument_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"instrument_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        // console.log(\"host: \", this.host);\n        if (requestType === 'createRecord') {\n            return this.host + '/vendors/vendor_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/vendors/vendor_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        \n        if (query!=null && query != undefined) {\n            if(query.vendorType == 'GENERIC') {\n                // console.log(\"Query: \", query);\n                // console.log(\"host: \", this.host);\n                let vendorType = query.vendorType;\n                delete query.vendorType;\n                // console.log(\"Using custom URL for vendorType:\", vendorType);\n                return this.host + '/vendors/get_by_vendor_type/?vendorType=' + vendorType;\n            }\n        }\n\n        if (typeof query === 'undefined') {\n            return this.host + '/vendors/' + pluralize(modelName) + '/';\n        }\n    },\n  \n});","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport ApplicationAdapter from './application';\n\nexport default ApplicationAdapter.extend({\n    buildURL: function(modelName, id, snapshot, requestType, query) {\n        if (requestType === 'createRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/';\n        }\n        if (requestType === 'updateRecord' || requestType === 'deleteRecord') {\n            return this.host + '/gateways/gateway_id/' + pluralize(modelName) + '/' + snapshot.id + '/';\n        }\n        if (typeof query !== 'undefined') {\n            return this.host + '/gateways/' + query.gateway_id + '/' + pluralize(modelName) + '/';\n        }\n    },\n    createRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'createRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'POST', {data: data});\n    },\n    updateRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'PATCH', {data: data});\n    },\n    deleteRecord(store, type, snapshot) {\n\n        const data = {};\n        const serializer = store.serializerFor(type.modelName);\n\n        serializer.serializeIntoHash(data, type, snapshot, {includeId: true});\n\n        const id = snapshot.id;\n        let url = this.buildURL(type.modelName, id, snapshot, 'deleteRecord');\n\n        if (snapshot.adapterOptions) {\n            url = url.replace(\"gateway_id\", snapshot.adapterOptions);\n        }\n\n        return this.ajax(url, 'DELETE', {data: data});\n    },\n});\n","import Application from '@ember/application';\nimport Resolver from 'ember-resolver';\nimport loadInitializers from 'ember-load-initializers';\nimport config from './config/environment';\n\nexport default class App extends Application {\n  modulePrefix = config.modulePrefix;\n  podModulePrefix = config.podModulePrefix;\n  Resolver = Resolver;\n}\n\nloadInitializers(App, config.modulePrefix);\nEmber.deprecate = function(){};","// app/authenticators/custom.js\nimport Ember from 'ember';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\nimport Base from 'ember-simple-auth/authenticators/base';\nimport { inject as service } from '@ember/service';\nimport base64 from 'base-64';\n\nexport default class CustomAuthenticator extends Base {\n    @service session;\n\n    restore(data) {\n        //console.log('restore');\n        if(data) {\n            let promise = new Ember.RSVP.Promise(function(resolve, reject) {\n                if (data['auth'] == true) {\n                    resolve(data);\n                } else {\n                    reject(new Error(\"session no longer exists\"));\n                }\n            });\n            return promise;\n        }\n    }\n    \n    async authenticate(auth) {\n        //console.log('authenticate');\n\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT;\n        // let url = \"http://\" + document.location.host.split(':')[0] + \":8000\";\n        url += url.endsWith(\"/\") ? \"\" : \"/\";\n        url += \"licences/\";\n        console.log('url:' + url);\n        let login = base64.encode(auth[0]+\":\"+auth[1]);\n\n        let response = await fetch(url, {\n            method: 'GET',\n            headers: {\n                'Content-Type': 'application/json',\n                'Authorization': 'Basic ' + login\n            },\n        });\n        //console.log('auth');\n        if (response.ok) {\n            let expirationTime = ( 60 * 10 );\n            this.set('session.store.cookieExpirationTime', expirationTime);\n            let licence;\n            let isValid = false;\n            let limit = 0;\n            let modules = {};\n            try {\n                licence = await response.json();\n                licence = licence.data[0];\n                isValid = licence.attributes['is-valid'];\n                limit = licence.attributes['within-limit'];\n                modules = licence.attributes['modules'];\n            } catch (ex) {\n            }\n            return { auth: true, user: auth[0], isValid:isValid, limit:limit, modules:modules, login:login };\n        } else {\n            let error = await response.text();\n            //console.log('error');\n            try {\n                let er = JSON.parse(error);\n                if (er.hasOwnProperty('detail')) {\n                    error = er.detail;\n                }\n            } catch(error) {\n                //console.log(error);\n                //error = errorText;\n            }\n            throw new Error(error);\n        }\n    }\n}","define(\"geotechnical-data-platform-new/component-managers/glimmer\", [\"exports\", \"@glimmer/component/-private/ember-component-manager\"], function (_exports, _emberComponentManager) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberComponentManager.default;\n    }\n  });\n});\n","import Component from '@ember/component';\n\n// This component is not needed anymore. However we can only safely remove it once we have an Embroider release that\n// has the special dependency rule for this addon removed:\n// https://github.com/embroider-build/embroider/blob/4fad67f16f811e7f93199a1ee92dba8254c42978/packages/compat/src/addon-dependency-rules/ember-element-helper.ts\nexport default Component.extend();\n","import Component from '@ember/component';\n\n// This component is not needed anymore. However we can only safely remove it once we have an Embroider release that\n// has the special dependency rule for this addon removed:\n// https://github.com/embroider-build/embroider/blob/4fad67f16f811e7f93199a1ee92dba8254c42978/packages/compat/src/addon-dependency-rules/ember-element-helper.ts\nexport default Component.extend();\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        // console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            // console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                // console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        // console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count-1;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            // console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            // console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let timeReference = this.get('timeReference');\n            \n            if ( unallowedValues.includes(timeReference) ){\n                // console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                // console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                // console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n\n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                newAlertObject.creator = this.username;\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                               // Loop through the selected values\n                               // console.log(_this.activeChannels)\n                               _this.activeChannels.forEach(value => {\n                                   // console.log(error)\n                                   newAnchorObject = {};\n                                   newAnchorObject.alert = results;\n                                   newAnchorObject.selectedCh = value;\n\n                                   newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                   newAnchor.save().catch(function(reason) {\n                                       if (reason.errors[0].status == 403) {\n                                           _this.setError('isVisibleError',true);\n                                           _this.setError('authError',true);\n                                       }\n                                   });\n                               });\n                               // for(const elem of selector.selectedOptions) {\n                               //     // console.log(error)\n                               //     newAnchorObject = {};\n                               //     newAnchorObject.alert = results;\n                               //     newAnchorObject.selectedCh = elem.value;\n\n                               //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                               //     newAnchor.save();\n                               // }\n       \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                // console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                // console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n        // setPhoneNumber() {\n        //     console.log(\"alert.target:\" + this.get('alert.target'));\n        //     // this.set('alert.target', this.get('carrier'));\n        //     this.toggleProperty('showModal');\n        // },\n\n        handleSelection(selectedValue) {\n            // console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\nfunction resetNewInstrumentObject(_this) {\n    _this.set('newInstrumentObject', {instrumentStiffness:0, elasticLimitPct:0.8, ultimateLimitPct:3, elasticLimitFce:240, ultimateLimitFce:260});\n    //console.log('reset');\n    _this.set('instrumentStiffness', );\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    _this.set('vendor', null);\n    _this.set('strokeLength', null);\n    _this.set('vendor', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreateAdictInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n    @service store;\n    @tracked formDisabled = false; \n    @tracked fieldVisible = false; \n    \n    selectedVendor = null;\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        vendorTypeChanged(object){\n            let badValues = ['null', 'undefined', ''];\n            if(badValues.includes(object)) {\n                this.formDisabled = true;\n            } else {\n                this.formDisabled = false;\n                let vendor = this.vendors.find(vendor => vendor.id === object);\n                \n                if (vendor) {\n                    this.selectedVendor = vendor;\n                    this.set('newInstrumentObject.vendor', vendor);\n                    if(vendor.vendorType == \"MDT_CABLE\"){\n                        this.fieldVisible = true;\n                    } else {\n                        this.fieldVisible = false;\n                    }\n                    // console.log(`Vendor found: ${JSON.stringify(vendor)}`);\n                  } else {\n                    this.selectedVendor = null;\n                    this.set('newInstrumentObject.vendor', null);                    \n                }\n            }            \n            \n        },\n\n        strokeLengthChanged(strokeLength) {\n            this.set('newInstrumentObject.strokeLength', strokeLength);\n        },\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');            \n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                    newInstrument.save().then(function(results){\n                        if(results.id != null) {\n                            let anchorCount = parseInt(newInstrumentObject.id.substring(4,newInstrumentObject.id.length > 9 ? 6 : 5)) - 1;\n                            for(var ctr = 0; ctr <= anchorCount; ctr++) {\n                                store.createRecord('anchor', {number: ctr, distance: ctr, instrument: results}).save();\n                            }\n                        }\n                        // console.log(dup);\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n    async getInstrument() {\n        const store = this.get('store');\n        const instrumentId = this.get('instrumentId');\n\n        return store.findRecord('instrument', instrumentId);\n    },\n    anchorDistances: Ember.computed('instrument', async function() {\n        const inst = await this.getInstrument();\n        \n        const anchors = inst.anchors;\n        const anchorNumber = anchors.length;\n        const isMDT = this.get(\"isAdictMDT\");\n    \n        const dist = anchors.map((anchor, index) => {\n            const counter = index + 1;\n            const label = isMDT && counter === anchorNumber ? \"µA\" : anchor.get('distance');\n            return { counter, label };\n        });\n\n        // console.log(\"dist\");    \n        // console.log(dist);    \n        return dist;\n    }),\n    getAnchorLabel:Ember.computed('instrumentAnchors', function(){\n        let anchors = this.get('instrumentAnchors');\n        return ` (mm)`\n    }),\n    isAdictMDT: Ember.computed('instrument', async function() {\n        const inst = await this.getInstrument();\n        // console.log(inst.id);\n        const vendor = inst.vendor;\n        let isMDT = false;\n        try{\n            isMDT = vendor.vendorType.includes('MDT');\n        }\n        catch (e) {\n            isMDT = false;\n            // console.log(e);\n        }\n        return isMDT;\n    }),\n\n\n    instrumentAnchorsLength: Ember.computed('instrumentAnchors', function() {\n        if(this.isMDT) {\n            return this.get('instrumentAnchors').length - 1;\n        } else {\n            return this.get('instrumentAnchors').length;\n        }\n    }),  \n\n    instrumentAnchorsSorted: Ember.computed.sort('instrumentAnchors', 'instrumentAnchorsSorting'),\n\n    instrumentAnchorsForAdictMDT: Ember.computed('instrumentAnchors', function() {\n        let instrumentAnchors = this.instrumentAnchorsSorted;\n        \n        // Check if there are anchors to remove\n        if (instrumentAnchors.length > 0) {\n            instrumentAnchors.pop(); // Remove the last anchor\n        }\n        return instrumentAnchors;\n    }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n    convertMMToAdictBits: function(arrayMMs){\n        let bitsArray = [];\n        arrayMMs.forEach((mmValue)=>{\n            bitsArray.push((mmValue / this.get(\"instrument\").get('strokeLength') ) * 65536)\n        });\n        return bitsArray;\n    },\n    actions: {\n         saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n            let mmVals = this.get('newDisplacementValueObjectValues');\n            let bitsVals = this.convertMMToAdictBits(mmVals);\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(bitsVals);\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\nimport $ from 'jquery';\n\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\nexport default Ember.Component.extend({\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    }, \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    referenceAnchors:null,\n    loading:true,\n\n    editing: 0,\n\n    onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n\n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n\n    anchorList: Ember.computed('instID', 'anchors', function() {\n        let anchors = this.get('anchors');\n        let isSelected = {};\n        //console.log(\"triggered\");\n        if (anchors == null) {\n            anchors = this.get('alert').get('anchors');\n            this.set('anchors', anchors);\n        }\n\n        anchors.forEach(element => {\n            isSelected[element.get('selectedCh')] = true;\n        });\n\n\n        return isSelected;\n    }),\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans-1;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = Ember.$(thing.target).val();\n            else\n                update = Ember.$(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { tracked } from '@glimmer/tracking';\n\nexport default class EditInstrument extends Component.extend({\n    instrumentChannels: Ember.computed('instrument.channelsNum', 'instrument.vendor', function() {\n        let channelsNum = this.get('instrument.channelsNum');\n        let vendor = this.get('instrument.vendor');\n        // console.log(`Vendor: ${vendor}`);\n        if (vendor) {\n            if ( (vendor.vendorType === 'MDT_CABLE') || (vendor.vendorType === 'MDT_MPBX') ) {\n                // console.log(`Channels num: ${channelsNum -1}`);\n                return channelsNum -1;\n            } else {\n                return channelsNum;\n            }\n        }\n    })\n\n}) {\n    @service router;\n    @service store;\n      \n    //@service session;\n    //@service currentUser;\n    @tracked formDisabled = false; \n    @tracked fieldVisible = false; \n\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    strokeLengthArray = {type: {modelName: \"instrument\"},options: [\n        {id: 31.75, value: \"31.75 mm\"}, \n        {id: 63.5, value: \"63.5 mm\"}, \n        {id: 127, value: \"127 mm\"}, \n        {id: 190.5, value: \"190.5 mm\"}, \n        {id: 254, value: \"254 mm\"}, \n        {id: 508, value: \"508 mm\"}]};\n    \n    // @action\n    // getVendorByType() {\n    //     this.store.queryRecord('vendor', { vendorType: 'GENERIC' }).then(vendor => {\n    //         this.vendor = vendor;\n    //     });\n    // }\n    \n    didInsertElement() {\n        // Call the parent's implementation of the hook first\n        super.didInsertElement();\n        let instrument = this.get('instrument');\n        \n        if (instrument.vendor != null) {\n            this.fieldVisible = instrument.vendor.vendorType == 'MDT_CABLE' ? true : false;\n        } else {\n                        \n            // If vendor is null, query the store for the default vendor\n            this.store.queryRecord('vendor', { vendorType: 'GENERIC' }).then(vendor => {\n                instrument.set('vendor', vendor);\n                instrument.save();\n            }).catch((error) => {\n                console.error(\"Error fetching default vendor:\", error);\n            });\n        }\n\n        try {\n            let elasticLimitFce = instrument.get('elasticLimitFce');\n            let elasticLimitPct = instrument.get('elasticLimitPct');\n            let stiffness = elasticLimitFce / elasticLimitPct;\n\n            // Check if the stiffness is a valid number (not NaN or Infinity)\n            if (!isNaN(stiffness) && isFinite(stiffness)) {\n                // Round the stiffness to three decimal places (optional)\n                stiffness = Math.round(stiffness * 1000) / 1000;\n\n                // Set the calculated stiffness as the default value for instrumentStiffness\n                instrument.set('instrumentStiffness', stiffness);\n            } else {\n                instrument.set('instrumentStiffness', 0);\n            }\n        } catch (ex) {\n            instrument.set('instrumentStiffness', 0);\n        }\n    }\n        \n    actions = {\n\n        updatePage(){\n            let instrument = this.get('instrument');\n            //let instrument = this.get('tableRow');\n            try {\n                let stiffness = instrument.get('elasticLimitFce') / instrument.get('elasticLimitPct');\n                // stiffness = Math.round(stiffness * 1000) / 1000;\n                instrument.set('instrumentStiffness', stiffness);\n            } catch (ex) {\n                instrument.set('instrumentStiffness', 0);\n            }\n            instrument.save();\n        },\n\n        strokeLengthChanged(object){\n            console.log(`Stroke length changed: ${object}`);\n        },\n    \n        vendorTypeChanged(object){\n            let badValues = ['null', 'undefined', ''];\n            let instrument = this.get('instrument');\n            \n            // console.log(`Vendor type changed: ${object}`);\n            if(badValues.includes(object)) {\n                this.fieldVisible = false;\n                this.formDisabled = true;\n            } else {\n                this.form = false;\n                let vendor = this.vendors.find(vendor => vendor.id === object);\n                if (vendor) {\n                    this.fieldsEnabled = true;\n                    instrument.set('vendor', vendor);\n                    // console.log(`Vendor found: ${JSON.stringify(vendor)}`);\n                    \n                    if(vendor.vendorType === 'MDT_CABLE'){\n                        this.fieldVisible = true;\n                        try{\n                            instrument.elasticLimitPct = 0.8;\n                            instrument.ultimateLimitPct = 3;\n                            instrument.elasticLimitFce = 240;\n                            instrument.ultimateLimitFce = 260;\n                            this.set('elasticLimitPct',instrument.elasticLimitPct)\n                            let stiffness = instrument.get('elasticLimitFce') / instrument.get('elasticLimitPct');\n                            // stiffness = Math.round(stiffness * 1000) / 1000;\n                            instrument.instrumentStiffness = stiffness;\n                            instrument.save();\n                        }\n                        catch(ex){\n                            console.log(ex);\n                        }\n                    }else {\n                        this.fieldVisible = false;\n                        this.fieldsEnabled = false;\n                    }\n                } \n            }                 \n        },\n\n        viewData(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            // console.log(\"startDateObj: \" + startDateObj + \" endDateObj: \" + formattedEndDateObj);\n            // console.log(\"base unit for this instrument is: \" +  baseUnit)\n            this.get('router').transitionTo('raw-data', id, { queryParams: { \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            // console.log(\"startDateObj: \" + startDateObj + \" endDateObj: \" + formattedEndDateObj);\n            // console.log(\"base unit for this instrument is: \" +  baseUnit)\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values', { queryParams: { \"advancedYAxisUnit\": baseUnit}});\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    isMDT: Ember.computed('instrument', function() {\n                    \n        let instrumentVendor = this.instrument.vendor;            \n        if(instrumentVendor && instrumentVendor.vendorType.includes('MDT')) {\n            return true;\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            let chartData = item.getProperties(linesKyes);\n            \n            if(this.isMDT){\n                let temporaryChartData = chartData[linesKyes]\n                temporaryChartData.pop();\n                chartData[linesKyes] = temporaryChartData;\n\n            } else {\n                var modelName = this.get('chartDataModelName');\n                if (modelName === 'strain-values') { \n                    chartData.values.unshift(chartData.values[0]);\n                }\n            }\n            // console.log(\"chartData:::::::::::: \" + JSON.stringify(chartData));\n            \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n\n            let temporaryValue = item.getProperties(linesKyes);            \n            \n            if(this.isMDT){\n                let temporaryChartData = temporaryValue[linesKyes]\n                temporaryChartData.pop();\n                temporaryValue[linesKyes] = temporaryChartData;\n            }\n            console.log(\"FullRangeDataPoints::::::::::::: \" + JSON.stringify(temporaryValue));\n            return temporaryValue;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length;\n        let anchors = this.get('instrument').get('anchors');\n\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n        if (anchorDistances.length > dataValuesCount && modelName === 'strain-values') {\n            anchorDistances.splice(0, 1);\n        }\n\n        if(this.isMDT){\n            anchorDistances.pop(); // Remove the last element if isMDT is true\n        }\n        return anchorDistances;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        const anchorDistances = Ember.copy(this.get('anchorDistances'));\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length;\n        let midDistances = [];\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n        // console.log(\"anchorDistances:::::::::::: \" + JSON.stringify(anchorDistances));\n        anchorDistances.unshift(0);\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        // console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(modelName === 'strain-values' || modelName === 'strain-rate-values') {\n            return anchorMidDistances.map(function(anchorDistance){\n                return {\n                    key: anchorDistance,\n                    type: 'referencePoints',\n                    values: [\n                        anchorDistance\n                    ]\n                };\n            });\n                \n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values') {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n        var anchorDist = anchorDistances;\n        \n        if(modelName === 'strain-values' || modelName === 'strain-rate-values') {\n            anchorDist = this.get('anchorMidDistances'); \n        }\n\n        zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n            return {\n                key: chartLineIndex,\n                // mean: 3,\n                type: 'lines',\n                timestamp: zoomTimePoints[chartLineIndex],\n                values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        anchorDist[dataPointIndex],\n                        dataPoint\n                    ];\n                })\n            };\n        });\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get('firstObject');\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        units = \"mm\";\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                title = axisName + \" (\" + units + \")\";\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(false)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(false)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                     .tickFormat(function(d) {\n                        // console.log(\"xaxis: D:::::::::::::::::::::::::::::::::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    });\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .ticks(5)\n                    .tickFormat(function(d) {\n                        // console.log(\"D:::::::::::::::::::::::::::::::::::::::: \" + d);\n                        //     if (fullRangeChartLinesData.length > 0) {\n                    //         let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                    //         return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                    //     } else {\n                    //         return [0, 0];\n                    //     }\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    });\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n                // console.log(\"zoomChartLinesData:::::::::::: \" + JSON.stringify(zoomChartLinesData));\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n/*                 zoomChart.xAxis.dispatch.on('xAxisMouseMove', function (mouseMove) {\n                    console.log('test');\n                });\n */\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0], true)(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    title: null,\n    yAxisUnit:null,\n    init() {\n        this._super(...arguments);\n        const queryParams = new URLSearchParams(window.location.search);\n        const yAxisUnitParam = queryParams.get('advancedYAxisUnit');\n        if(yAxisUnitParam){\n            this.set('yAxisUnit', yAxisUnitParam);\n        }\n    },\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n    isMDT: Ember.computed('instrument', function() {\n        let instrument = this.instrument;\n        let vendor = this.instrument.get('vendor');\n        let isMDT = false;\n        if(vendor) {\n            isMDT = vendor.vendorType.includes('MDT');\n        }\n        return isMDT;\n    }),\n    anchorCount: Ember.computed('instrument', function() {\n        let instrument = this.instrument;\n        if(this.isMDT) {\n            return (anchorCount -1);\n        }           \n        return anchorCount;\n    }),\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    // For zoomTempPoints\n    zoomTempPoints: Ember.computed('zoomTempData', function() {\n        let discreteData = this.get('zoomTempData').map(item => {\n            let linesKeys = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKeys);\n\n            // Convert the chartData to discrete variables\n            var discreteData = {};\n            for (let key in chartData) {\n                discreteData[key] = chartData[key];\n            }\n            return discreteData;\n        });\n        // console.log(\":::::::::::::::::::::::: Discrete TEMP Points: \" + JSON.stringify(discreteData));\n        // console.log(\":::::::::::::::::::::::: Discrete TEMP Points SIZE: \" + discreteData.length);\n        if (this.get(\"zoomDataPoints\").length == 0) {\n            return [];\n        } else {\n            return discreteData;\n        }\n            \n    }),\n\n    // For zoomDataPoints\n    zoomDataPoints: Ember.computed('zoomChartData', function() {\n        let discreteData = this.get('zoomChartData');\n\n        discreteData = discreteData.map(item => {\n            let linesKeys = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKeys);\n            \n            var modelName = this.get('chartDataModelName');\n            if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n                chartData.values.push(0);\n            }\n\n            // Convert the chartData to discrete variables\n            var discreteData = {};\n            for (let key in chartData) {\n                // Get the value array from chartData\n                let valueArray = chartData[key];\n                // Check if valueArray is defined and is an array\n                if (Array.isArray(valueArray) ) {\n                   valueArray.pop(); // Remove the last element - the last elememt is not actually a displacement value in MDT adict readings. it's a voltagae.\n                }\n                // Store the modified object in discreteData\n                // valueArray = this.convertDataAndReverse(valueArray);\n                discreteData[key] = valueArray;\n            }\n\n            return discreteData;\n        });\n        \n        // console.log(JSON.stringify(discreteData));\n        \n        if(discreteData.length == 0) {\n            return [];\n        } else {\n            return discreteData;\n        }\n    }),\n    convertDataAndReverse: function(valueArray) {\n        let convertedData = [];\n        let instrument = this.instrument;\n        let multiplier = instrument.get('strokeLength');\n        let DENOMINATOR = 2**16;\n        valueArray.forEach(function(item) {\n            item = ((item / DENOMINATOR) * multiplier).toFixed(2);\n            convertedData.push(parseFloat(item)); // using parseFloat to convert the string back to a number\n        });\n        // console.log(\":::::::::::::::::::::::: Discrete Points valueArray: \" + JSON.stringify(valueArray))\n        // console.log(\":::::::::::::::::::::::: Discrete Points convertedData: \" + JSON.stringify(convertedData))\n        return convertedData.reverse();\n    },\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor) {\n            return anchor.get('distance');\n          });\n          \n        if (this.isMDT) {\n            anchorDistances.pop(); // Remove the last element if isMDT is true\n        }\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n            var midPoints = [];\n            for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        // console.log(\"zoomChartLinesData********************************************\");   \n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n        if(zoomDataPoints.length != 0) {\n            // an exception for temperature sensor in dExto\n            if (_this.get('chartDataModelName') !== 'temperature-values') {\n                zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                    return {\n                        key: chartLineName,\n                        // mean: 3,\n                        type: 'lines',\n                        yAxis: 1,\n                        values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                            return [\n                                moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                                dataPoint.values[chartLineIndex]\n                            ];\n                        })\n                    };\n                });\n            } else {\n                zoomChartLinesData = [{\n                    key: 'T. ℃',\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[0]\n                        ];\n                    })\n                }];\n            }\n        \n            //console.log(zoomDataPoints.length);\n            //console.log(zoomTempPoints.length);\n\n            if (_this.get('chartDataModelName') !== 'temperature-values') {\n                if (_this.get('chartDataModelName') !== 'displacement-values'){\n                    while(zoomTempPoints.length > zoomDataPoints.length) {\n                        zoomTempPoints.pop();\n                        zoomTempPoints.shift();\n                    }\n                }\n                var temp = {key: 'T',\n                    type: 'lines',\n                    yAxis: 2,\n                    values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[0],\n                        ];\n                    })\n                };\n                //console.log(temp);\n                zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n                //console.log(zoomChartLinesData);\n            }\n\n            // mix data with events\n            if (seismicEventsChartDistXData) {\n                zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n            }\n            if (blastEventsChartDistXData) {\n                zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n            }\n            // if (vibeEventsChartDistXData) {\n            //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n            // }\n            return zoomChartLinesData;\n        }    \n        return [];\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        //console.log(\"********************************************\");\n        let chartDataModelName = this.get('chartDataModelName');\n        this.title = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_');\n        let promise = this.get('store').queryRecord('measurement', {title: this.title});\n        return promise;\n    }),\n\n    didInsertElement: function() {\n\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            // TODO::: fix me\n            //vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = yAxisLegend\n        ;\n\n        //console.log(vibeEventsArray);\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get(this.title);\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = '';//chartData.get('units');\n                title = yAxisLegend.get('title');\n                let vendorType = _this.instrument.vendor.vendorType;\n                // console.log(\"Title::::::::::::::::: \" + title);\n                switch(title) {\n                    case 'displacement':\n                        if (vendorType === 'MDT_CABLE') {\n                            axisName = \"Displacement\";\n                        } else if (vendorType === 'MDT_MPBX') {\n                            axisName = \"Displacement \";\n                        } else {\n                            axisName = \"Displacement\";\n                        }\n                        units += _this.get('yAxisUnit') ? _this.get('yAxisUnit') :  \"mm\";\n                        break;\n                    case 'velocity':\n                        if (vendorType === 'MDT_CABLE') {\n                            axisName = \"mm\";\n                        } else if (vendorType === 'MDT_MPBX') {\n                            axisName = \"mm\";\n                        } else {\n                            axisName = \"mm\";\n                        }\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        if (vendorType === 'MDT_CABLE') {\n                            axisName = \"mm\";\n                        } else if (vendorType === 'MDT_MPBX') {\n                            axisName = \"mm\";\n                        } else {\n                            axisName = \"mm\";\n                        }\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = 'Strain'\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = 'Strain Rate'\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = 'Load'\n                        units = \"kN\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    title = axisName + \" (\" + units + \")\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                // zoomChart.xAxis\n                //     .tickPadding(40)\n                //     .showMaxMin(false)\n                //     .tickFormat(function(d) {\n                //         let positionOne = null;\n                //         let positionTwo = null;\n\n                //         try{\n                //             let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                //             positionOne = zoomChartLinesData[0].values[0][0];\n                //             positionTwo = zoomChartLinesData[0].values[zoomChartXDomainLength-1][0];    \n                //         } catch (ex) {\n                //             console.log(ex);\n                //             return [0, 0];\n                //         }\n                //         console.log(\"positionOne: \" + positionOne);\n                //         console.log(\"positionTwo: \" + positionTwo);\n                //         return nv.utils.getDateAutoscaleFormat (positionOne, positionTwo)(new Date(d));\n                //     })\n                // ;\n                // Determine the start and end dates\n                // Generate tick values\n                let tickValues = [];\n                if(zoomChartLinesData.length != 0){\n                    let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    let startDate = new Date(zoomChartLinesData[0].values[0][0]);\n                    let endDate = new Date(zoomChartLinesData[0].values[zoomChartXDomainLength-1][0]);\n    \n                    // Determine the interval\n                    let interval = (endDate - startDate) / 7;\n    \n                    for (let i = 0; i < 8; i++) {\n                        tickValues.push(new Date(startDate.getTime() + interval * i));\n                    }\n                }\n\n                // Apply the tick values\n                zoomChart.xAxis\n                .tickPadding(40)\n                .showMaxMin(false)\n                .tickValues(tickValues)\n                .tickFormat(function(d) {\n                    return d3.time.format('%x')(new Date(d)); // Format as you like\n                });\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n                if(zoomChartLinesData !== null) {\n                    zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n                }\n                \n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){ // || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    isMDT: Ember.computed('instrument', function() {\n        const vendor = this.get(\"instrument.vendor\");\n        return vendor.vendorType.includes('MDT');\n    }),\n    \n    anchorDistances: Ember.computed('instrument', function() {\n        const anchors = this.get(\"instrument.anchors\");\n        const anchorNumber = anchors.length;\n        const isMDT = this.get(\"isMDT\");\n    \n        const dist = anchors.map((anchor, index) => {\n            const counter = index + 1;\n            const label = isMDT && counter === anchorNumber ? \"µA\" : anchor.get('distance');\n            return { counter, label };\n        });\n    \n        return dist;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","\nimport Ember from 'ember';\nimport { inject as service } from \"@ember/service\";\n\nexport default Ember.Component.extend({\n    approvedInstrForYAxisUnit:['Adict', 'dExto', 'dCable','dRebar','dMPBX','dConv','d-micro','dRebarv2','BluVibe'],\n    router: service(),\n    advancedSearchLoading:false,\n    startDate: undefined,\n    chartType: undefined,\n    endDate:undefined,\n         xMin:undefined,\n         xMax:undefined,\n     yLeftMin:undefined,\n     yLeftMax:undefined,\n    yRightMin:undefined,\n    yRightMax:undefined,\n    yAxisUnit:undefined,\n    visibleAdvancedFilter:true,\n    isFrequencyGraph:false,\n    init() {\n        this._super(...arguments);\n        this.setFieldsFromURL();\n    },\n    isInstrumentApproved: Ember.computed('instrumentType', function() {\n        return this.approvedInstrForYAxisUnit.includes(this.instrumentType);\n      }),\n    setFieldsFromURL() {\n        //Store initial values from the URL and pre load it into corresponding components\n\n        const queryParams = new URLSearchParams(window.location.search);\n        const startDateParam = queryParams.get('advancedStartDate');\n        const endDateParam = queryParams.get('advancedEndDate');\n        const yAxisUnitParam = queryParams.get('advancedYAxisUnit');\n        const xMinParam = queryParams.get('advancedXMin');\n        const xMaxParam = queryParams.get('advancedXMax');\n        const yLeftMinParam = queryParams.get('advancedYLeftMin');\n        const yLeftMaxParam = queryParams.get('advancedYLeftMax');\n        const yRightMinParam = queryParams.get('advancedYRightMin');\n        const yRightMaxParam = queryParams.get('advancedYRightMax');\n    \n        if (startDateParam) {\n            this.set('startDate', startDateParam);//this.formatDateForDatetimeLocal(decodedStartDate));\n        } else {\n            this.set('startDate', undefined);\n        }\n    \n        if (endDateParam) {\n            this.set('endDate', endDateParam);//this.formatDateForDatetimeLocal(decodedEndDate));\n        } else {\n            this.set('endDate', undefined);\n        }\n    \n        if (yAxisUnitParam) {\n            let unitSymbolTranslator = yAxisUnitParam == \"m\" ? \"meterValue\" : yAxisUnitParam == \"mm\" ? \"millimeterValue\" : yAxisUnitParam == \"ft\" ? \"footValue\" : \"inchValue\"\n            // console.log(\"translated unit symbol is \" + unitSymbolTranslator);\n            // this.set(unitSymbolTranslator , true);\n            this.set(\"yAxisUnit\", yAxisUnitParam);\n        } else {\n            this.set(\"yAxisUnit\", undefined);\n            // this.set(\"meterValue\" , false);\n            // this.set(\"millimeterValue\", false);\n            // this.set(\"footValue\", false);\n            // this.set(\"inchValue\", false); \n        }\n    \n        if (xMinParam) {\n            this.set('xMin', xMinParam);\n        } else {\n            this.set('xMin', undefined);\n        }\n    \n        if (xMaxParam) {\n            this.set('xMax', xMaxParam);\n        } else {\n            this.set('xMax', undefined);\n        }\n    \n        if (yLeftMinParam) {\n            this.set('yLeftMin', yLeftMinParam);\n        } else {\n            this.set('yLeftMin', undefined);\n        }\n    \n        if (yLeftMaxParam) {\n            this.set('yLeftMax', yLeftMaxParam);\n        } else {\n            this.set('yLeftMax', undefined);\n        }\n    \n        if (yRightMinParam) {\n            this.set('yRightMin', yRightMinParam);\n        } else {\n            this.set('yRightMin', undefined);\n        }\n    \n        if (yRightMaxParam) {\n            this.set('yRightMax', yRightMaxParam);\n        } else {\n            this.set('yRightMax', undefined);\n        }\n\n    },\n    formatDateForDatetimeLocal(dateStr) {\n        // Assuming the format from the URL is 'YYYY-MM-DDTHH:mm' or similar\n        const date = new Date(dateStr);\n        return date.toISOString().slice(0, 16); // Converts to 'YYYY-MM-DDTHH:mm' format\n    },\n    dispatchRequest:function(mode){\n        this.set(\"advancedSearchLoading\", true);\n        let id = this.get(\"instrumentId\");\n        let chart_type = this.get(\"chartType\");\n        let startDate = this.get(\"startDate\");\n        let endDate   = this.get(\"endDate\");\n        let yAxisUnit = this.get(\"yAxisUnit\");\n        let xMax      = this.get(\"xMax\"); \n        let xMin      = this.get(\"xMin\");\n        let yLeftMax  = this.get(\"yLeftMax\"); \n        let yLeftMin  = this.get(\"yLeftMin\");\n        let yRightMax = this.get(\"yRightMax\"); \n        let yRightMin = this.get(\"yRightMin\");\n        if(mode == \"search\"){\n            if(this.get(\"filterType\") == \"frequency\"){\n                this.get('router').transitionTo(\"frequency-graphs.frequency-graph\", id, \"displacement-values\",{ queryParams: { \"chart_type\":chart_type,\n                    \"advancedStartDate\":startDate,\n                    \"advancedEndDate\": endDate,\n                    \"advancedYAxisUnit\": yAxisUnit,\n                    \"advancedXMin\": xMin,\n                    \"advancedXMax\": xMax,\n                    \"advancedYLeftMin\": yLeftMin,\n                    \"advancedYLeftMax\": yLeftMax,\n                    \"advancedYRightMin\": yRightMin,\n                    \"advancedYRightMax\": yRightMax, \n                }}).then(() => {\n                    if (!this.isDestroyed && !this.isDestroying) {\n                        this.set(\"advancedSearchLoading\", false);\n                        this.setFieldsFromURL();\n                    }      \n                  });\n            }else if(this.get(\"filterType\") == \"temporal\"){         \n                this.get('router').transitionTo(\"temporal-graphs.temporal-graph\", id, \"displacement-values\",{ queryParams: { \"advancedStartDate\":startDate,\n                    \"advancedEndDate\": endDate,\n                    \"advancedYAxisUnit\": yAxisUnit,\n                    \"advancedXMin\": xMin,\n                    \"advancedXMax\": xMax,\n                    \"advancedYLeftMin\": yLeftMin,\n                    \"advancedYLeftMax\": yLeftMax,\n                    \"advancedYRightMin\": yRightMin,\n                    \"advancedYRightMax\": yRightMax, \n                }}).then(() => {\n                    if (!this.isDestroyed && !this.isDestroying) {\n                        this.set(\"advancedSearchLoading\", false);\n                        this.setFieldsFromURL();\n                    }      \n                  });\n            }\n\n            else if(this.get(\"filterType\") == \"raw-data\"){\n                // console.log(`SEND instrument Type:${this.instrumentType}, yAxisUnit:${yAxisUnit}`);\n                this.get('router').transitionTo(\"raw-data\", id, { queryParams: {\"advancedStartDate\":startDate,\n                    \"page_size\":(startDate != undefined && endDate != undefined) ? 5000 : 20,\n                    \"advancedEndDate\": endDate,\n                    \"advancedYAxisUnit\": yAxisUnit,\n                    \"advancedXMin\": xMin,\n                    \"advancedXMax\": xMax,\n                    \"advancedYLeftMin\": yLeftMin,\n                    \"advancedYLeftMax\": yLeftMax,\n                    \"advancedYRightMin\": yRightMin,\n                    \"advancedYRightMax\": yRightMax, \n                }}).then(() => {\n                    if (!this.isDestroyed && !this.isDestroying) {\n                        this.set(\"advancedSearchLoading\", false);\n                        this.setFieldsFromURL();\n                    }      \n                  });\n            }\n        }else if(mode == \"reset\"){\n            let newYAxisUnit = this.instrumentType === \"Adict\" ? \"RAW\" : this.instrumentType === \"d-micro\" ? \"μm\" : this.instrumentType === \"BluVibe\" ? \"m\" : this.approvedInstrForYAxisUnit.includes(this.instrumentType) ? \"mm\" :  undefined;\n            this.set(\"yAxisUnit\", newYAxisUnit);\n            this.set(\"startDate\", undefined);\n            this.set(\"endDate\", undefined);\n\n            if(this.get(\"filterType\") === \"frequency\"){\n                this.get('router').transitionTo('frequency-graphs.frequency-graph', id, 'displacement-values',{ queryParams: { \"chart_type\":chart_type,\n                    \"advancedStartDate\":undefined,\n                    \"advancedEndDate\": undefined,\n                    \"advancedYAxisUnit\": newYAxisUnit,\n                    \"advancedXMin\": undefined,\n                    \"advancedXMax\": undefined,\n                    \"advancedYLeftMin\": undefined,\n                    \"advancedYLeftMax\": undefined,\n                    \"advancedYRightMin\": undefined,\n                    \"advancedYRightMax\": undefined, \n                }}).then(() => {\n                    if (!this.isDestroyed && !this.isDestroying) {\n                        this.set(\"advancedSearchLoading\", false);\n                        this.setFieldsFromURL();\n                      }      \n                  });\n            }\n            else if(this.get(\"filterType\") === \"raw-data\"){\n                this.get('router').transitionTo(\"raw-data\", id, { queryParams: {\"advancedStartDate\":undefined,\n                    \"advancedEndDate\": undefined,\n                    \"page_size\":20,\n                    \"advancedYAxisUnit\": newYAxisUnit,\n                    \"advancedXMin\": undefined,\n                    \"advancedXMax\": undefined,\n                    \"advancedYLeftMin\": undefined,\n                    \"advancedYLeftMax\": undefined,\n                    \"advancedYRightMin\": undefined,\n                    \"advancedYRightMax\": undefined, \n                }}).then(() => {\n                    if (!this.isDestroyed && !this.isDestroying) {\n                        this.set(\"advancedSearchLoading\", false);\n                        this.setFieldsFromURL();\n                      }      \n                  });\n            }else if(this.get(\"filterType\") == \"temporal\"){\n                this.get('router').transitionTo(\"temporal-graphs.temporal-graph\", id, \"displacement-values\",{ queryParams: {\"advancedStartDate\":undefined,\n                    \"advancedEndDate\": undefined,\n                    \"advancedYAxisUnit\": newYAxisUnit,\n                    \"advancedXMin\": undefined,\n                    \"advancedXMax\": undefined,\n                    \"advancedYLeftMin\": undefined,\n                    \"advancedYLeftMax\": undefined,\n                    \"advancedYRightMin\": undefined,\n                    \"advancedYRightMax\": undefined,\n                }}).then(() => {\n                    if (!this.isDestroyed && !this.isDestroying) {\n                        this.set(\"advancedSearchLoading\", false);\n                        this.setFieldsFromURL();\n                      }       \n                  });\n            }\n\n        }\n    },\n    meterValue: Ember.computed('yAxisUnit', function() {\n        return this.get('yAxisUnit') === 'm';\n    }),\n    millimeterValue: Ember.computed('yAxisUnit', function() {\n        return this.get('yAxisUnit') === 'mm';\n    }),\n    footValue: Ember.computed('yAxisUnit', function() {\n        return this.get('yAxisUnit') === 'ft';\n    }),\n    inchValue: Ember.computed('yAxisUnit', function() {\n        return this.get('yAxisUnit') === 'in';\n    }),\n    microValue: Ember.computed('yAxisUnit', function() {\n        return this.get('yAxisUnit') === 'μm';\n    }),\n    RAWValue: Ember.computed('yAxisUnit', function() {\n        //There are special cases for specific instruments\n        //For Adict, RAW = bits\n        return this.get('yAxisUnit') === 'RAW' || this.get('yAxisUnit') === 'bits';\n    }),\n    actions: {\n        toggleVisibility(){\n            // console.log(\"clicked Advanced Filter\");\n            let visiblity = this.get('visibleAdvancedFilter');\n            this.set(\"visibleAdvancedFilter\", !visiblity);\n        },\n        toggleYAxisUnit(property) {\n            this.set(\"yAxisUnit\", property);\n        },\n        updateDateProperty(propertyName, changeEvent) {\n            this.set(propertyName, changeEvent.target.value == \"\" ? undefined : changeEvent.target.value);\n            console.log(\"PropertyValue: \" + this.get(propertyName))\n        },\n        search(){\n            // console.log(`charrtType:${this.get(\"chartType\")}`)\n            this.dispatchRequest(\"search\");\n        },\n        reset(){\n            // console.log(`charrtType:${this.get(\"chartType\")}`)\n            this.dispatchRequest(\"reset\");\n        }\n    },\n});\n","import Ember from 'ember';\nimport { inject as service } from '@ember/service';\n\nexport default Ember.Component.extend({\n    router: service(),\n    deleteConfirmation: false,\n    actions: {\n        toggleRowDeleteConfirmationDialog(id){\n            //console.log(id);\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        createAlert: function() {\n            //console.log(\"create\");\n            let instID = this.get(\"instrumentId\");\n            if (instID !== null) {\n                this.get('router').transitionTo('create-alert', { queryParams: { inst_id: instID }});\n            } else {\n                this.get('router').transitionTo('create-alert');\n            }\n        }\n    }\n\n})","import Ember from 'ember';\nimport { inject as service } from '@ember/service';\n\nexport default Ember.Component.extend({\n    \n    authError: false,\n\n    router: service(),\n    isRowDeleteConfirmationDialog: {},\n    actions: {\n        toggleRowDeleteConfirmationDialog(id){\n            //console.log(id);\n            let errBox = document.getElementById(\"alertListError\");\n            errBox.hidden=true;\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        createAlert: function() {\n            //console.log(\"create\");\n            let instID = this.get(\"instrumentId\");\n            if (instID !== null) {\n                this.get('router').transitionTo('create-alert', { queryParams: { inst_id: instID }});\n            } else {\n                this.get('router').transitionTo('create-alert');\n            }\n        },\n        remove(model, object){\n            let _this = this;\n            let _store = this.get('store');\n\n            //object.get('isDeleted');\n            \n            //_this.setError('authError',false);\n            let errBox = document.getElementById(\"alertListError\");\n\n            // object.deleteRecord();\n\n            errBox.hidd = true;\n            //console.log(_store.find('user', params));\n\n            object.save().then(function(){\n                \n                object.deleteRecord();\n                \n                object.save().then(function(){                    \n                    object.unloadRecord();\n                }).catch(function(reason){\n                    let status = reason.errors[0].status;\n\n                    if (status == 403) {\n                        errBox.hidden = false;\n                    };\n                });\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                //model.removeObject(object);\n\n            }).catch(function(reason){\n\n                let status = reason.errors[0].status;\n\n                if (status == 403) {\n                    errBox.hidden = false;\n                };\n            });\n        },\n    }\n\n})","define(\"geotechnical-data-platform-new/components/array-path-layer\", [\"exports\", \"ember-leaflet/components/array-path-layer\"], function (_exports, _arrayPathLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _arrayPathLayer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/base-layer\", [\"exports\", \"ember-leaflet/components/base-layer\"], function (_exports, _baseLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _baseLayer.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        activeChanged() {\n            this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            let selector = this.$('#chan_select');\n\n            let selected = {};\n            selector.val().forEach(function(selection) {\n                selected[selection] = true;\n            });\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                selector.val().forEach(function(selection) {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = selection;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save();\n                                });\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewGatewayObject(_this) {\n    console.log(\"NewGatewayObject::: \");\n    _this.set('newGatewayObject', {});\n    _this.set('name', null);\n    _this.set('installDate', null);\n\n\n    // name: DS.attr('text'),\n    // gatewayType: DS.belongsTo('gateway-type', {async: false}),\n    // project: DS.attr('text'),\n    // location: DS.attr('text'),\n    // depth: DS.attr('number'),\n    // level: DS.attr('text'),\n    // installDate: DS.attr(),\n    // installedBy: DS.attr('text'),\n    // purpose: DS.attr('text'),\n    // notes: DS.attr('text'),\n    // alerts: DS.hasMany('alert', {async: false}),\n    // gatewayTypeID: DS.attr(),\n    // active: DS.attr('boolean'),\n\n}\n\nexport default class CreateBluCellGateway extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewGatewayObject(this);\n    }\n\n    isAuthenticated = true;\n    newGatewayObject = {};\n    installDate = null;\n    authError = false;\n\n    actions = {\n        async createGateway(object){\n\n            let _this = this,\n            store = this.get('store'),\n            newGatewayObject = this.get('newGatewayObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newGatewayObject.id = this.get('id');\n            newGatewayObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            newGatewayObject.depth = this.get('depth');\n            newGatewayObject.gatewayType = store.peekRecord('gateway-type', this.get('typeID'));\n            newGatewayObject.active = true;\n\n            let interval_upload = await this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'upload_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayUploadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                }).catch(function(error) {\n                // console.log(\"Error Getting interval_upload object::: \" + error);\n              });\n\n            let interval_read = await this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'instrument_reading_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayReadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                  }).catch(function(error) {\n                    // handle error here\n                    // console.log(\"Error Getting interval_read object::: \" + error);\n                });\n            \n            let interval_mesh_cycle = await this.store.query('gateway-interval', {\n                filter: {\n                    interval_value: 10,\n                    interval_group_name: 'mesh_cycle'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayMeshCycleInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                    }).catch(function(error) {\n                    // handle error here\n                    // console.log(\"Error Getting gatewayMeshCycleInterval object::: \" + error);\n                });\n            let interval_transmission_power = await this.store.query('gateway-interval', {\n                filter: {\n                    interval_value: 7,\n                    interval_group_name: 'radio_transmission_power_level'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayRadioPowerLevelInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                    }).catch(function(error) {\n                    // handle error here\n                    // console.log(\"Error Getting interval_transmission_power object::: \" + error);\n                });\n                \n\n            if(typeof newGatewayObject.id === 'undefined' || newGatewayObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('installDate') != null) {\n                newGatewayObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            let newGateway = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    // console.log(\"Creating....\");\n                    newGateway = store.createRecord('gateway', newGatewayObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if(!error) {\n                newGateway.save().then(function(results){\n                    // console.log(dup);\n                    if(results.id != null) {\n                        _this.get('submit')(results.id);\n                    } else {\n                        this.setError('isVisibleError',true);\n                        error = true;\n                    }\n                }).catch(function(reason) {\n                    _this.setError('isVisibleError',true);\n                    _this.setError('authError',true);\n                }); \n            } \n        },\n        // bulbChanged(object)\n        // {\n        //     this.set(\"bulbed\",document.getElementById('newInstrumentObjectBulbed').checked);\n        // },\n        // plateChanged(object)\n        // {\n        //     this.set(\"plated\",document.getElementById('newInstrumentObjectPlated').checked);\n        // }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let gatewayValueObjectValues = _this.get('gatewayValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(gatewayValueObjectValues).forEach(function(key,index) {\n        gatewayValueObjectValues[key] = null;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n\n    newGatewayValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newGatewayValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n\n    gatewayValueObjectValues: Ember.computed('anchorDistances', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('anchorDistances').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    newGatewayValueObjectValues: Ember.computed('gatewayValueObjectValues', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('gatewayValueObjectValues').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            //  console.log(\"saveNew\");\n            let _this = this,\n                store = this.get('store'),\n                newGatewayValuesObject = this.get('newGatewayValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                gatewayValues = this.get('gatewayValues'),\n                temperatureValues = this.get('temperatureValues');\n                    \n            \n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-gateway-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newGatewayValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            \n            const indexPositions = [0, 2, 12];\n            const values = Object.values(this.get('newGatewayValueObjectValues'));\n            const result = new Array(13);\n\n            indexPositions.forEach((index, i) => {\n            result[index] = values[i];\n            });\n\n            // console.log(\"Results::: \");\n            // console.log(result);\n\n            newGatewayValuesObject.values = result\n\n            const newGatewayValues = store.createRecord('gateway-value', newGatewayValuesObject);\n            // save new gateway-value to DB\n            const savedGatewayValuesObject = newGatewayValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if gateway-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //gatewayValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n\n            })\n            .catch(function(reason){\n                console.log(reason);\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\n\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\nexport default Ember.Component.extend({\n\n    ajax: Ember.inject.service(),\n    store: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    \n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    anchorList: Ember.computed('instID', 'anchors', function() {\n        let anchors = this.get('anchors');\n        let isSelected = {};\n        //console.log(\"triggered\");\n        if (anchors == null) {\n            anchors = this.get('alert').get('anchors');\n            this.set('anchors', anchors);\n        }\n\n        anchors.forEach(element => {\n            isSelected[element.get('selectedCh')] = true;\n        });\n\n\n        return isSelected;\n    }),\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = Ember.$(thing.target).val();\n            else\n                update = Ember.$(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('anchorList');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n            \n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { camelize } from '@ember/string';\n\nexport default class EditInstrument extends Component.extend({\n    gatewayReadingsIntervals: null,\n\n    init(){\n        this._super(...arguments);\n    },\n    \n    store: Ember.inject.service(),\n    isAuthenticated : true,\n    // selectedReadingIntervalID : null,\n    selectedModel : null,\n    editing : 0,\n    \n    getGatewayUploadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayUploadInterval = gw.gatewayUploadInterval;\n        // console.log(\"gatewayUploadInterval::: \" + gatewayUploadInterval)\n        if(gatewayUploadInterval == null){\n            return 0;\n        }\n            return (gatewayUploadInterval.id).toString();\n    }),\n\n    getGatewayReadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayReadInterval = gw.gatewayReadInterval;\n        // console.log(\"gatewayReadInterval::: \" + gatewayReadInterval)\n        if(gatewayReadInterval == null){\n            return 0;\n        }\n        return (gatewayReadInterval.id).toString();\n    }),\n    \n    getMeshCycleIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayMeshCycleInterval = gw.gatewayMeshCycleInterval\n        // console.log(\"gatewayMeshCycleInterval::: \" + gatewayMeshCycleInterval)\n        if(gatewayMeshCycleInterval == null){\n            return 0;\n        }\n        return (gatewayMeshCycleInterval.id).toString();\n    }),\n    \n    getTransmissionPowerIntervalsID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayRadioPowerLevelInterval = gw.gatewayRadioPowerLevelInterval;\n        // console.log(\"gatewayRadioPowerLevelInterval::: \" + gatewayRadioPowerLevelInterval)\n        if(gatewayRadioPowerLevelInterval == null){\n            return 0;\n        }\n        return (gatewayRadioPowerLevelInterval.id).toString();\n    }),\n    \n    \n}){\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    _this = this;\n\n    actions = {\n        //in order for this to work the id of the select element must be the same as the attribute name\n        setGatewayInterval(event) {\n            let gateway = this.get('gateway');\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            //id of the newly selected interval\n            const selectedValue = parseInt(selectedOptions.map(option => option.value));    \n            //interval attribute name\n            const intervalType = event.target.id;\n            \n            // console.log(\"intervalType::: \" + intervalType)\n            \n            // when the record has no interval records associated with it, when you try to save an error is thrown.\n            // I avoid this by defaulting the interval to 5 minutes when the one is saved and the other is null.\n            let notSelected = intervalType == 'gatewayReadInterval' ? 'gatewayUploadInterval' : 'gatewayReadInterval';\n\n            this.store.findRecord('gateway-interval', selectedValue).then((interval) => { \n                let notSelectedIntervalValue = gateway[notSelected];\n                let group_name = intervalType == 'gatewayReadInterval' ? 'instrument_reading_interval' : 'upload_interval';\n                if(notSelectedIntervalValue == null){\n                    //if the non-selected interval is null I default it here.\n                    this.store.query('gateway-interval', {\n                        filter: {\n                          interval_value: 5,\n                          interval_group_name: group_name\n                        }\n                        }).then(function(results) {\n                            gateway.set(notSelected, results.get('firstObject'));\n                            gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                \n                            gateway.save().then(() => {\n                                console.log('Gateway saved successfully!');\n                            }).catch((error) => {\n                                console.log('Error saving gateway:', error);\n                            });\n            \n                        }).catch(function(error) {\n                        console.log(\"Error Getting interval_upload object::: \" + error);\n                      });\n                } else {\n                    \n                    gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                    gateway.save().then(() => {\n                        console.log('Gateway saved successfully!');\n                    }).catch((error) => {\n                        console.log('Error saving gateway:', error);\n                    });\n                }                    \n            });\n            \n        },\n                \n        // setGatewayUploadIntervals(intervalID) {\n        //     this.store.findRecord('gateway-interval', intervalID).then((interval) => { \n        //         let gateway = this.get('gateway');\n\n        //         gateway.set('gatewayUploadInterval', interval); // Set the related object as the new value of the attribute\n        //         gateway.save().then(() => {\n        //             console.log('Gateway saved successfully!');\n        //         }).catch((error) => {\n        //             console.log('Error saving gateway:', error);\n        //         });\n        //     });\n            \n        // },\n        \n        updatePage(){\n            let store = this.get('store');\n            let gateway = this.get('gateway');\n            gateway.save();\n        },\n        viewData(id) {\n            this.get('router').transitionTo('raw-gateway-data', id);\n        },\n        tGraph(id) {\n            //console.log(\"Edit-gateway::: \" + id)\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, 'voltage-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveGateway(){\n            const _this = this;\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/gateway\";\n                }\n            } else {\n                window.location.href = \"/gateway\";\n            }\n        },\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        // updateProperty(propertyName, propertyValue) {\n        //     this.set(propertyName, propertyValue);\n        // },\n    \n\n\n    }\n}\n\n\n\n// import Component from '@ember/component'; \n// export default Component.extend({ \n//     classNames: ['person-select'], \n//     people: null, \n//     selectedPerson: null, \n//     actions: { \n//         selectPerson(person) { \n//             this.set('selectedPerson', person); \n//         } \n//     } \n// });\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    temperaturePoints: [],\n    distXRiseUpAnimationDuration: 500,\n    // chartMetric: Ember.computed(function(){\n    // let chartMetric = this.attrs.getQueryParams('chart_type');\n    //     if(chartMetric == null){\n    //       return 'voltage';\n    //     }\n    //    //console.log(\"chartMetric::: \" + chartMetric);\n    //     return chartMetric;\n    // }),\n    leftAxis: Ember.computed(function(){\n        let leftAxis = this.attrs.getQueryParams('left_axis_field');\n        if(leftAxis == null){\n          leftAxis = 'Voltage';\n        }\n        return leftAxis;\n    }),      \n    rightAxis: Ember.computed(function(){\n        let rightAxis = this.attrs.getQueryParams('right_axis_field');\n        if(rightAxis == null){\n            rightAxis = 'Temperature';\n          }\n          return rightAxis;\n    }),\n    GATEWAY_ENUM: Object.freeze({\n        Firmware: 0,\n        Coordinator: 1,\n        Voltage: 2,\n        RSSI: 3,\n        carrier: 4, \n        Readings: 5, \n        Uptime: 6, \n        Reconnection: 7, \n        Uploads: 8, \n        Temperature: 9,\n        var_1: 10, \n        var_2: 11, \n        var_3: 12,\n    }),\n\n    zoomTempPoints: Ember.computed(function(){\n        // let right = this.get('zoomDataPointsRightAxis');\n        let temperaturePoints = [];\n        let zoomTempData = this.get(\"zoomTempData\");\n        zoomTempData.forEach(function(item, i){\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n            temperaturePoints.push(chartData.values[0]);\n            // let temperaturePoints = this.get('temperaturePoints').push(chartData.values);\n        });\n        // console.log(\"zoomTempPoints::::::::::::::: 7\");    \n        // let linesKyes = Object.keys(item.toJSON());\n        // var chartData = item.getProperties(linesKyes);\n        //  = this.get('temperaturePoints').push(chartData.values);\n        \n        return temperaturePoints; //chartData;\n    }),\n    zoomDataPointsLeftAxis: Ember.computed(function(){\n        \n        let zoomChartData = this.get(\"zoomChartData\");\n        let leftAxisIndex = this.GATEWAY_ENUM[this.leftAxis]\n        //TODO: fix this TA.  Hack because we added temperature at the last minute.\n        if(this.leftAxis == 'Temperature'){\n            // console.log(\"zoomDataPointsLeftAxis::::::::::::::: \" + this.get(\"temperaturePoints\"));\n            return this.get(\"zoomTempPoints\");\n        }\n        \n        let zoomLeftAxis = zoomChartData.map(function (item, i){\n            return item.values[leftAxisIndex];            \n        });\n        // console.log(\"zoomLeftAxis ::::::::::::::: \" + JSON.stringify(zoomLeftAxis));    \n        return zoomLeftAxis;\n    }),\n    zoomDataPointsRightAxis: Ember.computed(function(){\n       //console.log(\"zoomDataPointsRightAxis::::::::::::::: 8\");\n        let zoomRightAxis = null;\n        if(this.rightAxis != null && this.rightAxis != 'Temperature'){\n            let zoomChartData = this.get(\"zoomChartData\");\n            let rightAxisIndex = this.GATEWAY_ENUM[this.rightAxis]        \n            zoomRightAxis = zoomChartData.map(function (item, i){\n                return item.values[rightAxisIndex];            \n            });\n        }\n        if (this.rightAxis == 'Temperature'){\n            zoomRightAxis = this.get(\"zoomTempPoints\");\n        }\n        // console.log(\"zoomRightAxis::::::: \" + JSON.stringify(zoomRightAxis));\n        return zoomRightAxis;\n\n    }),\n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n        \n        let left = this.get('zoomDataPointsLeftAxis');\n        // console.log(\"LEFT ::::::::::::::: 4 and 6 \" + left );\n        \n        return left;\n    }),\n\n    fullRangeDataPoints: Ember.computed('fullRangeChartData', function () {\n        let fullRangePoints = null;\n        let itemHolder = {};\n\n        if(this.leftAxis != 'Temperature'){\n            fullRangePoints = this.get('fullRangeChartData');\n            fullRangePoints.map(function (item, i){\n                let linesKyes = Object.keys(item.toJSON());\n                let itemHolder = item.getProperties(linesKyes);\n                return itemHolder;\n            });\n        } else {\n            itemHolder.values = [];\n            fullRangePoints = this.get(\"temperaturePoints\");\n            if(this.leftAxis == 'Temperature'){\n                fullRangePoints.forEach(function(item){\n                    itemHolder.values.push(item[0]);\n                });\n            }\n            fullRangePoints = itemHolder;\n        }\n        return fullRangePoints;\n        \n    }),\n\n/*     \n    fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        // console.log(\"zoomTimePoints::::::::::::::: 9\");    \n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        // console.log(\"fullRangeTimePoints::::::::::::::: 13\");\n        return item.get('id');\n    }),\n    \n    anchorDistances: Ember.computed('gateway', 'fullRangeChartData', function() {\n        let leftAxis = this.get('leftAxis'); \n       //console.log(\"anchorDistances::::::::::::::: 10   ::\" + leftAxis);\n        return [leftAxis];\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n       //console.log(\"zoomChartLinesData::::::::::::::: 2\");    \n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n        let tempPoints = this.get('zoomTempPoints');\n            \n        // console.log(\"zoomTempPoints::: \" + JSON.stringify(tempPoints));\n        // console.log(\"zoomTempPoints::: \" + this.get('temperaturePoints'));\n        \n        let anchorDistances = this.get('anchorDistances');\n        let zoomChartLinesData = [];\n\n        var mName = _this.get('chartDataModelName');\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n       //console.log(\"TEMP::: \" + _this.get('chartDataModelName'));\n        let zoomTempPoints = this.get('zoomDataPointsRightAxis');\n        var temp = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        //console.log(temp);\n        zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        \n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n       //console.log(\"fullRangeChartLinesData::::::::::::::: 11\");    \n        const _this = this;\n        const fullRangeDataPoints = this.get('fullRangeDataPoints');\n        const fullRangeTimePoints = this.get('fullRangeTimePoints');\n        \n        let fullRangeTempPoints = this.get('zoomDataPointsRightAxis');\n        let anchorDistances = this.get('anchorDistances');\n\n        let fullRangeChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                   //console.log(\"fullReang:::::::::::::::::::\" + _this.GATEWAY_ENUM[_this.leftAxis])\n                    ////console.log(\"DataPoint::: \" + dataPoint.values[chartLineIndex]);\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[_this.GATEWAY_ENUM[_this.leftAxis]]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n\n        var temperature = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: fullRangeTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        // fullRangeChartLinesData.push(temperature); //#TODO: Add Temp Points\n        return fullRangeChartLinesData;           \n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n       //console.log(\"chartDataModelName::::::::::::::: 5   \" + this.get('zoomChartData').query.model_name);    \n        //console.log(\"zoomChartData:\" + this.get('zoomChartData').query.model_name);\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n       //console.log(\"yAxisLegend::::::::::::::: 14\");    \n        let chartTitle = 'voltage'\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n    getTitleAndUnits: function(axis){\n        let axisValues = {\"Voltage\": \"Voltage, V\", \"RSSI\": \"900MHz RSSI, dBm\", \"Firmware\": \"Firmware Ver.\", \"Readings\": \"Readings\", \n                            \"Uptime\": 'Uptime - in Seconds.', \"Reconnection\": \"Reconnects\", \"Uploads\": \"Uploads\",\n                            \"Temperature\": \"Temperature,C\", \"var_1\": 9, \"var_2\": 9,  \"var_3\": 10}\n        // console.log(\"getTitleAndUnits::::::::::::::: \" + axisValues[axis]);\n        return axisValues[axis];\n    },\n    didInsertElement: function() {\n        \n       //console.log(\"didInsertElement::::::::::::::: 1\");    \n        const _this = this,\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        \n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg');\n        \n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = yAxisLegend;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(false)\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showLegend(true)\n                .showDistX(true)\n                .noData('No usable data');\n\n            zoomChart.showYAxis = true;\n            zoomChart.y2Axis.showYAxis = true;\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        //console.log(\"D:::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        //console.log(nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d)));\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n               \n                let axis1Title = _this.getTitleAndUnits(_this.get('leftAxis'));\n                let axis2Title = _this.getTitleAndUnits(_this.get('rightAxis'));\n                \n                zoomChart.y1Axis\n                    .axisLabel(axis1Title)\n                    .axisLabelDistance(10);\n                \n                zoomChart.y2Axis\n                    .axisLabel(axis2Title)\n                    .axisLabelDistance(10)\n                ;\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".2f\"));\n                \n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                let legend = zoomChart.legend;\n                if(legend.controls){\n                    legend.controls.forEach(function(d, i) {\n                        d.disabled = false;\n                    });\n                }\n\n                //console.log(\"zoomChart::::\" + zoomChart.legend);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    //console.log(\"BRUSH END::::::::::::::::::::\");\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(false);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n                \n                function selectControls() {\n                    // console.log(\":::::::::::::::::::::: selectControls\");\n                    //zoomChart.chartData.forEach(function(series) { series.disabled = false; });                  \n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n                    tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    tooltipClass = 'other';\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                        \n                }\n\n                //     if (typeof(tooltipContent) === 'object') {\n                //         if (tooltipContent.type === 'Blast') {\n                //             tooltipClass = 'blast';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                //         } else if (tooltipContent.type === 'Seismic') {\n                //             tooltipClass = 'seismic';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                //         } else if (tooltipContent.type === 'BluVibe') {\n                //             tooltipClass = 'bluvibe';\n                //             eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                //         } else if (tooltipContent.type === 'Other') {\n                //             tooltipClass = 'other';\n                //         }\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                //                       '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                //                       eventSize\n                //         ;\n                //     } else {\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                //     }\n\n                //     return {\n                //         tooltipClass: tooltipClass,\n                //         tooltipText: tooltipText\n                //     };\n                // }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(\"VibeEventsArray:::\" + vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                // d3.select('.nv-y2.nv-axis')\n                // .classed('nv-disabled', false)\n                // .attr('transform', 'translate(0,0)');\n        \n                nv.utils.windowResize(zoomChart.update);\n\n                // zoomChart.dispatch.on('stateChange', function(e) { \n                //     nv.log('New State:', JSON.stringify(e)); \n                // });\n                // zoomChart.state.dispatch.on('change', function(state){\n                //     nv.log('state', JSON.stringify(state));\n                // });\n\n               //console.log(\":::::::::::::::::::::::::::setData called\")\n                // _this.sendAction('setData',zoomChartLinesData);\n                // _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            //.showYAxis(true)\n        ;\n        \n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n        \n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('gateway', function() {\n        return [\"Firmware Version\",\"Voltage\", \"RSSI\", \"Readings\", \"Uptime(Secs)\",\"Reconnection Attempts\", \"Uploads\",\"Temp\", \"Mesh ID\"]\n    }),\n\n\n\ngetGatewayData: Ember.computed('gateway', 'gatewayData', function() {\n  let fields = [0, 2, 14];\n  let items = [];\n  // Perform filtering logic on initial data\n  const filteredData = this.get('gatewayData');\n  if (filteredData) {\n    filteredData.forEach(item => {\n      let values = [];\n      let firmware = item.values[0];\n      let voltage = item.values[2];\n      let rssi = item.values[3];\n      let sigma_d_readings = item.values[5];\n      let sigma_t_modem_on_duration = item.values[6];\n      let reconnection_attempts = item.values[7];\n      let number_of_uploads = item.values[8];\n      let temp = item.values[12];\n      let mesh_id = item.values[item.values.length - 1];\n      items.push({ id: item.id, values: {'firm_version':firmware,\n      'voltage':voltage,\n      \"rssi\":rssi,\n      \"sigma_d_readings\":sigma_d_readings,\n      \"sigma_t_modem_on_duration\":sigma_t_modem_on_duration,\n      \"reconnection_attempts\":reconnection_attempts,\n      \"number_of_uploads\":number_of_uploads,\n      \"temp\":temp,\n      'mesh_id':mesh_id}, originalValue: item, save_values:{'firm_version':firmware,\n      'voltage':voltage,\n      \"rssi\":rssi,\n      \"sigma_d_readings\":sigma_d_readings,\n      \"sigma_t_modem_on_duration\":sigma_t_modem_on_duration,\n      \"reconnection_attempts\":reconnection_attempts,\n      \"number_of_uploads\":number_of_uploads,\n      \"temp\":temp,\n      'mesh_id':mesh_id} });\n    });\n  }        \n  \n  return items;\n}),\n\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n          // console.log(\"Update property: \" + propertyValue);\n          this.set(propertyName, propertyValue);\n        }\n    },\n    didInsertElement() {\n        this._super(...arguments);\n            \n    }\n});\n","import Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n  selected: '', // Set the initial value to 'RSSI'\n\n  defaultSelected: computed('selected', function () {\n    const selected = this.selected;\n    // console.log('selected:::::::::::: ' + selected);\n    return selected === '' ? 'Voltage' : selected;\n  }),\n\n\n  actions: {\n    handleSelectedFieldChange(newValue) {\n      this.set('selected', newValue);\n    },\n  },\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class LeftAxisDropdown extends Component.extend({}) {\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        tGraph(id, modelName, params) {\n            // console.log(\"in LeftAxisDropdown:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\")\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, modelName, params);\n        },\n    }\n}","import Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n  rightAxisField: '', // Set the initial value to 'RSSI'\n  routeValue: 'voltage-values',\n\n  defaultRightAxisField: computed('rightAxisField', function() {\n    const rightAxisField = this.rightAxisField;\n    // console.log('rightAxisField:::::::::::: ' + rightAxisField);\n    return rightAxisField === '' ? 'Temperature' : rightAxisField;\n  }),\n\n  getRouteValue: computed('selected', function () {\n    const selected = this.selected.toLowerCase();\n    // console.log('selected:::::::::::: ' + selected);\n    this.set('routeValue', selected + '-values');\n  }),\n\n  actions: {\n    handleRightAxisFieldChange(newValue) {\n      // console.log('handleRightAxisFieldChange:::::::::::: ' + newValue);    \n      this.set('rightAxisField', newValue);\n    }\n  }\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        activeChanged() {\n            this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            let selector = this.$('#chan_select');\n\n            let selected = {};\n            selector.val().forEach(function(selection) {\n                selected[selection] = true;\n            });\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                selector.val().forEach(function(selection) {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = selection;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save();\n                                });\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\nimport { computed } from '@ember/object';\n\nfunction resetNewGatewayObject(_this) {\n    // console.log(\"NewGatewayObject::: \");\n    _this.set('newGatewayObject', {});\n    _this.set('name', null);\n    _this.set('installDate', null);\n\n\n    // name: DS.attr('text'),\n    // gatewayType: DS.belongsTo('gateway-type', {async: false}),\n    // project: DS.attr('text'),\n    // location: DS.attr('text'),\n    // depth: DS.attr('number'),\n    // level: DS.attr('text'),\n    // installDate: DS.attr(),\n    // installedBy: DS.attr('text'),\n    // purpose: DS.attr('text'),\n    // notes: DS.attr('text'),\n    // alerts: DS.hasMany('alert', {async: false}),\n    // gatewayTypeID: DS.attr(),\n    // active: DS.attr('boolean'),\n\n}\n\nexport default class CreateBluCellGateway extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewGatewayObject(this);\n        this.loadGateways(this.gatewayList);\n    }\n\n    loadGateways(gatewayList) {\n        const rawData = gatewayList; // Assuming gateways is an array of gateway objects\n        \n        // Filter gateways to get a list of only Blu900GW gateways\n        const filteredGateways = rawData.filter(function (gateway) {\n            if(gateway.active == true && gateway.get('gatewayType').title.toLowerCase() === 'blu900gw'){\n                return gateway.get('gatewayType').title.toLowerCase() === 'blu900gw';\n            }\n        });\n        \n        const mappedGateways = filteredGateways.map(function (gateway) {\n            // Retrieve parent gateway record based on available information\n            const parentId = gateway.get('parentId'); // Assuming there is a field 'parentId' in the gateway object\n            \n    \n            let gw = {\n                title: gateway.get('id') + ' - ' + gateway.get('gatewayType').title,\n                value: gateway.get('id'),\n                type: gateway.get('gatewayTypeID'),\n                parent: gateway, // Assign parent gateway to 'parent' property \n            };\n            \n            // console.log(gw);\n            return gw;\n        });\n    \n        this.set('gateways', mappedGateways);\n        // console.log(this.get('gateways'));\n    }\n        \n    isAuthenticated = true;\n    newGatewayObject = {};\n    installDate = null;\n    authError = false;\n    gateways = [];\n\n    // @computed(async function() {\n    //     return await getGateways();\n    // }) gateways;\n    \n\n\n    actions = {\n        setError(error,value) {\n            Ember.set(this, error, value);\n        },\n        \n        async createGateway(object){\n            let _this = this;\n            let store = _this.get('store');\n            let error = false;\n            _this.setError('fieldError',false);\n            _this.setError('isVisibleError',false);\n            \n            let parent = _this.get('newGatewayObject.parentGateway');\n\n            if ( parent ) {\n                // Perform save action here if a value is selected.\n                console.log('Value is selected, proceed to save.' + parent);\n            } else {\n                // Handle the case where no value is selected.\n                console.error('Please select a Parent Gateway before saving.');\n                error = true;\n                _this.setError('fieldError',true);\n                _this.setError('isVisibleError',true);\n                return\n            }\n\n            \n            let newGatewayObject = _this.get('newGatewayObject');\n            newGatewayObject.parentGatewayId = parent.id;\n            newGatewayObject.parentGateway = parent.id;\n\n            let parentGateway = parent\n\n            // _this.newGatewayObject.parentGateway = parentGateway;\n            \n            _this.setError('isVisibleError',false);\n            _this.setError('duplicateError',false);\n            _this.setError('fieldError',false);\n\n            newGatewayObject.id = _this.get('id');\n            \n            newGatewayObject.installDate = _this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            newGatewayObject.depth = _this.get('depth');\n\n            // console.log(\"typeID::: \" + this.typeID);\n            newGatewayObject.gatewayType = store.peekRecord('gateway-type', _this.typeID);\n            newGatewayObject.active = true;\n\n            let interval_upload = await _this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'upload_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayUploadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                }).catch(function(error) {\n                console.log(\"Error Getting interval_upload object::: \" + error);\n              });\n\n            let interval_read = await _this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'instrument_reading_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayReadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                  }).catch(function(error) {\n                    // handle error here\n                    console.log(\"Error Getting interval_read object::: \" + error);\n                });\n              \n\n            if(typeof newGatewayObject.id === 'undefined' || newGatewayObject.id === \"\") {\n                error = true;\n                _this.setError('fieldError',true);\n                _this.setError('isVisibleError',true);\n            }\n\n            if (_this.get('installDate') != null) {\n                newGatewayObject.installDate = moment(_this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n            newGatewayObject.parentGatewayId = parent.id\n            console.log(\"parent.id: \" + newGatewayObject.parentGatewayId)\n\n            let newGateway = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    // console.log(\"Creating....\");\n                    newGateway = await store.createRecord('gateway', newGatewayObject);\n                    // newGateway.parentGateway = parentGateway;\n                    // newGateway.parentGatewayId = parentGateway.id;\n                } catch (err) {\n                    _this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        _this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            _this.setError('authError', false);\n            // console.log(\"id: \" + newGateway.parentGateway.id);\n            if(!error) {\n                newGateway.save().then(function(results){\n                    \n                    if(results.id != null) {\n                        // Create a new GatewayChildRelation\n                        let childRelation = store.createRecord('gateway-child-relation', {\n                            parentGateway: parentGateway,\n                            childGateway: results,\n                            isCurrent: true, // Set any other attributes as needed\n                        });\n                        childRelation.save().then(() => {\n                            console.log(\"childRelation record saved...\");\n                        }).catch(function(reason){\n                            console.log(\"Reason: \" + reason);\n                        })\n\n                        window.localStorage.setItem('parentGateway', parent.id);\n                        _this.get('submit')(results.id);\n                        // let parentRelation = store.createRecord('gateway-child-relation', {\n                        //     parentGateway: parent, // Set the parent gateway\n                        //     childGateway: results, // Set the child gateway\n                        //     isCurrent: true, // Set any other attributes as needed\n                        //   });\n                        // parentRelation.save();\n    \n                    } else {\n                        this.setError('isVisibleError',true);\n                        error = true;\n                    }\n                }).catch(function(reason) {\n                    _this.setError('isVisibleError',true);\n                    _this.setError('authError',true);\n                }); \n            } \n        },\n        async setID(gw){\n            if(gw != null) {\n\n                let newGatewayObject = this.get('newGatewayObject');\n                // console.log(newGatewayObject);\n                // console.log(\"Parent Selected::: \" + gw);\n                \n                let parent = await this.store.findRecord('gateway', gw.value).then((parentGateway) => {\n                    // Parent gateway retrieved successfully\n                    // console.log(parentGateway.id);\n                    return parentGateway;\n                }).catch((error) => {\n                    // Handle error if the parent gateway does not exist or any other issue occurs\n                    console.error(error);\n                });\n                this.set('newGatewayObject.parentGateway', parent);\n                // console.log(\"parentGateway::::::::::: \" + this.get('newGatewayObject').parentGateway.id);\n                \n            } else {\n                this.set('newGatewayObject.parentGateway', null);\n            }\n        },\n\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let gatewayValueObjectValues = _this.get('gatewayValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(gatewayValueObjectValues).forEach(function(key,index) {\n        gatewayValueObjectValues[key] = null;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n\n    newGatewayValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newGatewayValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n\n    gatewayValueObjectValues: Ember.computed('anchorDistances', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('anchorDistances').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    newGatewayValueObjectValues: Ember.computed('gatewayValueObjectValues', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('gatewayValueObjectValues').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            //  console.log(\"saveNew\");\n            let _this = this,\n                store = this.get('store'),\n                newGatewayValuesObject = this.get('newGatewayValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                gatewayValues = this.get('gatewayValues'),\n                temperatureValues = this.get('temperatureValues');\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-gateway-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newGatewayValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newGatewayValuesObject.values = Object.values(this.get('newGatewayValueObjectValues'));\n\n            const newGatewayValues = store.createRecord('gateway-value', newGatewayValuesObject);\n            // save new gateway-value to DB\n            const savedGatewayValuesObject = newGatewayValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if gateway-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //gatewayValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n\n            })\n            .catch(function(reason){\n                console.log(reason);\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\n\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\nexport default Ember.Component.extend({\n    ajax: Ember.inject.service(),\n    store: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    \n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    anchorList: Ember.computed('instID', 'anchors', function() {\n        let anchors = this.get('anchors');\n        let isSelected = {};\n        //console.log(\"triggered\");\n        if (anchors == null) {\n            anchors = this.get('alert').get('anchors');\n            this.set('anchors', anchors);\n        }\n\n        anchors.forEach(element => {\n            isSelected[element.get('selectedCh')] = true;\n        });\n\n\n        return isSelected;\n    }),\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = Ember.$(thing.target).val();\n            else\n                update = Ember.$(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('anchorList');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { camelize } from '@ember/string';\n\nexport default class EditGateway extends Component.extend({\n\n    store: Ember.inject.service(),\n    gatewayReadingsIntervals: null,\n    initialSelection: null,\n    isAuthenticated : true,\n    // selectedReadingIntervalID : null,\n    selectedModel : null,\n    editing : 0,\n    parent: null,\n    // gateway: null,        \n    init(){\n        this._super(...arguments);\n        // console.log(\"parentGateway\")\n        // console.log(this.parentGateway)\n        // this.store.query('gateway', {\n        //     gateway_child_id: this.gateway.id,\n        //     is_current: true\n        // }).then((result) => {\n        //     let parentGateway = result.firstObject;\n        //     if (parentGateway) {\n        //         console.log(parentGateway.id);\n        //         this.set('parent', parentGateway.id);\n        //     }\n        // });\n\n\n        this.loadGateways(this.gatewayList, this.gateway);\n    },\n    loadGateways(gatewayList, node) {\n        const rawData = gatewayList; // Assuming gateways is an array of gateway objects\n        \n        // Filter gateways to get a list of only Blu900GW gateways\n        const filteredGateways = rawData.filter(function (gateway) {\n            if(gateway.active == true && gateway.get('gatewayType').title.toLowerCase() === 'blu900gw'){\n                return gateway.get('gatewayType').title.toLowerCase() === 'blu900gw';\n            }\n        });\n        let selectedItem = null;\n        const mappedGateways = filteredGateways.map(function (gateway) {           \n            // console.log(\"GW: \");\n            // console.log(gateway);\n            let gw = {\n                title: gateway.get('id'),\n                value: gateway.get('id'),\n                type: gateway.get('gatewayTypeID'),\n            };\n            \n            if(gateway.id == node.currentParent){\n                selectedItem = gw;\n            }\n            return gw;\n        });\n        \n        this.set('gateways', mappedGateways);\n        this.set('initialSelection', selectedItem);\n        \n        // console.log(this.get('gateways'));\n    },\n    parent: Ember.computed('gateway', function() {\n        let gateway = this.get('gateway');\n        let parent = gateway.get('parentGateway');\n        if(parent == null){\n            // console.log(\"parent is null\");\n            return null;\n        }\n        // console.log(\"parent::: \" + parent.get('id'));\n        return parent.get('id');\n    }),\n    gateways: [],\n    \n    getGatewayUploadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayUploadInterval = gw.gatewayUploadInterval;\n        // console.log(\"gatewayUploadInterval::: \" + gatewayUploadInterval)\n        if(gatewayUploadInterval == null){\n            return 0;\n        }\n            return (gatewayUploadInterval.id).toString();\n    }),\n\n    getGatewayReadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayReadInterval = gw.gatewayReadInterval;\n        // console.log(\"gatewayReadInterval::: \" + gatewayReadInterval)\n        if(gatewayReadInterval == null){\n            return 0;\n        }\n        return (gatewayReadInterval.id).toString();\n    }),\n    // async addParentToGateway(childGateway, newParentGateway) {\n    //     let newRelation = this.store.createRecord('gateway-child-relation', {\n    //       parentGateway: newParentGateway,\n    //       childGateway: childGateway,\n    //       isCurrent: true\n    //     });\n    //     newRelation.save().then(() => {\n    //       // Do something on success, like notifying the user\n    //     }).catch((error) => {\n    //       // Handle errors\n    //     });\n    //   },\n\n\n    addParentToGateway(childGateway, newParentGateway) {\n        let newRelation = this.store.createRecord('gateway-child-relation', {\n            parentGateway: newParentGateway,\n            childGateway: childGateway,\n            isCurrent: true\n            });\n        // console.log(\"About to save gateways for parent and child: \" + childGateway.id + \"  \" + newParentGateway.id)\n        newRelation.save().then(() => {\n          // Add this line to also update the 'children' relationship\n          newParentGateway.get('children').addObject(childGateway);\n          newParentGateway.save();\n    \n          // Do something on success, like notifying the user\n        }).catch((error) => {\n          console.log(\"Error::::::::: \" + error);\n        });\n    }\n\n    \n}){\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    _this = this;\n\n    actions = {\n        //in order for this to work the id of the select element must be the same as the attribute name\n        setGatewayInterval(event) {\n            let gateway = this.get('gateway');\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            //id of the newly selected interval\n            const selectedValue = parseInt(selectedOptions.map(option => option.value));    \n            //interval attribute name\n            const intervalType = event.target.id;\n            // when the record has no interval records associated with it, when you try to save an error is thrown.\n            // I avoid this by defaulting the interval to 5 minutes when the one is saved and the other is null.\n            let notSelected = intervalType == 'gatewayReadInterval' ? 'gatewayUploadInterval' : 'gatewayReadInterval';\n\n            this.store.findRecord('gateway-interval', selectedValue).then((interval) => { \n                let notSelectedIntervalValue = gateway[notSelected];\n                let group_name = intervalType == 'gatewayReadInterval' ? 'instrument_reading_interval' : 'upload_interval';\n                if(notSelectedIntervalValue == null){\n                    //if the non-selected interval is null I default it here.\n                    this.store.query('gateway-interval', {\n                        filter: {\n                          interval_value: 5,\n                          interval_group_name: group_name\n                        }\n                        }).then(function(results) {\n                            gateway.set(notSelected, results.get('firstObject'));\n                            gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                \n                            gateway.save().then(() => {\n                                console.log('Gateway saved successfully!');\n                            }).catch((error) => {\n                                console.log('Error saving gateway:', error);\n                            });\n            \n                        }).catch(function(error) {\n                        console.log(\"Error Getting interval_upload object::: \" + error);\n                      });\n                } else {\n                    \n                    gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                    gateway.save().then(() => {\n                        console.log('Gateway saved successfully!');\n                    }).catch((error) => {\n                        console.log('Error saving gateway:', error);\n                    });\n                }                    \n            });\n            \n        },\n         \n        updatePage(){\n            let store = this.get('store');\n            let gateway = this.get('gateway');\n            gateway.save();\n        },\n        viewData(id, parentGateway) {\n            // console.log(\"Edit-gateway::: \" + id)\n            // console.log(\"parentGateway::: \" + parentGateway)\n            this.get('router').transitionTo('raw-gateway-data', id, {queryParams: {\"raw_parent_gateway\": parentGateway}});\n        },\n        tGraph(id, parentGateway) {\n            let badCodes = ['null', 'undefined', ''];\n            console.log(\"Edit-gateway::: \" + id)\n            console.log(\"parentGateway::: \" + parentGateway)\n            if( badCodes.includes(parentGateway) ){\n                parentGateway = localStorage.getItem('parentGateway');\n            }            \n            // this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, \"voltage-values\", {queryParams: {\"chart_type\": \"voltage-values\", \"chart_parent_gateway\": parentGateway}} );\n            // console.log('parentGateway::::::::::::::::::: ' +  this.get('parentGateway'));\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, \"voltage-values\", { queryParams: { 'chart_type': 'voltage-values', 'parentGateway': this.get('parentGateway'), \"chart_parent_gateway\": parentGateway  }});\n\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveGateway(){\n            const _this = this;\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/gateway\";\n                }\n            } else {\n                window.location.href = \"/gateway\";\n            }\n        },\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        // updateProperty(propertyName, propertyValue) {\n        //     this.set(propertyName, propertyValue);\n        // },\n\n        async setID(gw){\n            if(gw != null) {\n\n                let gateway = this.get('gateway');\n                // console.log(gateway);\n                // console.log(\"Parent Selected::: \" + JSON.stringify(gw));\n                let parent = await this.store.findRecord('gateway', gw.value).then((parentGateway) => {\n                    // Parent gateway retrieved successfully\n                    // console.log(\"getting the parent gateway: \" + parentGateway.id);\n                    return parentGateway;\n                }).catch((error) => {\n                    // Handle error if the parent gateway does not exist or any other issue occurs\n                    console.error(\"Error getting parent gateway: \" + error);\n                });\n                this.addParentToGateway(gateway,parent);\n            } else {\n                this.set('gateway.parentGateway', null);\n            }\n        },\n    \n\n\n    }\n}\n\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    // temperaturePoints: [],\n    distXRiseUpAnimationDuration: 500,\n    \n    leftAxis: Ember.computed(function(){\n        let leftAxis = this.attrs.getQueryParams('left_axis_field');\n        if(leftAxis == null){\n          leftAxis = 'Voltage';\n        }\n        return leftAxis;\n    }),      \n\n    rightAxis: Ember.computed(function(){\n        let rightAxis = this.attrs.getQueryParams('right_axis_field');\n        if(rightAxis == null){\n            rightAxis = 'RSSI';\n          }\n          return rightAxis;\n    }),\n\n    // temperature_indexes_to_remove: [],\n    GATEWAY_ENUM: Object.freeze({\n        Firmware: 0,\n        Coordinator: 1,\n        Voltage: 2,\n        RSSI: 3,\n        carrier: 4, \n        Readings: 5, \n        Uptime: 6, \n        Reconnection: 7, \n        Uploads: 8, \n        var_1: 9, \n        var_2: 10, \n        var_3: 11,\n        Temperature: 12,        \n    }),\n\n    zoomDataPointsLeftAxis: Ember.computed(function(){\n        \n        let zoomChartData = this.get(\"zoomChartData\");\n        let leftAxisIndex = this.GATEWAY_ENUM[this.leftAxis]\n        // console.log(\"leftAxisIndex: \" + leftAxisIndex)\n        \n        let parentGateway = this.attrs.getQueryParams(\"chart_parent_gateway\");\n        let coordinatorPosition = this.GATEWAY_ENUM.Coordinator;\n        // keep track of id's that need to be removed from the temperature array too.\n        // let temperature_indexes = [];\n        let zoomLeftAxis = zoomChartData.filter(function(item) {\n            let coordinator = item.values[coordinatorPosition];\n            \n            if (parentGateway !== coordinator) {\n                return false;  // we're tryint to filter out items that don't belong to this gateway.\n            }\n            return true;  // Exclude this item from the output array\n        }).map(function(item) {\n            return item.values[leftAxisIndex];\n        });\n        return zoomLeftAxis;\n    }),\n\n    zoomDataPointsRightAxis: Ember.computed(function(){\n        \n        let zoomChartData = this.get(\"zoomChartData\");\n        let rightAxisIndex = this.GATEWAY_ENUM[this.rightAxis]\n        // console.log(\"righAxisIndex: \" + rightAxisIndex)\n        \n        let parentGateway = this.attrs.getQueryParams(\"chart_parent_gateway\");\n        let coordinatorPosition = this.GATEWAY_ENUM.Coordinator;\n        // keep track of id's that need to be removed from the temperature array too.\n        // let temperature_indexes = [];\n        let zoomRightAxis = zoomChartData.filter(function(item) {\n            let coordinator = item.values[coordinatorPosition];\n            \n            if (parentGateway !== coordinator) {\n                return false;  // we're tryint to filter out items that don't belong to this gateway.\n            }\n            return true;  // Exclude this item from the output array\n        }).map(function(item) {\n            return item.values[rightAxisIndex];\n        });\n        return zoomRightAxis;\n    }),\n\n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n        let left = this.get('zoomDataPointsLeftAxis');\n        return left;\n    }),\n\n    fullRangeDataPoints: Ember.computed('fullRangeChartData', function () {\n        let fullRangePoints = [];\n        let itemHolder = {};\n        let newFullRangePoints = [];\n        let parentGateway = this.attrs.getQueryParams(\"chart_parent_gateway\");\n        let coordinatorPosition = this.GATEWAY_ENUM.Coordinator;\n\n        fullRangePoints = this.get('fullRangeChartData');\n        // First, filter the points where coordinator matches parentGateway\n        let filteredPoints = fullRangePoints.filter(item => {\n            let linesKeys = Object.keys(item.toJSON());\n            let coordinator = item.getProperties(linesKeys)[linesKeys][coordinatorPosition]\n            // console.log(\"item: \" + coordinator + \"  parentGatway: \" + parentGateway + \"  Result: \" + (coordinator === parentGateway) );\n            return coordinator === parentGateway;\n        });\n        // Then, map over the filtered points to get their properties\n        newFullRangePoints = filteredPoints.map(item => {\n            let linesKeys = Object.keys(item.toJSON());\n            return item.getProperties(linesKeys);\n        });\n        \n        return newFullRangePoints;\n    }),\n\n/*     \n    fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed('zoomChartData', 'parentGateway', 'GATEWAY_ENUM', function () {\n        let parentGateway = this.attrs.getQueryParams(\"chart_parent_gateway\");\n        let coordinatorPosition = this.GATEWAY_ENUM.Coordinator;\n        \n        return this.get('zoomChartData').filter(item => {\n            return item.get('values')[coordinatorPosition] === parentGateway;\n        }).map(item => {\n            return item.get('id');\n        });\n    }),\n\n    fullRangeTimePoints: Ember.computed('fullRangeChartData', 'parentGateway', 'GATEWAY_ENUM', function () {\n        let parentGateway = this.attrs.getQueryParams(\"chart_parent_gateway\");\n        let coordinatorPosition = this.GATEWAY_ENUM.Coordinator;\n    \n        return this.get('fullRangeChartData').filter(item => {\n            return item.get('values')[coordinatorPosition] === parentGateway;\n        }).map(item => {\n            return item.get('id');\n        });\n    }),\n    \n    // zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n    //    //console.log(\"zoomTimePoints::::::::::::::: 9\");    \n    //     return item.get('id');\n    // }),\n\n    // fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n    //    //console.log(\"fullRangeTimePoints::::::::::::::: 13\");\n    //     return item.get('id');\n    // }),\n    \n    anchorDistances: Ember.computed('gateway', 'fullRangeChartData', function() {\n        let leftAxis = this.get('leftAxis'); \n       //console.log(\"anchorDistances::::::::::::::: 10   ::\" + leftAxis);\n        return [leftAxis];\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n       //console.log(\"zoomChartLinesData::::::::::::::: 2\");    \n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n        // let tempPoints = this.get('zoomTempPoints');\n            \n        // console.log(\"zoomTempPoints::: \" + JSON.stringify(tempPoints));\n        // console.log(\"zoomTempPoints::: \" + this.get('temperaturePoints'));\n        \n        let anchorDistances = this.get('anchorDistances');\n        let zoomChartLinesData = [];\n\n        var mName = _this.get('chartDataModelName');\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n       //console.log(\"TEMP::: \" + _this.get('chartDataModelName'));\n        let zoomTempPoints = this.get('zoomDataPointsRightAxis');\n        var temp = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        //console.log(temp);\n        zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        \n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n       //console.log(\"fullRangeChartLinesData::::::::::::::: 11\");    \n        const _this = this;\n        const fullRangeDataPoints = this.get('fullRangeDataPoints');\n        const fullRangeTimePoints = this.get('fullRangeTimePoints');\n        \n        let fullRangeTempPoints = this.get('zoomDataPointsRightAxis');\n        let anchorDistances = this.get('anchorDistances');\n\n        let fullRangeChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                   //console.log(\"fullReang:::::::::::::::::::\" + _this.GATEWAY_ENUM[_this.leftAxis])\n                    ////console.log(\"DataPoint::: \" + dataPoint.values[chartLineIndex]);\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[_this.GATEWAY_ENUM[_this.leftAxis]]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n\n        var temperature = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: fullRangeTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        // fullRangeChartLinesData.push(temperature); //#TODO: Add Temp Points\n        return fullRangeChartLinesData;           \n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n       //console.log(\"chartDataModelName::::::::::::::: 5   \" + this.get('zoomChartData').query.model_name);    \n        //console.log(\"zoomChartData:\" + this.get('zoomChartData').query.model_name);\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n       //console.log(\"yAxisLegend::::::::::::::: 14\");    \n        let chartTitle = 'voltage'\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n    getTitleAndUnits: function(axis){\n        let axisValues = {\"Voltage\": \"Voltage, V\", \"RSSI\": \"900MHz RSSI, dBm\", \"Firmware\": \"Firmware Ver.\", \"Readings\": \"Readings\", \n                            \"Uptime\": 'Uptime - in Seconds.', \"Reconnection\": \"Reconnects\", \"Uploads\": \"Uploads\",\n                            \"Temperature\": \"Temperature,C\", \"var_1\": 9, \"var_2\": 9,  \"var_3\": 10}\n        // console.log(\"getTitleAndUnits::::::::::::::: \" + axisValues[axis]);\n        return axisValues[axis];\n    },\n    didInsertElement: function() {\n        \n       //console.log(\"didInsertElement::::::::::::::: 1\");    \n        const _this = this,\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        \n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg');\n        \n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = yAxisLegend;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(false)\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showLegend(true)\n                .showDistX(true)\n                .noData('No usable data');\n\n            zoomChart.showYAxis = true;\n            zoomChart.y2Axis.showYAxis = true;\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .ticks(8)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        //console.log(\"D:::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        //console.log(nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d)));\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n               \n                let axis1Title = _this.getTitleAndUnits(_this.get('leftAxis'));\n                let axis2Title = _this.getTitleAndUnits(_this.get('rightAxis'));\n                \n                zoomChart.y1Axis\n                    .axisLabel(axis1Title)\n                    .axisLabelDistance(10);\n                \n                zoomChart.y2Axis\n                    .axisLabel(axis2Title)\n                    .axisLabelDistance(10)\n                ;\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".2f\"));\n                \n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                let legend = zoomChart.legend;\n                if(legend.controls){\n                    legend.controls.forEach(function(d, i) {\n                        d.disabled = false;\n                    });\n                }\n\n                //console.log(\"zoomChart::::\" + zoomChart.legend);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    //console.log(\"BRUSH END::::::::::::::::::::\");\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(false);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n                \n                function selectControls() {\n                    // console.log(\":::::::::::::::::::::: selectControls\");\n                    //zoomChart.chartData.forEach(function(series) { series.disabled = false; });                  \n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n                    tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    tooltipClass = 'other';\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                        \n                }\n\n                //     if (typeof(tooltipContent) === 'object') {\n                //         if (tooltipContent.type === 'Blast') {\n                //             tooltipClass = 'blast';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                //         } else if (tooltipContent.type === 'Seismic') {\n                //             tooltipClass = 'seismic';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                //         } else if (tooltipContent.type === 'BluVibe') {\n                //             tooltipClass = 'bluvibe';\n                //             eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                //         } else if (tooltipContent.type === 'Other') {\n                //             tooltipClass = 'other';\n                //         }\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                //                       '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                //                       eventSize\n                //         ;\n                //     } else {\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                //     }\n\n                //     return {\n                //         tooltipClass: tooltipClass,\n                //         tooltipText: tooltipText\n                //     };\n                // }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(\"VibeEventsArray:::\" + vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                // d3.select('.nv-y2.nv-axis')\n                // .classed('nv-disabled', false)\n                // .attr('transform', 'translate(0,0)');\n        \n                nv.utils.windowResize(zoomChart.update);\n\n                // zoomChart.dispatch.on('stateChange', function(e) { \n                //     nv.log('New State:', JSON.stringify(e)); \n                // });\n                // zoomChart.state.dispatch.on('change', function(state){\n                //     nv.log('state', JSON.stringify(state));\n                // });\n\n               //console.log(\":::::::::::::::::::::::::::setData called\")\n                // _this.sendAction('setData',zoomChartLinesData);\n                // _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            //.showYAxis(true)\n        ;\n        \n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .ticks(8)\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n        \n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('gateway', function() {\n        return [\"Firmware Version\",\"Coordinator\", \"Voltage\", \"RSSI\", \"Mesh ID\"]\n    }),\n    \n    getGatewayData: Ember.computed('gateway', 'gatewayData', 'temperatureData', function() {\n        let items = [];\n        const filteredData = this.get('gatewayData');\n        \n        if (filteredData) {\n            filteredData.forEach(item => {\n                // console.log(JSON.stringify(item))\n                let firmware = item.values[0];\n                let coordinator = item.values[1];\n                let voltage = item.values[2];\n                let rssi = item.values[3];\n                let mesh_id = item.values[item.values.length - 1];\n                let temperature = item.values[item.values.length -2]\n                if (coordinator === this.get('raw_parent_gateway')) {\n                    items.push({\n                        id: item.id,\n                        values: {\n                            'firm_version': firmware,\n                            'coordinator': coordinator,\n                            'voltage': voltage,\n                            'rssi': rssi,\n                            'mesh_id': mesh_id,\n                            'temperature': temperature || 'Nan'// Added temperature here\n                        },\n                        originalValue: item,\n                        save_values: {\n                            'firm_version': firmware,\n                            'voltage': voltage,\n                            'mesh_id': mesh_id\n                        }\n                    });\n                } else {\n                    console.log(\"Record doesn't match: coordinator: \" + coordinator + \"  raw_parent_gateway: \" + this.get('raw_parent_gateway'));\n                }\n            });\n        }       \n        return items;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n        //   console.log(\"Update property: \" + propertyValue);\n          this.set(propertyName, propertyValue);\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n  selected: '', // Set the initial value to 'RSSI'\n\n  defaultSelected: computed('selected', function () {\n    const selected = this.selected;\n    // console.log('selected:::::::::::: ' + selected);\n    return selected === '' ? 'Voltage' : selected;\n  }),\n\n\n  actions: {\n    handleSelectedFieldChange(newValue) {\n      this.set('selected', newValue);\n    },\n  },\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class LeftAxisDropdown extends Component.extend({}) {\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        tGraph(id, modelName, params) {\n            // console.log(\"in LeftAxisDropdown:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\")\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, modelName, params);\n        },\n    }\n}","import Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n  rightAxisField: '', // Set the initial value to 'RSSI'\n  routeValue: 'voltage-values',\n\n  defaultRightAxisField: computed('rightAxisField', function() {\n    const rightAxisField = this.rightAxisField;\n    // console.log('rightAxisField:::::::::::: ' + rightAxisField);\n    return rightAxisField === '' ? 'Temperature' : rightAxisField;\n  }),\n\n  getRouteValue: computed('selected', function () {\n    const selected = this.selected.toLowerCase();\n    // console.log('selected:::::::::::: ' + selected);\n    this.set('routeValue', selected + '-values');\n  }),\n\n  actions: {\n    handleRightAxisFieldChange(newValue) {\n      // console.log('handleRightAxisFieldChange:::::::::::: ' + newValue);    \n      this.set('rightAxisField', newValue);\n    }\n  }\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'VOLT',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'creationDate': null\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        activeChanged() {\n            this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n \n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                newAlertObject.creator = this.username;\n\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                \n                newAlertObject.gateway = store.peekRecord('gateway', this.get('id'));\n\n                if (newAlertObject.gateway !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let target = this.get('newAlertObject.target');\n                        \n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ( (val.length == 0) || (cb.length == 0) ) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                        \n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                        }\n                    } \n                }\n            }\n        },\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewGatewayObject(_this) {\n    // console.log(\"NewGatewayObject::: \");\n    _this.set('newGatewayObject', {});\n    _this.set('name', null);\n    _this.set('installDate', null);\n\n\n    // name: DS.attr('text'),\n    // gatewayType: DS.belongsTo('gateway-type', {async: false}),\n    // project: DS.attr('text'),\n    // location: DS.attr('text'),\n    // depth: DS.attr('number'),\n    // level: DS.attr('text'),\n    // installDate: DS.attr(),\n    // installedBy: DS.attr('text'),\n    // purpose: DS.attr('text'),\n    // notes: DS.attr('text'),\n    // alerts: DS.hasMany('alert', {async: false}),\n    // gatewayTypeID: DS.attr(),\n    // active: DS.attr('boolean'),\n\n}\n\nexport default class CreateBluCellGateway extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewGatewayObject(this);\n    }\n\n    isAuthenticated = true;\n    newGatewayObject = {};\n    installDate = null;\n    authError = false;\n\n    actions = {\n        async createGateway(object){\n\n            let _this = this,\n            store = this.get('store'),\n            newGatewayObject = this.get('newGatewayObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newGatewayObject.id = this.get('id');\n            newGatewayObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            newGatewayObject.depth = this.get('depth');\n            newGatewayObject.gatewayType = store.peekRecord('gateway-type', this.get('typeID'));\n            newGatewayObject.active = true;\n\n            if(typeof newGatewayObject.id === 'undefined' || newGatewayObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('installDate') != null) {\n                newGatewayObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            let newGateway = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    // console.log(\"Creating....\");\n                    newGateway = store.createRecord('gateway', newGatewayObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if(!error) {\n                newGateway.save().then(function(results){\n                    // console.log(dup);\n                    if(results.id != null) {\n                        _this.get('submit')(results.id);\n                    } else {\n                        this.setError('isVisibleError',true);\n                        error = true;\n                    }\n                }).catch(function(reason) {\n                    _this.setError('isVisibleError',true);\n                    _this.setError('authError',true);\n                }); \n            } \n        },\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let gatewayValueObjectValues = _this.get('gatewayValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(gatewayValueObjectValues).forEach(function(key,index) {\n        gatewayValueObjectValues[key] = null;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n\n    newGatewayValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newGatewayValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n\n    gatewayValueObjectValues: Ember.computed('anchorDistances', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('anchorDistances').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    newGatewayValueObjectValues: Ember.computed('gatewayValueObjectValues', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('gatewayValueObjectValues').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n             // console.log(\"saveNew\");\n            let _this = this,\n                store = this.get('store'),\n                newGatewayValuesObject = this.get('newGatewayValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                gatewayValues = this.get('gatewayValues'),\n                temperatureValues = this.get('temperatureValues');\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-gateway-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newGatewayValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newGatewayValuesObject.values = Object.values(this.get('newGatewayValueObjectValues'));\n\n            const newGatewayValues = store.createRecord('gateway-value', newGatewayValuesObject);\n            // save new gateway-value to DB\n            const savedGatewayValuesObject = newGatewayValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if gateway-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //gatewayValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n\n            })\n            .catch(function(reason){\n                console.log(reason);\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n    ajax: Ember.inject.service(),\n\n    store: Ember.inject.service(),\n    tr: null,\n    gwID:\"\",\n    saveMessage: '',\n    initTriggerStamp: '',\n    \n    isVisibleError: false,\n    emptyBoldError: false,\n    nonNumericValueError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    \n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        saveAlert() {\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            \n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            \n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"saved\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"saved\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        repeatChanged() {\n            let tr = this.get('alert');\n            tr.repeats = document.getElementById('alertRepeat').checked;\n            this.set('alert',tr);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { camelize } from '@ember/string';\n\nexport default class EditInstrument extends Component.extend({\n    gatewayReadingsIntervals: null,\n\n    init(){\n        this._super(...arguments);\n    },\n    \n    store: Ember.inject.service(),\n    isAuthenticated : true,\n    // selectedReadingIntervalID : null,\n    selectedModel : null,\n    editing : 0,\n    \n    getGatewayUploadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayUploadInterval = gw.gatewayUploadInterval;\n        // console.log(\"gatewayUploadInterval::: \" + gatewayUploadInterval)\n        if(gatewayUploadInterval == null){\n            return 0;\n        }\n            return (gatewayUploadInterval.id).toString();\n    }),\n\n    getGatewayReadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayReadInterval = gw.gatewayReadInterval;\n        // console.log(\"gatewayReadInterval::: \" + gatewayReadInterval)\n        if(gatewayReadInterval == null){\n            return 0;\n        }\n        return (gatewayReadInterval.id).toString();\n    }),\n    \n}){\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    _this = this;\n\n    actions = {\n        //in order for this to work the id of the select element must be the same as the attribute name\n        setGatewayInterval(event) {\n            let gateway = this.get('gateway');\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            //id of the newly selected interval\n            const selectedValue = parseInt(selectedOptions.map(option => option.value));    \n            //interval attribute name\n            const intervalType = event.target.id;\n            // when the record has no interval records associated with it, when you try to save an error is thrown.\n            // I avoid this by defaulting the interval to 5 minutes when the one is saved and the other is null.\n            let notSelected = intervalType == 'gatewayReadInterval' ? 'gatewayUploadInterval' : 'gatewayReadInterval';\n\n            this.store.findRecord('gateway-interval', selectedValue).then((interval) => { \n                let notSelectedIntervalValue = gateway[notSelected];\n                let group_name = intervalType == 'gatewayReadInterval' ? 'instrument_reading_interval' : 'upload_interval';\n                if(notSelectedIntervalValue == null){\n                    //if the non-selected interval is null I default it here.\n                    this.store.query('gateway-interval', {\n                        filter: {\n                          interval_value: 5,\n                          interval_group_name: group_name\n                        }\n                        }).then(function(results) {\n                            gateway.set(notSelected, results.get('firstObject'));\n                            gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                \n                            gateway.save().then(() => {\n                                console.log('Gateway saved successfully!');\n                            }).catch((error) => {\n                                console.log('Error saving gateway:', error);\n                            });\n            \n                        }).catch(function(error) {\n                        console.log(\"Error Getting interval_upload object::: \" + error);\n                      });\n                } else {\n                    \n                    gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                    gateway.save().then(() => {\n                        console.log('Gateway saved successfully!');\n                    }).catch((error) => {\n                        console.log('Error saving gateway:', error);\n                    });\n                }                    \n            });\n            \n        },\n                \n        // setGatewayUploadIntervals(intervalID) {\n        //     this.store.findRecord('gateway-interval', intervalID).then((interval) => { \n        //         let gateway = this.get('gateway');\n\n        //         gateway.set('gatewayUploadInterval', interval); // Set the related object as the new value of the attribute\n        //         gateway.save().then(() => {\n        //             console.log('Gateway saved successfully!');\n        //         }).catch((error) => {\n        //             console.log('Error saving gateway:', error);\n        //         });\n        //     });\n            \n        // },\n        \n        updatePage(){\n            let store = this.get('store');\n            let gateway = this.get('gateway');\n            gateway.save();\n        },\n        viewData(id) {\n            this.get('router').transitionTo('raw-gateway-data', id);\n        },\n        tGraph(id) {\n            //console.log(\"Edit-gateway::: \" + id)\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, 'voltage-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveGateway(){\n            const _this = this;\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/gateway\";\n                }\n            } else {\n                window.location.href = \"/gateway\";\n            }\n        },\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n\n    }\n}\n\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    temperaturePoints: [],\n    distXRiseUpAnimationDuration: 500,\n    // chartMetric: Ember.computed(function(){\n    // let chartMetric = this.attrs.getQueryParams('chart_type');\n    //     if(chartMetric == null){\n    //       return 'voltage';\n    //     }\n    //    //console.log(\"chartMetric::: \" + chartMetric);\n    //     return chartMetric;\n    // }),\n    leftAxis: Ember.computed(function(){\n        let leftAxis = this.attrs.getQueryParams('left_axis_field');\n        if(leftAxis == null){\n          leftAxis = 'Voltage';\n        }\n        return leftAxis;\n    }),      \n    rightAxis: Ember.computed(function(){\n        let rightAxis = this.attrs.getQueryParams('right_axis_field');\n        if(rightAxis == null){\n            rightAxis = 'RSSI';\n          }\n          return rightAxis;\n    }),\n\n    GATEWAY_ENUM: Object.freeze({\n        Firmware: 0,\n        Coordinator: 1,\n        Voltage: 2,\n        RSSI: 3,\n        carrier: 4, \n        Readings: 5, \n        Uptime: 6, \n        Reconnection: 7, \n        Uploads: 8, \n        var_1: 9, \n        var_2: 10, \n        var_3: 11,\n        Temperature: 12,        \n    }),\n\n    // zoomTempPoints: Ember.computed(function(){\n    //     // let right = this.get('zoomDataPointsRightAxis');\n    //     let temperaturePoints = [];\n    //     let zoomTempData = this.get(\"zoomTempData\");\n    //     zoomTempData.forEach(function(item, i){\n    //         let linesKyes = Object.keys(item.toJSON());\n    //         var chartData = item.getProperties(linesKyes);\n    //         temperaturePoints.push(chartData.values[0]);\n    //         // let temperaturePoints = this.get('temperaturePoints').push(chartData.values);\n    //     });\n        \n    //     return temperaturePoints; //chartData;\n    // }),\n    zoomDataPointsLeftAxis: Ember.computed(function(){\n        \n        let zoomChartData = this.get(\"zoomChartData\");\n        let leftAxisIndex = this.GATEWAY_ENUM[this.leftAxis]\n        \n        let zoomLeftAxis = zoomChartData.map(function (item, i){\n            return item.values[leftAxisIndex];            \n        });\n        // console.log(JSON.stringify(zoomLeftAxis))\n        return zoomLeftAxis;\n    }),\n    \n    zoomDataPointsRightAxis: Ember.computed(function(){\n        //console.log(\"zoomDataPointsRightAxis::::::::::::::: 8\");\n        let zoomRightAxis = null;\n        if(this.rightAxis != null){\n            let zoomChartData = this.get(\"zoomChartData\");\n            let rightAxisIndex = this.GATEWAY_ENUM[this.rightAxis]        \n            zoomRightAxis = zoomChartData.map(function (item, i){\n                return item.values[rightAxisIndex];            \n            });\n        }\n        ////console.log(\"zoomRightAxis::::::: \" + JSON.stringify(zoomRightAxis));\n        // console.log(JSON.stringify(zoomRightAxis))\n        return zoomRightAxis;\n\n    }),\n\n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n       //console.log(\"zoomDataPoints::::::::::::::: 4 and 6 \" + this.get(\"chartDataValueName\") );\n        let left = this.get('zoomDataPointsLeftAxis');\n        \n        return left;\n    }),\n\n    fullRangeDataPoints: Ember.computed('fullRangeChartData', function () {\n        let fullRangePoints = null;\n        let itemHolder = {};\n\n        fullRangePoints = this.get('fullRangeChartData');\n        fullRangePoints.map(function (item, i){\n            let linesKyes = Object.keys(item.toJSON());\n            let itemHolder = item.getProperties(linesKyes);\n            return itemHolder;\n        });\n        \n        return fullRangePoints;\n        \n    }),\n\n/*     \n    fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n       //console.log(\"zoomTimePoints::::::::::::::: 9\");    \n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n       //console.log(\"fullRangeTimePoints::::::::::::::: 13\");\n        return item.get('id');\n    }),\n    \n    anchorDistances: Ember.computed('gateway', 'fullRangeChartData', function() {\n        let leftAxis = this.get('leftAxis'); \n       //console.log(\"anchorDistances::::::::::::::: 10   ::\" + leftAxis);\n        return [leftAxis];\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n       //console.log(\"zoomChartLinesData::::::::::::::: 2\");    \n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n        let tempPoints = this.get('zoomTempPoints');\n            \n        // console.log(\"zoomTempPoints::: \" + JSON.stringify(tempPoints));\n        // console.log(\"zoomTempPoints::: \" + this.get('temperaturePoints'));\n        \n        let anchorDistances = this.get('anchorDistances');\n        let zoomChartLinesData = [];\n\n        var mName = _this.get('chartDataModelName');\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n       //console.log(\"TEMP::: \" + _this.get('chartDataModelName'));\n        let zoomTempPoints = this.get('zoomDataPointsRightAxis');\n        var temp = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        //console.log(temp);\n        zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        \n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n       //console.log(\"fullRangeChartLinesData::::::::::::::: 11\");    \n        const _this = this;\n        const fullRangeDataPoints = this.get('fullRangeDataPoints');\n        const fullRangeTimePoints = this.get('fullRangeTimePoints');\n        \n        let fullRangeTempPoints = this.get('zoomDataPointsRightAxis');\n        let anchorDistances = this.get('anchorDistances');\n\n        let fullRangeChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                   //console.log(\"fullReang:::::::::::::::::::\" + _this.GATEWAY_ENUM[_this.leftAxis])\n                    ////console.log(\"DataPoint::: \" + dataPoint.values[chartLineIndex]);\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[_this.GATEWAY_ENUM[_this.leftAxis]]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n\n        var temperature = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: fullRangeTempPoints.map(function(dataPoint, dataPointIndex) {\n                return [\n                    moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        return fullRangeChartLinesData;           \n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n       //console.log(\"chartDataModelName::::::::::::::: 5   \" + this.get('zoomChartData').query.model_name);    \n        //console.log(\"zoomChartData:\" + this.get('zoomChartData').query.model_name);\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n       //console.log(\"yAxisLegend::::::::::::::: 14\");    \n        let chartTitle = 'voltage'\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n    getTitleAndUnits: function(axis){\n        let axisValues = {\"Voltage\": \"Voltage, V\", \"RSSI\": \"RSSI, dBm\", \"Firmware\": \"Firmware Ver.\", \"Readings\": \"Readings\", \n                            \"Uptime\": 'Uptime - in Seconds.', \"Reconnection\": \"Reconnects\", \"Uploads\": \"Uploads\",\n                            \"Temperature\": \"Temperature,C\", \"var_1\": 9, \"var_2\": 9,  \"var_3\": 10}\n        // console.log(\"getTitleAndUnits::::::::::::::: \" + axisValues[axis]);\n        return axisValues[axis];\n    },\n    didInsertElement: function() {\n        \n       //console.log(\"didInsertElement::::::::::::::: 1\");    \n        const _this = this,\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        \n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg');\n        \n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = yAxisLegend;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(false)\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showLegend(true)\n                .showDistX(true)\n                .noData('No usable data');\n\n            zoomChart.showYAxis = true;\n            zoomChart.y2Axis.showYAxis = true;\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        //console.log(\"D:::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        //console.log(nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d)));\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n               \n                let axis1Title = _this.getTitleAndUnits(_this.get('leftAxis'));\n                let axis2Title = _this.getTitleAndUnits(_this.get('rightAxis'));\n                \n                zoomChart.y1Axis\n                    .axisLabel(axis1Title)\n                    .axisLabelDistance(10);\n                \n                zoomChart.y2Axis\n                    .axisLabel(axis2Title)\n                    .axisLabelDistance(10)\n                ;\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".2f\"));\n                \n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                let legend = zoomChart.legend;\n                if(legend.controls){\n                    legend.controls.forEach(function(d, i) {\n                        d.disabled = false;\n                    });\n                }\n\n                //console.log(\"zoomChart::::\" + zoomChart.legend);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    //console.log(\"BRUSH END::::::::::::::::::::\");\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(false);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n                \n                function selectControls() {\n                    // console.log(\":::::::::::::::::::::: selectControls\");\n                    //zoomChart.chartData.forEach(function(series) { series.disabled = false; });                  \n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n                    tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    tooltipClass = 'other';\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                        \n                }\n\n                //     if (typeof(tooltipContent) === 'object') {\n                //         if (tooltipContent.type === 'Blast') {\n                //             tooltipClass = 'blast';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                //         } else if (tooltipContent.type === 'Seismic') {\n                //             tooltipClass = 'seismic';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                //         } else if (tooltipContent.type === 'BluVibe') {\n                //             tooltipClass = 'bluvibe';\n                //             eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                //         } else if (tooltipContent.type === 'Other') {\n                //             tooltipClass = 'other';\n                //         }\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                //                       '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                //                       eventSize\n                //         ;\n                //     } else {\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                //     }\n\n                //     return {\n                //         tooltipClass: tooltipClass,\n                //         tooltipText: tooltipText\n                //     };\n                // }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(\"VibeEventsArray:::\" + vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                // d3.select('.nv-y2.nv-axis')\n                // .classed('nv-disabled', false)\n                // .attr('transform', 'translate(0,0)');\n        \n                nv.utils.windowResize(zoomChart.update);\n\n                // zoomChart.dispatch.on('stateChange', function(e) { \n                //     nv.log('New State:', JSON.stringify(e)); \n                // });\n                // zoomChart.state.dispatch.on('change', function(state){\n                //     nv.log('state', JSON.stringify(state));\n                // });\n\n               //console.log(\":::::::::::::::::::::::::::setData called\")\n                // _this.sendAction('setData',zoomChartLinesData);\n                // _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            //.showYAxis(true)\n        ;\n        \n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n        \n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n    anchorDistances: Ember.computed('gateway', function() {\n        return [\"Firmware Version\", \"Voltage\",\"RSSI\",\"Carrier\",\"Readings\",\"Uptime in Seconds\",\"Reconnection Attempts\",\"Uploads\"]\n}),\n\ngetGatewayData: Ember.computed('gateway', 'gatewayData', function() {\n    let fields = [0,2,3,4,5,6,7,8];\n    let items = [];\n    // Perform filtering logic on initial data\n    const filteredData = this.get('gatewayData');\n    if (filteredData) {\n      filteredData.forEach(item => {\n        let values = [];\n        let firmware = item.values[0];\n        let voltage = item.values[2];\n        let rssi = item.values[3];\n        let carrier = item.values[4];\n        let readings = item.values[5];\n        let uptime = item.values[6];\n        let recon = item.values[7];\n        let uploads = item.values[8];\n        let temperature = item.values[item.values.length -2];\n        items.push({ id: item.id, values: {'firm_version':firmware,'voltage':voltage,'rssi': rssi, 'carrier': carrier, 'readings':readings,'uptime':uptime,'recon': recon, 'uploads': uploads, 'temperature': temperature}, \n        originalValue: item, save_values:{'firm_version':firmware,'voltage':voltage, 'rssi': rssi, 'carrier': carrier, 'readings':readings,'uptime':uptime,'recon': recon, 'uploads': uploads , 'temperature': temperature} });\n      });\n    }        \n    \n    return items;\n  }),\n\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n          // console.log(\"Update property: \" + propertyValue);\n          this.set(propertyName, propertyValue);\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n  selected: '', // Set the initial value to 'RSSI'\n\n  defaultSelected: computed('selected', function () {\n    const selected = this.selected;\n    // console.log('selected:::::::::::: ' + selected);\n    return selected === '' ? 'Voltage' : selected;\n  }),\n\n\n  actions: {\n    handleSelectedFieldChange(newValue) {\n      this.set('selected', newValue);\n    },\n  },\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class LeftAxisDropdown extends Component.extend({}) {\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        tGraph(id, modelName, params) {\n            // console.log(\"in LeftAxisDropdown:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\")\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, modelName, params);\n        },\n    }\n}","import Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n  rightAxisField: '', // Set the initial value to 'RSSI'\n  routeValue: 'voltage-values',\n\n  defaultRightAxisField: computed('rightAxisField', function() {\n    const rightAxisField = this.rightAxisField;\n    // console.log('rightAxisField:::::::::::: ' + rightAxisField);\n    return rightAxisField === '' ? 'Temperature' : rightAxisField;\n  }),\n\n  getRouteValue: computed('selected', function () {\n    const selected = this.selected.toLowerCase();\n    // console.log('selected:::::::::::: ' + selected);\n    this.set('routeValue', selected + '-values');\n  }),\n\n  actions: {\n    handleRightAxisFieldChange(newValue) {\n      // console.log('handleRightAxisFieldChange:::::::::::: ' + newValue);    \n      this.set('rightAxisField', newValue);\n    }\n  }\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        activeChanged() {\n            this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            let selector = this.$('#chan_select');\n\n            let selected = {};\n            selector.val().forEach(function(selection) {\n                selected[selection] = true;\n            });\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                selector.val().forEach(function(selection) {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = selection;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save();\n                                });\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewGatewayObject(_this) {\n    // console.log(\"NewGatewayObject::: \");\n    _this.set('newGatewayObject', {});\n    _this.set('name', null);\n    _this.set('installDate', null);\n\n}\n\nexport default class CreateBluCellGateway extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewGatewayObject(this);\n    }\n\n    isAuthenticated = true;\n    newGatewayObject = {};\n    installDate = null;\n    authError = false;\n\n    actions = {\n        async createGateway(object){\n\n            let _this = this,\n            store = this.get('store'),\n            newGatewayObject = this.get('newGatewayObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newGatewayObject.id = this.get('id');\n            newGatewayObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            newGatewayObject.depth = this.get('depth');\n            newGatewayObject.gatewayType = store.peekRecord('gateway-type', this.get('typeID'));\n            newGatewayObject.active = true;\n\n            let interval_upload = await this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'upload_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayUploadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                }).catch(function(error) {\n                console.log(\"Error Getting interval_upload object::: \" + error);\n              });\n\n            let interval_read = await this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'instrument_reading_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayReadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                  }).catch(function(error) {\n                    // handle error here\n                    console.log(\"Error Getting interval_read object::: \" + error);\n                });\n              \n\n            if(typeof newGatewayObject.id === 'undefined' || newGatewayObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('installDate') != null) {\n                newGatewayObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            let newGateway = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    // console.log(\"Creating....\");\n                    newGateway = store.createRecord('gateway', newGatewayObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if(!error) {\n                newGateway.save().then(function(results){\n                    // console.log(dup);\n                    if(results.id != null) {\n                        _this.get('submit')(results.id);\n                    } else {\n                        this.setError('isVisibleError',true);\n                        error = true;\n                    }\n                }).catch(function(reason) {\n                    _this.setError('isVisibleError',true);\n                    _this.setError('authError',true);\n                }); \n            } \n        },\n        // bulbChanged(object)\n        // {\n        //     this.set(\"bulbed\",document.getElementById('newInstrumentObjectBulbed').checked);\n        // },\n        // plateChanged(object)\n        // {\n        //     this.set(\"plated\",document.getElementById('newInstrumentObjectPlated').checked);\n        // }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let gatewayValueObjectValues = _this.get('gatewayValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(gatewayValueObjectValues).forEach(function(key,index) {\n        gatewayValueObjectValues[key] = null;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n\n    newGatewayValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newGatewayValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n\n    gatewayValueObjectValues: Ember.computed('anchorDistances', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('anchorDistances').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    newGatewayValueObjectValues: Ember.computed('gatewayValueObjectValues', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('gatewayValueObjectValues').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            //  console.log(\"saveNew\");\n            let _this = this,\n                store = this.get('store'),\n                newGatewayValuesObject = this.get('newGatewayValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                gatewayValues = this.get('gatewayValues'),\n                temperatureValues = this.get('temperatureValues');\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-gateway-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newGatewayValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newGatewayValuesObject.values = Object.values(this.get('newGatewayValueObjectValues'));\n\n            const newGatewayValues = store.createRecord('gateway-value', newGatewayValuesObject);\n            // save new gateway-value to DB\n            const savedGatewayValuesObject = newGatewayValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if gateway-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //gatewayValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n\n            })\n            .catch(function(reason){\n                console.log(reason);\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n    ajax: Ember.inject.service(),\n    store: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    \n    handleAlertObjectChange: observer('tr', function() {\n        // console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    anchorList: Ember.computed('instID', 'anchors', function() {\n        let anchors = this.get('anchors');\n        let isSelected = {};\n        //console.log(\"triggered\");\n        if (anchors == null) {\n            anchors = this.get('alert').get('anchors');\n            this.set('anchors', anchors);\n        }\n\n        anchors.forEach(element => {\n            isSelected[element.get('selectedCh')] = true;\n        });\n\n\n        return isSelected;\n    }),\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    actions: {\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = Ember.$(thing.target).val();\n            else\n                update = Ember.$(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('anchorList');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { camelize } from '@ember/string';\n\nexport default class EditInstrument extends Component.extend({\n    gatewayReadingsIntervals: null,\n\n    init(){\n        this._super(...arguments);\n    },\n    \n    store: Ember.inject.service(),\n    isAuthenticated : true,\n    // selectedReadingIntervalID : null,\n    selectedModel : null,\n    editing : 0,\n    \n    getGatewayUploadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayUploadInterval = gw.gatewayUploadInterval;\n        // console.log(\"gatewayUploadInterval::: \" + gatewayUploadInterval)\n        if(gatewayUploadInterval == null){\n            return 0;\n        }\n            return (gatewayUploadInterval.id).toString();\n    }),\n\n    getGatewayReadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayReadInterval = gw.gatewayReadInterval;\n        // console.log(\"gatewayReadInterval::: \" + gatewayReadInterval)\n        if(gatewayReadInterval == null){\n            return 0;\n        }\n        return (gatewayReadInterval.id).toString();\n    }),\n    \n}){\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    _this = this;\n\n    actions = {\n        //in order for this to work the id of the select element must be the same as the attribute name\n        setGatewayInterval(event) {\n            let gateway = this.get('gateway');\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            //id of the newly selected interval\n            const selectedValue = parseInt(selectedOptions.map(option => option.value));    \n            //interval attribute name\n            const intervalType = event.target.id;\n            // when the record has no interval records associated with it, when you try to save an error is thrown.\n            // I avoid this by defaulting the interval to 5 minutes when the one is saved and the other is null.\n            let notSelected = intervalType == 'gatewayReadInterval' ? 'gatewayUploadInterval' : 'gatewayReadInterval';\n\n            this.store.findRecord('gateway-interval', selectedValue).then((interval) => { \n                let notSelectedIntervalValue = gateway[notSelected];\n                let group_name = intervalType == 'gatewayReadInterval' ? 'instrument_reading_interval' : 'upload_interval';\n                if(notSelectedIntervalValue == null){\n                    //if the non-selected interval is null I default it here.\n                    this.store.query('gateway-interval', {\n                        filter: {\n                          interval_value: 5,\n                          interval_group_name: group_name\n                        }\n                        }).then(function(results) {\n                            gateway.set(notSelected, results.get('firstObject'));\n                            gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                \n                            gateway.save().then(() => {\n                                console.log('Gateway saved successfully!');\n                            }).catch((error) => {\n                                console.log('Error saving gateway:', error);\n                            });\n            \n                        }).catch(function(error) {\n                        console.log(\"Error Getting interval_upload object::: \" + error);\n                      });\n                } else {\n                    \n                    gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                    gateway.save().then(() => {\n                        console.log('Gateway saved successfully!');\n                    }).catch((error) => {\n                        console.log('Error saving gateway:', error);\n                    });\n                }                    \n            });\n            \n        },\n                \n        updatePage(){\n            let store = this.get('store');\n            let gateway = this.get('gateway');\n            gateway.save();\n        },\n        viewData(id) {\n            this.get('router').transitionTo('raw-gateway-data', id);\n        },\n        tGraph(id) {\n            //console.log(\"Edit-gateway::: \" + id)\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, 'voltage-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveGateway(){\n            const _this = this;\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/gateway\";\n                }\n            } else {\n                window.location.href = \"/gateway\";\n            }\n        },\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        // updateProperty(propertyName, propertyValue) {\n        //     this.set(propertyName, propertyValue);\n        // },\n    \n\n\n    }\n}\n\n\n\n// import Component from '@ember/component'; \n// export default Component.extend({ \n//     classNames: ['person-select'], \n//     people: null, \n//     selectedPerson: null, \n//     actions: { \n//         selectPerson(person) { \n//             this.set('selectedPerson', person); \n//         } \n//     } \n// });\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    temperaturePoints: [],\n    distXRiseUpAnimationDuration: 500,\n    // chartMetric: Ember.computed(function(){\n    // let chartMetric = this.attrs.getQueryParams('chart_type');\n    //     if(chartMetric == null){\n    //       return 'voltage';\n    //     }\n    //    //console.log(\"chartMetric::: \" + chartMetric);\n    //     return chartMetric;\n    // }),\n    leftAxis: Ember.computed(function(){\n        let leftAxis = this.attrs.getQueryParams('left_axis_field');\n        if(leftAxis == null){\n          leftAxis = 'Voltage';\n        }\n        return leftAxis;\n    }),      \n    rightAxis: Ember.computed(function(){\n        let rightAxis = this.attrs.getQueryParams('right_axis_field');\n        if(rightAxis == null){\n            rightAxis = 'RSSI';\n          }\n          return rightAxis;\n    }),\n\n    GATEWAY_ENUM: Object.freeze({\n        Firmware: 0,\n        Coordinator: 1,\n        Voltage: 2,\n        RSSI: 3,\n        carrier: 4, \n        Readings: 5, \n        Uptime: 6, \n        Reconnection: 7, \n        Uploads: 8, \n        var_1: 9, \n        var_2: 10, \n        var_3: 11,\n        Temperature: 12,        \n    }),\n\n    // zoomTempPoints: Ember.computed(function(){\n    //     // let right = this.get('zoomDataPointsRightAxis');\n    //     let temperaturePoints = [];\n    //     let zoomTempData = this.get(\"zoomTempData\");\n    //     zoomTempData.forEach(function(item, i){\n    //         let linesKyes = Object.keys(item.toJSON());\n    //         var chartData = item.getProperties(linesKyes);\n    //         temperaturePoints.push(chartData.values[0]);\n    //         // let temperaturePoints = this.get('temperaturePoints').push(chartData.values);\n    //     });\n        \n    //     return temperaturePoints; //chartData;\n    // }),\n    zoomDataPointsLeftAxis: Ember.computed(function(){\n        \n        let zoomChartData = this.get(\"zoomChartData\");\n        let leftAxisIndex = this.GATEWAY_ENUM[this.leftAxis]\n        \n        let zoomLeftAxis = zoomChartData.map(function (item, i){\n            return item.values[leftAxisIndex];            \n        });\n        // console.log(JSON.stringify(zoomLeftAxis))\n        return zoomLeftAxis;\n    }),\n    \n    zoomDataPointsRightAxis: Ember.computed(function(){\n        //console.log(\"zoomDataPointsRightAxis::::::::::::::: 8\");\n        let zoomRightAxis = null;\n        if(this.rightAxis != null){\n            let zoomChartData = this.get(\"zoomChartData\");\n            let rightAxisIndex = this.GATEWAY_ENUM[this.rightAxis]        \n            zoomRightAxis = zoomChartData.map(function (item, i){\n                return item.values[rightAxisIndex];            \n            });\n        }\n        ////console.log(\"zoomRightAxis::::::: \" + JSON.stringify(zoomRightAxis));\n        // console.log(JSON.stringify(zoomRightAxis))\n        return zoomRightAxis;\n\n    }),\n\n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n       //console.log(\"zoomDataPoints::::::::::::::: 4 and 6 \" + this.get(\"chartDataValueName\") );\n        let left = this.get('zoomDataPointsLeftAxis');\n        \n        return left;\n    }),\n\n    fullRangeDataPoints: Ember.computed('fullRangeChartData', function () {\n        let fullRangePoints = null;\n        let itemHolder = {};\n\n        fullRangePoints = this.get('fullRangeChartData');\n        fullRangePoints.map(function (item, i){\n            let linesKyes = Object.keys(item.toJSON());\n            let itemHolder = item.getProperties(linesKyes);\n            return itemHolder;\n        });\n        \n        return fullRangePoints;\n        \n    }),\n\n/*     \n    fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n       //console.log(\"zoomTimePoints::::::::::::::: 9\");    \n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n       //console.log(\"fullRangeTimePoints::::::::::::::: 13\");\n        return item.get('id');\n    }),\n    \n    anchorDistances: Ember.computed('gateway', 'fullRangeChartData', function() {\n        let leftAxis = this.get('leftAxis'); \n       //console.log(\"anchorDistances::::::::::::::: 10   ::\" + leftAxis);\n        return [leftAxis];\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n       //console.log(\"zoomChartLinesData::::::::::::::: 2\");    \n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n        let tempPoints = this.get('zoomTempPoints');\n            \n        // console.log(\"zoomTempPoints::: \" + JSON.stringify(tempPoints));\n        // console.log(\"zoomTempPoints::: \" + this.get('temperaturePoints'));\n        \n        let anchorDistances = this.get('anchorDistances');\n        let zoomChartLinesData = [];\n\n        var mName = _this.get('chartDataModelName');\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n       //console.log(\"TEMP::: \" + _this.get('chartDataModelName'));\n        let zoomTempPoints = this.get('zoomDataPointsRightAxis');\n        var temp = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        //console.log(temp);\n        zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        \n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n       //console.log(\"fullRangeChartLinesData::::::::::::::: 11\");    \n        const _this = this;\n        const fullRangeDataPoints = this.get('fullRangeDataPoints');\n        const fullRangeTimePoints = this.get('fullRangeTimePoints');\n        \n        let fullRangeTempPoints = this.get('zoomDataPointsRightAxis');\n        let anchorDistances = this.get('anchorDistances');\n\n        let fullRangeChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                   //console.log(\"fullReang:::::::::::::::::::\" + _this.GATEWAY_ENUM[_this.leftAxis])\n                    ////console.log(\"DataPoint::: \" + dataPoint.values[chartLineIndex]);\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[_this.GATEWAY_ENUM[_this.leftAxis]]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n\n        var temperature = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: fullRangeTempPoints.map(function(dataPoint, dataPointIndex) {\n                return [\n                    moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        return fullRangeChartLinesData;           \n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n       //console.log(\"chartDataModelName::::::::::::::: 5   \" + this.get('zoomChartData').query.model_name);    \n        //console.log(\"zoomChartData:\" + this.get('zoomChartData').query.model_name);\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n       //console.log(\"yAxisLegend::::::::::::::: 14\");    \n        let chartTitle = 'voltage'\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n    getTitleAndUnits: function(axis){\n        let axisValues = {\"Voltage\": \"Voltage, V\", \"RSSI\": \"RSSI, dBm\", \"Firmware\": \"Firmware Ver.\", \"Readings\": \"Readings\", \n                            \"Uptime\": 'Uptime - in Seconds.', \"Reconnection\": \"Reconnects\", \"Uploads\": \"Uploads\",\n                            \"Temperature\": \"Temperature,C\", \"var_1\": 9, \"var_2\": 9,  \"var_3\": 10}\n        // console.log(\"getTitleAndUnits::::::::::::::: \" + axisValues[axis]);\n        return axisValues[axis];\n    },\n    didInsertElement: function() {\n        \n       //console.log(\"didInsertElement::::::::::::::: 1\");    \n        const _this = this,\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        \n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg');\n        \n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = yAxisLegend;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(false)\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showLegend(true)\n                .showDistX(true)\n                .noData('No usable data');\n\n            zoomChart.showYAxis = true;\n            zoomChart.y2Axis.showYAxis = true;\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        //console.log(\"D:::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        //console.log(nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d)));\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n               \n                let axis1Title = _this.getTitleAndUnits(_this.get('leftAxis'));\n                let axis2Title = _this.getTitleAndUnits(_this.get('rightAxis'));\n                \n                zoomChart.y1Axis\n                    .axisLabel(axis1Title)\n                    .axisLabelDistance(10);\n                \n                zoomChart.y2Axis\n                    .axisLabel(axis2Title)\n                    .axisLabelDistance(10)\n                ;\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".2f\"));\n                \n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                let legend = zoomChart.legend;\n                if(legend.controls){\n                    legend.controls.forEach(function(d, i) {\n                        d.disabled = false;\n                    });\n                }\n\n                //console.log(\"zoomChart::::\" + zoomChart.legend);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    //console.log(\"BRUSH END::::::::::::::::::::\");\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(false);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n                \n                function selectControls() {\n                    // console.log(\":::::::::::::::::::::: selectControls\");\n                    //zoomChart.chartData.forEach(function(series) { series.disabled = false; });                  \n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n                    tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    tooltipClass = 'other';\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                        \n                }\n\n                //     if (typeof(tooltipContent) === 'object') {\n                //         if (tooltipContent.type === 'Blast') {\n                //             tooltipClass = 'blast';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                //         } else if (tooltipContent.type === 'Seismic') {\n                //             tooltipClass = 'seismic';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                //         } else if (tooltipContent.type === 'BluVibe') {\n                //             tooltipClass = 'bluvibe';\n                //             eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                //         } else if (tooltipContent.type === 'Other') {\n                //             tooltipClass = 'other';\n                //         }\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                //                       '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                //                       eventSize\n                //         ;\n                //     } else {\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                //     }\n\n                //     return {\n                //         tooltipClass: tooltipClass,\n                //         tooltipText: tooltipText\n                //     };\n                // }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(\"VibeEventsArray:::\" + vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                // d3.select('.nv-y2.nv-axis')\n                // .classed('nv-disabled', false)\n                // .attr('transform', 'translate(0,0)');\n        \n                nv.utils.windowResize(zoomChart.update);\n\n                // zoomChart.dispatch.on('stateChange', function(e) { \n                //     nv.log('New State:', JSON.stringify(e)); \n                // });\n                // zoomChart.state.dispatch.on('change', function(state){\n                //     nv.log('state', JSON.stringify(state));\n                // });\n\n               //console.log(\":::::::::::::::::::::::::::setData called\")\n                // _this.sendAction('setData',zoomChartLinesData);\n                // _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            //.showYAxis(true)\n        ;\n        \n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n        \n    }\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    temperaturePoints: [],\n    distXRiseUpAnimationDuration: 500,\n    // chartMetric: Ember.computed(function(){\n    // let chartMetric = this.attrs.getQueryParams('chart_type');\n    //     if(chartMetric == null){\n    //       return 'voltage';\n    //     }\n    //    //console.log(\"chartMetric::: \" + chartMetric);\n    //     return chartMetric;\n    // }),\n    leftAxis: Ember.computed(function(){\n        let leftAxis = this.attrs.getQueryParams('left_axis_field');\n        if(leftAxis == null){\n          leftAxis = 'Voltage';\n        }\n        return leftAxis;\n    }),      \n    rightAxis: Ember.computed(function(){\n        let rightAxis = this.attrs.getQueryParams('right_axis_field');\n        if(rightAxis == null){\n            rightAxis = 'RSSI';\n          }\n          return rightAxis;\n    }),\n    GATEWAY_ENUM: Object.freeze({\n        Firmware: 0,\n        Voltage: 1,\n        RSSI: 2,\n        carrier: 3, \n        Readings: 4, \n        Uptime: 5, \n        Reconnection: 6, \n        Uploads: 7, \n        Temperature:8,\n        var_1: 9, \n        var_2: 9, \n        var_3: 10,\n    }),\n\n    zoomTempPoints: Ember.computed(function(){\n        // let right = this.get('zoomDataPointsRightAxis');\n        let temperaturePoints = [];\n        let zoomTempData = this.get(\"zoomTempData\");\n        zoomTempData.forEach(function(item, i){\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n            temperaturePoints.push(chartData.values[0]);\n            // let temperaturePoints = this.get('temperaturePoints').push(chartData.values);\n        });\n        // console.log(\"zoomTempPoints::::::::::::::: 7\");    \n        // let linesKyes = Object.keys(item.toJSON());\n        // var chartData = item.getProperties(linesKyes);\n        //  = this.get('temperaturePoints').push(chartData.values);\n        \n        return temperaturePoints; //chartData;\n    }),\n    zoomDataPointsLeftAxis: Ember.computed(function(){\n        \n        let zoomChartData = this.get(\"zoomChartData\");\n        let leftAxisIndex = this.GATEWAY_ENUM[this.leftAxis]\n        //TODO: fix this TA.  Hack because we added temperature at the last minute.\n        if(this.leftAxis == 'Temperature'){\n            // console.log(\"zoomDataPointsLeftAxis::::::::::::::: \" + this.get(\"temperaturePoints\"));\n            return this.get(\"zoomTempPoints\");\n        }\n        \n        let zoomLeftAxis = zoomChartData.map(function (item, i){\n            return item.values[leftAxisIndex];            \n        });\n        return zoomLeftAxis;\n    }),\n    zoomDataPointsRightAxis: Ember.computed(function(){\n       //console.log(\"zoomDataPointsRightAxis::::::::::::::: 8\");\n        let zoomRightAxis = null;\n        if(this.rightAxis != null && this.rightAxis != 'Temperature'){\n            let zoomChartData = this.get(\"zoomChartData\");\n            let rightAxisIndex = this.GATEWAY_ENUM[this.rightAxis]        \n            zoomRightAxis = zoomChartData.map(function (item, i){\n                return item.values[rightAxisIndex];            \n            });\n        }\n        if (this.rightAxis == 'Temperature'){\n            zoomRightAxis = this.get(\"zoomTempPoints\");\n        }\n        ////console.log(\"zoomRightAxis::::::: \" + JSON.stringify(zoomRightAxis));\n        return zoomRightAxis;\n\n    }),\n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n        \n       //console.log(\"zoomDataPoints::::::::::::::: 4 and 6 \" + this.get(\"chartDataValueName\") );\n        let left = this.get('zoomDataPointsLeftAxis');\n        \n        return left;\n    }),\n\n    fullRangeDataPoints: Ember.computed('fullRangeChartData', function () {\n        let fullRangePoints = null;\n        let itemHolder = {};\n\n        if(this.leftAxis != 'Temperature'){\n            fullRangePoints = this.get('fullRangeChartData');\n            fullRangePoints.map(function (item, i){\n                let linesKyes = Object.keys(item.toJSON());\n                let itemHolder = item.getProperties(linesKyes);\n                return itemHolder;\n            });\n        } else {\n            itemHolder.values = [];\n            fullRangePoints = this.get(\"temperaturePoints\");\n            if(this.leftAxis == 'Temperature'){\n                fullRangePoints.forEach(function(item){\n                    itemHolder.values.push(item[0]);\n                });\n            }\n            fullRangePoints = itemHolder;\n        }\n        return fullRangePoints;\n        \n    }),\n\n/*     \n    fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n       //console.log(\"zoomTimePoints::::::::::::::: 9\");    \n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n       //console.log(\"fullRangeTimePoints::::::::::::::: 13\");\n        return item.get('id');\n    }),\n    \n    anchorDistances: Ember.computed('gateway', 'fullRangeChartData', function() {\n        let leftAxis = this.get('leftAxis'); \n       //console.log(\"anchorDistances::::::::::::::: 10   ::\" + leftAxis);\n        return [leftAxis];\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n       //console.log(\"zoomChartLinesData::::::::::::::: 2\");    \n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n        let tempPoints = this.get('zoomTempPoints');\n            \n        // console.log(\"zoomTempPoints::: \" + JSON.stringify(tempPoints));\n        // console.log(\"zoomTempPoints::: \" + this.get('temperaturePoints'));\n        \n        let anchorDistances = this.get('anchorDistances');\n        let zoomChartLinesData = [];\n\n        var mName = _this.get('chartDataModelName');\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n       //console.log(\"TEMP::: \" + _this.get('chartDataModelName'));\n        let zoomTempPoints = this.get('zoomDataPointsRightAxis');\n        var temp = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        //console.log(temp);\n        zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        \n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n       //console.log(\"fullRangeChartLinesData::::::::::::::: 11\");    \n        const _this = this;\n        const fullRangeDataPoints = this.get('fullRangeDataPoints');\n        const fullRangeTimePoints = this.get('fullRangeTimePoints');\n        \n        let fullRangeTempPoints = this.get('zoomDataPointsRightAxis');\n        let anchorDistances = this.get('anchorDistances');\n\n        let fullRangeChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                   //console.log(\"fullReang:::::::::::::::::::\" + _this.GATEWAY_ENUM[_this.leftAxis])\n                    ////console.log(\"DataPoint::: \" + dataPoint.values[chartLineIndex]);\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[_this.GATEWAY_ENUM[_this.leftAxis]]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n\n        var temperature = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: fullRangeTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        // fullRangeChartLinesData.push(temperature); //#TODO: Add Temp Points\n        return fullRangeChartLinesData;           \n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n       //console.log(\"chartDataModelName::::::::::::::: 5   \" + this.get('zoomChartData').query.model_name);    \n        //console.log(\"zoomChartData:\" + this.get('zoomChartData').query.model_name);\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n       //console.log(\"yAxisLegend::::::::::::::: 14\");    \n        let chartTitle = 'voltage'\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n    getTitleAndUnits: function(axis){\n        let axisValues = {\"Voltage\": \"Voltage, V\", \"RSSI\": \"RSSI, dBm\", \"Firmware\": \"Firmware Ver.\", \"Readings\": \"Readings\", \n                            \"Uptime\": 'Uptime - in Seconds.', \"Reconnection\": \"Reconnects\", \"Uploads\": \"Uploads\",\n                            \"Temperature\": \"Temperature,C\", \"var_1\": 9, \"var_2\": 9,  \"var_3\": 10}\n        // console.log(\"getTitleAndUnits::::::::::::::: \" + axisValues[axis]);\n        return axisValues[axis];\n    },\n    didInsertElement: function() {\n        \n       //console.log(\"didInsertElement::::::::::::::: 1\");    \n        const _this = this,\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        \n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg');\n        \n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = yAxisLegend;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(false)\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showLegend(true)\n                .showDistX(true)\n                .noData('No usable data');\n\n            zoomChart.showYAxis = true;\n            zoomChart.y2Axis.showYAxis = true;\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        //console.log(\"D:::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        //console.log(nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d)));\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n               \n                let axis1Title = _this.getTitleAndUnits(_this.get('leftAxis'));\n                let axis2Title = _this.getTitleAndUnits(_this.get('rightAxis'));\n                \n                zoomChart.y1Axis\n                    .axisLabel(axis1Title)\n                    .axisLabelDistance(10);\n                \n                zoomChart.y2Axis\n                    .axisLabel(axis2Title)\n                    .axisLabelDistance(10)\n                ;\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".2f\"));\n                \n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                let legend = zoomChart.legend;\n                if(legend.controls){\n                    legend.controls.forEach(function(d, i) {\n                        d.disabled = false;\n                    });\n                }\n\n                //console.log(\"zoomChart::::\" + zoomChart.legend);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    //console.log(\"BRUSH END::::::::::::::::::::\");\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(false);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n                \n                function selectControls() {\n                    // console.log(\":::::::::::::::::::::: selectControls\");\n                    //zoomChart.chartData.forEach(function(series) { series.disabled = false; });                  \n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n                    tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    tooltipClass = 'other';\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                        \n                }\n\n                //     if (typeof(tooltipContent) === 'object') {\n                //         if (tooltipContent.type === 'Blast') {\n                //             tooltipClass = 'blast';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                //         } else if (tooltipContent.type === 'Seismic') {\n                //             tooltipClass = 'seismic';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                //         } else if (tooltipContent.type === 'BluVibe') {\n                //             tooltipClass = 'bluvibe';\n                //             eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                //         } else if (tooltipContent.type === 'Other') {\n                //             tooltipClass = 'other';\n                //         }\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                //                       '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                //                       eventSize\n                //         ;\n                //     } else {\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                //     }\n\n                //     return {\n                //         tooltipClass: tooltipClass,\n                //         tooltipText: tooltipText\n                //     };\n                // }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(\"VibeEventsArray:::\" + vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                // d3.select('.nv-y2.nv-axis')\n                // .classed('nv-disabled', false)\n                // .attr('transform', 'translate(0,0)');\n        \n                nv.utils.windowResize(zoomChart.update);\n\n                // zoomChart.dispatch.on('stateChange', function(e) { \n                //     nv.log('New State:', JSON.stringify(e)); \n                // });\n                // zoomChart.state.dispatch.on('change', function(state){\n                //     nv.log('state', JSON.stringify(state));\n                // });\n\n               //console.log(\":::::::::::::::::::::::::::setData called\")\n                // _this.sendAction('setData',zoomChartLinesData);\n                // _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            //.showYAxis(true)\n        ;\n        \n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n        \n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n    anchorDistances: Ember.computed('gateway', function() {\n        return [\"Firmware Version\", \"Voltage\",\"RSSI\",\"Carrier\",\"Readings\",\"Uptime in Seconds\",\"Reconnection Attempts\",\"Uploads\"]\n}),\n\ngetGatewayData: Ember.computed('gateway', 'gatewayData', function() {\n    let fields = [0,2,3,4,5,6,7,8];\n    let items = [];\n    // Perform filtering logic on initial data\n    const filteredData = this.get('gatewayData');\n    if (filteredData) {\n      filteredData.forEach(item => {\n        let values = [];\n        let firmware = item.values[0];\n        let voltage = item.values[2];\n        let rssi = item.values[3];\n        let carrier = item.values[4];\n        let readings = item.values[5];\n        let uptime = item.values[6];\n        let recon = item.values[7];\n        let uploads = item.values[8];\n        let temperature = item.values[item.values.length -2];\n        items.push({ id: item.id, values: {'firm_version':firmware,'voltage':voltage,'rssi': rssi, 'carrier': carrier, 'readings':readings,'uptime':uptime,'recon': recon, 'uploads': uploads, 'temperature': temperature}, \n        originalValue: item, save_values:{'firm_version':firmware,'voltage':voltage, 'rssi': rssi, 'carrier': carrier, 'readings':readings,'uptime':uptime,'recon': recon, 'uploads': uploads , 'temperature': temperature} });\n      });\n    }        \n    \n    return items;\n  }),\n\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n          // console.log(\"Update property: \" + propertyValue);\n          this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class LeftAxisDropdown extends Component.extend({}) {\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        tGraph(id, modelName, params) {\n            // console.log(\"in LeftAxisDropdown:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\")\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, modelName, params);\n        },\n    }\n}","import Ember from 'ember';\nimport Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class TemporalGatewayRightAxisDropdown extends Component.extend({\n}) {\n    @service router;\n    @service store;\n\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    selectedOption = null;\n    \n    actions = {\n        setSelection(selected) {\n            this.set('selectedOption', selected)\n            // console.log(this.get('selectedOption'))\n        },\n    }\n}","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        activeChanged() {\n            this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            let selector = this.$('#chan_select');\n\n            let selected = {};\n            selector.val().forEach(function(selection) {\n                selected[selection] = true;\n            });\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                selector.val().forEach(function(selection) {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = selection;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save();\n                                });\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewGatewayObject(_this) {\n    // console.log(\"NewGatewayObject::: \");\n    _this.set('newGatewayObject', {});\n    _this.set('name', null);\n    _this.set('installDate', null);\n\n}\n\nexport default class CreateBluCellGateway extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewGatewayObject(this);\n    }\n\n    isAuthenticated = true;\n    newGatewayObject = {};\n    installDate = null;\n    authError = false;\n\n    actions = {\n        async createGateway(object){\n\n            let _this = this,\n            store = this.get('store'),\n            newGatewayObject = this.get('newGatewayObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newGatewayObject.id = this.get('id');\n            newGatewayObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            newGatewayObject.depth = this.get('depth');\n            newGatewayObject.gatewayType = store.peekRecord('gateway-type', this.get('typeID'));\n            newGatewayObject.active = true;\n\n            let interval_upload = await this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'upload_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayUploadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                }).catch(function(error) {\n                console.log(\"Error Getting interval_upload object::: \" + error);\n              });\n\n            let interval_read = await this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'instrument_reading_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayReadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                  }).catch(function(error) {\n                    // handle error here\n                    console.log(\"Error Getting interval_read object::: \" + error);\n                });\n              \n\n            if(typeof newGatewayObject.id === 'undefined' || newGatewayObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('installDate') != null) {\n                newGatewayObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            let newGateway = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    // console.log(\"Creating....\");\n                    newGateway = store.createRecord('gateway', newGatewayObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if(!error) {\n                newGateway.save().then(function(results){\n                    // console.log(dup);\n                    if(results.id != null) {\n                        _this.get('submit')(results.id);\n                    } else {\n                        this.setError('isVisibleError',true);\n                        error = true;\n                    }\n                }).catch(function(reason) {\n                    _this.setError('isVisibleError',true);\n                    _this.setError('authError',true);\n                }); \n            } \n        },\n        // bulbChanged(object)\n        // {\n        //     this.set(\"bulbed\",document.getElementById('newInstrumentObjectBulbed').checked);\n        // },\n        // plateChanged(object)\n        // {\n        //     this.set(\"plated\",document.getElementById('newInstrumentObjectPlated').checked);\n        // }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let gatewayValueObjectValues = _this.get('gatewayValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(gatewayValueObjectValues).forEach(function(key,index) {\n        gatewayValueObjectValues[key] = null;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n\n    newGatewayValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newGatewayValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n\n    gatewayValueObjectValues: Ember.computed('anchorDistances', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('anchorDistances').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    newGatewayValueObjectValues: Ember.computed('gatewayValueObjectValues', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('gatewayValueObjectValues').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            //  console.log(\"saveNew\");\n            let _this = this,\n                store = this.get('store'),\n                newGatewayValuesObject = this.get('newGatewayValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                gatewayValues = this.get('gatewayValues'),\n                temperatureValues = this.get('temperatureValues');\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-gateway-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newGatewayValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newGatewayValuesObject.values = Object.values(this.get('newGatewayValueObjectValues'));\n\n            const newGatewayValues = store.createRecord('gateway-value', newGatewayValuesObject);\n            // save new gateway-value to DB\n            const savedGatewayValuesObject = newGatewayValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if gateway-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //gatewayValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n\n            })\n            .catch(function(reason){\n                console.log(reason);\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    \n    handleAlertObjectChange: observer('tr', function() {\n        // console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    anchorList: Ember.computed('instID', 'anchors', function() {\n        let anchors = this.get('anchors');\n        let isSelected = {};\n        //console.log(\"triggered\");\n        if (anchors == null) {\n            anchors = this.get('alert').get('anchors');\n            this.set('anchors', anchors);\n        }\n\n        anchors.forEach(element => {\n            isSelected[element.get('selectedCh')] = true;\n        });\n\n\n        return isSelected;\n    }),\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    actions: {\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = Ember.$(thing.target).val();\n            else\n                update = Ember.$(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('anchorList');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { camelize } from '@ember/string';\n\nexport default class EditInstrument extends Component.extend({\n    gatewayReadingsIntervals: null,\n\n    init(){\n        this._super(...arguments);\n    },\n    \n    store: Ember.inject.service(),\n    isAuthenticated : true,\n    // selectedReadingIntervalID : null,\n    selectedModel : null,\n    editing : 0,\n    \n    getGatewayUploadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayUploadInterval = gw.gatewayUploadInterval;\n        // console.log(\"gatewayUploadInterval::: \" + gatewayUploadInterval)\n        if(gatewayUploadInterval == null){\n            return 0;\n        }\n            return (gatewayUploadInterval.id).toString();\n    }),\n\n    getGatewayReadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayReadInterval = gw.gatewayReadInterval;\n        // console.log(\"gatewayReadInterval::: \" + gatewayReadInterval)\n        if(gatewayReadInterval == null){\n            return 0;\n        }\n        return (gatewayReadInterval.id).toString();\n    }),\n    \n}){\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    _this = this;\n\n    actions = {\n        //in order for this to work the id of the select element must be the same as the attribute name\n        setGatewayInterval(event) {\n            let gateway = this.get('gateway');\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            //id of the newly selected interval\n            const selectedValue = parseInt(selectedOptions.map(option => option.value));    \n            //interval attribute name\n            const intervalType = event.target.id;\n            // when the record has no interval records associated with it, when you try to save an error is thrown.\n            // I avoid this by defaulting the interval to 5 minutes when the one is saved and the other is null.\n            let notSelected = intervalType == 'gatewayReadInterval' ? 'gatewayUploadInterval' : 'gatewayReadInterval';\n\n            this.store.findRecord('gateway-interval', selectedValue).then((interval) => { \n                let notSelectedIntervalValue = gateway[notSelected];\n                let group_name = intervalType == 'gatewayReadInterval' ? 'instrument_reading_interval' : 'upload_interval';\n                if(notSelectedIntervalValue == null){\n                    //if the non-selected interval is null I default it here.\n                    this.store.query('gateway-interval', {\n                        filter: {\n                          interval_value: 5,\n                          interval_group_name: group_name\n                        }\n                        }).then(function(results) {\n                            gateway.set(notSelected, results.get('firstObject'));\n                            gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                \n                            gateway.save().then(() => {\n                                console.log('Gateway saved successfully!');\n                            }).catch((error) => {\n                                console.log('Error saving gateway:', error);\n                            });\n            \n                        }).catch(function(error) {\n                        console.log(\"Error Getting interval_upload object::: \" + error);\n                      });\n                } else {\n                    \n                    gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                    gateway.save().then(() => {\n                        console.log('Gateway saved successfully!');\n                    }).catch((error) => {\n                        console.log('Error saving gateway:', error);\n                    });\n                }                    \n            });\n            \n        },\n                \n        updatePage(){\n            let store = this.get('store');\n            let gateway = this.get('gateway');\n            gateway.save();\n        },\n        viewData(id) {\n            this.get('router').transitionTo('raw-gateway-data', id);\n        },\n        tGraph(id) {\n            //console.log(\"Edit-gateway::: \" + id)\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, 'voltage-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveGateway(){\n            const _this = this;\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/gateway\";\n                }\n            } else {\n                window.location.href = \"/gateway\";\n            }\n        },\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        // updateProperty(propertyName, propertyValue) {\n        //     this.set(propertyName, propertyValue);\n        // },\n    \n\n\n    }\n}\n\n\n\n// import Component from '@ember/component'; \n// export default Component.extend({ \n//     classNames: ['person-select'], \n//     people: null, \n//     selectedPerson: null, \n//     actions: { \n//         selectPerson(person) { \n//             this.set('selectedPerson', person); \n//         } \n//     } \n// });\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    temperaturePoints: [],\n    distXRiseUpAnimationDuration: 500,\n    // chartMetric: Ember.computed(function(){\n    // let chartMetric = this.attrs.getQueryParams('chart_type');\n    //     if(chartMetric == null){\n    //       return 'voltage';\n    //     }\n    //    //console.log(\"chartMetric::: \" + chartMetric);\n    //     return chartMetric;\n    // }),\n    leftAxis: Ember.computed(function(){\n        let leftAxis = this.attrs.getQueryParams('left_axis_field');\n        if(leftAxis == null){\n          leftAxis = 'Voltage';\n        }\n        return leftAxis;\n    }),      \n    rightAxis: Ember.computed(function(){\n        let rightAxis = this.attrs.getQueryParams('right_axis_field');\n        if(rightAxis == null){\n            rightAxis = 'RSSI';\n          }\n          return rightAxis;\n    }),\n\n    GATEWAY_ENUM: Object.freeze({\n        Firmware: 0,\n        Coordinator: 1,\n        Voltage: 2,\n        RSSI: 3,\n        carrier: 4, \n        Readings: 5, \n        Uptime: 6, \n        Reconnection: 7, \n        Uploads: 8, \n        var_1: 9, \n        var_2: 10, \n        var_3: 11,\n        Temperature: 12,        \n    }),\n\n    // zoomTempPoints: Ember.computed(function(){\n    //     // let right = this.get('zoomDataPointsRightAxis');\n    //     let temperaturePoints = [];\n    //     let zoomTempData = this.get(\"zoomTempData\");\n    //     zoomTempData.forEach(function(item, i){\n    //         let linesKyes = Object.keys(item.toJSON());\n    //         var chartData = item.getProperties(linesKyes);\n    //         temperaturePoints.push(chartData.values[0]);\n    //         // let temperaturePoints = this.get('temperaturePoints').push(chartData.values);\n    //     });\n        \n    //     return temperaturePoints; //chartData;\n    // }),\n    zoomDataPointsLeftAxis: Ember.computed(function(){\n        \n        let zoomChartData = this.get(\"zoomChartData\");\n        let leftAxisIndex = this.GATEWAY_ENUM[this.leftAxis]\n        \n        let zoomLeftAxis = zoomChartData.map(function (item, i){\n            return item.values[leftAxisIndex];            \n        });\n        // console.log(JSON.stringify(zoomLeftAxis))\n        return zoomLeftAxis;\n    }),\n    \n    zoomDataPointsRightAxis: Ember.computed(function(){\n        //console.log(\"zoomDataPointsRightAxis::::::::::::::: 8\");\n        let zoomRightAxis = null;\n        if(this.rightAxis != null){\n            let zoomChartData = this.get(\"zoomChartData\");\n            let rightAxisIndex = this.GATEWAY_ENUM[this.rightAxis]        \n            zoomRightAxis = zoomChartData.map(function (item, i){\n                return item.values[rightAxisIndex];            \n            });\n        }\n        ////console.log(\"zoomRightAxis::::::: \" + JSON.stringify(zoomRightAxis));\n        // console.log(JSON.stringify(zoomRightAxis))\n        return zoomRightAxis;\n\n    }),\n\n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n       //console.log(\"zoomDataPoints::::::::::::::: 4 and 6 \" + this.get(\"chartDataValueName\") );\n        let left = this.get('zoomDataPointsLeftAxis');\n        \n        return left;\n    }),\n\n    fullRangeDataPoints: Ember.computed('fullRangeChartData', function () {\n        let fullRangePoints = null;\n        let itemHolder = {};\n\n        fullRangePoints = this.get('fullRangeChartData');\n        fullRangePoints.map(function (item, i){\n            let linesKyes = Object.keys(item.toJSON());\n            let itemHolder = item.getProperties(linesKyes);\n            return itemHolder;\n        });\n        \n        return fullRangePoints;\n        \n    }),\n\n/*     \n    fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n       //console.log(\"zoomTimePoints::::::::::::::: 9\");    \n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n       //console.log(\"fullRangeTimePoints::::::::::::::: 13\");\n        return item.get('id');\n    }),\n    \n    anchorDistances: Ember.computed('gateway', 'fullRangeChartData', function() {\n        let leftAxis = this.get('leftAxis'); \n       //console.log(\"anchorDistances::::::::::::::: 10   ::\" + leftAxis);\n        return [leftAxis];\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n       //console.log(\"zoomChartLinesData::::::::::::::: 2\");    \n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n        let tempPoints = this.get('zoomTempPoints');\n            \n        // console.log(\"zoomTempPoints::: \" + JSON.stringify(tempPoints));\n        // console.log(\"zoomTempPoints::: \" + this.get('temperaturePoints'));\n        \n        let anchorDistances = this.get('anchorDistances');\n        let zoomChartLinesData = [];\n\n        var mName = _this.get('chartDataModelName');\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n       //console.log(\"TEMP::: \" + _this.get('chartDataModelName'));\n        let zoomTempPoints = this.get('zoomDataPointsRightAxis');\n        var temp = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        //console.log(temp);\n        zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        \n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n       //console.log(\"fullRangeChartLinesData::::::::::::::: 11\");    \n        const _this = this;\n        const fullRangeDataPoints = this.get('fullRangeDataPoints');\n        const fullRangeTimePoints = this.get('fullRangeTimePoints');\n        \n        let fullRangeTempPoints = this.get('zoomDataPointsRightAxis');\n        let anchorDistances = this.get('anchorDistances');\n\n        let fullRangeChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                   //console.log(\"fullReang:::::::::::::::::::\" + _this.GATEWAY_ENUM[_this.leftAxis])\n                    ////console.log(\"DataPoint::: \" + dataPoint.values[chartLineIndex]);\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[_this.GATEWAY_ENUM[_this.leftAxis]]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n\n        var temperature = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: fullRangeTempPoints.map(function(dataPoint, dataPointIndex) {\n                return [\n                    moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        return fullRangeChartLinesData;           \n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n       //console.log(\"chartDataModelName::::::::::::::: 5   \" + this.get('zoomChartData').query.model_name);    \n        //console.log(\"zoomChartData:\" + this.get('zoomChartData').query.model_name);\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n       //console.log(\"yAxisLegend::::::::::::::: 14\");    \n        let chartTitle = 'voltage'\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n    getTitleAndUnits: function(axis){\n        let axisValues = {\"Voltage\": \"Voltage, V\", \"RSSI\": \"RSSI, dBm\", \"Firmware\": \"Firmware Ver.\", \"Readings\": \"Readings\", \n                            \"Uptime\": 'Uptime - in Seconds.', \"Reconnection\": \"Reconnects\", \"Uploads\": \"Uploads\",\n                            \"Temperature\": \"Temperature,C\", \"var_1\": 9, \"var_2\": 9,  \"var_3\": 10}\n        // console.log(\"getTitleAndUnits::::::::::::::: \" + axisValues[axis]);\n        return axisValues[axis];\n    },\n    didInsertElement: function() {\n        \n       //console.log(\"didInsertElement::::::::::::::: 1\");    \n        const _this = this,\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        \n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg');\n        \n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = yAxisLegend;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(false)\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showLegend(true)\n                .showDistX(true)\n                .noData('No usable data');\n\n            zoomChart.showYAxis = true;\n            zoomChart.y2Axis.showYAxis = true;\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        //console.log(\"D:::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        //console.log(nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d)));\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n               \n                let axis1Title = _this.getTitleAndUnits(_this.get('leftAxis'));\n                let axis2Title = _this.getTitleAndUnits(_this.get('rightAxis'));\n                \n                zoomChart.y1Axis\n                    .axisLabel(axis1Title)\n                    .axisLabelDistance(10);\n                \n                zoomChart.y2Axis\n                    .axisLabel(axis2Title)\n                    .axisLabelDistance(10)\n                ;\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".2f\"));\n                \n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                let legend = zoomChart.legend;\n                if(legend.controls){\n                    legend.controls.forEach(function(d, i) {\n                        d.disabled = false;\n                    });\n                }\n\n                //console.log(\"zoomChart::::\" + zoomChart.legend);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    //console.log(\"BRUSH END::::::::::::::::::::\");\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(false);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n                \n                function selectControls() {\n                    // console.log(\":::::::::::::::::::::: selectControls\");\n                    //zoomChart.chartData.forEach(function(series) { series.disabled = false; });                  \n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n                    tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    tooltipClass = 'other';\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                        \n                }\n\n                //     if (typeof(tooltipContent) === 'object') {\n                //         if (tooltipContent.type === 'Blast') {\n                //             tooltipClass = 'blast';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                //         } else if (tooltipContent.type === 'Seismic') {\n                //             tooltipClass = 'seismic';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                //         } else if (tooltipContent.type === 'BluVibe') {\n                //             tooltipClass = 'bluvibe';\n                //             eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                //         } else if (tooltipContent.type === 'Other') {\n                //             tooltipClass = 'other';\n                //         }\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                //                       '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                //                       eventSize\n                //         ;\n                //     } else {\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                //     }\n\n                //     return {\n                //         tooltipClass: tooltipClass,\n                //         tooltipText: tooltipText\n                //     };\n                // }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(\"VibeEventsArray:::\" + vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                // d3.select('.nv-y2.nv-axis')\n                // .classed('nv-disabled', false)\n                // .attr('transform', 'translate(0,0)');\n        \n                nv.utils.windowResize(zoomChart.update);\n\n                // zoomChart.dispatch.on('stateChange', function(e) { \n                //     nv.log('New State:', JSON.stringify(e)); \n                // });\n                // zoomChart.state.dispatch.on('change', function(state){\n                //     nv.log('state', JSON.stringify(state));\n                // });\n\n               //console.log(\":::::::::::::::::::::::::::setData called\")\n                // _this.sendAction('setData',zoomChartLinesData);\n                // _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            //.showYAxis(true)\n        ;\n        \n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n        \n    }\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    temperaturePoints: [],\n    distXRiseUpAnimationDuration: 500,\n    // chartMetric: Ember.computed(function(){\n    // let chartMetric = this.attrs.getQueryParams('chart_type');\n    //     if(chartMetric == null){\n    //       return 'voltage';\n    //     }\n    //    //console.log(\"chartMetric::: \" + chartMetric);\n    //     return chartMetric;\n    // }),\n    leftAxis: Ember.computed(function(){\n        let leftAxis = this.attrs.getQueryParams('left_axis_field');\n        if(leftAxis == null){\n          leftAxis = 'Voltage';\n        }\n        return leftAxis;\n    }),      \n    rightAxis: Ember.computed(function(){\n        let rightAxis = this.attrs.getQueryParams('right_axis_field');\n        if(rightAxis == null){\n            rightAxis = 'RSSI';\n          }\n          return rightAxis;\n    }),\n    GATEWAY_ENUM: Object.freeze({\n        Firmware: 0,\n        Voltage: 1,\n        RSSI: 2,\n        carrier: 3, \n        Readings: 4, \n        Uptime: 5, \n        Reconnection: 6, \n        Uploads: 7, \n        Temperature:8,\n        var_1: 9, \n        var_2: 9, \n        var_3: 10,\n    }),\n\n    zoomTempPoints: Ember.computed(function(){\n        // let right = this.get('zoomDataPointsRightAxis');\n        let temperaturePoints = [];\n        let zoomTempData = this.get(\"zoomTempData\");\n        zoomTempData.forEach(function(item, i){\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n            temperaturePoints.push(chartData.values[0]);\n            // let temperaturePoints = this.get('temperaturePoints').push(chartData.values);\n        });\n        // console.log(\"zoomTempPoints::::::::::::::: 7\");    \n        // let linesKyes = Object.keys(item.toJSON());\n        // var chartData = item.getProperties(linesKyes);\n        //  = this.get('temperaturePoints').push(chartData.values);\n        \n        return temperaturePoints; //chartData;\n    }),\n    zoomDataPointsLeftAxis: Ember.computed(function(){\n        \n        let zoomChartData = this.get(\"zoomChartData\");\n        let leftAxisIndex = this.GATEWAY_ENUM[this.leftAxis]\n        //TODO: fix this TA.  Hack because we added temperature at the last minute.\n        if(this.leftAxis == 'Temperature'){\n            // console.log(\"zoomDataPointsLeftAxis::::::::::::::: \" + this.get(\"temperaturePoints\"));\n            return this.get(\"zoomTempPoints\");\n        }\n        \n        let zoomLeftAxis = zoomChartData.map(function (item, i){\n            return item.values[leftAxisIndex];            \n        });\n        return zoomLeftAxis;\n    }),\n    zoomDataPointsRightAxis: Ember.computed(function(){\n       //console.log(\"zoomDataPointsRightAxis::::::::::::::: 8\");\n        let zoomRightAxis = null;\n        if(this.rightAxis != null && this.rightAxis != 'Temperature'){\n            let zoomChartData = this.get(\"zoomChartData\");\n            let rightAxisIndex = this.GATEWAY_ENUM[this.rightAxis]        \n            zoomRightAxis = zoomChartData.map(function (item, i){\n                return item.values[rightAxisIndex];            \n            });\n        }\n        if (this.rightAxis == 'Temperature'){\n            zoomRightAxis = this.get(\"zoomTempPoints\");\n        }\n        ////console.log(\"zoomRightAxis::::::: \" + JSON.stringify(zoomRightAxis));\n        return zoomRightAxis;\n\n    }),\n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n        \n       //console.log(\"zoomDataPoints::::::::::::::: 4 and 6 \" + this.get(\"chartDataValueName\") );\n        let left = this.get('zoomDataPointsLeftAxis');\n        \n        return left;\n    }),\n\n    fullRangeDataPoints: Ember.computed('fullRangeChartData', function () {\n        let fullRangePoints = null;\n        let itemHolder = {};\n\n        if(this.leftAxis != 'Temperature'){\n            fullRangePoints = this.get('fullRangeChartData');\n            fullRangePoints.map(function (item, i){\n                let linesKyes = Object.keys(item.toJSON());\n                let itemHolder = item.getProperties(linesKyes);\n                return itemHolder;\n            });\n        } else {\n            itemHolder.values = [];\n            fullRangePoints = this.get(\"temperaturePoints\");\n            if(this.leftAxis == 'Temperature'){\n                fullRangePoints.forEach(function(item){\n                    itemHolder.values.push(item[0]);\n                });\n            }\n            fullRangePoints = itemHolder;\n        }\n        return fullRangePoints;\n        \n    }),\n\n/*     \n    fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n       //console.log(\"zoomTimePoints::::::::::::::: 9\");    \n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n       //console.log(\"fullRangeTimePoints::::::::::::::: 13\");\n        return item.get('id');\n    }),\n    \n    anchorDistances: Ember.computed('gateway', 'fullRangeChartData', function() {\n        let leftAxis = this.get('leftAxis'); \n       //console.log(\"anchorDistances::::::::::::::: 10   ::\" + leftAxis);\n        return [leftAxis];\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n       //console.log(\"zoomChartLinesData::::::::::::::: 2\");    \n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n        let tempPoints = this.get('zoomTempPoints');\n            \n        // console.log(\"zoomTempPoints::: \" + JSON.stringify(tempPoints));\n        // console.log(\"zoomTempPoints::: \" + this.get('temperaturePoints'));\n        \n        let anchorDistances = this.get('anchorDistances');\n        let zoomChartLinesData = [];\n\n        var mName = _this.get('chartDataModelName');\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n       //console.log(\"TEMP::: \" + _this.get('chartDataModelName'));\n        let zoomTempPoints = this.get('zoomDataPointsRightAxis');\n        var temp = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        //console.log(temp);\n        zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        \n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n       //console.log(\"fullRangeChartLinesData::::::::::::::: 11\");    \n        const _this = this;\n        const fullRangeDataPoints = this.get('fullRangeDataPoints');\n        const fullRangeTimePoints = this.get('fullRangeTimePoints');\n        \n        let fullRangeTempPoints = this.get('zoomDataPointsRightAxis');\n        let anchorDistances = this.get('anchorDistances');\n\n        let fullRangeChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                   //console.log(\"fullReang:::::::::::::::::::\" + _this.GATEWAY_ENUM[_this.leftAxis])\n                    ////console.log(\"DataPoint::: \" + dataPoint.values[chartLineIndex]);\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[_this.GATEWAY_ENUM[_this.leftAxis]]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n\n        var temperature = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: fullRangeTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        // fullRangeChartLinesData.push(temperature); //#TODO: Add Temp Points\n        return fullRangeChartLinesData;           \n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n       //console.log(\"chartDataModelName::::::::::::::: 5   \" + this.get('zoomChartData').query.model_name);    \n        //console.log(\"zoomChartData:\" + this.get('zoomChartData').query.model_name);\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n       //console.log(\"yAxisLegend::::::::::::::: 14\");    \n        let chartTitle = 'voltage'\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n    getTitleAndUnits: function(axis){\n        let axisValues = {\"Voltage\": \"Voltage, V\", \"RSSI\": \"RSSI, dBm\", \"Firmware\": \"Firmware Ver.\", \"Readings\": \"Readings\", \n                            \"Uptime\": 'Uptime - in Seconds.', \"Reconnection\": \"Reconnects\", \"Uploads\": \"Uploads\",\n                            \"Temperature\": \"Temperature,C\", \"var_1\": 9, \"var_2\": 9,  \"var_3\": 10}\n        // console.log(\"getTitleAndUnits::::::::::::::: \" + axisValues[axis]);\n        return axisValues[axis];\n    },\n    didInsertElement: function() {\n        \n       //console.log(\"didInsertElement::::::::::::::: 1\");    \n        const _this = this,\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        \n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg');\n        \n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = yAxisLegend;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(false)\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showLegend(true)\n                .showDistX(true)\n                .noData('No usable data');\n\n            zoomChart.showYAxis = true;\n            zoomChart.y2Axis.showYAxis = true;\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        //console.log(\"D:::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        //console.log(nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d)));\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n               \n                let axis1Title = _this.getTitleAndUnits(_this.get('leftAxis'));\n                let axis2Title = _this.getTitleAndUnits(_this.get('rightAxis'));\n                \n                zoomChart.y1Axis\n                    .axisLabel(axis1Title)\n                    .axisLabelDistance(10);\n                \n                zoomChart.y2Axis\n                    .axisLabel(axis2Title)\n                    .axisLabelDistance(10)\n                ;\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".2f\"));\n                \n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                let legend = zoomChart.legend;\n                if(legend.controls){\n                    legend.controls.forEach(function(d, i) {\n                        d.disabled = false;\n                    });\n                }\n\n                //console.log(\"zoomChart::::\" + zoomChart.legend);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    //console.log(\"BRUSH END::::::::::::::::::::\");\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(false);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n                \n                function selectControls() {\n                    // console.log(\":::::::::::::::::::::: selectControls\");\n                    //zoomChart.chartData.forEach(function(series) { series.disabled = false; });                  \n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n                    tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    tooltipClass = 'other';\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                        \n                }\n\n                //     if (typeof(tooltipContent) === 'object') {\n                //         if (tooltipContent.type === 'Blast') {\n                //             tooltipClass = 'blast';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                //         } else if (tooltipContent.type === 'Seismic') {\n                //             tooltipClass = 'seismic';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                //         } else if (tooltipContent.type === 'BluVibe') {\n                //             tooltipClass = 'bluvibe';\n                //             eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                //         } else if (tooltipContent.type === 'Other') {\n                //             tooltipClass = 'other';\n                //         }\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                //                       '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                //                       eventSize\n                //         ;\n                //     } else {\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                //     }\n\n                //     return {\n                //         tooltipClass: tooltipClass,\n                //         tooltipText: tooltipText\n                //     };\n                // }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(\"VibeEventsArray:::\" + vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                // d3.select('.nv-y2.nv-axis')\n                // .classed('nv-disabled', false)\n                // .attr('transform', 'translate(0,0)');\n        \n                nv.utils.windowResize(zoomChart.update);\n\n                // zoomChart.dispatch.on('stateChange', function(e) { \n                //     nv.log('New State:', JSON.stringify(e)); \n                // });\n                // zoomChart.state.dispatch.on('change', function(state){\n                //     nv.log('state', JSON.stringify(state));\n                // });\n\n               //console.log(\":::::::::::::::::::::::::::setData called\")\n                // _this.sendAction('setData',zoomChartLinesData);\n                // _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            //.showYAxis(true)\n        ;\n        \n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n        \n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n    anchorDistances: Ember.computed('gateway', function() {\n        return [\"Firmware Version\", \"Voltage\",\"RSSI\",\"Carrier\",\"Readings\",\"Uptime in Seconds\",\"Reconnection Attempts\",\"Uploads\"]\n}),\n\ngetGatewayData: Ember.computed('gateway', 'gatewayData', function() {\n    let fields = [0,2,3,4,5,6,7,8];\n    let items = [];\n    // Perform filtering logic on initial data\n    const filteredData = this.get('gatewayData');\n    if (filteredData) {\n      filteredData.forEach(item => {\n        let values = [];\n        let firmware = item.values[0];\n        let voltage = item.values[2];\n        let rssi = item.values[3];\n        let carrier = item.values[4];\n        let readings = item.values[5];\n        let uptime = item.values[6];\n        let recon = item.values[7];\n        let uploads = item.values[8];\n        let temperature = item.values[item.values.length -2];\n        items.push({ id: item.id, values: {'firm_version':firmware,'voltage':voltage,'rssi': rssi, 'carrier': carrier, 'readings':readings,'uptime':uptime,'recon': recon, 'uploads': uploads, 'temperature': temperature}, \n        originalValue: item, save_values:{'firm_version':firmware,'voltage':voltage, 'rssi': rssi, 'carrier': carrier, 'readings':readings,'uptime':uptime,'recon': recon, 'uploads': uploads , 'temperature': temperature} });\n      });\n    }        \n    \n    return items;\n  }),\n\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n          // console.log(\"Update property: \" + propertyValue);\n          this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class LeftAxisDropdown extends Component.extend({}) {\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        tGraph(id, modelName, params) {\n            // console.log(\"in LeftAxisDropdown:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\")\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, modelName, params);\n        },\n    }\n}","import Ember from 'ember';\nimport Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class TemporalGatewayRightAxisDropdown extends Component.extend({\n}) {\n    @service router;\n    @service store;\n\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    selectedOption = null;\n    \n    actions = {\n        setSelection(selected) {\n            this.set('selectedOption', selected)\n            // console.log(this.get('selectedOption'))\n        },\n    }\n}","import BreadCrumbs from \"ember-breadcrumbs/components/bread-crumbs\";\n\nexport default BreadCrumbs;\n","define(\"geotechnical-data-platform-new/components/bs-accordion\", [\"exports\", \"ember-bootstrap/components/bs-accordion\"], function (_exports, _bsAccordion) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsAccordion.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-accordion/item\", [\"exports\", \"ember-bootstrap/components/bs-accordion/item\"], function (_exports, _item) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _item.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-accordion/item/body\", [\"exports\", \"ember-bootstrap/components/bs-accordion/item/body\"], function (_exports, _body) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _body.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-accordion/item/title\", [\"exports\", \"ember-bootstrap/components/bs-accordion/item/title\"], function (_exports, _title) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _title.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-alert\", [\"exports\", \"ember-bootstrap/components/bs-alert\"], function (_exports, _bsAlert) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsAlert.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-button-group\", [\"exports\", \"ember-bootstrap/components/bs-button-group\"], function (_exports, _bsButtonGroup) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsButtonGroup.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-button-group/button\", [\"exports\", \"ember-bootstrap/components/bs-button-group/button\"], function (_exports, _button) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _button.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-button\", [\"exports\", \"ember-bootstrap/components/bs-button\"], function (_exports, _bsButton) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsButton.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-carousel\", [\"exports\", \"ember-bootstrap/components/bs-carousel\"], function (_exports, _bsCarousel) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsCarousel.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-carousel/slide\", [\"exports\", \"ember-bootstrap/components/bs-carousel/slide\"], function (_exports, _slide) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _slide.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-collapse\", [\"exports\", \"ember-bootstrap/components/bs-collapse\"], function (_exports, _bsCollapse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsCollapse.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-dropdown\", [\"exports\", \"ember-bootstrap/components/bs-dropdown\"], function (_exports, _bsDropdown) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsDropdown.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-dropdown/button\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/button\"], function (_exports, _button) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _button.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-dropdown/menu\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/menu\"], function (_exports, _menu) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _menu.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-dropdown/menu/divider\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/menu/divider\"], function (_exports, _divider) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _divider.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-dropdown/menu/item\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/menu/item\"], function (_exports, _item) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _item.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-dropdown/menu/link-to\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/menu/link-to\"], function (_exports, _linkTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _linkTo.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-dropdown/toggle\", [\"exports\", \"ember-bootstrap/components/bs-dropdown/toggle\"], function (_exports, _toggle) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _toggle.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form\", [\"exports\", \"ember-bootstrap/components/bs-form\"], function (_exports, _bsForm) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsForm.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element\", [\"exports\", \"ember-bootstrap/components/bs-form/element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _element.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/control\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control\"], function (_exports, _control) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _control.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/control/checkbox\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control/checkbox\"], function (_exports, _checkbox) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _checkbox.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/control/input\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control/input\"], function (_exports, _input) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _input.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/control/radio\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control/radio\"], function (_exports, _radio) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _radio.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/control/textarea\", [\"exports\", \"ember-bootstrap/components/bs-form/element/control/textarea\"], function (_exports, _textarea) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _textarea.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/errors\", [\"exports\", \"ember-bootstrap/components/bs-form/element/errors\"], function (_exports, _errors) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _errors.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/feedback-icon\", [\"exports\", \"ember-bootstrap/components/bs-form/element/feedback-icon\"], function (_exports, _feedbackIcon) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _feedbackIcon.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/help-text\", [\"exports\", \"ember-bootstrap/components/bs-form/element/help-text\"], function (_exports, _helpText) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _helpText.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/label\", [\"exports\", \"ember-bootstrap/components/bs-form/element/label\"], function (_exports, _label) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _label.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/layout/horizontal\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/horizontal\"], function (_exports, _horizontal) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _horizontal.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/layout/horizontal/checkbox\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/horizontal/checkbox\"], function (_exports, _checkbox) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _checkbox.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/layout/inline\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/inline\"], function (_exports, _inline) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _inline.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/layout/inline/checkbox\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/inline/checkbox\"], function (_exports, _checkbox) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _checkbox.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/layout/vertical\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/vertical\"], function (_exports, _vertical) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _vertical.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/layout/vertical/checkbox\", [\"exports\", \"ember-bootstrap/components/bs-form/element/layout/vertical/checkbox\"], function (_exports, _checkbox) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _checkbox.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/element/legend\", [\"exports\", \"ember-bootstrap/components/bs-form/element/legend\"], function (_exports, _legend) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _legend.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-form/group\", [\"exports\", \"ember-bootstrap/components/bs-form/group\"], function (_exports, _group) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _group.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-modal-simple\", [\"exports\", \"ember-bootstrap/components/bs-modal-simple\"], function (_exports, _bsModalSimple) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsModalSimple.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-modal\", [\"exports\", \"ember-bootstrap/components/bs-modal\"], function (_exports, _bsModal) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsModal.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-modal/body\", [\"exports\", \"ember-bootstrap/components/bs-modal/body\"], function (_exports, _body) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _body.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-modal/dialog\", [\"exports\", \"ember-bootstrap/components/bs-modal/dialog\"], function (_exports, _dialog) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _dialog.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-modal/footer\", [\"exports\", \"ember-bootstrap/components/bs-modal/footer\"], function (_exports, _footer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _footer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-modal/header\", [\"exports\", \"ember-bootstrap/components/bs-modal/header\"], function (_exports, _header) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _header.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-modal/header/close\", [\"exports\", \"ember-bootstrap/components/bs-modal/header/close\"], function (_exports, _close) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _close.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-modal/header/title\", [\"exports\", \"ember-bootstrap/components/bs-modal/header/title\"], function (_exports, _title) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _title.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-nav\", [\"exports\", \"ember-bootstrap/components/bs-nav\"], function (_exports, _bsNav) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsNav.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-nav/item\", [\"exports\", \"ember-bootstrap/components/bs-nav/item\"], function (_exports, _item) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _item.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-nav/link-to\", [\"exports\", \"ember-bootstrap/components/bs-nav/link-to\"], function (_exports, _linkTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _linkTo.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-navbar\", [\"exports\", \"ember-bootstrap/components/bs-navbar\"], function (_exports, _bsNavbar) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsNavbar.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-navbar/content\", [\"exports\", \"ember-bootstrap/components/bs-navbar/content\"], function (_exports, _content) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _content.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-navbar/link-to\", [\"exports\", \"ember-bootstrap/components/bs-navbar/link-to\"], function (_exports, _linkTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _linkTo.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-navbar/nav\", [\"exports\", \"ember-bootstrap/components/bs-navbar/nav\"], function (_exports, _nav) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _nav.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-navbar/toggle\", [\"exports\", \"ember-bootstrap/components/bs-navbar/toggle\"], function (_exports, _toggle) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _toggle.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-popover\", [\"exports\", \"ember-bootstrap/components/bs-popover\"], function (_exports, _bsPopover) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsPopover.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-popover/element\", [\"exports\", \"ember-bootstrap/components/bs-popover/element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _element.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-progress\", [\"exports\", \"ember-bootstrap/components/bs-progress\"], function (_exports, _bsProgress) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsProgress.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-progress/bar\", [\"exports\", \"ember-bootstrap/components/bs-progress/bar\"], function (_exports, _bar) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bar.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-tab\", [\"exports\", \"ember-bootstrap/components/bs-tab\"], function (_exports, _bsTab) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsTab.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-tab/pane\", [\"exports\", \"ember-bootstrap/components/bs-tab/pane\"], function (_exports, _pane) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _pane.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-tooltip\", [\"exports\", \"ember-bootstrap/components/bs-tooltip\"], function (_exports, _bsTooltip) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsTooltip.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/bs-tooltip/element\", [\"exports\", \"ember-bootstrap/components/bs-tooltip/element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _element.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n\n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        // console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        // console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            // console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                // console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        // console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            // console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            // console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.$('#chan_select');\n\n            // let selected = {};\n            // selector.val().forEach(function(selection) {\n            //     selected[selection] = true;\n            // });\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n            \n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                // console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                // console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                // console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                // console.log(_this.activeChannels)\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                // console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                // console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        handleSelection(selectedValue) {\n            // console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {instrumentStiffness:0, elasticLimitPct:0.8, ultimateLimitPct:3, elasticLimitFce:240, ultimateLimitFce:260});\n\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    _this.set('instrumentStiffness', );\n    // _this.set('elasticLimitFce', {elasticLimitFce:2});\n    // _this.set('elasticLimitPct', {elasticLimitPct:2});\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.bulbed = this.get('bulbed');\n            newInstrumentObject.plated = this.get('plated');\n            //newInstrumentObject.stacked = this.get('stacked');\n            newInstrumentObject.active = true;\n            try {\n                newInstrumentObject.instrumentStiffness = newInstrumentObject.elasticLimitFce / newInstrumentObject.elasticLimitPct;\n            } catch (ex) {\n                newInstrumentObject.instrumentStiffness = 0;\n            }\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if(!error) {\n                if(typeof newInstrumentObject.strokeLength === 'undefined' || newInstrumentObject.strokeLength === 0) {\n                    error = true;\n                    this.setError('fieldError',true);\n                    this.setError('isVisibleError',true);\n                }\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        // console.log(dup);\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        },\n        bulbChanged(object)\n        {\n            this.set(\"bulbed\",document.getElementById('newInstrumentObjectBulbed').checked);\n        },\n        plateChanged(object)\n        {\n            this.set(\"plated\",document.getElementById('newInstrumentObjectPlated').checked);\n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            // console.save('saveNew()');\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                \n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n\n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n\n    referenceAnchors:null,\n    loading:true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n\n    phoneNumber: Ember.computed('alert.target', function() {\n        let target = this.get('alert.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        // console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n\n    handleAlertObjectChange: observer('tr', function() {\n        // console.log('Object Changed!');\n    }),\n\n    onCarrierChanged: observer('carrier', function() {\n        let carrier = this.get('carrier');\n        // console.log('carrier changed' + carrier);\n        this.set('carrier', carrier);\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    actions: {\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = Ember.$(thing.target).val();\n            else\n                update = Ember.$(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                // console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                // console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        \n        handleSelection(selectedValue) {\n            // console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});\n","import Ember from 'ember';\nimport Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n\n    actions = {\n        updatePage(){\n            let store = this.get('store');\n            let instrument = this.get('instrument');\n            //let instrument = this.get('tableRow');\n            try {\n                let stiffness = instrument.get('elasticLimitFce') / instrument.get('elasticLimitPct');\n                stiffness = Math.round(stiffness * 1000) / 1000;\n                instrument.set('instrumentStiffness', stiffness);\n            } catch (ex) {\n                instrument.set('instrumentStiffness', 0);\n            }\n            instrument.save();\n        },\n        viewData(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let dateTimeFormat = \"DD-MM-YYYY\";\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            this.get('router').transitionTo('raw-data', id, { queryParams: {\"advancedDateTimeFormat\": dateTimeFormat, \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values' || modelName === 'load-values') { \n                var plated = this.get('instrument').get('plated');\n                //var type = this.get('instrument').get('instrumentType').get('title');\n                //console.log(type);\n                \n                chartData.values.splice(0,1);\n                chartData.values.unshift(0);\n                if(plated) {\n                    chartData.values.push(chartData.values[chartData.values.length - 1]);\n                } else {\n                    chartData.values.push(0);\n                }\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {\n                anchorDistances.splice(0, 1);\n            }\n\n        return anchorDistances;\n    }),\n\n    anchorAXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else { //staggered\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n    \n            midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n                return [v, anchorDistances.slice(center + 1)[i]];\n              });\n\n            midPoints.unshift(headExclusion);\n            let mid_temp = [];\n            for(let ctr = 1;ctr < midPoints.length; ctr++) {\n                mid_temp.push((midPoints[ctr - 1] + midPoints[ctr]) / 2);\n            }\n            midPoints = mid_temp;\n\n            if (modelName === 'bending-strain-values') {\n                midPoints.shift();\n                midPoints.pop();\n            }    \n            \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n        \n        //console.log(midPoints);\n        \n        return midPoints;\n    }),\n\n    anchorBXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else {\n\n        let center = anchorDistances.length - 1;\n        center = Math.ceil(center / 2);\n\n        midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n            return [v, anchorDistances.slice(center + 1)[i]];\n          });\n            midPoints.shift();\n            midPoints.pop();                  \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n\n        return midPoints;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        let anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n            if (this.get('instrument').get('stacked')) {\n                anchorDistances.shift(0);\n                let finalSize = anchorDistances.length / 2;\n                while (anchorDistances.length > finalSize) {\n                    anchorDistances.pop(finalSize);\n                }\n                anchorDistances.unshift(this.get('instrument').get('headExclusionLength'));\n            } else { //staggered\n\n            }\n        } else { //not rebar\n            anchorDistances.unshift(0);\n        }\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        if(type === 'dCable') {\n            midDistances.splice(0,1);\n            //midDistances.unshift(0);\n            midDistances[0] = 0;\n            var len = this.get('instrument').get('length');\n            var length = this.get('instrument').get('instrumentLength');\n\n            var modelName = this.get('chartDataModelName');\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {    \n                if(length !== null && length !== 0) {\n                    midDistances.push(length);\n                } else {\n                    midDistances.push(anchorDistances[anchorDistances.length - 1]);\n                }\n            }\n        }\n        // console.log(\"Anchors: \" + anchorDistances);\n         //console.log(\"Mids: \" + midDistances);\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', 'anchorAXDistances', 'anchorBXDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(this.get('instrument').get('instrumentTypeID') === 3) {//rebar \n            if(this.get('instrument').get('stacked')) { //is stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            } else { //is NOT stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            }\n        }\n\n        if (this.get('instrument').get('instrumentType').get('title') !== 'dRebar') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                return anchorMidDistances.map(function(anchorDistance){\n                    return {\n                        key: anchorDistance,\n                        type: 'referencePoints',\n                        values: [\n                            anchorDistance\n                        ]\n                    };\n                });\n                    \n            }\n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'load-values') {\n            return 28;\n        } else if((modelName === 'axial-strain-values' || modelName === 'bending-strain-values') && this.get('instrument').get('stacked')) {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorAXDistances = this.get('anchorAXDistances'),\n            anchorBXDistances = this.get('anchorBXDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints'),\n            anchorMidDistances = this.get('anchorMidDistances')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n\n        \n        if (modelName === 'strain-values' || modelName === 'load-values') { \n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorMidDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            }).sortBy('timestamp');\n        } else {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            }).sortBy('timestamp');\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if(type === 'dCable') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                //console.log(fullRangeDataPoints);\n                fullRangeDataPoints.forEach(element => element.values[0]=0);\n            }\n        }\n        \n\n        let ad = anchorDistances.map(function(chartLineName, chartLineIndex){\n            \n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n        // console.log(\"AD::::::::::: \" + JSON.stringify(ad));\n        return ad;\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                if(yAxisLegend.get('title')==='load') {\n                    title = axisName + \" (kN)\";;\n                    \n                } else {\n                    title = axisName + \" (\" + units + \")\";;\n                }\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { \n                    // console.log(\"X in zoomChart:::: \" + d[0]);\n                    return d[0]; \n                })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { \n                    // console.log(\"X in zoomChart:::: \" + d[1]);\n                    // console.log(\"distXAxis in zoomChart:::: d[0]:::::::::::::::: \" + d[1]);\n                    return d[1]; \n                })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data');\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false);\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n                \n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .ticks(5)\n                    .tickFormat(function(d) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        // console.log(\"d::::: \" + d);\n                        // console.log(\"fullRangeChartLinesData::::: \" + fullRangeChartLinesData.length);\n                        // console.log(\"fullRangeChartLinesData[0].values[0][0]::::: \" + fullRangeChartLinesData[0].values[0][0]);\n                        // console.log(\"fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0]:::::: \" + fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0] )\n                        if (fullRangeChartLinesData.length > 0) {\n                            fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    yAxisUnit:null,\n    init() {\n        this._super(...arguments);\n        const queryParams = new URLSearchParams(window.location.search);\n        const yAxisUnitParam = queryParams.get('advancedYAxisUnit');\n        if(yAxisUnitParam){\n            this.set('yAxisUnit', yAxisUnitParam);\n        }\n    },\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    // console.log(\"seismicEventsChartDistXData::::::::::::::::::::\" + event.get('timestamp') + \" \" + event.get('size'));\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    //console.log(\"blastEventsChartDistXData::::::::::::::::::::\" + event.get('timestamp') + \" \" + event.get('size'));\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        let tempSeismicEventsArray = this.get('seismicEvents');\n        if ( tempSeismicEventsArray ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        let display = null;\n        let blastEvents = this.get('blastEvents'); \n        if ( blastEvents ) {\n            let data_set = this.get('blastEvents').map(function(event) {                \n                let displayTime = event.get('timestamp');\n                let displayTimestamp = moment( displayTime ).format(\"DD MMM, YYYY HH:mm:ss\");\n                let displayEventSize = event.get('size') ? (event.get('size') * -15) + 15 : 15;\n                let displayTonnes = event.get('tonnes');\n                let displayLocation = event.get('location');\n                // console.log(\"blastEventsArray::: \" + displayTime + \" \" + displayTimestamp + \" \" + displayEventSize + \" \" + displayTonnes + \" \" + displayLocation);\n                display = {\n                    type: 'Blast',\n                    time: displayTime,\n                    timestamp: displayTimestamp,\n                    eventSize: displayEventSize,\n                    tonnes: displayTonnes,\n                    location: displayLocation\n                };\n                // console.log(\"blastEventsArray::: \" + display);\n                return display;\n            }).sortBy('time');\n            // console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        //console.log(linesKyes);\n\n        var chartData = item.getProperties(linesKyes);\n\n        var modelName = this.get('chartDataModelName');\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') { \n            var plated = this.get('instrument').get('plated');\n            \n            if(plated) {\n                chartData.values[0] = chartData.values[1];\n            } else {\n                chartData.values[0] = 0;\n            }\n            chartData.values.push(0);\n        }\n        //console.log(chartData);\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') { \n            var midPoints = [];\n            //Adjust anchors to mid points between anchors\n            for(var ctr = 1; ctr < anchorDistances.length ; ctr++) {\n                var mid = (anchorDistances[ctr - 1] + anchorDistances[ctr]) / 2;\n                midPoints[ctr] = + mid.toFixed(2);\n            }\n\n            //console.log(midPoints);\n\n            //add zero point and end point\n            midPoints.splice(0,1);\n            midPoints[0] = 0;\n            midPoints.push(anchorDistances[anchorDistances.length - 1]);  //TODO: change to length of exto once known\n            //console.log(midPoints);\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        var mName = _this.get('chartDataModelName');\n        if (mName === 'strain-values' || mName === 'strain-rate-values' || mName === 'load-values') {\n            zoomDataPoints.forEach(element => element.values[0] = 0);\n        }\n\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (vibeEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let chartTitle = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_');\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        \n        let seismicEventsArray = this.get('seismicEventsArray');\n        let  blastEventsArray = this.get('blastEventsArray');\n        // TODO::: fix me\n        //vibeEventsArray = this.get('vibeEventsArray'),\n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg');\n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = yAxisLegend;\n        \n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = \"dCable\";\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = yAxisLegend.get('title');\n                \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                        //console.log(title);\n                }\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    if(yAxisLegend.get('title')==='load') {\n                        title = axisName + \" (kN))\";\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = `<span class=\"event-type\">PPV - ${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}: ` + tooltipContent.ppv + `<br />PPA - ${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}&#178;: ` + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){ // || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('instrument', function() {\n        let anchors = this.get(\"instrument\").get('anchors');\n        let dist = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        return dist;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","define(\"geotechnical-data-platform-new/components/circle-layer\", [\"exports\", \"ember-leaflet/components/circle-layer\"], function (_exports, _circleLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _circleLayer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/circle-marker-layer\", [\"exports\", \"ember-leaflet/components/circle-marker-layer\"], function (_exports, _circleMarkerLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _circleMarkerLayer.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewBlastEventObject(_this) {\n    _this.set('newBlastEventObject', {\n        isVisible: true\n    });\n    _this.set('timestamp', null);\n    _this.set('delay', 0);\n    _this.set('east', null);\n    _this.set('north', null);\n    _this.set('depth', null);\n    _this.set('blastType', '1');\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    newBlastEventObject: {\n        isVisible: true\n    },\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    timeFormat: 'HH:mm:ss',\n    timestamp: null,\n    delay: 0,\n    blastType: '1',\n    dateTimePicker: null,\n    datePicker: null,\n    east: null,\n    north: null,\n    depth: null,\n    project: null,\n    level: null,\n\n    selectOptionsArray: Ember.computed.map('blastTypesSelectOptions', function(item){\n        const blastTypesSelectOptionsKyes = this.get('blastTypesSelectOptionsKyes').split(\",\");\n        return {\n            key: item.get(blastTypesSelectOptionsKyes[0]),\n            value: item.get(blastTypesSelectOptionsKyes[1])\n        };\n    }),\n\n    // look for isVisibleCreateNewForm variable change and reset newBlastEventObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewBlastEventObject(this);\n        }\n    }),\n\n    actions: {\n\n        setProject(event) {\n            const selectedId = event.target.value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(event) {\n            const selectedId = event.target.value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        addNew(object){\n            //let store = this.get('store');\n            // show create new item form\n            this.set('isVisibleCreateNewForm', true);\n        },\n        saveNew(object){\n            \n            let _this = this;\n            let store = this.get('store');\n            let newBlastEventObject = this.get('newBlastEventObject');\n            \n            if (this.get('timestamp') != null) {\n                newBlastEventObject.timestamp = moment(this.get('timestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            //console.log('here');\n            //newBlastEventObject.delay = this.get('delay');\n            newBlastEventObject.east = this.get('east');\n            newBlastEventObject.north = this.get('north');\n            newBlastEventObject.depth = this.get('depth');\n            newBlastEventObject.blastType = store.peekRecord('blast-type', this.get('blastType'));\n            newBlastEventObject.project = this.get('project');\n            newBlastEventObject.level = this.get('level');\n            \n            const newBlastEvent = store.createRecord('blast-event', newBlastEventObject);\n\n            // save new blast-event to DB\n            //const savedObject = newBlastEvent.save().then(function(results){\n            newBlastEvent.save().then(function(results){\n                // hide create new item form\n                _this.set('isVisibleCreateNewForm', false);\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n            \n                // if blast-event was successfully saved to DB, then display it\n                //object.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                //_this.sendAction('vewRowDetails', results.id);\n            })\n            .catch((error) => {\n                console.error(error);\n            });\n\n            // .catch(function(reason){\n            //     if (reason.errors[0].status == 403) {\n            //         _this.setProp('permissionError', true);\n            //     }\n            // });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewBlastEventObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n        // let datePicker = this.$(\".datepicker-input\").datetimepicker({\n        //     format: _this.get('timeFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('timeFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('datePicker', datePicker);\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n        if (this.get('datePicker')) {\n            this.get('datePicker').datetimepicker(\"destroy\");\n        }\n    },\n});\n","import Ember from 'ember';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewSeismicEventObject(_this) {\n    _this.set('newSeismicEventObject', {\n        isVisible: true\n    });\n    _this.set('timestamp', null);\n    _this.set('east', null);\n    _this.set('north', null);\n    _this.set('depth', null);\n    _this.set('seismicType', '1');\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    newSeismicEventObject: {\n        isVisible: true\n    },\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    timestamp: null,\n    seismicType: '1',\n    dateTimePicker: null,\n    east: null,\n    north: null,\n    depth: null,\n\n    selectOptionsArray: Ember.computed.map('seismicTypesSelectOptions', function(item){\n        const seismicTypesSelectOptionsKyes = this.get('seismicTypesSelectOptionsKyes').split(\",\");\n        return {\n            key: item.get(seismicTypesSelectOptionsKyes[0]),\n            value: item.get(seismicTypesSelectOptionsKyes[1])\n        };\n    }),\n\n    // look for isVisibleCreateNewForm variable change and reset newSeismicEventObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewSeismicEventObject(this);\n        }\n    }),\n\n    actions: {\n        addNew(object){\n            let store = this.get('store');\n            // show create new item form\n            this.set('isVisibleCreateNewForm', true);\n        },\n        saveNew(object){\n            let _this = this,\n                store = this.get('store'),\n                newSeismicEventObject = this.get('newSeismicEventObject')\n            ;\n\n            if (this.get('timestamp') != null) {\n                newSeismicEventObject.timestamp = moment(this.get('timestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n            newSeismicEventObject.east = this.get('east');\n            newSeismicEventObject.north = this.get('north');\n            newSeismicEventObject.depth = this.get('depth');\n            newSeismicEventObject.seismicType = store.peekRecord('seismic-type', this.get('seismicType'));\n\n            const newSeismicEvent = store.createRecord('seismic-event', newSeismicEventObject);\n\n            // save new seismic-event to DB\n            const savedObject = newSeismicEvent.save().then(function(results){\n                // hide create new item form\n                _this.set('isVisibleCreateNewForm', false);\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n\n                // if seismic-event was successfully saved to DB, then display it\n                //object.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                //_this.sendAction('vewRowDetails', results.id);\n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewSeismicEventObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        //this.set('dateTimePicker', dateTimePicker);\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n    },\n});\n","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\n// export default class DashMapComponent extends Component {\n//     zoom = 12;\n//     mapBounds = Ember.computed(function() {\n//         return [[40.574706, -112.178131],[40.492465, -112.099509]];\n//     });\n// }\n\nexport default Ember.Component.extend({\n    didInsertElement() {\n        var map = L.map('dashMap', {\n            center: [this.lat, this.lng],\n            zoom: this.zoom\n        });\n        //L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png').addTo(map);\n        L.imageOverlay(\"/assets/images/mine.png\",this.mapBounds).addTo(map);\n        let marker = L.marker([40.561220,-112.142008]);\n\n        let popupContent = \"<h4>ID: \" + \"<a href=\\\"/instrument/190171001/\\\">190171001</a>\" + \"<br />\" +\n                            \"Type: \" + \"Exto\" + \"<br />\" +\n                            \"Level: \" + \"AC1\" + \"<br />\" +\n                            \"State: \" + \"Normal</h4>\";\n\n\n        marker.bindPopup(popupContent).openPopup();\n        marker.addTo(map);\n    },\n    lat: 40.530220,\n    lng: -112.142008,\n    zoom: 14,\n    mapBounds: Ember.computed(function() {\n        return [[40.574706, -112.178131],[40.492465, -112.099509]];\n    }),\n\n})","import Ember from 'ember';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\n\nexport default Ember.Component.extend({\n    ajax: Ember.inject.service(),\n    session: Ember.inject.service(),\n    isVisibleExportDataForm: true,\n    instrumentId: null,\n    fileFormat: 'csv',\n    loading: false,\n    fileFormats: [\n        {\n            key: 'csv',\n            value: '*.csv',\n        },\n        {\n            key: 'csv_YYYY-MM-DD',\n            value: \"YYYY-MM-DD.csv\"\n        },\n        {\n            key: 'csv_YYYY/MM/DD',\n            value: \"YYYY/MM/DD.csv\"\n        },\n        {\n            key: 'csv_MM/DD/YYYY',\n            value: \"MM/DD/YYYY.csv\"\n        },\n        {\n            key: 'txt',\n            value: '*.txt',\n        },\n        {\n            key: 'dlog',\n            value: '*.dlog',\n        },\n        {\n            key: 'dlog_YYYYMMDD',\n            value: '*.dlog_YYYYMMDD',\n        },\n        {\n            key: 'dlog_DDMMYYYY',\n            value: '*.dlog_DDMMYYYY',\n        },\n        {\n            key: 'dlog_MMDDYYYY',\n            value: '*.dlog_MMDDYYYY',\n        },\n        {\n            key: 'dlog_MMDDYY',\n            value: '*.dlog_MMDDYY',\n        },\n    ],\n    fileName: Ember.computed('fileFormat', 'fileFormats', function() {\n        return this.get('instrumentId') + '.' + this.get('fileFormat');\n    }),\n    fileLink: Ember.computed('fileFormat', 'fileFormats', function() {\n        \n        let base = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT;\n        return base + '/instruments/' + this.get('instrumentId') + '/displacement-values?format=' + this.get('fileFormat');\n    }),\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('fileFormat', function(){\n        this.set('isExportLinkReady', false);\n    }),\n    isExportLinkReady: false,\n    // actions: {\n    //     downloadFile() {\n    //         this.set('loading', true);            \n    //         var $t = $(this);\n    //         let request = $.ajax({\n    //             method: \"GET\",\n    //             url: this.get('fileLink'),\n    //             headers: {\n    //                 'Authorization': 'Basic ' + this.get('session').data.authenticated['login'],\n    //             },\n    //             success: download.bind(true, \"text/csv\", this.get('fileName')),\n    //         })//This method is added to stop the loading \"spinner\" from spinning after the download\n    //         request.done(function( msg ) {\n    //             $t[0].set('loading', false);\n    //         });\n    //     },\n    actions: {\n        downloadFile() {\n            this.set('loading', true);\n            var $t = $(this);\n            \n            // Get the current URL\n            let currentUrl = window.location.href;\n            \n            // Extract the last segment of the URL\n            let urlSegments = currentUrl.split('/');\n            let originator = urlSegments[urlSegments.length - 1] || null;\n            if (originator.includes('raw-data')){\n                originator = 'raw-data&isDownload=true';\n            }\n            // console.log(\"originator: \" + originator);\n            \n            //New Section for appending Advanced Search Params IF it exists \n            const params = new URLSearchParams(currentUrl.split('?')[1]);\n\n            // Define the key parameters to look for\n            const keys = ['advancedEndDate', 'advancedStartDate', 'advancedYAxisUnit'];\n            \n            // Loop through the keys and log them if they exist\n            keys.forEach(key => {\n              if (params.has(key)) {\n                originator += `&${key}=${params.get(key)}`\n              }\n            });\n            // Append the originator parameter to the file link\n            let fileLink = this.get('fileLink');\n            let urlWithOriginator = originator ? fileLink + '&originator=' + originator : fileLink;\n\n            let filename = this.get('fileName');\n            if (this.get('fileName').split('.')[1].includes(\"_\")){\n                // console.log(\"csv filename: \" + this.get('fileName').split('.')[1].split(\"_\")[0]);\n                filename = this.get('instrumentId') + '.' + this.get('fileName').split('.')[1].split(\"_\")[0];\n            }\n            let request = $.ajax({\n                method: \"GET\",\n                url: urlWithOriginator,\n                headers: {\n                    'Authorization': 'Basic ' + this.get('session').data.authenticated['login'],\n                },\n                success: download.bind(true, \"text/csv\", filename),\n            });\n            \n            request.done(function( msg ) {\n                $t[0].set('loading', false);\n            });\n        },\n\n    \n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            } else if (!Array.isArray(propertyNames) && propertyNames !== '' && propertyValues !== '') {\n                _this.set(propertyNames, propertyValues);\n            }\n        },\n        cancel() {\n            this.set('isVisibleExportDataForm', false);\n            this.set('loading', false);\n\n        }\n    }\n});\n","import Ember from 'ember';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\n\nexport default Ember.Component.extend({\n    ajax: Ember.inject.service(),\n    session: Ember.inject.service(),\n    isVisibleExportDataForm: true,\n    gatewayId: null,\n    fileFormat: 'csv',\n    loading: false,\n    fileFormats: [\n        {\n            key: 'csv',\n            value: '*.csv',\n        },\n        {\n            key: 'csv_YYYY-MM-DD',\n            value: \"YYYY-MM-DD.csv\"\n        },\n        {\n            key: 'csv_YYYY/MM/DD',\n            value: \"YYYY/MM/DD.csv\"\n        },\n        {\n            key: 'csv_MM/DD/YYYY',\n            value: \"MM/DD/YYYY.csv\"\n        },\n        {\n            key: 'txt',\n            value: '*.txt',\n        },\n        {\n            key: 'dlog',\n            value: '*.dlog',\n        },\n        {\n            key: 'dlog_YYYYMMDD',\n            value: '*.dlog_YYYYMMDD',\n        },\n        {\n            key: 'dlog_DDMMYYYY',\n            value: '*.dlog_DDMMYYYY',\n        },\n        {\n            key: 'dlog_MMDDYYYY',\n            value: '*.dlog_MMDDYYYY',\n        },\n        {\n            key: 'dlog_MMDDYY',\n            value: '*.dlog_MMDDYY',\n        },\n    ],\n    fileName: Ember.computed('fileFormat', 'fileFormats', function() {\n        return this.get('gatewayId') + '.' + this.get('fileFormat');\n    }),\n    fileLink: Ember.computed('fileFormat', 'fileFormats', function() {\n        let base = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT;\n        \n        return base + '/gateways/' + this.get('gatewayId') + '/gateway-values?format=' + this.get('fileFormat');\n    }),\n    // look for isVisibleCreateNewForm variable change and reset newGatewayValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('fileFormat', function(){\n        this.set('isExportLinkReady', false);\n    }),\n    isExportLinkReady: false,\n    actions: {\n        downloadFile() {\n            this.set('loading', true);            \n            var $t = $(this);\n            let filename = this.get('fileName');\n            console.log('\"exprot file name: ' + filename);\n            if (this.get('fileName').split('.')[1].includes(\"_\")){\n                // console.log(\"csv filename: \" + this.get('fileName').split('.')[1].split(\"_\")[0]);\n                filename = this.get('gatewayId') + '.' + this.get('fileName').split('.')[1].split(\"_\")[0];\n            }\n            let request = $.ajax({\n                method: \"GET\",\n                url: this.get('fileLink'),\n                headers: {\n                    'Authorization': 'Basic ' + this.get('session').data.authenticated['login'],\n                },\n                success: download.bind(true, \"text/csv\", filename\n                \n                ),\n            })//This method is added to stop the loading \"spinner\" from spinning after the download\n            request.done(function( msg ) {\n                $t[0].set('loading', false);\n            });\n        },\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            } else if (!Array.isArray(propertyNames) && propertyNames !== '' && propertyValues !== '') {\n                _this.set(propertyNames, propertyValues);\n            }\n        },\n        cancel() {\n            this.set('isVisibleExportDataForm', false);\n            this.set('loading', false);\n\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    isVisibleImportDataForm: false,\n    isVisibleError: false,\n    instrumentId: null,\n    loading: false,\n    fileFormat: 'IMS',\n    fileFormats: [\n        {\n            key: 'IMS',\n            value: 'IMS (*.txt)',\n        },\n        {\n            key: 'EVP',\n            value: 'EVP (*.csv)',\n        },\n        {\n            key: 'ESG',\n            value: 'ESG (*.csv)',\n        },\n        {\n            key: 'ESGS',\n            value: 'ESG Source (*.src)',\n        },\n    ],\n    isSubmitting: false,\n    fileSettings: {\n        instrument_id: null,\n        file_format: null\n    },\n    actions: {\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            } else if (!Array.isArray(propertyNames) && propertyNames !== '' && propertyValues !== '') {\n                _this.set(propertyNames, propertyValues);\n            }\n        },\n        importFile() {\n            this.set('loading', true);\n            this.set('isSubmitting', true);\n            this.set('fileSettings.file_format', this.get('fileFormat'));\n        },\n        cancelImport() {\n            this.set('isSubmitting', false);\n            this.set('isVisibleError',false);\n            this.set('isVisibleImportDataForm', false);\n            this.set('loading', false);\n        },\n        notSubmitting() {\n            this.set('isSubmitting',false);\n        },\n        errorHappened(message) {\n            console.log('error happened: ' + message);\n            this.set('isVisibleError',true);\n            Ember.run.scheduleOnce('afterRender', this, function() {\n                this.set('isSubmitting',false);\n                this.set('loading', false);\n            });\n        }\n    }\n});","import Ember from 'ember';\nexport default Ember.Component.extend({\n    isVisibleImportDataForm: false,\n    isVisibleError: false,\n    loading: false,\n    isVisibleErrorChangeObserver: Ember.observer('isVisibleError', function() {\n        if (this.get('isVisibleError')) {\n            //console.log('show error!');\n        } else {\n            //console.log('hide error!');\n        }\n    }),\n    error: \"\",\n    instrumentId: null,\n    fileFormat: 'dlog',\n    dateFormat: '',\n    dateFormats: [{\n        key: 'YYYYMMDD',\n        value: 'YYYY/MM/DD'\n    }, {\n        key: 'MMDDYYYY',\n        value: 'MM/DD/YYYY',\n    }, {\n        key: 'DDMMYYYY',\n        value: 'DD/MM/YYYY',\n    }, {\n        key: 'MMDDYY',\n        value: 'MM/DD/YY (.csv default)',\n    }, {\n        key: 'YYMMDD',\n        value: 'YY/MM/DD',\n    }],\n    fileFormats: [{\n        key: 'dlog',\n        value: '*.dlog',\n    }, {\n        key: 'csv',\n        value: '*.csv',\n    }, {\n        key: 'txt',\n        value: '*.txt',\n    }],\n        // }, {\n        //     key: 'csv_YYMMDD',\n        //     value: \"*.csv_YYMMDD\"\n        // }, {\n        //     key: 'dlog_YYYYMMDD',\n        //     value: '*.dlog_YYYYMMDD',\n        // }, {\n        //     key: 'dlog_DDMMYYYY',\n        //     value: '*.dlog_DDMMYYYY',\n        // }, {\n        //     key: 'dlog_MMDDYYYY',\n        //     value: '*.dlog_MMDDYYYY',\n        // }, {\n        //     key: 'dlog_MMDDYY',\n        //     value: '*.dlog_MMDDYY',\n        // }],\n    isRAW:true,\n    uniqueInstruments:{'Adict': 'If data is in mm, please uncheck. If data is in bits, please check.'},\n    showIsRAW:Ember.computed(function(){\n        if(this.get(\"instrument\")){\n            let uniqueInstrumentsKeys = Object.keys(this.get('uniqueInstruments'));\n            if(uniqueInstrumentsKeys.includes(this.get(\"instrument\").instrumentType.title)){\n                return true;\n            }\n        }\n        return false;\n    }),\n    getUnitInstrComment:Ember.computed(function(){{\n        if(this.get(\"instrument\")){\n            let uniqueInstrumentsKeys = Object.keys(this.get('uniqueInstruments'));\n            if(uniqueInstrumentsKeys.includes(this.get(\"instrument\").instrumentType.title)){\n                return this.get('uniqueInstruments')[this.get(\"instrument\").instrumentType.title];\n            }\n        }\n        return '';\n    }}),\n    isSubmitting: false,\n    fileSettings: {\n        instrument_id: null,\n        file_format: null,\n        date_format: null,\n        isRAW:true,\n    },\n    actions: {\n        updateProperties(\n            propertyNames = [], \n            propertyValues = []) {\n\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            } else if (!Array.isArray(propertyNames) && propertyNames !== '' && propertyValues !== '') {\n                _this.set(propertyNames, propertyValues);\n            }\n        },\n        importFile() {\n            // this.set('isVisibleImportDataForm', false);\n            this.set('loading', true);\n            this.set('isSubmitting', true);\n            this.set('fileSettings.instrument_id', this.get('instrumentId'));\n            this.set('fileSettings.file_format', this.get('fileFormat'));\n            this.set('fileSettings.isRAW', this.get('isRAW'));\n            this.set('fileSettings.date_format', this.get('dateFormat'));\n        },\n        cancelImport() {\n            this.set('isSubmitting', false);\n            this.set('isVisibleError',false);\n            this.set('isVisibleImportDataForm', false);\n            this.set('loading', false);\n        },\n        notSubmitting() {\n            this.set('isSubmitting',false);\n        },\n        errorHappened(message) {\n            console.log('error happened: ' + message);\n            this.set('isVisibleError',true);\n            this.set('error', message.replace(/['\"]+/g, ''));\n            Ember.run.scheduleOnce('afterRender', this, function() {\n                this.set('isSubmitting',false);\n                this.set('loading', false);\n            });\n        }\n    }\n});","import Ember from 'ember';\nexport default Ember.Component.extend({\n    isVisibleImportDataForm: false,\n    isVisibleError: false,\n    loading: false,\n    isVisibleErrorChangeObserver: Ember.observer('isVisibleError', function() {\n        if (this.get('isVisibleError')) {\n            //console.log('show error!');\n        } else {\n            //console.log('hide error!');\n        }\n    }),\n    error: \"\",\n    gatewayId: null,\n    fileFormat: 'dlog',\n    dateFormat: '',\n    dateFormats: [{\n        key: 'YYYYMMDD',\n        value: 'YYYY/MM/DD'\n    }, {\n        key: 'MMDDYYYY',\n        value: 'MM/DD/YYYY',\n    }, {\n        key: 'DDMMYYYY',\n        value: 'DD/MM/YYYY',\n    }, {\n        key: 'MMDDYY',\n        value: 'MM/DD/YY (.csv default)',\n    }, {\n        key: 'YYMMDD',\n        value: 'YY/MM/DD',\n    }],\n    fileFormats: [{\n        key: 'dlog',\n        value: '*.dlog',\n    }, {\n        key: 'csv',\n        value: '*.csv',\n    }, {\n        key: 'txt',\n        value: '*.txt',\n    }],\n        // }, {\n        //     key: 'csv_YYMMDD',\n        //     value: \"*.csv_YYMMDD\"\n        // }, {\n        //     key: 'dlog_YYYYMMDD',\n        //     value: '*.dlog_YYYYMMDD',\n        // }, {\n        //     key: 'dlog_DDMMYYYY',\n        //     value: '*.dlog_DDMMYYYY',\n        // }, {\n        //     key: 'dlog_MMDDYYYY',\n        //     value: '*.dlog_MMDDYYYY',\n        // }, {\n        //     key: 'dlog_MMDDYY',\n        //     value: '*.dlog_MMDDYY',\n        // }],\n    isSubmitting: false,\n    fileSettings: {\n        gateway_id: null,\n        file_format: null,\n        date_format: null\n    },\n    actions: {\n        updateProperties(\n            propertyNames = [], \n            propertyValues = []) {\n\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            } else if (!Array.isArray(propertyNames) && propertyNames !== '' && propertyValues !== '') {\n                _this.set(propertyNames, propertyValues);\n            }\n        },\n        importFile() {\n            // this.set('isVisibleImportDataForm', false);\n            this.set('loading', true);\n            this.set('isSubmitting', true);\n            this.set('fileSettings.gateway_id', this.get('gatewayId'));\n            this.set('fileSettings.file_format', this.get('fileFormat'));\n            this.set('fileSettings.date_format', this.get('dateFormat'));\n        },\n        cancelImport() {\n            this.set('isSubmitting', false);\n            this.set('isVisibleError',false);\n            this.set('isVisibleImportDataForm', false);\n            this.set('loading', false);\n        },\n        notSubmitting() {\n            this.set('isSubmitting',false);\n        },\n        errorHappened(message) {\n            console.log('error happened: ' + message);\n            this.set('isVisibleError',true);\n            this.set('error', message.replace(/['\"]+/g, ''));\n            Ember.run.scheduleOnce('afterRender', this, function() {\n                this.set('isSubmitting',false);\n                this.set('loading', false);\n            });\n        }\n    }\n});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    dataLegends: Ember.computed('rowDetails', function() {\n        let objectKyes = Object.keys( this.get('rowDetails').toJSON() );\n        // console.log(objectKyes);\n        return objectKyes;\n    }),\n    recordValues: Ember.computed('rowDetails', function() {\n\n        let item = this.get('rowDetails');\n        return item.getProperties(this.get('dataLegends'));\n    })\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n\n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        // console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        // console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            // console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                // console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        // console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            // console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            // console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            //let selector = this.$('#chan_select');\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                // console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                // console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                // console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                \n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n\n                                \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                // console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                // console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        handleSelection(selectedValue) {\n            // console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    _this.set('baseLength', 1);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreateDConvInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.baseLength = this.get('baseLength');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if(!error) {\n                if(typeof newInstrumentObject.strokeLength === 'undefined' || newInstrumentObject.strokeLength === 0) {\n                    error = true;\n                    this.setError('fieldError',true);\n                    this.setError('isVisibleError',true);\n                }\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('baseLength') == null) {\n                this.set('baseLength', 1);\n            }\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        // console.log(dup);\n                        if(results.id != null) {\n                            store.createRecord('anchor', {number: 0, distance: 0, instrument: results}).save();\n                            let anchorCount = 1;//parseInt(newInstrumentObject.id.substring(4,newInstrumentObject.id.length > 9 ? 6 : 5)) - 1;\n                            //store.createRecord('anchor', {number: 1, distance: 0, instrument: results}).save();\n                            store.createRecord('anchor', {number: 1, distance: newInstrumentObject.baseLength, instrument: results}).save();\n                        }\n\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n    async init() {\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },\n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n    editing: 0,\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n\n    referenceAnchors:null,\n    loading:true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n\n    phoneNumber: Ember.computed('alert.target', function() {\n        let target = this.get('alert.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        // console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    onCarrierChanged: observer('carrier', function() {\n        let carrier = this.get('carrier');\n        // console.log('carrier changed' + carrier);\n        this.set('carrier', carrier);\n    }),\n\n    onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n\n    handleAlertObjectChange: observer('tr', function() {\n        //console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    actions: {\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                // console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                // console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        \n        handleSelection(selectedValue) {\n            // console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        viewData(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let dateTimeFormat = \"DD-MM-YYYY\";\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            this.get('router').transitionTo('raw-data', id, { queryParams: {\"advancedDateTimeFormat\": dateTimeFormat, \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values') { \n                chartData.values.unshift(chartData.values[0]);\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n        if (anchorDistances.length > dataValuesCount && modelName === 'strain-values') {\n            anchorDistances.splice(0, 1);\n        }\n        return anchorDistances;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        const anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        anchorDistances.unshift(0);\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(modelName === 'strain-values' || modelName === 'strain-rate-values') {\n            return anchorMidDistances.map(function(anchorDistance){\n                return {\n                    key: anchorDistance,\n                    type: 'referencePoints',\n                    values: [\n                        anchorDistance\n                    ]\n                };\n            });\n                \n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values') {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n        var anchorDist = anchorDistances;\n        \n        if(modelName === 'strain-values' || modelName === 'strain-rate-values') {\n            anchorDist = this.get('anchorMidDistances'); \n        }\n\n        zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n            return {\n                key: chartLineIndex,\n                // mean: 3,\n                type: 'lines',\n                timestamp: zoomTimePoints[chartLineIndex],\n                values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        anchorDist[dataPointIndex],\n                        dataPoint\n                    ];\n                })\n            };\n        });\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                title = axisName  + \" (\" + units + \")\";\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            let value1 = fullRangeChartLinesData[0].values[0][0];\n                            let value2 = fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0];\n                            return nv.utils.getDateAutoscaleFormat (value1, value2)(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n        //console.log(linesKyes);\n        var chartData = item.getProperties(linesKyes);\n\n        var modelName = this.get('chartDataModelName');\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n            chartData.values.push(0);\n        }\n        //console.log(\"chartdata: \" + JSON.stringify(chartData));\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n            var midPoints = [];\n            for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let chartTitle = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_');\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        return promise; \n    }),\n    \n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            //vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = yAxisLegend\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");            \n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = yAxisLegend.get('title');\n                //console.log(title);\n                    \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    title = axisName + \" (\" + units + \")\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n                    /* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } \n                    */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){//} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('instrument', function() {\n        let anchors = this.get(\"instrument\").get('anchors');\n        let dist = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        return dist;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","define(\"geotechnical-data-platform-new/components/div-overlay-layer\", [\"exports\", \"ember-leaflet/components/div-overlay-layer\"], function (_exports, _divOverlayLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _divOverlayLayer.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        // console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                // console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        // console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count-1;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            // console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            // console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                // console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                // console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                // console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                // console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                // console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        handleSelection(selectedValue) {\n            // console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n            newInstrumentObject.instrumentStiffness = 0;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        \n                        if(results.id != null) {\n                            let anchorCount = parseInt(newInstrumentObject.id.substring(4,newInstrumentObject.id.length > 9 ? 6 : 5)) - 1;\n                            for(var ctr = 0; ctr <= anchorCount; ctr++) {\n                                store.createRecord('anchor', {number: ctr, distance: ctr, instrument: results}).save();\n                            }\n                        }\n\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 1; i <= this.get('instrumentAnchors').length; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n    async init() {\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    }, \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n    \n    referenceAnchors:null,\n    loading:true,\n\n    editing: 0,\n\n        onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n    \n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans-1;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        viewData(id) {\n            this.get('router').transitionTo('raw-data', id);\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values' || modelName === 'load-values') { \n                var plated = this.get('instrument').get('plated');\n                var type = this.get('instrument').get('instrumentType').get('title');\n                //console.log(type);\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n        if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {\n            anchorDistances.splice(0, 1);\n        }\n        return anchorDistances;\n    }),\n\n    anchorAXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else { //staggered\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n    \n            midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n                return [v, anchorDistances.slice(center + 1)[i]];\n              });\n\n            midPoints.unshift(headExclusion);\n            let mid_temp = [];\n            for(let ctr = 1;ctr < midPoints.length; ctr++) {\n                mid_temp.push((midPoints[ctr - 1] + midPoints[ctr]) / 2);\n            }\n            midPoints = mid_temp;\n\n            if (modelName === 'bending-strain-values') {\n                midPoints.shift();\n                midPoints.pop();\n            }    \n            \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n        \n        //console.log(midPoints);\n        \n        return midPoints;\n    }),\n\n    anchorBXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else {\n\n        let center = anchorDistances.length - 1;\n        center = Math.ceil(center / 2);\n\n        midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n            return [v, anchorDistances.slice(center + 1)[i]];\n          });\n            midPoints.shift();\n            midPoints.pop();                  \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n\n        return midPoints;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        let anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        anchorDistances.unshift(0);\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        if(type === 'dCable') {\n            midDistances.splice(0,1);\n            //midDistances.unshift(0);\n            midDistances[0] = 0;\n            var len = this.get('instrument').get('length');\n            var length = this.get('instrument').get('instrumentLength');\n\n            var modelName = this.get('chartDataModelName');\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {    \n                if(length !== null && length !== 0) {\n                    midDistances.push(length);\n                } else {\n                    midDistances.push(anchorDistances[anchorDistances.length - 1]);\n                }\n            }\n        }\n        // console.log(\"Anchors: \" + anchorDistances);\n         //console.log(\"Mids: \" + midDistances);\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', 'anchorAXDistances', 'anchorBXDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(this.get('instrument').get('instrumentTypeID') === 3) {//rebar \n            if(this.get('instrument').get('stacked')) { //is stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            } else { //is NOT stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            }\n        }\n\n        if (this.get('instrument').get('instrumentType').get('title') !== 'dRebar') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                return anchorMidDistances.map(function(anchorDistance){\n                    return {\n                        key: anchorDistance,\n                        type: 'referencePoints',\n                        values: [\n                            anchorDistance\n                        ]\n                    };\n                });\n                    \n            }\n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'load-values') {\n            return 28;\n        } else if((modelName === 'axial-strain-values' || modelName === 'bending-strain-values') && this.get('instrument').get('stacked')) {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorAXDistances = this.get('anchorAXDistances'),\n            anchorBXDistances = this.get('anchorBXDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints'),\n            anchorMidDistances = this.get('anchorMidDistances')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n\n        \n        if ((modelName === 'strain-values' || modelName === 'load-values') && this.get('instrument').get('instrumentType').get('title') !== 'dRebar') { \n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorMidDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'axial-strain-values' || modelName === 'load-values' ) {//&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorAXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'bending-strain-values' ) { //&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorBXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if(type === 'dCable') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                //console.log(fullRangeDataPoints);\n                fullRangeDataPoints.forEach(element => element.values[0]=0);\n            }\n        }\n        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                if(yAxisLegend.get('title')==='load') {\n                    title = axisName + \" (kN)\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    \n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n        var events = this.get('vibeEvents');\n        //console.log('vibeEvents');\n        //console.log(events);\n        if ( this.get('vibeEvents') ) {\n            return [{\n                key: 'BluVibe',\n                type: 'distX',\n                color: '#80bf5c',\n                values: this.get('vibeEvents').map(function(event) {\n                    return [\n                        moment( event.get('id') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    vibeEventsArray: Ember.computed('vibeEvents', function() {\n        var events = this.get('vibeEvents');\n        //console.log(events);\n        if ( events ) {\n            return events.map(function(event) {\n                return {\n                    type: 'BluVibe',\n                    time: event.get('id'),\n                    timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    ppa: event.get('ppa'),\n                    ppv: event.get('ppv'),\n                    freq: event.get('frequency')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    zoomTempPoints: Ember.computed('zoomTempData', function(item){\n        let discreteData = this.get('zoomTempData').map(item => {\n            let linesKeys = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKeys);\n\n            // Convert the chartData to discrete variables\n            var discreteData = {};\n            for (let key in chartData) {\n                discreteData[key] = chartData[key];\n            }\n            return discreteData;\n        });\n\n        // console.log(\":::::::::::::::::::::::: Discrete TEMP Points SIZE: \" + discreteData.length);\n        if (this.get(\"zoomDataPoints\").length == 0) {\n            return [];\n        } else {\n            return discreteData;\n        }\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n        let KPA_TO_MMH20 = 101.9716;\n        \n        var chartData = item.getProperties(linesKyes);\n\n        var modelName = this.get('chartDataModelName');\n        let chartType = this.attrs.getQueryParams('chart_type');\n\n        // console.log(\"Model Name::::|\" + chartType + \"|\");\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var plated = this.get('instrument').get('plated');\n            \n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                if(plated) {\n                    chartData.values[0] = chartData.values[1];\n                } else {\n                    chartData.values[0] = 0;\n                }\n            } else {\n                //chartData.values.unshift(0);\n            }\n            chartData.values.push(0);\n        }\n        // console.log(\"Chart Type::::|\" + chartType + \"|\");\n        if(chartType === 'mmH20') {\n            chartData.values = chartData.values.map(function(item) {\n                return item * KPA_TO_MMH20;\n            });\n        }\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        if(instType === 'Tilt') {\n            return ['X','Y','Z'];\n        } else if(instType === 'Wire') {\n            let anchors = [];\n            let numPorts = this.instrument.get('portsNum');\n            let startVal = 0;\n            let maxVal = numPorts;\n/*             if (this.port != '') {\n                //startVal = (1 * this.port) - 1;\n                startVal = (1 * numPorts) - 1;\n                maxVal = startVal + 1;\n            }\n */            for(let ctr = startVal; ctr < maxVal; ctr++) {\n                anchors.push('T' + (ctr + 1));\n                anchors.push(ctr + 1);\n            }\n            return anchors;\n        } else if(instType === 'BluVibe') {\n            return ['Data'];\n        }\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var midPoints = [];\n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                //Adjust anchors to mid points between anchors\n                for(var ctr = 1; ctr < anchorDistances.length ; ctr++) {\n                    var mid = (anchorDistances[ctr - 1] + anchorDistances[ctr]) / 2;\n                    midPoints[ctr] = + mid.toFixed(2);\n                }\n\n                //console.log(midPoints);\n\n                //add zero point and end point\n                midPoints.splice(0,1);\n                midPoints[0] = 0;\n                midPoints.push(anchorDistances[anchorDistances.length - 1]);  //TODO: change to length of exto once known\n                //console.log(midPoints);\n            } else if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                //Adjust anchors to mid points between anchors\n                //console.log(this.get('instrument'));\n                let headExclusion = this.get('instrument').get('headExclusionLength');\n                let leftAnchors = [headExclusion];\n                let rightAnchors = [headExclusion];\n                \n                let center = anchorDistances.length - 1;\n                center = Math.ceil(center / 2);\n\n                leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n\n                rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n\n                let midLeft = [];\n                for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                    midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                }\n\n                let midRight = [];\n                for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                    midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                }\n\n                if (modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'load-values') {\n                    if(this.get('instrument').get('stacked')) {\n                        midPoints = midLeft;\n                        if (modelName === 'load-values') {\n                            midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n                        }\n                    } else {\n                        midPoints = midLeft.concat(midRight);\n                        /* midPoints = $.map(midPoints.slice(1, center + 1), function(v, i) {\n                            return [v, midPoints.slice(center + 1)[i]];\n                          }); */\n                        if (modelName === 'bending-strain-values') {\n                            midPoints.shift();\n                            midPoints.pop();\n                        }\n\n                    }\n                } else {\n                    midPoints = midLeft.concat(midRight);\n                }\n                if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                    for(let ctr = 0; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n  \n/*                     for(let ctr = 0; ctr < midPoints.length / 2; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n        \n                    for(let ctr = 3; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n */                }\n            } else {\n                for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                    midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n                }\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        } else if (modelName === 'axial-displacement-values' && this.get('instrument').get('stacked')) {\n            let mid = (anchorDistances.length - 1) / 2;\n            while (anchorDistances.length > (mid + 1)) {\n                anchorDistances.pop();\n            }\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else if (modelName === 'axial-displacement-values' && !this.get('instrument').get('stacked')) {\n            anchorDistances.sort(function(a,b){return a-b;});\n\n            //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else {\n            if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                if (modelName === 'displacement-values') { //rebar stretch\n                    var midPoints = [];\n                    let headExclusion = this.get('instrument').get('headExclusionLength');\n                    let leftAnchors = [headExclusion];\n                    let rightAnchors = [headExclusion];\n                    \n                    let center = anchorDistances.length - 1;\n                    center = Math.ceil(center / 2);\n    \n                    leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                    rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n    \n                    if(!this.get('instrument').get('stacked')) {\n                        rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n                    }\n    \n                    let midLeft = [];\n                    for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                        midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                    }\n    \n                    let midRight = [];\n                    for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                        midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                    }\n\n                    midPoints = midLeft.concat(midRight);\n                    anchorDistances = midPoints;\n\n                    anchorDistances.unshift(0);\n                }\n                for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n    \n                for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n            }    \n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    // zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n        if(zoomDataPoints.length != 0) {\n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                var mName = _this.get('chartDataModelName');\n                if (mName === 'strain-values' || mName === 'strain-rate-values' || mName === 'load-values') {\n                    zoomDataPoints.forEach(element => element.values[0] = 0);\n                }\n            }    \n\n            //  if (this.get('instrument').get('instrumentType').get('title') == 'Tilt') {\n            //         zoomDataPoints.forEach(element => element.values.shift());\n            // }    \n\n            // an exception for temperature sensor in dExto\n            if (_this.get('chartDataModelName') !== 'temperature-values') {\n                zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                    return {\n                        key: chartLineName,\n                        // mean: 3,\n                        type: 'lines',\n                        yAxis: 1,\n                        values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                            return [\n                                moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                                dataPoint.values[chartLineIndex]\n                            ];\n                        })\n                    };\n                });\n            } else {\n                zoomChartLinesData = [{\n                    key: 'T. ℃',\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[0]\n                        ];\n                    })\n                }];\n            }\n\n            //console.log(zoomDataPoints.length);\n            //console.log(zoomTempPoints.length);\n\n            if (_this.get('chartDataModelName') !== 'temperature-values') {\n                if (_this.get('chartDataModelName') !== 'displacement-values' && this.get('instrument').get('instrumentType').get('title') !== 'BluVibe'){\n                    while(zoomTempPoints.length > zoomDataPoints.length) {\n                        zoomTempPoints.pop();\n                        zoomTempPoints.shift();\n                    }\n                }\n                var temp = {key: 'T',\n                    type: 'lines',\n                    yAxis: 2,\n                    values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[0],\n                        ];\n                    })\n                };\n                //console.log(temp);\n                zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n                //console.log(zoomChartLinesData);\n            }\n\n            // mix data with events\n            if (seismicEventsChartDistXData) {\n                zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n            }\n            if (blastEventsChartDistXData) {\n                zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n            }\n            if (vibeEventsChartDistXData) {\n                zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n            }\n            \n            return zoomChartLinesData;\n\n        }    \n        return [];\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        //console.log(vibeEventsArray);\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get('firstObject');\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = '';\n                if (instType === 'BluVibe') {\n                    title = _this.get('chartDataModelName');\n                } else {\n                    title = yAxisLegend.get('title');\n                }\n                let chartType = _this.attrs.getQueryParams('chart_type');\n\n                // because we can only have one displacement chart and this one uses 2 (a regular displacement and a mmH20 displacement)\n                // I had to do this hack to accomodate the mmH20 chart.  I'm not proud of it, but it works.\n                if(chartType == null || chartType == undefined || chartType == '') {\n                    title = 'displacement';\n                } else if (chartType === 'mmH20'){\n                    title = chartType;\n                }\n                \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'mmH20':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units = \"\"; //\"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    case 'event-frequency':\n                        axisName = \"Event Frequency\";\n                        break;\n                    case 'event-ppv':\n                        axisName = \"Event PPV\";\n                        break;\n                    case 'event-ppa':\n                        axisName = \"Event PPA\";\n                        break;\n                    case 'cumulative-event-frequency':\n                        axisName = \"Cumulative Frequency\";\n                        break;\n                    case 'cumulative-event-ppv':\n                        axisName = \"Cumulative PPV\";\n                        break;\n                    case 'cumulative-event-ppa':\n                        axisName = \"Cumulative PPA\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                        //console.log(title);\n                }\n\n                /* let chartName = yAxisLegend.get('title').capitalize();\n                let chartNameL = chartName.substr(0, chartName.indexOf('_'));\n                let chartNameR = chartName.substr(chartName.indexOf('_') + 1).capitalize();\n                if(chartNameL !== \"\") {\n                    chartName = chartNameL + \" \" + chartNameR;\n                } */\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    if(yAxisLegend.get('title')==='load') {\n                        title = axisName + \" (kN)\";\n                    } else if (instType === 'Wire') {\n                        if (raw === true) {\n                            title = \"Frequency (Hz)\";\n                        } else {\n                            title = \"Calculated Values\";\n                        }\n                    } else {\n                        if(units === '') {\n                            title = axisName;\n                        } else {\n                            title = axisName + \" (\" + units + \")\";\n                        }\n                    }\n                } else {\n                    if (instType === 'BluVibe') {\n                        title = axisName;\n                    } else {\n                        if(units === '') {\n                            title = axisName;\n                        } else {\n                            title = axisName  + \" (\" + units + \")\";\n                        }\n                    }\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    displacementData2: Ember.computed('displacementData', function() {\n        //console.log('here');\n        let dv = this.displacementData;\n        dv.forEach(function(value) {\n            value.values.shift();\n            //console.log(value.values);\n        })\n        //dv.shift();\n        return dv;\n    }),\n\n    anchorDistances: Ember.computed('instrument', function() {\n        return['kPa'];\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n    // isPiezo: Ember.computed('instrumentType', function() {\n    //     console.log(\"instrumentType :::::::::::::::::::::::::::::::: \" + this.instrumentType);\n    //     if (this.instrumentType === 'Piezometer') {\n    //         return true;\n    //     }\n    //     return false;\n    // }),\n\n});","// app/components/my-option.js\nimport Component from '@glimmer/component';\n\nexport default class DropdownOptionComponent extends Component {\n  get isSelected() {\n    this.args.value === this.args.selectValue;\n  }\n}\n","define(\"geotechnical-data-platform-new/components/ember-modal-dialog-positioned-container\", [\"exports\", \"ember-modal-dialog/components/positioned-container\"], function (_exports, _positionedContainer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _positionedContainer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/ember-modal-dialog/-basic-dialog\", [\"exports\", \"ember-modal-dialog/components/basic-dialog\"], function (_exports, _basicDialog) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _basicDialog.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/ember-modal-dialog/-in-place-dialog\", [\"exports\", \"ember-modal-dialog/components/in-place-dialog\"], function (_exports, _inPlaceDialog) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _inPlaceDialog.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/ember-modal-dialog/-liquid-dialog\", [\"exports\", \"ember-modal-dialog/components/liquid-dialog\"], function (_exports, _liquidDialog) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _liquidDialog.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/ember-modal-dialog/-liquid-tether-dialog\", [\"exports\", \"ember-modal-dialog/components/liquid-tether-dialog\"], function (_exports, _liquidTetherDialog) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _liquidTetherDialog.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/ember-modal-dialog/-tether-dialog\", [\"exports\", \"ember-modal-dialog/components/tether-dialog\"], function (_exports, _tetherDialog) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _tetherDialog.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/ember-popper-targeting-parent\", [\"exports\", \"ember-popper/components/ember-popper-targeting-parent\"], function (_exports, _emberPopperTargetingParent) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberPopperTargetingParent.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/ember-popper\", [\"exports\", \"ember-popper/components/ember-popper\"], function (_exports, _emberPopper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberPopper.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/ember-wormhole\", [\"exports\", \"ember-wormhole/components/ember-wormhole\"], function (_exports, _emberWormhole) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberWormhole.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/fa-icon\", [\"exports\", \"@fortawesome/ember-fontawesome/components/fa-icon\"], function (_exports, _faIcon) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _faIcon.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/file-field\", [\"exports\", \"ember-uploader/components/file-field\"], function (_exports, _fileField) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _fileField.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport FileField from 'ember-uploader/components/file-field';\nimport Uploader from 'ember-uploader/uploaders/uploader';\nimport { inject as service } from '@ember/service';\nimport { computed, observer } from '@ember/object';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default FileField.extend({\n    session: service(),\n    isSubmitting: false,\n    isSubmittingChangeObserver: Ember.observer('isSubmitting', function() {\n        if (this.get('isSubmitting')) {\n            this.send('submitFile');\n        }\n    }),\n    uploader: null,\n    files: null,\n    ajaxSettings: computed({\n        get() {\n            return {\n                headers: {\n                    Accept: 'application/vnd.api+json',\n                    withCredentials: true,\n                    Authorization: 'Basic ' + this.get('session').data.authenticated['login']    \n                }\n            }\n        }\n    }),\n    fileSettings: {},\n    filesDidChange: function(files) {\n        const uploader = Uploader.create({\n            url: ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + '/import-gateway-file/',\n            // url: \"http://\" + document.location.host.split(':')[0] + \":8000\" + '/import-gateway-file/',\n            paramName: 'data_file',\n            ajaxSettings: this.get('ajaxSettings')\n        });\n\n        this.set('uploader', uploader);\n        this.set('files', files);\n    },\n    actions: {\n        submitFile(object){\n            const _this = this;\n            let files = _this.get('files');\n            \n            //files = null;\n            //this.sendAction('importError');\n            if (!Ember.isEmpty(files)) {\n                // this second argument is optional and can to be sent as extra data with the upload\n                //console.log(files);\n                //console.log(_this.get('fileSettings'));\n                let format = _this.get('fileSettings').file_format;\n                let dateFormat = _this.get('fileSettings').date_format;\n                let filename = files[0].name.substring(0,files[0].name.lastIndexOf('.'));\n                let ext = files[0].name.substring(files[0].name.lastIndexOf('.')+1);\n                \n                let ok = true;\n                let id = this.get('fileSettings').gateway_id;\n                // console.log(\"ID: \" + id + \" Filename: \" + filename)\n                let errMsg = \"\";\n                if(id !== filename) {\n                    if(confirm(\"IDs do not match\\nGateway ID: \" + id + \"\\nFile ID: \" + filename + \"\\nYou are about to import this data.\")) {\n                        ok = true;\n                    } else {\n                        ok = false;\n                    }\n                }\n\n                if(!format.includes(ext)) {\n                    if(confirm(\"File format does not match\\nSelected Format: \" + format + \"\\nFile format: \" + ext + \"\\nYou are about to import this data.\")) {\n                        ok = true;\n                    } else {\n                        ok = false;\n                    }                            \n                }\n\n                if(dateFormat === '') {\n                    ok = false;\n                    errMsg = \"Date format not selected.\";\n                }\n                \n                if(ok) {\n                    //$(\"body\").css(\"cursor\", \"progress\");\n                    _this.get('uploader').upload(files[0],_this.get('fileSettings')\n                    ).then(data => {\n                        // Handle success\n                        // Reload the page to show imported data\n                        //$(\"body\").css(\"cursor\", \"default\");\n                        window.location.reload(true);\n                    }, error => {\n                        //console.log(error.statusText);\n                        //$(\"body\").css(\"cursor\", \"default\");\n                        if (error.responseJSON) {\n                            this.sendAction('errorHappened',error.responseText);\n                        } else {\n                            this.sendAction('errorHappened',error.statusText);\n                        }\n                        //this.sendAction('errorHappened',error.statusText);\n                        // Handle failure\n                    });\n                } else {\n                    if (errMsg !== \"\") {\n                        this.sendAction('errorHappened',errMsg);\n                    } else {\n                        this.sendAction('errorHappened',\"User cancelled\");\n                    }\n                }\n            } else {\n                this.sendAction('errorHappened',\"No File selected.\");\n            }\n        },\n        cancel(){\n            // this.set('newValue', this.get(`object.${this.get('field')}`));\n            // this.set('isEditing', false);\n            // this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        }\n    },\n});","import Ember from 'ember';\nimport FileField from 'ember-uploader/components/file-field';\nimport Uploader from 'ember-uploader/uploaders/uploader';\nimport { inject as service } from '@ember/service';\nimport { computed, observer } from '@ember/object';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default FileField.extend({\n    session: service(),\n    isSubmitting: false,\n    isSubmittingChangeObserver: Ember.observer('isSubmitting', function() {\n        if (this.get('isSubmitting')) {\n            this.send('submitFile');\n        }\n    }),\n    uploader: null,\n    files: null,\n    ajaxSettings: computed({\n        get() {\n            return {\n                headers: {\n                    Accept: 'application/vnd.api+json',\n                    withCredentials: true,\n                    Authorization: 'Basic ' + this.get('session').data.authenticated['login']    \n                }\n            }\n        }\n    }),\n    fileSettings: {},\n    filesDidChange: function(files) {\n        const uploader = Uploader.create({\n            url: ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + '/import-seismic/',\n            paramName: 'data_file',\n            ajaxSettings: this.get('ajaxSettings')\n        });\n\n        this.set('uploader', uploader);\n        this.set('files', files);\n    },\n    actions: {\n        submitFile(object){\n            const _this = this;\n            let files = _this.get('files');\n            \n            //files = null;\n            //this.sendAction('importError');\n            if (!Ember.isEmpty(files)) {\n                // this second argument is optional and can to be sent as extra data with the upload\n                //console.log(files);\n                //console.log(_this.get('fileSettings'));\n                let format = _this.get('fileSettings').file_format;\n                let dateFormat = _this.get('fileSettings').date_format;\n                let filename = files[0].name.substring(0,files[0].name.lastIndexOf('.'));\n                let ext = files[0].name.substring(files[0].name.lastIndexOf('.')+1);\n                \n                let ok = true;\n                let id = this.get('fileSettings').instrument_id;\n\n                let errMsg = \"\";\n                \n                if(ok) {\n                    //$(\"body\").css(\"cursor\", \"progress\");\n                    _this.get('uploader').upload(files[0],_this.get('fileSettings')\n                    ).then(data => {\n                        // Handle success\n                        // Reload the page to show imported data\n                        //$(\"body\").css(\"cursor\", \"default\");\n                        window.location.reload(true);\n                    }, error => {\n                        //console.log(error.statusText);\n                        //$(\"body\").css(\"cursor\", \"default\");\n                        if (error.responseJSON) {\n                            this.sendAction('errorHappened',error.responseText);\n                        } else {\n                            this.sendAction('errorHappened',error.statusText);\n                        }\n                        //this.sendAction('errorHappened',error.statusText);\n                        // Handle failure\n                    });\n                } else {\n                    if (errMsg !== \"\") {\n                        this.sendAction('errorHappened',errMsg);\n                    } else {\n                        this.sendAction('errorHappened',\"User cancelled\");\n                    }\n                }\n            } else {\n                this.sendAction('errorHappened',\"No File selected.\");\n            }\n        },\n        cancel(){\n            // this.set('newValue', this.get(`object.${this.get('field')}`));\n            // this.set('isEditing', false);\n            // this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        }\n    },\n});","import Ember from 'ember';\nimport FileField from 'ember-uploader/components/file-field';\nimport Uploader from 'ember-uploader/uploaders/uploader';\nimport { inject as service } from '@ember/service';\nimport { computed, observer } from '@ember/object';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default FileField.extend({\n    session: service(),\n    isSubmitting: false,\n    isSubmittingChangeObserver: Ember.observer('isSubmitting', function() {\n        if (this.get('isSubmitting')) {\n            this.send('submitFile');\n        }\n    }),\n    uploader: null,\n    files: null,\n    ajaxSettings: computed({\n        get() {\n            return {\n                headers: {\n                    Accept: 'application/vnd.api+json',\n                    withCredentials: true,\n                    Authorization: 'Basic ' + this.get('session').data.authenticated['login']    \n                }\n            }\n        }\n    }),\n    fileSettings: {},\n    filesDidChange: function(files) {\n        const uploader = Uploader.create({\n            url: ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + '/import-file/',\n            paramName: 'data_file',\n            ajaxSettings: this.get('ajaxSettings')\n        });\n\n        this.set('uploader', uploader);\n        this.set('files', files);\n    },\n    actions: {\n        submitFile(object){\n            const _this = this;\n            let files = _this.get('files');\n            \n            //files = null;\n            //this.sendAction('importError');\n            if (!Ember.isEmpty(files)) {\n                // this second argument is optional and can to be sent as extra data with the upload\n                //console.log(files);\n                //console.log(_this.get('fileSettings'));\n                let format = _this.get('fileSettings').file_format;\n                let dateFormat = _this.get('fileSettings').date_format;\n                let filename = files[0].name.substring(0,files[0].name.lastIndexOf('.'));\n                let ext = files[0].name.substring(files[0].name.lastIndexOf('.')+1);\n                \n                let ok = true;\n                let id = this.get('fileSettings').instrument_id;\n\n                let errMsg = \"\";\n                if(id !== filename) {\n                    if(confirm(\"IDs do not match\\nInstrument ID: \" + id + \"\\nFile ID: \" + filename + \"\\nYou are about to import this data.\")) {\n                        ok = true;\n                    } else {\n                        ok = false;\n                    }\n                }\n\n                if(!format.includes(ext)) {\n                    if(confirm(\"File format does not match\\nSelected Format: \" + format + \"\\nFile format: \" + ext + \"\\nYou are about to import this data.\")) {\n                        ok = true;\n                    } else {\n                        ok = false;\n                    }                            \n                }\n\n                if(dateFormat === '') {\n                    ok = false;\n                    errMsg = \"Date format not selected.\";\n                }\n                \n                if(ok) {\n                    //$(\"body\").css(\"cursor\", \"progress\");\n                    _this.get('uploader').upload(files[0],_this.get('fileSettings')\n                    ).then(data => {\n                        // Handle success\n                        // Reload the page to show imported data\n                        //$(\"body\").css(\"cursor\", \"default\");\n                        window.location.reload(true);\n                    }, error => {\n                        //console.log(error.statusText);\n                        //$(\"body\").css(\"cursor\", \"default\");\n                        if (error.responseJSON) {\n                            this.sendAction('errorHappened',error.responseText);\n                        } else {\n                            this.sendAction('errorHappened',error.statusText);\n                        }\n                        //this.sendAction('errorHappened',error.statusText);\n                        // Handle failure\n                    });\n                } else {\n                    if (errMsg !== \"\") {\n                        this.sendAction('errorHappened',errMsg);\n                    } else {\n                        this.sendAction('errorHappened',\"User cancelled\");\n                    }\n                }\n            } else {\n                this.sendAction('errorHappened',\"No File selected.\");\n            }\n        },\n        cancel(){\n            // this.set('newValue', this.get(`object.${this.get('field')}`));\n            // this.set('isEditing', false);\n            // this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        }\n    },\n});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    // searchValue: Ember.computed('searchValue', function() {\n    //     if (typeof this.attrs.searchValue !== 'undefined') {\n    //         return this.attrs.searchValue.value;\n    //     }\n    // }),\n    // pageValue: Ember.computed('pageValue', function() {\n    //     if (typeof this.attrs.pageValue !== 'undefined') {\n    //         return this.attrs.pageValue.value;\n    //     }\n    // }),\n    pageValue: 1,\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n\n            if (typeof propertyValue !== 'undefined') {\n\n                if (propertyValue == \"\")\n                    this.set('target', \"\");\n                else\n                    this.set('target', this.get('targetName'));\n                    \n                this.set(propertyName, propertyValue);\n                this.set('pageValue', 1);\n                \n                window.location.href = `/alerts?search=${propertyValue}`;\n                \n            }\n        },\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 13) {\n            let caller = e.target;\n            this.send('updateProperty', 'searchValue', caller.value);\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    sv: '',\n    pv: 1,\n    searchValue: Ember.computed('searchValue', {\n        get() {\n            if (typeof this.attrs.searchValue !== 'undefined') {\n                return this.attrs.searchValue.value;\n            } else {\n                return this.get('sv')\n            }    \n        },\n        set(value) {\n            this.set('sv', value)\n        }\n    }),\n    pageValue: Ember.computed('pageValue', {\n        get() {\n            if (typeof this.attrs.pageValue !== 'undefined') {\n                return this.attrs.pageValue.value;\n            } else {\n                return this.get('pv')\n            }\n        },\n        set(value) {\n            this.set('pv',value);\n        }\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            if (typeof propertyValue !== 'undefined') {\n                this.set(propertyName, propertyValue);\n                this.set('pageValue', 1);\n            }\n        },\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 13) {\n            this.send('updateProperty', 'searchValue', quickTableFilter.value);\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    // searchValue: Ember.computed('searchValue', function() {\n    //     if (typeof this.attrs.searchValue !== 'undefined') {\n    //         return this.attrs.searchValue.value;\n    //     }\n    // }),\n    // pageValue: Ember.computed('pageValue', function() {\n    //     if (typeof this.attrs.pageValue !== 'undefined') {\n    //         return this.attrs.pageValue.value;\n    //     }\n    // }),\n    pageValue: 1,\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            if (typeof propertyValue !== 'undefined') {\n                if (propertyValue == \"\")\n                    this.set('target', \"\");\n                else\n                    this.set('target', this.get('targetName'));\n\n                this.set(propertyName, propertyValue);\n                this.set('pageValue', 1);\n\n                window.location.href = `/gateway?search=${propertyValue}`;\n            }\n        },\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 13) {\n            let caller = e.target;\n            this.send('updateProperty', 'searchValue', caller.value);\n        }\n    }\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    pageValue: 1,\n    startDate: \"\",\n    endDate:\"\",\n    search:\"\",\n\n    init() {\n        this._super(...arguments);\n        this.setSearchFieldsFromURL();\n    },\n\n    setSearchFieldsFromURL() {\n        const queryParams = new URLSearchParams(window.location.search);\n        this.set('search', queryParams.get('search') || '');\n    \n        const startDateParam = queryParams.get('startDate');\n        const endDateParam = queryParams.get('endDate');\n    \n        if (startDateParam) {\n            const decodedStartDate = decodeURIComponent(startDateParam);\n            console.log(\"Init StartDate: \" + startDateParam)\n            this.set('startDate', startDateParam);//this.formatDateForDatetimeLocal(decodedStartDate));\n        } else {\n            this.set('startDate', '');\n        }\n    \n        if (endDateParam) {\n            const decodedEndDate = decodeURIComponent(endDateParam);\n            console.log(\"Init EndDate: \" + endDateParam)\n            this.set('endDate', endDateParam);//this.formatDateForDatetimeLocal(decodedEndDate));\n        } else {\n            this.set('endDate', '');\n        }\n        \n    },\n    \n    formatDateForDatetimeLocal(dateStr) {\n        // Assuming the format from the URL is 'YYYY-MM-DDTHH:mm' or similar\n        const date = new Date(dateStr);\n        return date.toISOString().slice(0, 16); // Converts to 'YYYY-MM-DDTHH:mm' format\n    },\n\n    actions: {\n        updateProperty(propertyName, changeEvent) {\n                this.set(propertyName, changeEvent.target.value);\n    \n                if (propertyName === 'startDate') {\n                    let newEndDate = this.calculateEndDate(changeEvent.target.value);\n                    this.set('endDate', newEndDate);\n                    console.log(\"endDate: \" + newEndDate);\n                }\n\n                console.log(\"PropertyValue: \" + this.get(propertyName))\n        },\n        search() {\n            this.set('pageValue', 1);\n            let searchValue = this.get(\"search\");\n            let startDate = this.get(\"startDate\");\n            let endDate = this.get(\"endDate\");\n            window.location.href = `/log-viewer?search=${encodeURIComponent(searchValue)}&startDate=${startDate}&endDate=${endDate}`;\n        },\n        reset(){\n            window.location.href = \"/log-viewer\";\n        }\n    },\n    calculateEndDate(startDate) {\n        let startDateObj = new moment(startDate);\n        startDateObj = startDateObj.add(1, \"days\").format(\"YYYY-MM-DDTHH:mm\"); // Add 1 day\n        console.log(\"calculateEndDate/startDateObj: \" + startDateObj);\n        return startDateObj; // Format for datetime-local input\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 13) {\n            let caller = e.target;\n            this.send('updateProperty', 'searchValue', caller.value);\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    // searchValue: Ember.computed('searchValue', function() {\n    //     if (typeof this.attrs.searchValue !== 'undefined') {\n    //         return this.attrs.searchValue.value;\n    //     }\n    // }),\n    // pageValue: Ember.computed('pageValue', function() {\n    //     if (typeof this.attrs.pageValue !== 'undefined') {\n    //         return this.attrs.pageValue.value;\n    //     }\n    // }),\n    pageValue: 1,\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            if (typeof propertyValue !== 'undefined') {\n                if (propertyValue == \"\")\n                    this.set('target', \"\");\n                else\n                    this.set('target', this.get('targetName'));\n                    \n                this.set(propertyName, propertyValue);\n                this.set('pageValue', 1);\n                // console.log(\"propertyValue::::::::::: \" + propertyValue);\n                window.location.href = `/instruments?search=${propertyValue}`;\n            }\n        },\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 13) {\n            let caller = e.target;\n            this.send('updateProperty', 'searchValue', caller.value);\n        }\n    }\n});\n","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Ember from 'ember';\nimport { inject as service } from '@ember/service';\nimport alertGetId from '../helpers/alert-get-id';\n\nexport default Ember.Component.extend({\n    authError: false,\n    router: service(),\n    isRowDeleteConfirmationDialog: {},\n    gwId: null,\n    // Ember.computed('alert', function(){\n    //     let alert = this.get('alert');\n    //  console.log(alert.id);\n    //     return alertGetId([alert]);\n        \n    // }),\n\n    processedGatewayAlerts: Ember.computed('gatewayAlerts.[]', function() {\n        return this.gatewayAlerts.map(alertRow => {\n          // If you need to manipulate 'gateway' specifically\n        //  console.log(\"alertRow.gateway:::::::::::::::::::::::: \" + alertRow.gateway.id);\n    \n          return alertRow;\n        })\n    }),\n    actions: {\n        getId(alert) {\n            // console.log(alert.id);\n            let gwId = alertGetId([alert]);\n            this.gwId = gwId;\n            return gwId;\n          },\n        toggleRowDeleteConfirmationDialog(id){\n            //console.log(id);\n            let errBox = document.getElementById(\"alertListError\");\n            errBox.hidden=true;\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        createAlert: function() {\n            // console.log(\"create\");\n            let gwID = this.get(\"gatewayId\");\n            if (gwID !== null) {\n                this.get('router').transitionTo('create-gateway-alert', { queryParams: { gw_id: gwID }});\n            } else {\n                this.get('router').transitionTo('create-gateway-alert');\n            }\n        },\n        remove(model, object){\n            let _this = this;\n            let _store = this.get('store');\n\n            //object.get('isDeleted');\n            \n            //_this.setError('authError',false);\n            let errBox = document.getElementById(\"alertListError\");\n\n            // object.deleteRecord();\n\n            errBox.hidd = true;\n            //console.log(_store.find('user', params));\n\n            object.save().then(function(){\n                \n                object.deleteRecord();\n                \n                object.save().then(function(){                    \n                    object.unloadRecord();\n                }).catch(function(reason){\n                    let status = reason.errors[0].status;\n\n                    if (status == 403) {\n                        errBox.hidden = false;\n                    };\n                });\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                //model.removeObject(object);\n\n            }).catch(function(reason){\n\n                let status = reason.errors[0].status;\n\n                if (status == 403) {\n                    errBox.hidden = false;\n                };\n            });\n        },\n    }\n\n})","import Ember from 'ember';\nimport { inject as service } from '@ember/service';\nimport gateway from '../models/gateway';\n\nexport default Ember.Component.extend({\n    session: service(),\n    isRowDeleteConfirmationDialog: {},\n    rdcd: {},\n    store: service(),\n    childDict: {},\n    init() {\n        this._super(...arguments);\n        // Inspecting gateway when the component is initialized\n        // console.log(\"Gateway in init: \", this.get('gateway'));\n        \n        // If children are a promise (async relationship), then use then to resolve it\n        this.loadChildren();\n    },\n\n    loadChildren() {\n        let gateway = this.get('gateway');\n        let gatewayId = gateway.get('id');\n\n        this.store.findRecord('gateway', gatewayId, { reload: true }).then((gateway) => {\n            // console.log(\"childID: \" + gatewayId);\n            gateway.get('children').then((children) => {\n                // console.log(\"children: \" + children);\n                let childObjects = children.map(child => child.toJSON());\n                this.set(`childDict.${gatewayId}`, childObjects);\n                // console.log(\"childDict:::: \");\n                // console.log(this.childDict);\n                });\n        }).catch((error) => {\n            console.error(\"Error fetching gateway: \", error);\n        });\n    },\n\n    inspectGateway () {\n        // console.log(\"Children:\");\n        let gw = this.get('gateway');\n        // let gwc = gw.get('children');\n        let gwc = gw.get('children');\n        // console.log(\"Children:\", gwc.toArray());\n\n        gwc.toArray();\n        return true;        \n    },\n\n    setRDCD(value) {\n        let rdcd = this.get('isRowDeleteConfirmationDialog');\n        rdcd[value[0]] = value[1];\n        this.set('isRowDeleteConfirmationDialog', rdcd);\n        this.notifyPropertyChange('isRowDeleteConfirmationDialog');\n    },\n         \n    gatewayChildren: Ember.computed(function() {\n        // Logic to retrieve the children of tableRow\n        // Return an array of child gateways\n        let gateway = this.get('gateway');\n        \n        // console.log(\"tableRow:::: \" + gateway);\n        return gateway.children;\n    }),\n\n    actions: {\n        toggleRowDeleteConfirmationDialog(id){\n            //console.log(id);\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        remove(model, object){\n            let _this = this;\n            let _store = this.get('store');\n\n            let errBox = document.getElementById(\"gatewayChildListError\");\n\n            errBox.hidd = true;\n\n            //object.get('isDeleted');\n            object.save().then(function(){\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                //model.removeObject(object);\n                object.deleteRecord();\n\n                object.save().then(function(){\n                    object.unloadRecord();\n                }).catch(function(reason){\n                    let status = reason.errors[0].status;\n\n                    if (status == 403) {\n                        errBox.hidden = false;\n                    };\n                });\n\n            }).catch(function(reason){\n\n                let status = reason.errors[0].status;\n\n                if (status == 403) {\n                    errBox.hidden = false;\n                };\n            });\n        },\n    }\n\n})\n","import Ember from 'ember';\nimport { inject as service } from '@ember/service';\n// import isRowExpandable from './helpers/is-row-expandable';\nimport { computed } from '@ember/object';\n\nimport gateway from '../models/gateway';\n\nexport default Ember.Component.extend({\n    store: service(),\n    router: service(),\n    session: service(),\n    expandedRowsArray: [],\n    isRowDeleteConfirmationDialog: {},\n    isRowExpanded: {},    \n    \n    licenceIsValid: Ember.computed('',function() {\n        let valid = false;\n        try {\n            valid = this.session.data.authenticated.isValid;\n        } catch {}\n        return valid;\n    }),\n    // isRowExpandable: Ember.computed('gateway', function() {\n    //     let model = gateway;\n    //     let isRowExpandable = false;\n    //     if (model.length > 0) {\n    //         isRowExpandable = true;\n    //     }\n    //     return isRowExpandable;\n    // }),\n    expandedRows(index) {\n        // console.log(\"expandedRows:::: \" + this.expandedRowsArray[index]);\n        return this.expandedRowsArray[index];\n    },\n    gatewayChildren: Ember.computed('gateway', function() {\n        // Logic to retrieve the children of tableRow\n        // Return an array of child gateways\n        let gateway = this.get('gateway');\n        \n        // console.log(\"tableRow:::: \" + gateway);\n        return gateway.children;\n    }),\n    get_id(gateway) {\n        // console.log(\"get_id:::: \" + gateway.id);\n        return gateway.id;\n    },\n    actions: {\n        toggleExpansion(index) {\n            // console.log(\"INDEX:::: \" + index);\n            if (this.expandedRowsArray[index] != null) {\n                this.expandedRowsArray[index] = !this.expandedRowsArray[index];\n                // console.log(\"In Array:::: \" + JSON.stringify(this.expandedRowsArray));\n            } else {\n              this.expandedRowsArray[index] = false;\n            // console.log(\"Adding INDEX:::: \" + index);\n            }\n            // console.log(this.expandedRowsArray);\n        },\n        createGateway: function() {\n            //console.log(\"create\");\n            this.get('router').transitionTo('create-gateway');\n        },\n        toggleRowDeleteConfirmationDialog(id){\n            //console.log(id);\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        toggleExpandedRow(id){\n            // console.log(\"id::::::\" + id);\n            for(let row in this.get(\"isRowExpanded\")){\n                Ember.set(this.get('isRowExpanded'), row, false);\n            }\n            Ember.set(this.get('isRowExpanded'), id, true); //update isVisibleRowDetails variable for each single row\n            // console.log(\"this.get('isRowExpanded'):::::\" + Object.keys(this.get('isRowExpanded')).toString());\n            \n        },\n        remove(model, object){\n            //console.log(\"remove\");\n            if(object.get('hasChildren')){\n                object.active = false;\n                object.save().then(function(){\n                    // object.unloadRecord();\n                    this.sendAction('refreshRoute');\n                }).catch(function(reason){\n                    console.log(\"Exception from remove:::: reason:: \" + reason);\n                });\n                // console.log(\"after remove\");\n                this.sendAction('refreshRoute');\n                \n                // await this.removeGatewayWithNodes(model, object);\n            } else {\n                this.removeGatewayWithoutNodes(model, object);\n            }\n        },\n        \n    },\n    removeGatewayWithoutNodes(model, object){\n        // let _store = this.get('store');\n        let errBox = document.getElementById(\"gatewayListError\");\n        errBox.hidd = true;\n        //object.get('isDeleted');\n        object.save().then(function(){\n            // deal with records that just were created\n            // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n            //model.removeObject(object);\n            object.deleteRecord();\n\n            object.save().then(function(){\n                object.unloadRecord();\n            }).catch(function(reason){\n                let status = reason.errors[0].status;\n\n                if (status == 403) {\n                    errBox.hidden = false;\n                };\n            });\n\n        }).catch(function(reason){\n            console.log(\"Exception from removeGatewayWithoutNodes:::: reason:: \" + reason);\n        });\n    },\n    async removeGatewayWithNodes(model, object){\n        let _this = this;\n        let _store = this.get('store');\n        let errBox = document.getElementById(\"gatewayListError\");\n        let badCodes = ['null', 'undefined', ''];\n        // Find or create Orphaned Nodes gateway\n        let gatewayType = object.get('gatewayType');\n        let orphanGateway= null;\n\n        errBox.hidden = true;\n        \n        orphanGateway = await _store.findRecord('Gateway',\"0000GW00\").then(function(gateway){\n            return gateway;\n        }).catch(function(reason){\n            // console.log(\"Exception from removeGatewayWithNodes:::: reason:: \" + reason);\n            // console.log(\"Creating orphanGateway:::: \");\n\n            orphanGateway = _store.createRecord('gateway', {\n                id: '0000GW00',\n                name: 'Orphaned Nodes',\n                gatewayType: gatewayType,\n                active: true\n                // set other properties as needed\n            });\n            orphanGateway.save().then(function(gateway){\n                return gateway;\n            }).catch(function(reason){\n                console.log(\"Exception from removeGatewayWithNodes:::: reason:: \" + reason);\n            }); \n            // return something to avoid error\n            return null;        \n        });\n\n        if( !badCodes.includes(orphanGateway) ) {\n            if( badCodes.includes(gatewayType) ) {                    \n                    return null\n            } else {\n                // console.log(\"Running saveNodes:::: \");\n                await this.saveNodes(orphanGateway, object);\n            }\n        } else {\n            console.log(\"Exception from removeGatewayWithNodes:::: reason:: \" + reason);\n            return null;\n        }\n        \n    },\n    \n    \n    async saveNodes(orphanGateway, object) {\n        try {\n            // Reassign children of the deleting gateway to Orphaned Nodes gateway\n            let nodes = object.get('children');\n    \n            // console.log(\"saveNodes:::: before\");\n            // Save all the nodes\n            await Promise.all(nodes.map(node => {\n                node.set('parentGateway', orphanGateway);\n                node.save().then(function(node){\n                    // console.log(\"saveNodes:::: node:: \" + node);\n                }).catch(function(reason){\n                    console.log(\"Exception from saveNodes:::: reason:: \" + reason);\n                })\n            }));\n            // console.log(\"saveNodes:::: after\");\n            // Delete the gateway after all nodes have been saved\n            await this.deleteGateway(object);\n    \n            // console.log(\"deleteGateway:::: \");\n            this.refresh();\n        } catch (reason) {\n            console.log(\"Exception from saveNodes:::: reason:: \", reason);\n        }\n    },\n    deleteGateway(object){\n\n        // Proceed with deletion\n        object.deleteRecord().then(function(){\n            object.save().then(function(){\n                object.unloadRecord();\n            }).catch(function(reason){\n                console.log(\"Exception from deleteGateway:::: reason:: \" + reason);\n            });\n        }).catch(function(reason){\n            console.log(\"Exception from deleteGateway:::: reason:: \" + reason);\n        });   \n    },\n\n})\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class GatewaySelectorComponent extends Component {\n  @action\n  selectGateway(gateway) {\n    const concatenatedValue = `${gateway.PhoneNumber}@${gateway.Carrier}`;\n    this.args.onSelect(concatenatedValue);\n  }\n}\n","define(\"geotechnical-data-platform-new/components/geojson-layer\", [\"exports\", \"ember-leaflet/components/geojson-layer\"], function (_exports, _geojsonLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _geojsonLayer.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n\n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        // console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        // console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                // console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        // console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count-1;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            // console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            // console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            let timeReference = this.get('timeReference');\n            \n            let unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                // console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                // console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                // console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                // console.log(_this.activeChannels)\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        handleSelection(selectedValue) {\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n\n\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n            newInstrumentObject.instrumentStiffness = 0;\n\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n\n                        if(results.id != null) {\n                            let anchorCount = parseInt(newInstrumentObject.id.substring(4,newInstrumentObject.id.length > 9 ? 6 : 5)) - 1;\n                            for(var ctr = 0; ctr <= anchorCount; ctr++) {\n                                store.createRecord('anchor', {number: ctr, distance: ctr, instrument: results}).save();\n                            }\n                        }\n                        \n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n    \n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,\n\n    onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    anchorList: Ember.computed('instID', 'anchors', function() {\n        let anchors = this.get('anchors');\n        let isSelected = {};\n        //console.log(\"triggered\");\n        if (anchors == null) {\n            anchors = this.get('alert').get('anchors');\n            this.set('anchors', anchors);\n        }\n\n        anchors.forEach(element => {\n            isSelected[element.get('selectedCh')] = true;\n        });\n\n\n        return isSelected;\n    }),\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans-1;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        viewData(id) {\n            this.get('router').transitionTo('raw-data', id);\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values' || modelName === 'load-values') { \n                var plated = this.get('instrument').get('plated');\n                var type = this.get('instrument').get('instrumentType').get('title');\n                //console.log(type);\n                \n                if (type === 'dCable') {\n                    chartData.values.splice(0,1);\n                    chartData.values.unshift(0);\n                    if(plated) {\n                        chartData.values.push(chartData.values[chartData.values.length - 1]);\n                    } else {\n                        chartData.values.push(0);\n                    }\n                } else if (type === 'dExto') {\n                    chartData.values.unshift(chartData.values[0]);\n                }\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n\n/*         if (this.get('instrument').get('instrumentType').get('title') == 'dRebar') {\n            for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                anchorDistances[ctr] = (ctr) + '-' + anchorDistances[ctr];\n            }\n\n            for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                anchorDistances[ctr] = (ctr) + '-' + anchorDistances[ctr];\n            }\n        }\n */\n        var modelName = this.get('chartDataModelName');\n        //if (this.get('instrument').get('instrumentType').get('title') != 'dRebar') {\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {\n                anchorDistances.splice(0, 1);\n            }\n        //}\n\n        if (modelName === 'axial-displacement-values') {\n            if (this.get('instrument').get('stacked')) {\n                let half_anchors = (anchorDistances.length / 2) + 1;\n                let gauge = this.get('instrument').get('gaugeLength');\n                while (anchorDistances.length > half_anchors) {\n                    anchorDistances.pop();\n                }\n                anchorDistances[0] = anchorDistances[1] - gauge;\n            } else {\n                let last = anchorDistances[anchorDistances.length-1];\n                anchorDistances.sort(function(a,b){return a-b;});\n                let gauge = this.get('instrument').get('gaugeLength');\n                //console.log('gauge: ' + gauge);\n                anchorDistances.forEach(function(item, index) {\n                    anchorDistances[index] = item - gauge;\n                    //console.log(item);\n                });\n                //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n                anchorDistances.shift();\n                anchorDistances.push(last);\n            }\n        }\n\n\n\n\n        return anchorDistances;\n    }),\n\n    anchorAXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else { //staggered\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n    \n            midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n                return [v, anchorDistances.slice(center + 1)[i]];\n              });\n\n            midPoints.unshift(headExclusion);\n            let mid_temp = [];\n            for(let ctr = 1;ctr < midPoints.length; ctr++) {\n                mid_temp.push((midPoints[ctr - 1] + midPoints[ctr]) / 2);\n            }\n            midPoints = mid_temp;\n\n            if (modelName === 'bending-strain-values') {\n                midPoints.shift();\n                midPoints.pop();\n            }    \n            \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n        \n        //console.log(midPoints);\n        \n        return midPoints;\n    }),\n\n    anchorBXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else {\n\n        let center = anchorDistances.length - 1;\n        center = Math.ceil(center / 2);\n\n        midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n            return [v, anchorDistances.slice(center + 1)[i]];\n          });\n            midPoints.shift();\n            midPoints.pop();                  \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n\n        return midPoints;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        let anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n            if (this.get('instrument').get('stacked')) {\n                anchorDistances.shift(0);\n                let finalSize = anchorDistances.length / 2;\n                while (anchorDistances.length > finalSize) {\n                    anchorDistances.pop(finalSize);\n                }\n                anchorDistances.unshift(this.get('instrument').get('headExclusionLength'));\n            } else { //staggered\n\n            }\n        } else { //not rebar\n            anchorDistances.unshift(0);\n        }\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        if(type === 'dCable') {\n            midDistances.splice(0,1);\n            //midDistances.unshift(0);\n            midDistances[0] = 0;\n            var len = this.get('instrument').get('length');\n            var length = this.get('instrument').get('instrumentLength');\n\n            var modelName = this.get('chartDataModelName');\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {    \n                if(length !== null && length !== 0) {\n                    midDistances.push(length);\n                } else {\n                    midDistances.push(anchorDistances[anchorDistances.length - 1]);\n                }\n            }\n        }\n        // console.log(\"Anchors: \" + anchorDistances);\n         //console.log(\"Mids: \" + midDistances);\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', 'anchorAXDistances', 'anchorBXDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(this.get('instrument').get('instrumentTypeID') === 3) {//rebar \n            if(this.get('instrument').get('stacked')) { //is stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            } else { //is NOT stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            }\n        }\n\n        if (this.get('instrument').get('instrumentType').get('title') !== 'dRebar') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                return anchorMidDistances.map(function(anchorDistance){\n                    return {\n                        key: anchorDistance,\n                        type: 'referencePoints',\n                        values: [\n                            anchorDistance\n                        ]\n                    };\n                });\n                    \n            }\n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'load-values') {\n            return 28;\n        } else if((modelName === 'axial-strain-values' || modelName === 'bending-strain-values') && this.get('instrument').get('stacked')) {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorAXDistances = this.get('anchorAXDistances'),\n            anchorBXDistances = this.get('anchorBXDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints'),\n            anchorMidDistances = this.get('anchorMidDistances')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n\n        \n        if ((modelName === 'strain-values' || modelName === 'load-values') && this.get('instrument').get('instrumentType').get('title') !== 'dRebar') { \n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorMidDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'axial-strain-values' || modelName === 'load-values' ) {//&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorAXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'bending-strain-values' ) { //&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorBXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if(type === 'dCable') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                //console.log(fullRangeDataPoints);\n                fullRangeDataPoints.forEach(element => element.values[0]=0);\n            }\n        }\n        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                if(yAxisLegend.get('title')==='load') {\n                    title = axisName + \" (kN)\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n        var events = this.get('vibeEvents');\n        //console.log('vibeEvents');\n        //console.log(events);\n        if ( this.get('vibeEvents') ) {\n            return [{\n                key: 'BluVibe',\n                type: 'distX',\n                color: '#80bf5c',\n                values: this.get('vibeEvents').map(function(event) {\n                    return [\n                        moment( event.get('id') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        //console.log(linesKyes);\n\n        var chartData = item.getProperties(linesKyes);\n\n        var modelName = this.get('chartDataModelName');\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var plated = this.get('instrument').get('plated');\n            \n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                if(plated) {\n                    chartData.values[0] = chartData.values[1];\n                } else {\n                    chartData.values[0] = 0;\n                }\n            } else {\n                //chartData.values.unshift(0);\n            }\n            chartData.values.push(0);\n        }\n        //console.log(chartData);\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        if(instType === 'Tilt') {\n            return ['X','Y','Z'];\n        } else if(instType === 'Wire') {\n            let anchors = [];\n            let numPorts = this.instrument.get('portsNum');\n            let startVal = 0;\n            let maxVal = numPorts;\n/*             if (this.port != '') {\n                //startVal = (1 * this.port) - 1;\n                startVal = (1 * numPorts) - 1;\n                maxVal = startVal + 1;\n            }\n */            for(let ctr = startVal; ctr < maxVal; ctr++) {\n                anchors.push('T' + (ctr + 1));\n                anchors.push(ctr + 1);\n            }\n            return anchors;\n        } else if(instType === 'BluVibe') {\n            return ['Data'];\n        }\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var midPoints = [];\n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                //Adjust anchors to mid points between anchors\n                for(var ctr = 1; ctr < anchorDistances.length ; ctr++) {\n                    var mid = (anchorDistances[ctr - 1] + anchorDistances[ctr]) / 2;\n                    midPoints[ctr] = + mid.toFixed(2);\n                }\n\n                //console.log(midPoints);\n\n                //add zero point and end point\n                midPoints.splice(0,1);\n                midPoints[0] = 0;\n                midPoints.push(anchorDistances[anchorDistances.length - 1]);  //TODO: change to length of exto once known\n                //console.log(midPoints);\n            } else if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                //Adjust anchors to mid points between anchors\n                //console.log(this.get('instrument'));\n                let headExclusion = this.get('instrument').get('headExclusionLength');\n                let leftAnchors = [headExclusion];\n                let rightAnchors = [headExclusion];\n                \n                let center = anchorDistances.length - 1;\n                center = Math.ceil(center / 2);\n\n                leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n\n                rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n\n                let midLeft = [];\n                for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                    midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                }\n\n                let midRight = [];\n                for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                    midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                }\n\n                if (modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'load-values') {\n                    if(this.get('instrument').get('stacked')) {\n                        midPoints = midLeft;\n                        if (modelName === 'load-values') {\n                            midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n                        }\n                    } else {\n                        midPoints = midLeft.concat(midRight);\n                        /* midPoints = $.map(midPoints.slice(1, center + 1), function(v, i) {\n                            return [v, midPoints.slice(center + 1)[i]];\n                          }); */\n                        if (modelName === 'bending-strain-values') {\n                            midPoints.shift();\n                            midPoints.pop();\n                        }\n\n                    }\n                } else {\n                    midPoints = midLeft.concat(midRight);\n                }\n                if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                    for(let ctr = 0; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n  \n/*                     for(let ctr = 0; ctr < midPoints.length / 2; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n        \n                    for(let ctr = 3; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n */                }\n            } else {\n                for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                    midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n                }\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        } else if (modelName === 'axial-displacement-values' && this.get('instrument').get('stacked')) {\n            let mid = (anchorDistances.length - 1) / 2;\n            while (anchorDistances.length > (mid + 1)) {\n                anchorDistances.pop();\n            }\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else if (modelName === 'axial-displacement-values' && !this.get('instrument').get('stacked')) {\n            anchorDistances.sort(function(a,b){return a-b;});\n\n            //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else {\n            if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                if (modelName === 'displacement-values') { //rebar stretch\n                    var midPoints = [];\n                    let headExclusion = this.get('instrument').get('headExclusionLength');\n                    let leftAnchors = [headExclusion];\n                    let rightAnchors = [headExclusion];\n                    \n                    let center = anchorDistances.length - 1;\n                    center = Math.ceil(center / 2);\n    \n                    leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                    rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n    \n                    if(!this.get('instrument').get('stacked')) {\n                        rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n                    }\n    \n                    let midLeft = [];\n                    for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                        midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                    }\n    \n                    let midRight = [];\n                    for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                        midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                    }\n\n                    midPoints = midLeft.concat(midRight);\n                    anchorDistances = midPoints;\n\n                    anchorDistances.unshift(0);\n                }\n                for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n    \n                for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n            }    \n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n            var mName = _this.get('chartDataModelName');\n            if (mName === 'strain-values' || mName === 'strain-rate-values' || mName === 'load-values') {\n                zoomDataPoints.forEach(element => element.values[0] = 0);\n            }\n        }    \n\n/*         if (this.get('instrument').get('instrumentType').get('title') == 'Tilt') {\n                zoomDataPoints.forEach(element => element.values.shift());\n        }    \n */\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values' && this.get('instrument').get('instrumentType').get('title') !== 'BluVibe'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (vibeEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    // yAxisLegend: Ember.computed('chartDataModelName', function() {\n    //     let chartDataModelName = this.get('chartDataModelName');\n    //     let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n    //     return promise;\n    // }),\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let chartTitle = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_');\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        return promise; \n    }),\n\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            //vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        //console.log(vibeEventsArray);\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = '';\n                if (instType === 'BluVibe') {\n                    title = _this.get('chartDataModelName');\n                } else {\n                    title = yAxisLegend.get('title');\n                }\n                \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    case 'event-frequency':\n                        axisName = \"Event Frequency\";\n                        break;\n                    case 'event-ppv':\n                        axisName = \"Event PPV\";\n                        break;\n                    case 'event-ppa':\n                        axisName = \"Event PPA\";\n                        break;\n                    case 'cumulative-event-frequency':\n                        axisName = \"Cumulative Frequency\";\n                        break;\n                    case 'cumulative-event-ppv':\n                        axisName = \"Cumulative PPV\";\n                        break;\n                    case 'cumulative-event-ppa':\n                        axisName = \"Cumulative PPA\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                        //console.log(title);\n                }\n\n                /* let chartName = yAxisLegend.get('title').capitalize();\n                let chartNameL = chartName.substr(0, chartName.indexOf('_'));\n                let chartNameR = chartName.substr(chartName.indexOf('_') + 1).capitalize();\n                if(chartNameL !== \"\") {\n                    chartName = chartNameL + \" \" + chartNameR;\n                } */\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    if(yAxisLegend.get('title')==='load') {\n                        title = axisName + \" (kN)\";\n                    } else if (instType === 'Wire') {\n                        if (raw === true) {\n                            title = \"Frequency (Hz)\";\n                        } else {\n                            title = \"Calculated Values\";\n                        }\n                    } else {\n                        title = axisName  + \" (\" + units + \")\";\n                    }\n                } else {\n                    if (instType === 'BluVibe') {\n                        title = axisName;\n                    } else {\n                        title = axisName  + \" (\" + units + \")\";\n                    }\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){// || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('instrument', function() {\n        let anchors = this.get(\"instrument\").get('anchors');\n        let dist = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        return dist;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","define(\"geotechnical-data-platform-new/components/image-layer\", [\"exports\", \"ember-leaflet/components/image-layer\"], function (_exports, _imageLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _imageLayer.default;\n    }\n  });\n});\n","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n    inst_id: \"Select\",\n    actions: {\n        setID(inst){\n            this.set(\"inst_id\", inst.id);\n            this.setValue(\"instType\", inst.instrumentTypeID);\n            this.setValue(\"id\", inst.id);\n        },\n    }\n});","import Ember from 'ember';\nimport { inject as service } from '@ember/service';\nimport { computed } from '@ember/object';\n\nexport default Ember.Component.extend({\n    router: service(),\n    session: service(),\n    isRowDeleteConfirmationDialog: {},\n    licenceIsValid: Ember.computed('',function() {\n        let valid = false;\n        try {\n            valid = this.session.data.authenticated.isValid;\n        } catch {}\n        return valid;\n    }),\n    \n    // projectValue: computed('tableRow', function() {\n    //     let projectValue = this.get('tableRow');\n    //     console.log(\"projectValue:::::::::::::: \" + tableRow)\n    //     return projectValue\n    // }),\n    \n    // levelValue: computed('tableRow.level.value', function() {\n    //     return this.get('tableRow.level.value');\n    // }),\n\n    actions: {\n        createInstrument: function() {\n            //console.log(\"create\");\n            this.get('router').transitionTo('create-instrument');\n            //this.transitionTo('create-instrument');\n        },\n        toggleRowDeleteConfirmationDialog(id){\n            //console.log(id);\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        remove(model, object){\n            let _this = this;\n            let _store = this.get('store');\n\n            let errBox = document.getElementById(\"instrumentListError\");\n\n            errBox.hidd = true;\n\n            //object.get('isDeleted');\n            object.save().then(function(){\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                //model.removeObject(object);\n                // console.log(\"Object saved. Now deleting... \")\n                object.deleteRecord();\n                \n                object.save().then(function(){                    \n                    object.unloadRecord();\n                }).catch(function(reason){\n                    let status = reason.errors[0].status;\n\n                    if (status == 403) {\n                        errBox.hidden = false;\n                    };\n                });\n            \n            }).catch(function(reason){\n\n                let status = reason.errors[0].status;\n\n                if (status == 403) {\n                    errBox.hidden = false;\n                };\n            });\n        },\n    }\n\n})","define(\"geotechnical-data-platform-new/components/interactive-layer\", [\"exports\", \"ember-leaflet/components/interactive-layer\"], function (_exports, _interactiveLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _interactiveLayer.default;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    isVisibleImportKeyForm: true,\n    isVisibleError: false,\n    isSubmitting: false,\n    loading: false,\n    actions: {\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            } else if (!Array.isArray(propertyNames) && propertyNames !== '' && propertyValues !== '') {\n                _this.set(propertyNames, propertyValues);\n            }\n        },\n        importKey() {\n            // this.set('isVisibleImportDataForm', false);\n            this.set('isSubmitting', true);\n        },\n        cancelImport() {\n            this.set('isVisibleImportDataForm', false);\n        },\n        errorHappened(message) {\n            console.log('error happened: ' + message);\n            this.set('isVisibleError',true);\n            Ember.run.scheduleOnce('afterRender', this, function() {\n                this.set('isSubmitting',false);\n                this.set('loading', false);\n            });\n        }\n    }\n});","import Ember from 'ember';\n//import EmberUploader from 'ember-uploader';\nimport FileField from 'ember-uploader/components/file-field';\nimport Uploader from 'ember-uploader/uploaders/uploader';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\nimport { inject as service } from '@ember/service';\nimport { computed, observer } from '@ember/object';\n\nexport default FileField.extend({\n    session: service(),\n    isSubmitting: false,\n    isSubmittingChangeObserver: Ember.observer('isSubmitting', function() {\n        if (this.get('isSubmitting')) {\n            this.send('submitFile');\n        }\n    }),\n    uploader: null,\n    files: null,\n    ajaxSettings: computed({\n        get() {\n            return {\n                headers: {\n                    Accept: 'application/vnd.api+json',\n                    withCredentials: true,\n                    Authorization: 'Basic ' + this.get('session').data.authenticated['login']\n                }\n            }\n        }\n    }),    \n    fileSettings: {},\n    filesDidChange: function(files) {\n        const uploader = Uploader.create({\n            url: ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + '/import-key/',\n            paramName: 'key_data',\n            ajaxSettings: this.get('ajaxSettings')\n        });\n\n        this.set('uploader', uploader);\n        this.set('files', files);\n    },\n    async updateLicence(){\n        \n        //await new Promise(r => setTimeout(r, 1500));\n\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT;\n        url += url.endsWith(\"/\") ? \"\" : \"/\";\n        url += \"licences/\";\n\n        let response = await fetch(url, {\n            method: 'GET',\n            headers: {\n                'Content-Type': 'application/json',\n                'Authorization': 'Basic ' + this.get('session').data.authenticated['login']\n            },\n        });\n\n        if (response.ok) {\n            let licence = await response.json();\n            licence = licence.data[0];\n            let session = this.get('session');\n            session.data.authenticated['is-valid'] = licence.attributes['is-valid'];\n            session.data.authenticated['limit'] = licence.attributes['within-limit'];\n            session.data.authenticated['modules'] = licence.attributes['modules'];\n            this.set('session',session);\n\n            location.reload();\n        }\n    },\n    actions: {\n        async submitFile(object){\n            console.log('submitting');\n            const _this = this;\n            let files = _this.get('files');\n\n            //files = null;\n            //this.sendAction('importError');\n\n            if (!Ember.isEmpty(files)) {\n                // this second argument is optional and can to be sent as extra data with the upload\n                let value = _this.get('uploader')\n                $(\"body\").css(\"cursor\", \"progress\");\n                _this.get('uploader').upload(\n                    files[0],\n                    _this.get('fileSettings')\n                ).then(data => {\n                    // Handle success\n                    // Reload the page to show imported data\n                    _this.updateLicence();\n                    $(\"body\").css(\"cursor\", \"default\");\n                    //window.location.reload(true);\n                }, error => {\n                    $(\"body\").css(\"cursor\", \"default\");\n                    //this.get('controllers.raw-data-values').sendAction('toggleProperty','isVisibleError');\n                    // Handle failure\n                    this.sendAction('errorHappened',error.statusText);\n                });\n            }\n        },\n        cancel(){\n            // this.set('newValue', this.get(`object.${this.get('field')}`));\n            // this.set('isEditing', false);\n            // this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        }\n    },\n});","define(\"geotechnical-data-platform-new/components/leaflet-map\", [\"exports\", \"ember-leaflet/components/leaflet-map\"], function (_exports, _leafletMap) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _leafletMap.default;\n    }\n  });\n});\n","// app/components/log-viewer-table.js\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default class LogViewerTableComponent extends Component {\n  @service store;\n\n  // Assume these properties are bound to your template's form inputs\n  name = '';\n  errorType = '';\n  \n  get logViewers() {\n    return this.store.findAll('log-viewer');\n  }\n\n  @action\n  loadLogViewers() {\n    this.store.query('log-viewer', { /* your query params */ });\n  }\n\n}\n","define(\"geotechnical-data-platform-new/components/mapbox-gl-call\", [\"exports\", \"ember-mapbox-gl/components/mapbox-gl-call\"], function (_exports, _mapboxGlCall) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _mapboxGlCall.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/mapbox-gl-control\", [\"exports\", \"ember-mapbox-gl/components/mapbox-gl-control\"], function (_exports, _mapboxGlControl) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _mapboxGlControl.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/mapbox-gl-image\", [\"exports\", \"ember-mapbox-gl/components/mapbox-gl-image\"], function (_exports, _mapboxGlImage) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _mapboxGlImage.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/mapbox-gl-layer\", [\"exports\", \"ember-mapbox-gl/components/mapbox-gl-layer\"], function (_exports, _mapboxGlLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _mapboxGlLayer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/mapbox-gl-marker\", [\"exports\", \"ember-mapbox-gl/components/mapbox-gl-marker\"], function (_exports, _mapboxGlMarker) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _mapboxGlMarker.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/mapbox-gl-on\", [\"exports\", \"ember-mapbox-gl/components/mapbox-gl-on\"], function (_exports, _mapboxGlOn) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _mapboxGlOn.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/mapbox-gl-popup\", [\"exports\", \"ember-mapbox-gl/components/mapbox-gl-popup\"], function (_exports, _mapboxGlPopup) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _mapboxGlPopup.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/mapbox-gl-source\", [\"exports\", \"ember-mapbox-gl/components/mapbox-gl-source\"], function (_exports, _mapboxGlSource) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _mapboxGlSource.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/mapbox-gl\", [\"exports\", \"ember-mapbox-gl/components/mapbox-gl\"], function (_exports, _mapboxGl) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _mapboxGl.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/marker-layer\", [\"exports\", \"ember-leaflet/components/marker-layer\"], function (_exports, _markerLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _markerLayer.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count-1;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            let timeReference = this.get('timeReference');\n            \n            let unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference;\n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        handleSelection(selectedValue) {\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {strokeLength:10000});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        createInstrument(object){\n            //console.log('test');\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if(!error) {\n                if(typeof newInstrumentObject.strokeLength === 'undefined' || newInstrumentObject.strokeLength === 0) {\n                    error = true;\n                    this.setError('fieldError',true);\n                    this.setError('isVisibleError',true);\n                }\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        // console.log(dup);\n                        if(results.id != null) {\n                            store.createRecord('anchor', {number: 0, distance: 0, instrument: results}).save();\n                            store.createRecord('anchor', {number: 1, distance: 1, instrument: results}).save();\n                        }\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,\n\n        onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n\n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    anchorList: Ember.computed('instID', 'anchors', function() {\n        let anchors = this.get('anchors');\n        let isSelected = {};\n        //console.log(\"triggered\");\n        if (anchors == null) {\n            anchors = this.get('alert').get('anchors');\n            this.set('anchors', anchors);\n        }\n\n        anchors.forEach(element => {\n            isSelected[element.get('selectedCh')] = true;\n        });\n\n\n        return isSelected;\n    }),\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans-1;\n    }),\n    \n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n            \n            let unallowedValues = [null,undefined,''];\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        viewData(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let dateTimeFormat = \"DD-MM-YYYY\";\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            this.get('router').transitionTo('raw-data', id, { queryParams: {\"advancedDateTimeFormat\": dateTimeFormat, \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values') { \n                chartData.values.unshift(chartData.values[0]);\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n        if (anchorDistances.length > dataValuesCount && modelName === 'strain-values') {\n            anchorDistances.splice(0, 1);\n        }\n        return anchorDistances;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        let anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        anchorDistances.unshift(0);\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(modelName === 'strain-values' || modelName === 'strain-rate-values') {\n            return anchorMidDistances.map(function(anchorDistance){\n                return {\n                    key: anchorDistance,\n                    type: 'referencePoints',\n                    values: [\n                        anchorDistance\n                    ]\n                };\n            });\n                \n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values') {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n\n        zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n            return {\n                key: chartLineIndex,\n                // mean: 3,\n                type: 'lines',\n                timestamp: zoomTimePoints[chartLineIndex],\n                values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        anchorDistances[dataPointIndex],\n                        dataPoint\n                    ];\n                })\n            };\n        });\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                units = \"μm\"\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        // units = \"%\";\n                        units = \"μ ε\"\n\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"μ ε/day\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                title = axisName + \" (\" + units + \")\";\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n/*                 zoomChart.xAxis.dispatch.on('xAxisMouseMove', function (mouseMove) {\n                    console.log('test');\n                });\n */\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    yAxisUnit:null,\n    init() {\n        this._super(...arguments);\n        const queryParams = new URLSearchParams(window.location.search);\n        const yAxisUnitParam = queryParams.get('advancedYAxisUnit');\n        if(yAxisUnitParam){\n            this.set('yAxisUnit', yAxisUnitParam);\n        }\n    },\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        //console.log(linesKyes);\n        var chartData = item.getProperties(linesKyes);\n        chartData.values[1] = chartData.values[1]; //MANUAL convert to μm\n\n        var modelName = this.get('chartDataModelName');\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n            chartData.values.push(0);\n        }\n        //console.log(chartData);\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n        var chartData = item.getProperties(linesKyes)\n        chartData.values[1] = chartData.values[1]; //MANUAL convert to μm\n\n        return chartData;\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n            var midPoints = [];\n            for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n//    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            //vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend; \n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = yAxisLegend.get('title');\n                \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        units = _this.get('yAxisUnit') ? _this.get('yAxisUnit') :  \"μm\";\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        // units = \"%\";\n                        units = \"μ ε\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"μ ε/day\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    title = axisName + \" (\" + units + \")\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n                console.log(zoomChartLinesData);\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){//} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n        \n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('instrument', function() {\n        let anchors = this.get(\"instrument\").get('anchors');\n        let dist = anchors.map(function(anchor, index){\n            let dist = anchor.get('distance');\n            return dist;\n        });\n\n        return dist;\n    }),\n    modifiedDisplacementData: Ember.computed('displacementData', function() {\n        return this.get(\"displacementData\");\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","define(\"geotechnical-data-platform-new/components/modal-dialog\", [\"exports\", \"ember-modal-dialog/components/modal-dialog\"], function (_exports, _modalDialog) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _modalDialog.default;\n    }\n  });\n});\n","import Component from '@ember/component';\nimport Ember from 'ember';\nimport { inject as service } from \"@ember/service\";\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n\n}\n\nexport default class CreateMultiExtoInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n        // this.loadInstruments(this.instrumentList);\n    }\n    \n    headAt = 'HAC';\n\n    loadInstruments(instruments) {\n        const rawData = instruments; // Assuming instruments is an array of instruments objects\n        // console.log(\"raw instrument data::::\")\n        // console.log(rawData)\n        // Filter instruments to get a list of only multi-dExto instruments\n        \n        const filteredInstruments = rawData.filter(function (instrument) {\n            if(instrument.active == true && instrument.get('instrumentType').title.toLowerCase() === 'dexto'){\n                return instrument.get('instrumentType').title.toLowerCase() === 'dexto';\n            }\n        });\n\n        const mappedGateways = filteredInstruments.map( (instrument, index) => {\n            // Retrieve parent gateway record based on available information\n            \n            // console.log(\"instrument::::\")\n            // console.log(instrument);\n            // console.log(instrument.get('headAt').get('title'));\n    \n            let instr = {\n                title: instrument.get('id') + ' - ' + instrument.get('headAt').get('title'),\n                id: index + 1, \n                instrumentID: instrument.get('id'),\n                position:instrument.get('headAt').get('title'),\n                data: instrument\n            };\n            return instr;\n        });\n    \n        this.set('instruments', mappedGateways);\n        // console.log(\"instrumentlist::::\")\n        // console.log(this.get('instruments'));\n    }\n    buildInstrumentID(){\n        // console.log(\"Building new instrument ID\")\n        let newID = \"9999\" + this.buildInstrumentChannels();\n        return newID;\n    }\n    buildInstrumentChannels(){\n        // console.log(\"calculating new channel number....\")\n        const selectedInstrList = this.get('selectedInstruments');\n        let numberOfChannels = \"\";\n        selectedInstrList.forEach((instr, index)=>{\n            let instrID = instr.instrumentID;\n            // console.log(\"instr id is \" + instrID + \" with \" + instrID.length + \" characters\")\n            if(instrID.length ==9){\n                let channel = instrID[4]\n                numberOfChannels += channel;\n            } else if (instrID.length == 10){\n                let channel = substring(4,6);\n                numberOfChannels += channel;\n            }\n        })\n        // console.log(\"new channel number:::::\" + numberOfChannels );\n        return numberOfChannels;\n\n    }\n    maxAllowedExtos = 2;\n    isAuthenticated = true;\n    installDate = null;\n    authError = false;\n    extoInputError = false;\n    loading = false;\n    searchedValue = \"\";\n    instrumentList = [];\n    selectedInstruments = [];\n    searchInstruments=[];\n\n    actions= {\n        onDropdownSearch(value){\n            this.set(\"searchedValue\", value);\n        },\n        async searchForExto(){\n            // console.log('Searching with:' + this.get('searchedValue'));\n\n            try {\n                this.set(\"loading\", true);\n                let store = this.get('store');\n                let respData = await store.query('instrument', {small: 'false', search: this.get('searchedValue')}).then((data)=>{\n                    return data;\n                })\n                // console.log(\"respData  is\")\n                this.loadInstruments(respData);\n                this.set(\"loading\", false);\n\n            } catch (error) {\n                this.set(\"extoInputError\", true);\n            }\n\n        },\n        \n        async setID(instr){\n            const instrumentList = this.get(\"instruments\");\n            // console.log(\"setID::::::instrumentlist::::\")\n            // console.log(instrumentList);\n            // console.log(\"selected instrument::::\")\n            // console.log(instr);\n            // console.log(\"selected list::::\")\n            // console.log(this.selectedInstruments);\n            if(this.selectedInstruments.length == this.get(\"maxAllowedExtos\")){\n            }else{\n                if(instr != null && !this.selectedInstruments.includes(instr)){\n                    // Only append to the list if < 5 items\n                    this.selectedInstruments.addObject(instr)\n                    this.set('selectedInstruments', this.selectedInstruments);\n                    // console.log(\"updated selectedInstruments::::\")\n                    // console.log(this.selectedInstruments);\n                }\n            }\n        },\n        resetInstrument(object){\n            // console.log(\"resetting selected instruments\")\n            this.set('selectedInstruments', []);\n        },\n        createInstrument(object){\n\n            // console.log(\"Clicked create::::\" + this.selectedInstruments.length);\n\n            if (this.selectedInstruments.length > 0){\n                let _this = this,\n                store = this.get('store'),\n                newInstrumentObject = this.get('newInstrumentObject');\n\n                this.setError('isVisibleError',false);\n                this.setError('duplicateError',false);\n                this.setError('fieldError',false);\n\n                let error = false;\n                // console.log(\"before for loop, newInstrumentObject:::::;\");\n                // console.log(newInstrumentObject)\n\n                newInstrumentObject.id = '999999999'; //this.get('id');\n                newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n                newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n                newInstrumentObject.active = true;\n\n\n                let newInstrumentID = '999999999'; //this.buildInstrumentID();\n                // console.log(\"new instr ID:::::\" + newInstrumentID );\n                // newInstrumentObject.instrumentID = newInstrumentID;\n\n                if (this.get('zeroTimestamp') != null) {\n                    newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                }\n                \n                let dup = false;\n                if(!error && this.selectedInstruments.length > 0 && this.selectedInstruments.length <= 5 ) {\n                    this.selectedInstruments.forEach((instr, index) => {\n                        // console.log(\"creating a new instr obj\");\n                        let instrumentPosition = \"instrumentPosition\" + (index + 1); //instrumentPosition1, instrumentPosition2,...,\n                        newInstrumentObject[instrumentPosition] = instr.data;\n                    });\n                }\n                // console.log(\"after for loop, newInstrumentObject:::::;\");\n                // console.log(newInstrumentObject)\n                // look to see if dummy id exists already.\n                let existingInstrument = store.peekRecord('instrument', newInstrumentObject.id);\n\n                // remove from store if it does.\n                if (existingInstrument) {\n                    // Unload the existing record from the store\n                    store.unloadRecord(existingInstrument);\n                }\n                let newInstrument;\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    \n                    console.log(err);\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n\n                this.setError('authError', false);\n\n                if (!error) {\n                    \n                        newInstrument.save().then(function(results){\n                            // console.log(dup);\n                            if(results.id != null) {\n                                _this.get('submit')(results.id);\n                            } else {\n                                this.setError('isVisibleError',true);\n                                error = true;\n                            }\n                        }).catch(function(reason) {\n                            \n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        }); \n                } \n            }\n        }\n    }\n}","import Ember from 'ember';\nimport { inject as service } from '@ember/service';\nimport gateway from '../../models/gateway';\n\n\nexport default Ember.Component.extend({\n    session: service(),\n    isRowDeleteConfirmationDialog: {},\n    store: service(),\n    rowData:[],\n    masterModifiedRawData:[],\n    init() {\n        this._super(...arguments);\n        // Inspecting gateway when the component is initialized\n        // let displacementValueObject = this.get('displacementValueObject');\n        // console.log(\"displacementValueObject\");\n        // console.log(displacementValueObject);\n        let displaceRowvalues = this.get('displacementValueObject.values');\n        // let displaceRowvalues = [0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16,17,18,19,20, 21,22,24,25];\n        let tempRowValues = this.get('temperatureValuesModel').objectAt(Number(this.key));\n        this.buildMainRowData(this.multiExtoInstr, displaceRowvalues, tempRowValues)\n\n    },\n    buildMainRowData: function(multiExtoInstr, values, tempRowValues){\n        //trim the fat array of displacement values to skip the first 0. \n        console.log(\"values::::\" + values)\n        // console.log(\"multiExtoInstr::::\")\n        // console.log(multiExtoInstr)\n        let mainData = [];\n        let i =0\n        for(const instr_position_index of ['1', '2', '3', '4', '5']){\n            // console.log(\"instr_position_index::::\", instr_position_index)\n            let instrumenPositionObj = multiExtoInstr['instrumentPosition'+instr_position_index]\n            if(instrumenPositionObj != null){\n                let subExtoID = instrumenPositionObj.id;\n                let channels = \"\";\n                let subRowData = [];\n                //extract the number of channels \n                if(subExtoID.length == 9){\n                    channels = subExtoID[4]\n        \n                }else{\n                    channels = subExtoID.slice(4,6)\n                }\n\n\n                //pushing displacement values into row data \n                // console.log(\"values.length is : \", values.length)\n                // console.log(\"before while loop, i is : \", i)\n                while(i < values.length){\n                    if(subRowData.length == channels){\n                        break;\n                    }else{\n                        subRowData.push(values[i]);\n                    }\n                    // console.log(\"end of loopsubRowData: \", subRowData)\n                    i++;\n                }\n\n                //pushing temperature values into row data \n                subRowData.push(tempRowValues.values[Number(instr_position_index)-1])\n                mainData.push(subRowData);\n                // console.log(\"instrumenPositionObj ID: \", instrumenPositionObj, \" has # of channels: \", channels)\n            }        \n            // console.log(\"mainData: \", mainData)\n            // console.log(\"masterDataArray::::\", masterDataArray);            \n        }\n\n        //part II after deeply massaging the data, need to adjust it so that it comforms to offset values\n        // mainData.forEach((arr, index)=>{\n        //     if(index == 0){\n        //         //do nothing\n        //     }else{\n        //         const prevArrayIndex = index - 1; \n        //         const prevArray = mainData[prevArrayIndex];\n        //         console.log(\"prevArrayIndex::::\", prevArrayIndex);   \n        //         console.log(\"prevArray::::\", prevArray);   \n        //         let offsetVal = prevArray.slice(-2);\n        //         arr.forEach((val, i)=>{\n        //             if( i == (arr.length - 1)){\n        //                 // arr[i] =val;\n        //             }else{\n        //                 arr[i] = Number.parseFloat(val) + Number.parseFloat(offsetVal);\n        //                 arr[i] = Number.parseFloat(arr[i]).toFixed(2); \n        //             }\n                    \n\n        //         })\n                \n        //     }\n        // })\n        console.log(\"mainData: \",mainData);\n        this.set(\"rowData\", mainData);\n    },\n    buildCustomAnchors: Ember.computed(async function(extoInstrumentObj) {\n        //This helper function will build the data to be displayed for each instrument_Position\n        // console.log(\"extoInstrumentObj:\", extoInstrumentObj);\n\n\n        if(extoInstrumentObj != \"\" && extoInstrumentObj != null){\n\n            let channels = \"\"\n            let anchors = [];\n            let subExtoID = extoInstrumentObj.instrumentID\n\n            //extract the number of channels \n            if(subExtoID.length == 9){\n                channels = subExtoID[4]\n\n            }else{\n                channels = subExtoID.slice(4,6)\n            }\n            // console.log(channels, \" number of channels\");\n\n    \n            let instrPositionAttributesObj = await this.store.findRecord('instrument', subExtoID).then(async function(instrument){\n                // console.log(\"instrument is\");\n                // console.log(instrument);\n                //U have to use this await and .then() to call attributes who are Classes. If it is regularly str or int fields, then just directly call it\n                let anchorPt = await instrument.get('anchors').then(obj=>{\n                    let anchorPt = '';\n                    obj.forEach(element => {       \n                        anchorPt == \"\" ? anchorPt += element.get('distance') : anchorPt += \"-\" + element.get('distance');\n                    });\n                    return anchorPt \n                });\n                anchorPt = anchorPt == \"\" ? \"N/A\" : anchorPt;\n                return {anchors:anchorPt};\n            }).catch(function(reason){\n                return {anchors:\"\"};        \n            });\n    \n\n            // for(let i = 0; i < channels; i++){\n            //     anchors.push(i == 0 ? \"CH0\" : \"CH\"+i);\n            // }\n\n            this.set(\"instrPositionAttributesObj\", instrPositionAttributesObj)\n        }\n        \n    }),\n    getSpecificRowData:Ember.computed(function(){\n        // console.log(\"called : getSpecificRowData\");\n        let currMultiDExto = this.get(\"multiExtoInstr\");\n        let currentExtoInstr = this.get(\"currentExtoInstr\");\n        for(const instr_position_index of ['1', '2', '3', '4', '5']){\n            // console.log(\"instr_position_index::::\", instr_position_index)\n            let instrumenPositionObj = currMultiDExto['instrumentPosition'+instr_position_index]\n            if(instrumenPositionObj != null && instrumenPositionObj.id == currentExtoInstr.instrumentID){\n                let index = Number(instr_position_index) - 1;\n                // console.log(\"getSpecificRowData: \", this.get(\"rowData\")[index])\n                return this.get(\"rowData\")[index];\n            }\n        }\n        return [];\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n\n})\n","import Ember from 'ember';\nimport { inject as service } from '@ember/service';\nimport gateway from '../../models/gateway';\n\n\nexport default Ember.Component.extend({\n    session: service(),\n    isRowDeleteConfirmationDialog: {},\n    store: service(),\n    init() {\n        this._super(...arguments);\n        this.getAnchors();\n\n    },\n    getAnchors:async function() {\n\n        const slaveInstrID = ['instrumentPosition1', 'instrumentPosition2', 'instrumentPosition3', 'instrumentPosition4', 'instrumentPosition5'];        \n        const slaveInstrObjDataPromises = slaveInstrID.map(async (positionLabel) => {\n            const instrumentPosition = this.get('instrument').get(positionLabel); \n            const instrumentPositionID = this.get('instrument').get(positionLabel);                        \n            // console.log('instrumentPosition is:' + instrumentPositionID);                \n            // const positionObjID = instrumentPosition['id'];\n\n            if (instrumentPosition != null){\n                try {                     \n                    // console.log('instrumentPosition is:');     \n                    // console.log(instrumentPosition);         \n                    const instrPositionAttributesObj = await instrumentPosition.get('anchors').then(anchors => {\n                        const anchorDistances = anchors.map(anchor => anchor.get('distance'));\n                        return { id: instrumentPositionID, anchorDistances: anchorDistances };\n                    });\n                    return instrPositionAttributesObj;\n                } catch (reason) {\n                    return {}; // Return empty object in case of error\n                }\n            }else{\n                return null;\n            }\n        });\n        \n        const slaveInstrObjData = (await Promise.all(slaveInstrObjDataPromises)).filter(obj => obj !== null); // Filter out null values\n        // console.log('slaveInstrObjData');\n        // console.log(slaveInstrObjData);\n        this.set('anchorDistances', slaveInstrObjData);\n    },\n    anchorDistances:[],\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n\n    }\n\n})\n","import Component from '@ember/component';\nimport Ember from 'ember';\nimport { inject as service } from \"@ember/service\";\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n    @service router;\n    @service store;\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n        this.loadSelectedInstruments(this.instrument);\n    }\n\n    async loadSelectedInstruments(instrument){\n        let selectedInstrs = []\n        if(instrument != null){\n            for (let i = 1; i <= 5; i++) {\n                let instrPositionLabel = \"instrumentPosition\" + i;\n                let instrPositionObj = instrument[instrPositionLabel]; \n                if(instrPositionObj != null){\n\n                    //If you need any other attributes for children instrument obj, add into the AttrubutesObj\n                    let instrPositionAttributesObj = await this.store.findRecord('instrument', instrPositionObj['id']).then(async function(instrument){\n                        // console.log(\"instrument is\");\n                        // console.log(instrument);\n                        //U have to use this await and .then() to call attributes who are Classes. If it is regularly str or int fields, then just directly call it\n                        let anchorPt = await instrument.get('anchors').then(obj=>{\n                            let anchorPt = '';\n                            obj.forEach(element => {       \n                                anchorPt == \"\" ? anchorPt += element.get('distance') : anchorPt += \"-\" + element.get('distance');\n                            });\n                            return anchorPt \n                        });\n                        anchorPt = anchorPt == \"\" ? \"N/A\" : anchorPt;\n                        let strokeLen = instrument['strokeLength'] == \"\" ? \"N/A\" : instrument['strokeLength'];\n                        return {anchors:anchorPt, strokeLength: strokeLen};\n                    }).catch(function(reason){\n                        return {anchors:\"\"};        \n                    });\n            \n                    let instr;\n                    if(instrPositionObj['headAt'] == null){\n                        instr = {\n                            title: instrPositionObj['id'],\n                            id: i, \n                            instrumentID: instrPositionObj['id'],\n                            position: '',\n                            data: instrPositionObj,\n                            anchorPoints: instrPositionAttributesObj.anchors,\n                            strokeLength: instrPositionAttributesObj.strokeLength\n                        };\n                    }else{\n                        instr = {\n                            title: instrPositionObj['id'] + ' - ' + instrPositionObj['headAt']['title'],\n                            id: i, \n                            instrumentID: instrPositionObj['id'],\n                            position:  instrPositionObj['headAt']['title'],\n                            data: instrPositionObj,\n                            anchorPoints: instrPositionAttributesObj.anchors,\n                            strokeLength: instrPositionAttributesObj.strokeLength\n                        };\n                    }\n                    selectedInstrs[i - 1] = instr;\n\n                }\n            }\n        }\n        this.set(\"selectedInstruments\", selectedInstrs);\n    }\n        \n    isAuthenticated = true;\n    installDate = null;\n    authError = false;\n    instrumentList = [];\n    selectedInstruments = [];\n    anchorPoints = [];\n    isEditing = false;\n    isAuthenticated = true;\n\n    actions= {\n        async setID(instr){\n            const instrumentList = this.get(\"instruments\");\n            // console.log(\"setID::::::instrumentlist::::\")\n            // console.log(instrumentList);\n            // console.log(\"selected instrument::::\")\n            // console.log(instr);\n            // console.log(\"selected list::::\")\n            // console.log(this.selectedInstruments);\n            if(this.selectedInstruments.length == 6){\n            }else{\n                if(instr != null && !this.selectedInstruments.includes(instr)){\n                    // Only append to the list if < 5 items\n                    this.selectedInstruments.addObject(instr)\n                    this.set('selectedInstruments', this.selectedInstruments);\n                    // console.log(\"updated selectedInstruments::::\")\n                    // console.log(this.selectedInstruments);\n                }\n            }\n        },\n        viewData(id) {\n            // console.log(\"user clicked view data, id is::::\" + id);\n            this.get('router').transitionTo('raw-data', id);\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', true);\n        },\n        stopEditField() {\n            this.set('editing', false);\n        },        \n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing')) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\nimport html2canvas from 'html2canvas';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    actions: {\n\n        saveImage() {\n            console.log(\"saveImage:::::::::::::::::\");\n            html2canvas(document.querySelector(\"#capture\"), { \n                // allowTaint: true, \n                // // foreignObjectRendering: true,\n                // useCORS: true,\n                // logging: true,\n                // scrollX: 0,\n                // scrollY: 0,\n                // width: 1000,\n                // height: 1000,\n                // x: 0,\n                // y: 0,\n                // scale: 1,\n                // backgroundColor: null,\n                // imageTimeout: 15000,\n                // removeContainer: true,\n                // foreignObjectRendering: true,\n                \n            }).then(canvas => {\n                let downloadLink = document.createElement('a');\n                downloadLink.setAttribute('download', 'CanvasAsImage.png');\n                // document.body.appendChild(downloadLink);\n\n                canvas.toBlob(function(blob) {\n                    let url = URL.createObjectURL(blob);\n                    downloadLink.setAttribute('href', url);\n                    downloadLink.click();\n                });\n            });\n        },\n        toggleLine(lineIndex) {\n            let lineSettings = JSON.parse(localStorage.getItem('lineSettings')) || {};\n        \n            lineSettings[lineIndex] = lineSettings[lineIndex] === \"block\" ? \"none\" : \"block\";\n            localStorage.setItem('lineSettings', JSON.stringify(lineSettings));\n        \n            d3.select(`.myLines[data-line-index=\"${lineIndex}\"]`)\n                .style('display', lineSettings[lineIndex]);\n        },\n\n    },\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n        // console.log(\"zoomTempPoints::::::: \" + JSON.stringify(chartData));\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item, indx){\n        let linesKyes = Object.keys(item.toJSON());\n        // console.log(\" \");\n        // console.log(\" \");\n        // console.log(\" \");\n        // console.log(\" \");\n\n        // console.log(\" \");\n        // console.log(\"zoomChartData:::\" + linesKyes);\n        //I have to slice because the first item in the array will contain the instrument ID.\n        let dataArry = item.getProperties(linesKyes).values;\n        let mainArr = [...dataArry];\n        let adjustedDataArry = [];\n        // console.log(\"RAW dataArry::::::: \");\n        // console.log(dataArry);\n        let lastPointDataIndicies = []\n        const slaveInstrID = ['instrumentPosition1', 'instrumentPosition2', 'instrumentPosition3', 'instrumentPosition4', 'instrumentPosition5'];\n        //Get all the indicies of values for last anchor for each instrument\n        slaveInstrID.map( (positionLabel, index) => {\n            const instrumentPosition = this.get('instrument').get(positionLabel);\n            let subArry=[]\n            if(instrumentPosition != null){\n                // console.log(\"instrumentPosition::::::: \");\n                // console.log(instrumentPosition);\n                // console.log(\"has \" + instrumentPosition['anchorCount'] + \" anchors\");\n                let anchorIndex = instrumentPosition['anchorCount']; \n                // console.log(\"anchorIndex is \" + anchorIndex);\n                // console.log(\"anchorIndex is \" + anchorIndex);\n                if (lastPointDataIndicies == 0){\n                    const index = anchorIndex - 1;\n                    const value = dataArry[index];\n                    // console.log(\"IF index is \" + index);\n                    // console.log(\"IF value is \" + value);\n                    lastPointDataIndicies.push(index);\n                }else{\n                    // console.log(\"ELSE previous is \");\n                    // console.log(lastPointDataIndicies.slice(-1));\n                    const index = Number.parseInt(lastPointDataIndicies.slice(-1)) + Number.parseInt(anchorIndex);\n                    const value = dataArry[index];\n\n                    // console.log(\"ELSE index is \" + index);\n                    // console.log(\"ELSE value is \" + value);\n                    lastPointDataIndicies.push(index);\n                }\n            }\n\n        });\n\n        // console.log(\"lastPointDataIndicies \");\n        // console.log(lastPointDataIndicies);\n        let offsetValue = 0.0;\n\n        // console.log(\"starting to rebuild data \");\n        dataArry.forEach((value, index)=>{\n            // console.log(\"original array   is  \" + dataArry);\n            // console.log(\"offsetValue      is  \" + offsetValue);\n            let val = Number.parseFloat(value) + Number.parseFloat(offsetValue);\n            // console.log( Number.parseFloat(value) + \" + \" + Number.parseFloat(offsetValue) + \" = \" + val);\n            adjustedDataArry.push(val);\n\n            if(lastPointDataIndicies.includes(index)){\n                // console.log(\"Need to increment offset to \" + mainArr[index]);\n                offsetValue = Number.parseFloat(offsetValue) +  Number.parseFloat(mainArr[index]);\n                // console.log(\"new offset value is  \" + offsetValue);\n\n            }else{\n                // let val = Number.parseFloat(value) + Number.parseFloat(offsetValue);\n                // console.log( Number.parseFloat(value) + \" + \" + Number.parseFloat(offsetValue) + \" = \" + val);\n                // adjustedDataArry.push(val);\n            }\n\n            // console.log(\"adjustedDataArry is  \" + adjustedDataArry);\n            // console.log(\"==================================================================================================\");\n            \n        });\n\n        // console.log(\"end  of rebuild data \");\n\n        var chartData = adjustedDataArry;\n        console.log(\"chartData: \");\n        console.log(chartData);\n        var modelName = this.get('chartDataModelName');\n        // if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n        //     chartData.values.push(0);\n        // }\n        // console.log(\"zoomDataPoints::::::: \");\n        // console.log(chartData);\n\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item, indx){\n        let linesKyes = Object.keys(item.toJSON());\n        let instrumentID = item.getProperties(linesKyes).values[0];\n        let dataArry = item.getProperties(linesKyes).values.slice(1);\n        // console.log(\"fullRangeDataPoints raw data:::\");\n        // console.log(item.getProperties(linesKyes));\n        // console.log(\"instrumentID:::\" + instrumentID);\n        // console.log(\"fullRangeDataPoints dataArry:::\" + dataArry);\n\n        // return item.getProperties(linesKyes); //original\n        return dataArry;\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', async function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n\n        const slaveInstrID = ['instrumentPosition1', 'instrumentPosition2', 'instrumentPosition3', 'instrumentPosition4', 'instrumentPosition5'];\n        const slaveInstrObjDataPromises = slaveInstrID.map(async (positionLabel) => {\n            const instrumentPosition = this.get('instrument').get(positionLabel);\n            if (instrumentPosition == null) {\n                return null; // Skip positions that are null\n            }\n\n            const positionObjID = instrumentPosition['id'];\n\n            try {\n                const instrPositionAttributesObj = await instrumentPosition.get('anchors').then(anchors => {\n                    const anchorDistances = anchors.map(anchor => anchor.get('distance'));\n                    return { id: positionObjID, anchorDistances: anchorDistances };\n                });\n                return instrPositionAttributesObj;\n            } catch (reason) {\n                return {}; // Return empty object in case of error\n            }\n        });\n\n        const slaveInstrObjData = (await Promise.all(slaveInstrObjDataPromises)).filter(obj => obj !== null); // Filter out null values\n\n\n        //This code will unify the group of anchor distances to one and the unified one will be displayed\n        //RMB, since we used push, then the order of object will be correct, dont need to assume it will be disordered\n        // console.log(\"slaveInstrObjData\");  \n        // console.log( slaveInstrObjData);\n        // console.log(\"starting to unify anchor distances\");\n        let finalAnchorDistances = [];\n        let offsetValue = 0;\n        slaveInstrObjData.forEach((slaveExto, i)=>{\n            let anchorDistances = slaveExto.anchorDistances;\n            // console.log(\"I\" + index + \": will now process:\" + anchorDistances); \n            if(i == 0){\n                finalAnchorDistances = finalAnchorDistances.concat(anchorDistances);\n                // console.log(\"Need to update offsetValue\"); \n            }else{\n                anchorDistances.forEach((distance, index)=>{\n                    // console.log(\"I\" + index + \": distance:\" + Number.parseInt(distance) + \" | current offsetValue:\" + Number.parseInt(offsetValue)); \n                    if(index != 0){\n                        let newDist = Number.parseFloat((Number.parseFloat(distance)  + Number.parseFloat(offsetValue)).toFixed(2));\n                        // newDist += \"(\" + distance + \")\";\n                        // console.log(\"I:\" + index + \" distance:\" + newDist);  \n                        // console.log(\"newDist:\" + newDist); \n                        finalAnchorDistances.push(newDist);\n                    }\n                })\n            }\n            offsetValue =  finalAnchorDistances.slice(-1);\n            // console.log(\"Need to update offsetValue. The offsetValue:\" + offsetValue + \". Update final anchor distance is:\" + finalAnchorDistances); \n            // console.log(\"I\" + index + \": partial finalAnchorDistances:\" + finalAnchorDistances); \n            // console.log(\"\" ); \n        });\n        let modifiedAnchorDistances = [];\n        //Clean up array of distances, remove the     \n        // for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n        //     if(anchorDistances[ctr] == anchorDistances[ctr + 1]){\n        //         modifiedAnchorDistances.pu\n        //     }\n        // }\n        if(modelName==='displacement-values') {\n            midPoints.unshift(0);\n        }\n         \n        let anchorDistances = finalAnchorDistances;    \n        // console.log(\"anchorDistances:\");     \n        // console.log(anchorDistances);     \n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n            var midPoints = [];\n            for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        }\n        // console.log(\"anchorDistances:\" + anchorDistances); \n        return anchorDistances; //ORIGINAL\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', async function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = await this.get('anchorDistances');\n        let zoomChartLinesData = [];\n\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            // console.log(\"zoomDataPoints\");\n            // console.log(zoomDataPoints);\n            // console.log(\"anchorDistances\");\n            // console.log(anchorDistances);\n            //anchorDistance: {id: str, adjusted:[], original:[]}\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        // console.log(\"chartLineName\");\n                        // console.log(chartLineName);\n                        // console.log(\"chartLineIndex\");\n                        // console.log(chartLineIndex);\n                        // console.log(\"dataPoint\");\n                        // console.log(dataPoint);\n                        // console.log(\"zoomTimePoints\");\n                        // console.log(zoomTimePoints[dataPointIndex] );\n                        // console.log(\"value\");\n                        // console.log(dataPoint[chartLineIndex]);\n                        \n                        // console.log(\"dataPoint[0]\");\n                        // console.log(dataPoint[0]);\n                        // console.log(\"slaveExtoAnchorObj.id\");\n                        // console.log(slaveExtoAnchorObj.id);\n                        console.log(`x:${moment( zoomTimePoints[dataPointIndex] ).valueOf()}, y:${dataPoint[chartLineIndex]}`);\n                        const finalVal = [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint[chartLineIndex]\n                        ];\n                        // console.log(\"finalVal\");\n                        // console.log(finalVal);\n                        return finalVal;\n                    })\n                };\n            });\n\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        // line.color = color(index), // Assign a color from your scale based on index or some other criteria\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[1]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[1],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            \n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', async function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = await this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        // line.color = color(index), // Assign a color from your scale based on index or some other criteria                            \n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let chartTitle = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_');\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        return promise; \n    }),\n\n\n    didInsertElement: async function()  {\n\n        const _this = this,\n            zoomChartLinesData = await _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = await _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            //vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = yAxisLegend\n        ;\n        let chartData = await _this.get('chartData');\n        const randomHexColorCode = () => {\n            let n = (Math.random() * 0xfffff * 1000000).toString(16);\n            return '#' + n.slice(0, 6);\n        };\n\n        \n        let colorArray = []\n        const numColor = 100;\n\n        while(colorArray.length != numColor){\n            let colorHEX = randomHexColorCode();\n            if (!colorArray.includes(colorHEX)){\n                colorArray.push(colorHEX);\n            }\n        }\n        // console.log(\"color array is\");\n        // console.log(colorArray);\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then( function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");            \n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;\n                \n                //get pretty chart name if chart has multiple parts to it\n                // let type = _this.instrument.get('instrumentTypeID').toString(); //Original Code\n\n                let type = \"1\"; //Why is this hard coded to 1? Becuase this is solely for multi exto, the units and title will be the same for normal exto. \n\n                chartData.forEach(function(item) {\n                    // console.log('item');\n                    // console.log(item);\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = yAxisLegend.get('title');\n                    \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                // console.log('axisName: ' + axisName);\n                // console.log('units: ' + units);\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    title = axisName + \" (\" + units + \")\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n\n\n\n\n\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 100, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) {return d[0]; })\n                .y(function(d) { return d[1]; })\n                // .color(d3.scale.category20().range())\n                .color(colorArray)\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n            zoomChart.legend.margin({bottom: 500});\n            zoomChart.legend.rightAlign(true);\n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart); //ERROR Trigger\n\n                \n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n                    /* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } \n                    */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){//} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n\n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            // .color(d3.scale.category20().range())\n            .color(colorArray)\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        this.getSelectedExtos(this.instrument);\n    },\n    isVisibleCreateNewForm: false,\n    store: service(),\n    router: service(),\n    session: service(),\n    getSelectedExtos:function(instrument) {\n        // Logic to retrieve the children of tableRow\n        // Return an array of child gateways\n        let selectedInstrs = []\n        if(instrument != null){\n            for (let i = 1; i <= 5; i++) {\n                let instrPositionLabel = \"instrumentPosition\" + i;\n                let instrPositionObj = instrument[instrPositionLabel]; \n                if(instrPositionObj != null){\n                    let instr;\n                    if(instrPositionObj['headAt'] == null){\n                        instr = {\n                            title: instrPositionObj['id'],\n                            id: i, \n                            instrumentID: instrPositionObj['id'],\n                            position: '',\n                            data: instrPositionObj\n                        };\n                    }else{\n                        instr = {\n                            title: instrPositionObj['id'] + ' - ' + instrPositionObj['headAt']['title'],\n                            id: i, \n                            instrumentID: instrPositionObj['id'],\n                            position:  instrPositionObj['headAt']['title'],\n                            data: instrPositionObj\n                        };\n                    }\n                    selectedInstrs[i - 1] = instr;\n\n                }\n            }\n        }\n        this.set(\"selectedInstruments\", selectedInstrs);\n        // console.log(\"selectedInstruments:::: \" + selectedInstrs);\n        // console.log( selectedInstrs);\n        return selectedInstrs;\n    },  \n\n    selectedInstruments:[],\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","import Ember from 'ember';\nimport { inject as service } from '@ember/service';\n\nexport default Ember.Component.extend({\n    session: service(),\n    isRowDeleteConfirmationDialog: {},\n    rdcd: {},\n    store: service(),\n    childDict: {},\n    init() {\n        this._super(...arguments);\n    },\n\n    actions: {\n    }\n\n})\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { action } from '@ember/object';\nimport { computed, observer } from \"@ember/object\";\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default class navbar extends Component {\n    @service session;\n    //@service currentUser;\n    //isAuthenticated = true;\n\n    get apiPort() {\n        return ENV.API_PORT;\n    }\n\n    @action\n    navigateToAdmin(event) {\n        event.preventDefault(); // Prevent the default anchor behavior\n        let url = new URL('/admin', window.location.href);\n        url.port = this.apiPort; // Set the port from your environment variable\n        window.open(url.href, '_blank'); // Open the new URL in a new tab\n    }\n\n    @computed('session.isAuthenticated')\n    get username() {\n        return this.get('session').data.authenticated['user'];\n    }\n\n    @computed('session.isAuthenticated')\n    get isValid() {\n        let isValid = this.get('session').data.authenticated['isValid'];\n        //console.log(isValid);\n        return isValid === undefined ? true : isValid;\n    }\n\n    @computed('session.isAuthenticated')\n    get isWithinLimit() {\n        let limit = this.get('session').data.authenticated['limit']\n        return limit === undefined ? true : limit;\n    }\n\n    @computed('session.isAuthenticated')\n    get modules() {\n        return this.get('session').data.authenticated['modules'];\n    }\n\n    @computed('session.isAuthenticated')\n    get hasAlerts() {\n        let perms = null;\n        try{\n            perms = this.session.data.authenticated.modules;\n        } catch {}\n        if (perms == null) {\n            return false;\n        } else {\n            return (perms['alerts']);\n        }\n    }\n\n    @action\n    logout() {\n        //console.log(this.session.isAuthenticated);\n        this.session.invalidate();\n    }    \n}","define(\"geotechnical-data-platform-new/components/node\", [\"exports\", \"ember-composability-tools/components/node\"], function (_exports, _node) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _node.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        activeChanged() {\n            this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            let selector = this.$('#chan_select');\n\n            let selected = {};\n            selector.val().forEach(function(selection) {\n                selected[selection] = true;\n            });\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                selector.val().forEach(function(selection) {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = selection;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save();\n                                });\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\nimport { computed } from '@ember/object';\n\nfunction resetNewGatewayObject(_this) {\n    _this.set('newGatewayObject', {});\n    _this.set('name', null);\n    _this.set('installDate', null);\n\n}\n\nexport default class CreateBluCellGateway extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewGatewayObject(this);\n        this.loadGateways(this.gatewayList);\n    }\n\n    loadGateways(gatewayList) {\n        const rawData = gatewayList; // Assuming gateways is an array of gateway objects\n        \n        // Filter gateways to get a list of only Blu900GW gateways\n        const filteredGateways = rawData.filter(function (gateway) {\n            if(gateway.active == true && gateway.get('gatewayType').title.toLowerCase() === 'blu900gw'){\n                return gateway.get('gatewayType').title.toLowerCase() === 'blu900gw';\n            }\n        });\n        \n        const mappedGateways = filteredGateways.map(function (gateway) {\n            // Retrieve parent gateway record based on available information\n            const parentId = gateway.get('parentId'); // Assuming there is a field 'parentId' in the gateway object\n            \n    \n            let gw = {\n                title: gateway.get('id') + ' - ' + gateway.get('gatewayType').title,\n                value: gateway.get('id'),\n                type: gateway.get('gatewayTypeID'),\n                parent: gateway, // Assign parent gateway to 'parent' property \n            };\n            \n            return gw;\n        });\n    \n        this.set('gateways', mappedGateways);\n    }\n        \n    isAuthenticated = true;\n    newGatewayObject = {};\n    installDate = null;\n    authError = false;\n    gateways = [];\n\n    actions = {\n        async createGateway(object){\n\n            let _this = this,\n            store = this.get('store'),\n            newGatewayObject = this.get('newGatewayObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newGatewayObject.id = this.get('id');\n            newGatewayObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            newGatewayObject.depth = this.get('depth');\n\n            newGatewayObject.gatewayType = store.peekRecord('gateway-type', this.typeID);\n            newGatewayObject.active = true;\n\n            let interval_upload = await this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'upload_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayUploadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                }).catch(function(error) {\n                console.log(\"Error Getting interval_upload object::: \" + error);\n              });\n\n            let interval_read = await this.store.query('gateway-interval', {\n                filter: {\n                  interval_value: 5,\n                  interval_group_name: 'instrument_reading_interval'\n                }\n                }).then(function(results) {\n                    newGatewayObject.gatewayReadInterval = results.get('firstObject');\n                    return results.get('firstObject');\n                  }).catch(function(error) {\n                    // handle error here\n                    console.log(\"Error Getting interval_read object::: \" + error);\n                });\n              \n\n            if(typeof newGatewayObject.id === 'undefined' || newGatewayObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('installDate') != null) {\n                newGatewayObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            let newGateway = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    console.log(\"Creating....\");\n                    newGateway = store.createRecord('gateway', newGatewayObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if(!error) {\n                newGateway.save().then(function(results){\n                    // console.log(dup);\n                    if(results.id != null) {\n                        _this.get('submit')(results.id);\n                    } else {\n                        this.setError('isVisibleError',true);\n                        error = true;\n                    }\n                }).catch(function(reason) {\n                    _this.setError('isVisibleError',true);\n                    _this.setError('authError',true);\n                }); \n            } \n        },\n        async setID(gw){\n            if(gw != null) {\n\n                let newGatewayObject = this.get('newGatewayObject');\n                console.log(newGatewayObject);\n                console.log(\"Parent Selected::: \" + gw);\n                \n                let parent = await this.store.findRecord('gateway', gw.value).then((parentGateway) => {\n                    // Parent gateway retrieved successfully\n                    console.log(parentGateway.id);\n                    return parentGateway;\n                }).catch((error) => {\n                    // Handle error if the parent gateway does not exist or any other issue occurs\n                    console.error(error);\n                });\n                this.set('newGatewayObject.parentGateway', parent);\n                console.log(\"parentGateway::::::::::: \" + this.get('newGatewayObject').parentGateway.id);\n                \n            } else {\n                this.set('newGatewayObject.parentGateway', null);\n            }\n        },\n\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let gatewayValueObjectValues = _this.get('gatewayValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(gatewayValueObjectValues).forEach(function(key,index) {\n        gatewayValueObjectValues[key] = null;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n\n    newGatewayValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newGatewayValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n\n    gatewayValueObjectValues: Ember.computed('anchorDistances', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('anchorDistances').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    newGatewayValueObjectValues: Ember.computed('gatewayValueObjectValues', function() {\n        let gatewayValueObjectValues = [];\n        for (let i = 0; i <= this.get('gatewayValueObjectValues').length - 1; i++) {\n            gatewayValueObjectValues[i] = 0;\n        }\n        return gatewayValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n             console.log(\"saveNew\");\n            let _this = this,\n                store = this.get('store'),\n                newGatewayValuesObject = this.get('newGatewayValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                gatewayValues = this.get('gatewayValues'),\n                temperatureValues = this.get('temperatureValues');\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-gateway-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newGatewayValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newGatewayValuesObject.values = Object.values(this.get('newGatewayValueObjectValues'));\n\n            const newGatewayValues = store.createRecord('gateway-value', newGatewayValuesObject);\n            // save new gateway-value to DB\n            const savedGatewayValuesObject = newGatewayValues.save({adapterOptions: this.get('gatewayId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if gateway-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //gatewayValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n\n            })\n            .catch(function(reason){\n                console.log(reason);\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n    ajax:Ember.inject.service(),\n    store: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    \n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    anchorList: Ember.computed('instID', 'anchors', function() {\n        let anchors = this.get('anchors');\n        let isSelected = {};\n        //console.log(\"triggered\");\n        if (anchors == null) {\n            anchors = this.get('alert').get('anchors');\n            this.set('anchors', anchors);\n        }\n\n        anchors.forEach(element => {\n            isSelected[element.get('selectedCh')] = true;\n        });\n\n\n        return isSelected;\n    }),\n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = Ember.$(thing.target).val();\n            else\n                update = Ember.$(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { camelize } from '@ember/string';\n\nexport default class EditGateway extends Component.extend({\n\n    store: Ember.inject.service(),\n    gatewayReadingsIntervals: null,\n    initialSelection: null,\n    isAuthenticated : true,\n    // selectedReadingIntervalID : null,\n    selectedModel : null,\n    editing : 0,\n\n    init(){\n        this._super(...arguments);\n        this.loadGateways(this.gatewayList);\n    },\n    loadGateways(gatewayList) {\n        const rawData = gatewayList; // Assuming gateways is an array of gateway objects\n        \n        // Filter gateways to get a list of only Blu900GW gateways\n        const filteredGateways = rawData.filter(function (gateway) {\n            if(gateway.active == true && gateway.get('gatewayType').title.toLowerCase() === 'blu900gw'){\n                return gateway.get('gatewayType').title.toLowerCase() === 'blu900gw';\n            }\n        });\n        let parent = this.get('parent')\n        let selectedItem = null;\n        const mappedGateways = filteredGateways.map(function (gateway) {           \n            let gw = {\n                title: gateway.get('id'),\n                value: gateway.get('id'),\n                type: gateway.get('gatewayTypeID'),\n            };\n            \n            if(gateway.id == parent){\n                selectedItem = gw;\n            }\n            return gw;\n        });\n        \n        this.set('gateways', mappedGateways);\n        this.set('initialSelection', selectedItem);\n        \n        // console.log(this.get('gateways'));\n    },\n    parent: Ember.computed('gateway', function() {\n        let gateway = this.get('gateway');\n        let parent = gateway.get('parentGateway');\n        if(parent == null){\n            // console.log(\"parent is null\");\n            return null;\n        }\n        // console.log(\"parent::: \" + parent.get('id'));\n        return parent.get('id');\n    }),\n    gateways: [],\n    \n    getGatewayUploadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayUploadInterval = gw.gatewayUploadInterval;\n        // console.log(\"gatewayUploadInterval::: \" + gatewayUploadInterval)\n        if(gatewayUploadInterval == null){\n            return 0;\n        }\n            return (gatewayUploadInterval.id).toString();\n    }),\n\n    getGatewayReadIntervalID: Ember.computed(function() {\n        let gw = this.get('gateway');\n        let gatewayReadInterval = gw.gatewayReadInterval;\n        // console.log(\"gatewayReadInterval::: \" + gatewayReadInterval)\n        if(gatewayReadInterval == null){\n            return 0;\n        }\n        return (gatewayReadInterval.id).toString();\n    }),\n    \n}){\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    _this = this;\n\n    actions = {\n        //in order for this to work the id of the select element must be the same as the attribute name\n        setGatewayInterval(event) {\n            let gateway = this.get('gateway');\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            //id of the newly selected interval\n            const selectedValue = parseInt(selectedOptions.map(option => option.value));    \n            //interval attribute name\n            const intervalType = event.target.id;\n            // when the record has no interval records associated with it, when you try to save an error is thrown.\n            // I avoid this by defaulting the interval to 5 minutes when the one is saved and the other is null.\n            let notSelected = intervalType == 'gatewayReadInterval' ? 'gatewayUploadInterval' : 'gatewayReadInterval';\n\n            this.store.findRecord('gateway-interval', selectedValue).then((interval) => { \n                let notSelectedIntervalValue = gateway[notSelected];\n                let group_name = intervalType == 'gatewayReadInterval' ? 'instrument_reading_interval' : 'upload_interval';\n                if(notSelectedIntervalValue == null){\n                    //if the non-selected interval is null I default it here.\n                    this.store.query('gateway-interval', {\n                        filter: {\n                          interval_value: 5,\n                          interval_group_name: group_name\n                        }\n                        }).then(function(results) {\n                            gateway.set(notSelected, results.get('firstObject'));\n                            gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                \n                            gateway.save().then(() => {\n                                console.log('Gateway saved successfully!');\n                            }).catch((error) => {\n                                console.log('Error saving gateway:', error);\n                            });\n            \n                        }).catch(function(error) {\n                        console.log(\"Error Getting interval_upload object::: \" + error);\n                      });\n                } else {\n                    \n                    gateway.set(intervalType, interval); // Set the related object as the new value of the attribute\n                    gateway.save().then(() => {\n                        console.log('Gateway saved successfully!');\n                    }).catch((error) => {\n                        console.log('Error saving gateway:', error);\n                    });\n                }                    \n            });\n            \n        },\n         \n        updatePage(){\n            let store = this.get('store');\n            let gateway = this.get('gateway');\n            gateway.save();\n        },\n        viewData(id) {\n            this.get('router').transitionTo('raw-gateway-data', id);\n        },\n        tGraph(id) {\n            //console.log(\"Edit-gateway::: \" + id)\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, 'voltage-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveGateway(){\n            const _this = this;\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/gateway\";\n                }\n            } else {\n                window.location.href = \"/gateway\";\n            }\n        },\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        // updateProperty(propertyName, propertyValue) {\n        //     this.set(propertyName, propertyValue);\n        // },\n        async setID(gw){\n            if(gw != null) {\n\n                let gateway = this.get('gateway');\n                let parent = await this.store.findRecord('gateway', gw.value).then((parentGateway) => {\n                    // Parent gateway retrieved successfully\n                    return parentGateway;\n                }).catch((error) => {\n                    // Handle error if the parent gateway does not exist or any other issue occurs\n                    console.error(error);\n                });\n                this.set('gateway.parentGateway', parent);\n                gateway.save().then(() => {\n                    console.log(\"parentGateway::::::::::: \" + this.get('gateway').parentGateway.id);\n                }).catch((error) => {\n                    console.log('Error saving gateway:', error);\n                });\n                \n            } else {\n                this.set('gateway.parentGateway', null);\n            }\n        },\n    \n\n\n    }\n}\n\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    temperaturePoints: [],\n    distXRiseUpAnimationDuration: 500,\n    // chartMetric: Ember.computed(function(){\n    // let chartMetric = this.attrs.getQueryParams('chart_type');\n    //     if(chartMetric == null){\n    //       return 'voltage';\n    //     }\n    //    //console.log(\"chartMetric::: \" + chartMetric);\n    //     return chartMetric;\n    // }),\n    leftAxis: Ember.computed(function(){\n        let leftAxis = this.attrs.getQueryParams('left_axis_field');\n        if(leftAxis == null){\n          leftAxis = 'Voltage';\n        }\n        console.log(\"Left Axis:::: \" + leftAxis)\n        return leftAxis;\n    }),      \n    rightAxis: Ember.computed(function(){\n        let rightAxis = this.attrs.getQueryParams('right_axis_field');\n        if(rightAxis == null){\n            rightAxis = 'RSSI';\n          }\n          console.log(\"Right Axis: \" + rightAxis)\n          return rightAxis;\n    }),\n\n    GATEWAY_ENUM: Object.freeze({\n        Firmware: 0,\n        Coordinator: 1,\n        Voltage: 2,\n        RSSI: 3,\n        carrier: 4, \n        Readings: 5, \n        Uptime: 6, \n        Reconnection: 7, \n        Uploads: 8, \n        Temperature: 9,\n        var_1: 10, \n        var_2: 11, \n        var_3: 12,\n    }),\n\n    zoomTempPoints: Ember.computed(function(){\n        // let right = this.get('zoomDataPointsRightAxis');\n        let temperaturePoints = [];\n        let zoomTempData = this.get(\"zoomTempData\");\n        zoomTempData.forEach(function(item, i){\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n            temperaturePoints.push(chartData.values[0]);\n            // let temperaturePoints = this.get('temperaturePoints').push(chartData.values);\n        });\n        // console.log(\"zoomTempPoints::::::::::::::: 7\");    \n        // let linesKyes = Object.keys(item.toJSON());\n        // var chartData = item.getProperties(linesKyes);\n        //  = this.get('temperaturePoints').push(chartData.values);\n        \n        console.log(\"Temperature Points:\");\n        console.log(temperaturePoints);\n\n        return temperaturePoints; //chartData;\n    }),\n    zoomDataPointsLeftAxis: Ember.computed(function(){\n        \n        let zoomChartData = this.get(\"zoomChartData\");\n        let leftAxisIndex = this.GATEWAY_ENUM[this.leftAxis]\n        //TODO: fix this TA.  Hack because we added temperature at the last minute.\n        if(this.leftAxis == 'Temperature'){\n            // console.log(\"zoomDataPointsLeftAxis::::::::::::::: \" + this.get(\"temperaturePoints\"));\n            return this.get(\"zoomTempPoints\");\n        }\n        \n        let zoomLeftAxis = zoomChartData.map(function (item, i){\n            return item.values[leftAxisIndex];            \n        });\n        console.log(\"zoomLeftAxis ::::::::::::::: \" + JSON.stringify(zoomLeftAxis));    \n        return zoomLeftAxis;\n    }),\n    zoomDataPointsRightAxis: Ember.computed(function(){\n       //console.log(\"zoomDataPointsRightAxis::::::::::::::: 8\");\n        let zoomRightAxis = null;\n        if(this.rightAxis != null && this.rightAxis != 'Temperature'){\n            let zoomChartData = this.get(\"zoomChartData\");\n            let rightAxisIndex = this.GATEWAY_ENUM[this.rightAxis]        \n            zoomRightAxis = zoomChartData.map(function (item, i){\n                return item.values[rightAxisIndex];            \n            });\n        }\n        if (this.rightAxis == 'Temperature'){\n            zoomRightAxis = this.get(\"zoomTempPoints\");\n        }\n        console.log(\"zoomRightAxis::::::: \" + JSON.stringify(zoomRightAxis));\n        return zoomRightAxis;\n\n    }),\n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n        \n       //console.log(\"zoomDataPoints::::::::::::::: 4 and 6 \" + this.get(\"chartDataValueName\") );\n        let left = this.get('zoomDataPointsLeftAxis');\n        \n        return left;\n    }),\n\n    fullRangeDataPoints: Ember.computed('fullRangeChartData', function () {\n        let fullRangePoints = null;\n        let itemHolder = {};\n\n        if(this.leftAxis != 'Temperature'){\n            fullRangePoints = this.get('fullRangeChartData');\n            fullRangePoints.map(function (item, i){\n                let linesKyes = Object.keys(item.toJSON());\n                let itemHolder = item.getProperties(linesKyes);\n                return itemHolder;\n            });\n        } else {\n            itemHolder.values = [];\n            fullRangePoints = this.get(\"temperaturePoints\");\n            if(this.leftAxis == 'Temperature'){\n                fullRangePoints.forEach(function(item){\n                    itemHolder.values.push(item[0]);\n                });\n            }\n            fullRangePoints = itemHolder;\n        }\n        return fullRangePoints;\n        \n    }),\n\n/*     \n    fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n       //console.log(\"zoomTimePoints::::::::::::::: 9\");    \n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n       //console.log(\"fullRangeTimePoints::::::::::::::: 13\");\n        return item.get('id');\n    }),\n    \n    anchorDistances: Ember.computed('gateway', 'fullRangeChartData', function() {\n        let leftAxis = this.get('leftAxis'); \n       //console.log(\"anchorDistances::::::::::::::: 10   ::\" + leftAxis);\n        return [leftAxis];\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n       //console.log(\"zoomChartLinesData::::::::::::::: 2\");    \n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n        let tempPoints = this.get('zoomTempPoints');\n            \n        // console.log(\"zoomTempPoints::: \" + JSON.stringify(tempPoints));\n        // console.log(\"zoomTempPoints::: \" + this.get('temperaturePoints'));\n        \n        let anchorDistances = this.get('anchorDistances');\n        let zoomChartLinesData = [];\n\n        var mName = _this.get('chartDataModelName');\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n       //console.log(\"TEMP::: \" + _this.get('chartDataModelName'));\n        let zoomTempPoints = this.get('zoomDataPointsRightAxis');\n        var temp = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        //console.log(temp);\n        zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        \n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n       //console.log(\"fullRangeChartLinesData::::::::::::::: 11\");    \n        const _this = this;\n        const fullRangeDataPoints = this.get('fullRangeDataPoints');\n        const fullRangeTimePoints = this.get('fullRangeTimePoints');\n        \n        let fullRangeTempPoints = this.get('zoomDataPointsRightAxis');\n        let anchorDistances = this.get('anchorDistances');\n\n        let fullRangeChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                   //console.log(\"fullReang:::::::::::::::::::\" + _this.GATEWAY_ENUM[_this.leftAxis])\n                    ////console.log(\"DataPoint::: \" + dataPoint.values[chartLineIndex]);\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[_this.GATEWAY_ENUM[_this.leftAxis]]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n\n        var temperature = {key: this.get('rightAxis'),\n            type: 'lines',\n            yAxis: 2,\n            values: fullRangeTempPoints.map(function(dataPoint, dataPointIndex) {\n                //console.log(\"temp Points::: \" + zoomTempPoints);\n                return [\n                    moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                    dataPoint,\n                ];\n            })\n        };\n        // fullRangeChartLinesData.push(temperature); //#TODO: Add Temp Points\n        return fullRangeChartLinesData;           \n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n       //console.log(\"chartDataModelName::::::::::::::: 5   \" + this.get('zoomChartData').query.model_name);    \n        //console.log(\"zoomChartData:\" + this.get('zoomChartData').query.model_name);\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n       //console.log(\"yAxisLegend::::::::::::::: 14\");    \n        let chartTitle = 'voltage'\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n    getTitleAndUnits: function(axis){\n        let axisValues = {\"Voltage\": \"Voltage, V\", \"RSSI\": \"900MHz RSSI, dBm\", \"Firmware\": \"Firmware Ver.\", \"Readings\": \"Readings\", \n                            \"Uptime\": 'Uptime - in Seconds.', \"Reconnection\": \"Reconnects\", \"Uploads\": \"Uploads\",\n                            \"Temperature\": \"Temperature,C\", \"var_1\": 9, \"var_2\": 9,  \"var_3\": 10}\n        // console.log(\"getTitleAndUnits::::::::::::::: \" + axisValues[axis]);\n        return axisValues[axis];\n    },\n    didInsertElement: function() {\n        \n       //console.log(\"didInsertElement::::::::::::::: 1\");    \n        const _this = this,\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        \n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg');\n        \n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = yAxisLegend;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(false)\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showLegend(true)\n                .showDistX(true)\n                .noData('No usable data');\n\n            zoomChart.showYAxis = true;\n            zoomChart.y2Axis.showYAxis = true;\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        //console.log(\"D:::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        //console.log(nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d)));\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n               \n                let axis1Title = _this.getTitleAndUnits(_this.get('leftAxis'));\n                let axis2Title = _this.getTitleAndUnits(_this.get('rightAxis'));\n                \n                zoomChart.y1Axis\n                    .axisLabel(axis1Title)\n                    .axisLabelDistance(10);\n                \n                zoomChart.y2Axis\n                    .axisLabel(axis2Title)\n                    .axisLabelDistance(10)\n                ;\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".2f\"));\n                \n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                let legend = zoomChart.legend;\n                if(legend.controls){\n                    legend.controls.forEach(function(d, i) {\n                        d.disabled = false;\n                    });\n                }\n\n                //console.log(\"zoomChart::::\" + zoomChart.legend);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    //console.log(\"BRUSH END::::::::::::::::::::\");\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(false);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n                \n                function selectControls() {\n                    // console.log(\":::::::::::::::::::::: selectControls\");\n                    //zoomChart.chartData.forEach(function(series) { series.disabled = false; });                  \n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n                    tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    tooltipClass = 'other';\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                        \n                }\n\n                //     if (typeof(tooltipContent) === 'object') {\n                //         if (tooltipContent.type === 'Blast') {\n                //             tooltipClass = 'blast';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                //         } else if (tooltipContent.type === 'Seismic') {\n                //             tooltipClass = 'seismic';\n                //             eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                //         } else if (tooltipContent.type === 'BluVibe') {\n                //             tooltipClass = 'bluvibe';\n                //             eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                //         } else if (tooltipContent.type === 'Other') {\n                //             tooltipClass = 'other';\n                //         }\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                //                       '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                //                       eventSize\n                //         ;\n                //     } else {\n                //         tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                //     }\n\n                //     return {\n                //         tooltipClass: tooltipClass,\n                //         tooltipText: tooltipText\n                //     };\n                // }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(\"VibeEventsArray:::\" + vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                // d3.select('.nv-y2.nv-axis')\n                // .classed('nv-disabled', false)\n                // .attr('transform', 'translate(0,0)');\n        \n                nv.utils.windowResize(zoomChart.update);\n\n                // zoomChart.dispatch.on('stateChange', function(e) { \n                //     nv.log('New State:', JSON.stringify(e)); \n                // });\n                // zoomChart.state.dispatch.on('change', function(state){\n                //     nv.log('state', JSON.stringify(state));\n                // });\n\n               //console.log(\":::::::::::::::::::::::::::setData called\")\n                // _this.sendAction('setData',zoomChartLinesData);\n                // _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            //.showYAxis(true)\n        ;\n        \n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n        \n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('gateway', function() {\n        return [\"Firmware Version\",\"Coordinator\", \"Voltage\", \"RSSi\", \"Mesh ID\"];\n    }),\n    \n    getGatewayData: Ember.computed('gateway', 'gatewayData', function() {\n        let fields = [0, 2, 14];\n        let items = [];\n        // Perform filtering logic on initial data\n        const filteredData = this.get('gatewayData');\n        if (filteredData) {\n        filteredData.forEach(item => {\n            let values = [];\n            let firmware = item.values[0];\n            let coordinator = item.values[1];\n            let voltage = item.values[2];\n            let rssi = item.values[3];\n            let mesh_id = item.values[item.values.length - 1];\n            items.push({ id: item.id, values: {'firm_version':firmware, 'coordinator': coordinator, 'voltage':voltage, 'rssi': rssi, 'mesh_id':mesh_id}, originalValue: item, save_values:{'firm_version':firmware,'voltage':voltage,'mesh_id':mesh_id} });\n        });\n        }        \n        \n        return items;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n          console.log(\"Update property: \" + propertyValue);\n          this.set(propertyName, propertyValue);\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n  selected: '', // Set the initial value to 'RSSI'\n\n  defaultSelected: computed('selected', function () {\n    const selected = this.selected;\n    console.log('selected:::::::::::: ' + selected);\n    return selected === '' ? 'Voltage' : selected;\n  }),\n\n\n  actions: {\n    handleSelectedFieldChange(newValue) {\n      this.set('selected', newValue);\n    },\n  },\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class LeftAxisDropdown extends Component.extend({}) {\n    @service router;\n    @service store;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        tGraph(id, modelName, params) {\n            console.log(\"in LeftAxisDropdown:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\")\n            this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, modelName, params);\n        },\n    }\n}","import Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n  rightAxisField: '', // Set the initial value to 'RSSI'\n  routeValue: 'voltage-values',\n\n  defaultRightAxisField: computed('rightAxisField', function() {\n    const rightAxisField = this.rightAxisField;\n    console.log('rightAxisField:::::::::::: ' + rightAxisField);\n    return rightAxisField === '' ? 'Temperature' : rightAxisField;\n  }),\n\n  getRouteValue: computed('selected', function () {\n    const selected = this.selected.toLowerCase();\n    console.log('selected:::::::::::: ' + selected);\n    this.set('routeValue', selected + '-values');\n  }),\n\n  actions: {\n    handleRightAxisFieldChange(newValue) {\n      console.log('handleRightAxisFieldChange:::::::::::: ' + newValue);    \n      this.set('rightAxisField', newValue);\n    }\n  }\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n    \nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n        \n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    // activeExpanded: false,\n    // buttonSymbol: '+',\n    // activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n\n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n    \n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    username: computed('',function() {\n        // return this.get('session').data.authenticated['user'];\n        return \"System\";\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        console.log(count);\n        return count;\n    }),\n\n    onCarrierChanged: observer('carrier', function() {\n        let carrier = this.get('carrier');\n        console.log('carrier changed' + carrier);\n        this.set('carrier', carrier);\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n\n        toggleModal() {\n            console.log(\"toggleModal:\" + this.get('isShowingModal'));\n            this.toggleProperty('isShowingModal');\n            console.log(\"toggleModal:\" + this.get('isShowingModal'));\n            this.showModal = !this.showModal;\n        },\n    \n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        \n        async createAlert(object){\n            console.log(\"clicked created alert\");\n            let _this = this;\n            let store = this.get('store');\n            let newAlertObject = this.get('newAlertObject');\n            //let selector = this.$('#chan_select');\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions){\n            //     selected[elem.value] = true;\n            // };\n                        \n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            if(!error) {\n                console.log(\"Username: \" + this.username);\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n                \n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let newAlertObj = this.get('newAlertObject');\n                         \n                        let value = this.get('newAlertObject.value');\n                        // let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n              \n                        \n                        console.log(value);\n                        // console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        \n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            _this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                            console.log(\"Value::: \" + isNaN(alertObjectValue));   \n                            console.log(\"Value::: \" + isNaN(value));   \n                            //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(async function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                    \n                                // // Loop through the selected values\n                                // console.log(_this.activeChannels)\n                                // _this.activeChannels.forEach(value => {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save().catch(function(reason) {\n                                //         if (reason.errors[0].status == 403) {\n                                //             _this.setError('isVisibleError',true);\n                                //             _this.setError('authError',true);\n                                //         }\n                                //     });\n                                // });\n                                // Make sure to place this inside an async function\n                                const activeChannels = _this.activeChannels;\n                                for (const value of activeChannels) {\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    try {\n                                        await newAnchor.save();  \n                                    } catch (reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError', true);\n                                            _this.setError('authError', true);\n                                        }\n                                    }\n                                }\n\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n    \n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('newAlertObject.target', selectedValue);\n        }\n    },\n\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if(!error) {\n                if(typeof newInstrumentObject.strokeLength === 'undefined' || newInstrumentObject.strokeLength === 0) {\n                    error = true;\n                    this.setError('fieldError',true);\n                    this.setError('isVisibleError',true);\n                }\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        // console.log(dup);\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\nimport $ from 'jquery';\n\nexport default Ember.Component.extend({\n    async init() {\n        \n        this._super(...arguments);\n        let metric = this.get('alert.metric');\n        if(metric === 'REL_DISP') {\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);\n        }\n        if(metric === 'DISP') {\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n    timeReference: null,\n    editing: 0,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    referenceAnchors:null,\n    loading:true,\n    edited:false,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n    \n      \n\n    phoneNumber: Ember.computed('alert.target', function() {\n        let target = this.get('alert.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    handleAlertObjectChange: observer('tr', function() {\n        //console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n        if(metric === 'REL_DISP'){\n            console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n\n    }),\n\n    onCarrierChanged: observer('carrier', function() {\n        let carrier = this.get('carrier');\n        console.log('carrier changed' + carrier);\n        this.set('carrier', carrier);\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    onVarChanged: observer('alert.response','alert.message', \"alert.target\", function() {\n        this.set(\"edited\", true); \n        console.log(\"onVarChanged\")\n        \n    }),\n\n    onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n\n    //OLD PETER CRAP\n    // getAnchorList: Ember.computed('instID', 'anchors', function() {\n    //     let anchors = this.get('anchors');\n    //     let isSelected = {};\n    \n    //     if (anchors == null) {\n    //         let alert = this.get('alert');\n    //         anchors = alert.anchors;\n    //         this.set('anchors', anchors);\n    \n    //         anchors.forEach(element => {\n    //             isSelected[element.selectedCh] = true;\n    //         });\n    //     } else {\n    //         anchors.forEach(element => {\n    //             isSelected[element.selectedCh] = true;\n    //         });\n    //     }\n    \n    //     return isSelected;\n    // }),\n        \n\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n        console.log(\"Thing??? :\" + thing);\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                // console.log(\"called save, removing old anchors:\");\n                // console.log(anchors);\n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n                \n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0] && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else if(reason && reason.errors && reason.errors[0]){\n                            console.log(\"save error::::::::::::::::::::::::::::::::\");\n                            console.log(reason.errors[0].status);\n                        } \n                        else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        \n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n        // setPhoneNumber() {\n        //     console.log(\"alert.target:\" + this.get('alert.target'));\n        //     // this.set('alert.target', this.get('carrier'));\n        //     this.toggleProperty('showModal');\n        // },\n\n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n          \n    },\n\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n    didReceiveAttrs() {\n        this._super(...arguments);\n      },\n      project: null,\n      level: null,\n\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n\n    editing= 0;\n    actions = {\n                \n        setProject(event) {\n            const selectedId = event.target.value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(event) {\n            \n            const selectedId = event.target.value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n        viewData(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let dateTimeFormat = \"DD-MM-YYYY\";\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            this.get('router').transitionTo('raw-data', id, { queryParams: {\"advancedDateTimeFormat\": dateTimeFormat, \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            // console.log(\"startDateObj: \" + startDateObj + \" endDateObj: \" + formattedEndDateObj);\n            // console.log(\"base unit for this instrument is: \" +  baseUnit)\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values', { queryParams: { \"advancedYAxisUnit\": baseUnit}});\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n            // console.log(\"chartData:::::::::::: \" + JSON.stringify(chartData));\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values') { \n                chartData.values.unshift(chartData.values[0]);\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n        if (anchorDistances.length > dataValuesCount && modelName === 'strain-values') {\n            anchorDistances.splice(0, 1);\n        }\n        return anchorDistances;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        const anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        anchorDistances.unshift(0);\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        // console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(modelName === 'strain-values' || modelName === 'strain-rate-values') {\n            return anchorMidDistances.map(function(anchorDistance){\n                return {\n                    key: anchorDistance,\n                    type: 'referencePoints',\n                    values: [\n                        anchorDistance\n                    ]\n                };\n            });\n                \n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values') {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n        var anchorDist = anchorDistances;\n        \n        if(modelName === 'strain-values' || modelName === 'strain-rate-values') {\n            anchorDist = this.get('anchorMidDistances'); \n        }\n\n        zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n            return {\n                key: chartLineIndex,\n                // mean: 3,\n                type: 'lines',\n                timestamp: zoomTimePoints[chartLineIndex],\n                values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        anchorDist[dataPointIndex],\n                        dataPoint\n                    ];\n                })\n            };\n        });\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get('firstObject');\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                title = axisName + \" (\" + units + \")\";\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n                // console.log(\"zoomChartLinesData:::::::::::: \" + JSON.stringify(zoomChartLinesData));\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n/*                 zoomChart.xAxis.dispatch.on('xAxisMouseMove', function (mouseMove) {\n                    console.log('test');\n                });\n */\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0], true)(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\nimport html2canvas from 'html2canvas';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    yAxisUnit:null,\n    init() {\n        this._super(...arguments);\n        const queryParams = new URLSearchParams(window.location.search);\n        const yAxisUnitParam = queryParams.get('advancedYAxisUnit');\n        if(yAxisUnitParam){\n            this.set('yAxisUnit', yAxisUnitParam);\n        }\n    },\n    actions: {\n\n        saveImage() {\n            console.log(\"saveImage:::::::::::::::::\");\n            html2canvas(document.querySelector(\"#capture\"), { \n                // allowTaint: true, \n                // // foreignObjectRendering: true,\n                // useCORS: true,\n                // logging: true,\n                // scrollX: 0,\n                // scrollY: 0,\n                // width: 1000,\n                // height: 1000,\n                // x: 0,\n                // y: 0,\n                // scale: 1,\n                // backgroundColor: null,\n                // imageTimeout: 15000,\n                // removeContainer: true,\n                // foreignObjectRendering: true,\n                \n            }).then(canvas => {\n                let downloadLink = document.createElement('a');\n                downloadLink.setAttribute('download', 'CanvasAsImage.png');\n                // document.body.appendChild(downloadLink);\n\n                canvas.toBlob(function(blob) {\n                    let url = URL.createObjectURL(blob);\n                    downloadLink.setAttribute('href', url);\n                    downloadLink.click();\n                });\n            });\n        },\n        toggleLine(lineIndex) {\n            let lineSettings = JSON.parse(localStorage.getItem('lineSettings')) || {};\n        \n            lineSettings[lineIndex] = lineSettings[lineIndex] === \"block\" ? \"none\" : \"block\";\n            localStorage.setItem('lineSettings', JSON.stringify(lineSettings));\n        \n            d3.select(`.myLines[data-line-index=\"${lineIndex}\"]`)\n                .style('display', lineSettings[lineIndex]);\n        },\n\n    },\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n        // console.log(\"zoomTempPoints::::::: \" + JSON.stringify(chartData));\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        // console.log(\"zoomChartData:::\" + linesKyes);\n\n        var chartData = item.getProperties(linesKyes);\n        // console.log(\"before chartData:::\");\n        // console.log(chartData.values);\n\n        var modelName = this.get('chartDataModelName');\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n            chartData.values.push(0);\n        }\n        // console.log(\"after chartData:::\");\n        // console.log(chartData.values);\n        // console.log(\"\\n\");\n        // console.log(\"zoomDataPoints::::::: \" + JSON.stringify(chartData));\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n            var midPoints = [];\n            for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData',  function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let chartTitle = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_');\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        return promise; \n    }),\n    \n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            //vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = yAxisLegend\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");            \n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = yAxisLegend.get('title');\n                //console.log(title);\n                    \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        units=_this.get(\"yAxisUnit\") ? _this.get(\"yAxisUnit\") :  chartData.get('units');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    title = axisName + \" (\" + units + \")\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            zoomChart.legend.rightAlign(true);\n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                console.log(\"zoomChartLinesData\");\n                console.log(zoomChartLinesData);\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n                    /* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } \n                    */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){//} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('instrument', function() {\n        let anchors = this.get(\"instrument\").get('anchors');\n        let dist = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n        // console.log('DIS IS:', dist);\n        return dist;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","import Ember from 'ember';\nimport { assign } from '@ember/polyfills';\nimport { inject as service } from \"@ember/service\";\n\nexport default Ember.Component.extend({\n    router: service(),\n    paginatorSize: 5,\n    newPage: null,\n\n    currentPage: Ember.computed('meta', function() {\n        if ( !this.get('meta') || typeof this.get('meta').pagination.page === 'undefined' ) {\n            return 1;\n        }\n        return this.get('meta').pagination.page;\n    }),\n\n    totalPages: Ember.computed('meta', function() {\n        if ( !this.get('meta') ) {\n            return null;\n        }\n        return this.get('meta').pagination['total_pages'];\n    }),\n\n    totalVisibleLinksCount: Ember.computed('totalPages', 'paginatorSize', function() {\n        return ( this.get('totalPages') <= this.get('paginatorSize') ) ? this.get('totalPages') : this.get('paginatorSize');\n    }),\n\n    halfOfTotalVisibleLinksCount: Ember.computed('totalVisibleLinksCount', function() {\n        return Math.ceil(this.get('totalVisibleLinksCount') / 2);\n    }),\n\n    firstPageLink: Ember.computed('currentPage', 'totalPages', 'paginatorSize', 'halfOfTotalVisibleLinksCount',  function() {\n        if ( !this.get('meta') || this.get('currentPage') <= this.get('halfOfTotalVisibleLinksCount') + 1 || this.get('currentPage') === this.get('totalPages') && this.get('currentPage') === this.get('paginatorSize') ) {\n            return null;\n        }\n\n        let queryParams = {\n            page: 1\n        };\n\n        if ( typeof this.get('extraQueryParams') !== 'undefined' ) {\n            assign( queryParams, this.get('extraQueryParams') );\n        }\n\n        return [\n            this.get('routeLink'),\n            {\n                isQueryParams: true,\n                values: queryParams\n            }\n        ];\n    }),\n\n    lastPageLink: Ember.computed('meta', 'currentPage', 'totalPages', 'paginatorSize', 'halfOfTotalVisibleLinksCount', function() {\n        if ( !this.get('meta') || this.get('totalPages') <= 1 || this.get('totalPages') <= this.get('paginatorSize') || this.get('totalPages') <= this.get('currentPage') + this.get('halfOfTotalVisibleLinksCount') ) {\n            return null;\n        }\n\n        let queryParams = {\n            page: this.get('totalPages')\n        };\n\n        if ( typeof this.get('extraQueryParams') !== 'undefined' ) {\n            assign( queryParams, this.get('extraQueryParams') );\n        }\n\n        return [\n            this.get('routeLink'),\n            {\n                isQueryParams: true,\n                values: queryParams\n            }\n        ];\n    }),\n\n    paginationLinks: Ember.computed('meta', 'currentPage', function(){\n        let paginationLinks = [],\n            routeLink = this.get('routeLink'),\n            paginatorSize = this.get('paginatorSize'),\n            currentPage = this.get('currentPage'),\n            totalPages = this.get('totalPages'),\n            totalVisibleLinksCount = this.get('totalVisibleLinksCount'),\n            halfOfTotalVisibleLinksCount = this.get('halfOfTotalVisibleLinksCount'),\n            startPageOffset = 1,\n            endPageOffset = totalPages\n        ;\n\n        if ( currentPage - halfOfTotalVisibleLinksCount >= 1 && totalPages > paginatorSize ) {\n            startPageOffset = currentPage - halfOfTotalVisibleLinksCount;\n        }\n\n        if ( currentPage + halfOfTotalVisibleLinksCount <= totalPages && totalPages > paginatorSize ) {\n            endPageOffset = currentPage + halfOfTotalVisibleLinksCount;\n        }\n\n        if ( endPageOffset > 1 ) {\n            for (let i = startPageOffset; i <= endPageOffset; i++) {\n\n                let queryParams = {\n                        page: i\n                    };\n\n                if ( typeof this.get('extraQueryParams') !== 'undefined' ) {\n                    assign( queryParams, this.get('extraQueryParams') );\n                }\n\n                paginationLinks.push({\n                    linkName: i,\n                    params: [\n                        routeLink,\n                        {\n                            isQueryParams: true,\n                            values: queryParams\n                        }\n                    ]\n                });\n            }\n        }\n\n        return paginationLinks;\n\n    }),\n    actions: {\n        goToPage(){\n            let new_page = this.get('newPage');\n            let pages = this.get('paginationLinks')\n            if (typeof new_page !== 'undefined' && new_page != \"\") {\n                let page = pages[0]\n                //console.log(\"Page::::::::::::::: \" + page.params[0])\n                if (page.params[0] == 'raw-data') {\n                    let id = this.get('meta')['instrument-id'];\n                    page.params[1].values.page = new_page;\n                    this.get('router').transitionTo(page.params[0], id, { queryParams: page.params[1].values});\n                } else if (page.params[0] == 'raw-gateway-data') {\n                  //  console.log(\"page.params[0]:::\" + page.params[0]) ;\n                  let id = this.get('meta')['gateway-id'];\n                  page.params[1].values.page = new_page;\n                  this.get('router').transitionTo(page.params[0], id, { queryParams: page.params[1].values});\n              } else {\n                    page.params[1].values.page = new_page;\n                    this.get('router').transitionTo(page.params[0], { queryParams: page.params[1].values});\n                }\n            }\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 13) {\n            this.send('goToPage');\n        }\n    }\n});\n","define(\"geotechnical-data-platform-new/components/path-layer\", [\"exports\", \"ember-leaflet/components/path-layer\"], function (_exports, _pathLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _pathLayer.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count-1;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                console.log(_this.activeChannels)\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n        // setPhoneNumber() {\n        //     console.log(\"alert.target:\" + this.get('alert.target'));\n        //     // this.set('alert.target', this.get('carrier'));\n        //     this.toggleProperty('showModal');\n        // },\n\n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n            newInstrumentObject.instrumentStiffness = 0;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        \n                        if(results.id != null) {\n                            let anchorCount = parseInt(newInstrumentObject.id.substring(4,newInstrumentObject.id.length > 9 ? 6 : 5)) - 1;\n                            for(var ctr = 0; ctr <= anchorCount; ctr++) {\n                                store.createRecord('anchor', {number: ctr, distance: ctr, instrument: results}).save();\n                            }\n                        }\n\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 1; i <= this.get('instrumentAnchors').length; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,\n\n        onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n    \n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans-1;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        viewData(id) {\n            this.get('router').transitionTo('raw-data', id);\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values' || modelName === 'load-values') { \n                var plated = this.get('instrument').get('plated');\n                var type = this.get('instrument').get('instrumentType').get('title');\n                //console.log(type);\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n        if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {\n            anchorDistances.splice(0, 1);\n        }\n        return anchorDistances;\n    }),\n\n    anchorAXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else { //staggered\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n    \n            midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n                return [v, anchorDistances.slice(center + 1)[i]];\n              });\n\n            midPoints.unshift(headExclusion);\n            let mid_temp = [];\n            for(let ctr = 1;ctr < midPoints.length; ctr++) {\n                mid_temp.push((midPoints[ctr - 1] + midPoints[ctr]) / 2);\n            }\n            midPoints = mid_temp;\n\n            if (modelName === 'bending-strain-values') {\n                midPoints.shift();\n                midPoints.pop();\n            }    \n            \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n        \n        //console.log(midPoints);\n        \n        return midPoints;\n    }),\n\n    anchorBXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else {\n\n        let center = anchorDistances.length - 1;\n        center = Math.ceil(center / 2);\n\n        midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n            return [v, anchorDistances.slice(center + 1)[i]];\n          });\n            midPoints.shift();\n            midPoints.pop();                  \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n\n        return midPoints;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        let anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        anchorDistances.unshift(0);\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        if(type === 'dCable') {\n            midDistances.splice(0,1);\n            //midDistances.unshift(0);\n            midDistances[0] = 0;\n            var len = this.get('instrument').get('length');\n            var length = this.get('instrument').get('instrumentLength');\n\n            var modelName = this.get('chartDataModelName');\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {    \n                if(length !== null && length !== 0) {\n                    midDistances.push(length);\n                } else {\n                    midDistances.push(anchorDistances[anchorDistances.length - 1]);\n                }\n            }\n        }\n        // console.log(\"Anchors: \" + anchorDistances);\n         //console.log(\"Mids: \" + midDistances);\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', 'anchorAXDistances', 'anchorBXDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(this.get('instrument').get('instrumentTypeID') === 3) {//rebar \n            if(this.get('instrument').get('stacked')) { //is stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            } else { //is NOT stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            }\n        }\n\n        if (this.get('instrument').get('instrumentType').get('title') !== 'dRebar') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                return anchorMidDistances.map(function(anchorDistance){\n                    return {\n                        key: anchorDistance,\n                        type: 'referencePoints',\n                        values: [\n                            anchorDistance\n                        ]\n                    };\n                });\n                    \n            }\n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'load-values') {\n            return 28;\n        } else if((modelName === 'axial-strain-values' || modelName === 'bending-strain-values') && this.get('instrument').get('stacked')) {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorAXDistances = this.get('anchorAXDistances'),\n            anchorBXDistances = this.get('anchorBXDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints'),\n            anchorMidDistances = this.get('anchorMidDistances')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n\n        \n        if ((modelName === 'strain-values' || modelName === 'load-values') && this.get('instrument').get('instrumentType').get('title') !== 'dRebar') { \n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorMidDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'axial-strain-values' || modelName === 'load-values' ) {//&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorAXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'bending-strain-values' ) { //&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorBXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if(type === 'dCable') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                //console.log(fullRangeDataPoints);\n                fullRangeDataPoints.forEach(element => element.values[0]=0);\n            }\n        }\n        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                if(yAxisLegend.get('title')==='load') {\n                    title = axisName + \" (kN)\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n/*                 zoomChart.xAxis.dispatch.on('xAxisMouseMove', function (mouseMove) {\n                    console.log('test');\n                });\n */\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    \n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n        var events = this.get('vibeEvents');\n        //console.log('vibeEvents');\n        //console.log(events);\n        if ( this.get('vibeEvents') ) {\n            return [{\n                key: 'BluVibe',\n                type: 'distX',\n                color: '#80bf5c',\n                values: this.get('vibeEvents').map(function(event) {\n                    return [\n                        moment( event.get('id') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    vibeEventsArray: Ember.computed('vibeEvents', function() {\n        var events = this.get('vibeEvents');\n        //console.log(events);\n        if ( events ) {\n            return events.map(function(event) {\n                return {\n                    type: 'BluVibe',\n                    time: event.get('id'),\n                    timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    ppa: event.get('ppa'),\n                    ppv: event.get('ppv'),\n                    freq: event.get('frequency')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n        let KPA_TO_MMH20 = 101.9716;\n        \n        var chartData = item.getProperties(linesKyes);\n\n        var modelName = this.get('chartDataModelName');\n        let chartType = this.attrs.getQueryParams('chart_type');\n\n        console.log(\"Model Name::::|\" + chartType + \"|\");\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var plated = this.get('instrument').get('plated');\n            \n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                if(plated) {\n                    chartData.values[0] = chartData.values[1];\n                } else {\n                    chartData.values[0] = 0;\n                }\n            } else {\n                //chartData.values.unshift(0);\n            }\n            chartData.values.push(0);\n        }\n        if(chartType === 'mmH20') {\n            chartData.values = chartData.values.map(function(item) {\n                return item * KPA_TO_MMH20;\n            });\n        }\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        if(instType === 'Tilt') {\n            return ['X','Y','Z'];\n        } else if(instType === 'Wire') {\n            let anchors = [];\n            let numPorts = this.instrument.get('portsNum');\n            let startVal = 0;\n            let maxVal = numPorts;\n/*             if (this.port != '') {\n                //startVal = (1 * this.port) - 1;\n                startVal = (1 * numPorts) - 1;\n                maxVal = startVal + 1;\n            }\n */            for(let ctr = startVal; ctr < maxVal; ctr++) {\n                anchors.push('T' + (ctr + 1));\n                anchors.push(ctr + 1);\n            }\n            return anchors;\n        } else if(instType === 'BluVibe') {\n            return ['Data'];\n        }\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var midPoints = [];\n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                //Adjust anchors to mid points between anchors\n                for(var ctr = 1; ctr < anchorDistances.length ; ctr++) {\n                    var mid = (anchorDistances[ctr - 1] + anchorDistances[ctr]) / 2;\n                    midPoints[ctr] = + mid.toFixed(2);\n                }\n\n                //console.log(midPoints);\n\n                //add zero point and end point\n                midPoints.splice(0,1);\n                midPoints[0] = 0;\n                midPoints.push(anchorDistances[anchorDistances.length - 1]);  //TODO: change to length of exto once known\n                //console.log(midPoints);\n            } else if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                //Adjust anchors to mid points between anchors\n                //console.log(this.get('instrument'));\n                let headExclusion = this.get('instrument').get('headExclusionLength');\n                let leftAnchors = [headExclusion];\n                let rightAnchors = [headExclusion];\n                \n                let center = anchorDistances.length - 1;\n                center = Math.ceil(center / 2);\n\n                leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n\n                rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n\n                let midLeft = [];\n                for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                    midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                }\n\n                let midRight = [];\n                for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                    midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                }\n\n                if (modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'load-values') {\n                    if(this.get('instrument').get('stacked')) {\n                        midPoints = midLeft;\n                        if (modelName === 'load-values') {\n                            midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n                        }\n                    } else {\n                        midPoints = midLeft.concat(midRight);\n                        /* midPoints = $.map(midPoints.slice(1, center + 1), function(v, i) {\n                            return [v, midPoints.slice(center + 1)[i]];\n                          }); */\n                        if (modelName === 'bending-strain-values') {\n                            midPoints.shift();\n                            midPoints.pop();\n                        }\n\n                    }\n                } else {\n                    midPoints = midLeft.concat(midRight);\n                }\n                if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                    for(let ctr = 0; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n  \n/*                     for(let ctr = 0; ctr < midPoints.length / 2; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n        \n                    for(let ctr = 3; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n */                }\n            } else {\n                for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                    midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n                }\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        } else if (modelName === 'axial-displacement-values' && this.get('instrument').get('stacked')) {\n            let mid = (anchorDistances.length - 1) / 2;\n            while (anchorDistances.length > (mid + 1)) {\n                anchorDistances.pop();\n            }\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else if (modelName === 'axial-displacement-values' && !this.get('instrument').get('stacked')) {\n            anchorDistances.sort(function(a,b){return a-b;});\n\n            //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else {\n            if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                if (modelName === 'displacement-values') { //rebar stretch\n                    var midPoints = [];\n                    let headExclusion = this.get('instrument').get('headExclusionLength');\n                    let leftAnchors = [headExclusion];\n                    let rightAnchors = [headExclusion];\n                    \n                    let center = anchorDistances.length - 1;\n                    center = Math.ceil(center / 2);\n    \n                    leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                    rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n    \n                    if(!this.get('instrument').get('stacked')) {\n                        rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n                    }\n    \n                    let midLeft = [];\n                    for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                        midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                    }\n    \n                    let midRight = [];\n                    for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                        midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                    }\n\n                    midPoints = midLeft.concat(midRight);\n                    anchorDistances = midPoints;\n\n                    anchorDistances.unshift(0);\n                }\n                for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n    \n                for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n            }    \n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    // zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n            var mName = _this.get('chartDataModelName');\n            if (mName === 'strain-values' || mName === 'strain-rate-values' || mName === 'load-values') {\n                zoomDataPoints.forEach(element => element.values[0] = 0);\n            }\n        }    \n\n        //  if (this.get('instrument').get('instrumentType').get('title') == 'Tilt') {\n        //         zoomDataPoints.forEach(element => element.values.shift());\n        // }    \n\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values' && this.get('instrument').get('instrumentType').get('title') !== 'BluVibe'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (vibeEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        //console.log(vibeEventsArray);\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get('firstObject');\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = '';\n                if (instType === 'BluVibe') {\n                    title = _this.get('chartDataModelName');\n                } else {\n                    title = yAxisLegend.get('title');\n                }\n                let chartType = _this.attrs.getQueryParams('chart_type');\n\n                // because we can only have one displacement chart and this one uses 2 (a regular displacement and a mmH20 displacement)\n                // I had to do this hack to accomodate the mmH20 chart.  I'm not proud of it, but it works.\n                if(chartType == null || chartType == undefined || chartType == '') {\n                    title = 'displacement';\n                } else if (chartType === 'mmH20'){\n                    title = chartType;\n                }\n                \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'mmH20':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units = \"\"; //\"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    case 'event-frequency':\n                        axisName = \"Event Frequency\";\n                        break;\n                    case 'event-ppv':\n                        axisName = \"Event PPV\";\n                        break;\n                    case 'event-ppa':\n                        axisName = \"Event PPA\";\n                        break;\n                    case 'cumulative-event-frequency':\n                        axisName = \"Cumulative Frequency\";\n                        break;\n                    case 'cumulative-event-ppv':\n                        axisName = \"Cumulative PPV\";\n                        break;\n                    case 'cumulative-event-ppa':\n                        axisName = \"Cumulative PPA\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                        //console.log(title);\n                }\n\n                /* let chartName = yAxisLegend.get('title').capitalize();\n                let chartNameL = chartName.substr(0, chartName.indexOf('_'));\n                let chartNameR = chartName.substr(chartName.indexOf('_') + 1).capitalize();\n                if(chartNameL !== \"\") {\n                    chartName = chartNameL + \" \" + chartNameR;\n                } */\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    if(yAxisLegend.get('title')==='load') {\n                        title = axisName +\" (kN)\";\n                    } else if (instType === 'Wire') {\n                        if (raw === true) {\n                            title = \"Frequency (Hz)\";\n                        } else {\n                            title = \"Calculated Values\";\n                        }\n                    } else {\n                        if(units === '') {\n                            title = axisName;\n                        } else {\n                            title = axisName + \" (\" + units + \")\";\n                        }\n                    }\n                } else {\n                    if (instType === 'BluVibe') {\n                        title = axisName;\n                    } else {\n                        if(units === '') {\n                            title = axisName;\n                        } else {\n                            title = axisName + \" (\" + units + \")\";\n                        }\n                    }\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    displacementData2: Ember.computed('displacementData', function() {\n        //console.log('here');\n        let dv = this.displacementData;\n        dv.forEach(function(value) {\n            value.values.shift();\n            //console.log(value.values);\n        })\n        //dv.shift();\n        return dv;\n    }),\n\n    anchorDistances: Ember.computed('instrument', function() {\n        return['kPa'];\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n    // isPiezo: Ember.computed('instrumentType', function() {\n    //     console.log(\"instrumentType :::::::::::::::::::::::::::::::: \" + this.instrumentType);\n    //     if (this.instrumentType === 'Piezometer') {\n    //         return true;\n    //     }\n    //     return false;\n    // }),\n\n});","define(\"geotechnical-data-platform-new/components/point-path-layer\", [\"exports\", \"ember-leaflet/components/point-path-layer\"], function (_exports, _pointPathLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _pointPathLayer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/polygon-layer\", [\"exports\", \"ember-leaflet/components/polygon-layer\"], function (_exports, _polygonLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _polygonLayer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/polyline-layer\", [\"exports\", \"ember-leaflet/components/polyline-layer\"], function (_exports, _polylineLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _polylineLayer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/popup-layer\", [\"exports\", \"ember-leaflet/components/popup-layer\"], function (_exports, _popupLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _popupLayer.default;\n    }\n  });\n});\n","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default Ember.Component.extend({\n\n    isShowingModal: false,\n    host: Ember.computed(function() {\n      return \"http://\" + document.location.host.split(':')[0] + \":4500/assets/images/gateway_carrier.json\";\n    }),\n\n    carrierList: Ember.computed(function() {\n      let data = this.get('gateways');\n      // const sortedData = {\n      //   \"carrier_list\": Object.values(data.carrier_list)\n      //     .sort((a, b) => a.Country.localeCompare(b.Country))\n      //     .reduce((acc, curr) => {\n      //       acc[curr.Carrier] = curr;\n      //       return acc;\n      //     }, {})\n      // };\n      // return sortedData.carrier_list;\n      return data;\n    }),\n\n    carrierValue: function(item){\n      \n      const atIndex = item.indexOf('@');\n      if (atIndex === -1) {\n          return item;\n      }\n      return item.substring(atIndex, item.length);          \n    },\n\n    actions: {\n      close() {\n          this.set('show', false);\n      },\n\n      \n      selectGateway( phoneNumber, item) {\n          this.set('show', false);\n          this.set('isShowingModal', false);\n          const concatenatedValue = `${phoneNumber}${this.carrierValue(item)}`;\n          console.log(\"selectdGateway::::::::::::::\" + concatenatedValue);\n          // this.args.onSelect(concatenatedValue);\n          this.sendAction('onSelect', concatenatedValue);\n          \n        },\n\n      toggleModal() {\n        this.toggleProperty('isShowingModal');\n        this.toggleProperty('showModal');\n        this.toggleProperty('isShowingModal');\n        \n        this.set('isShowingModal', false);\n        // console.log(\"toggleModal:\" + this.get('showModal'));\n      },\n\n      closeTargetSelector() { \n        this.set('isShowingModal', false);\n      }\n    },\n    gateways: Ember.computed(function() {\n      let data = {\n        \"carrier_list\": {\n          \"AirCel\": {\n            \"Carrier\": \"AirCel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@aircel.co.in\"\n          },\n          \"Airtel\": {\n            \"Carrier\": \"Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelkk.com\"\n          },\n          \"AirFire Mobile\": {\n            \"Carrier\": \"AirFire Mobile\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@sms.airfiremobile.com\"\n          },\n          \"Aio Wireless\": {\n            \"Carrier\": \"Aio Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mms.aiowireless.net\"\n          },\n          \"Alaska Communications\": {\n            \"Carrier\": \"Alaska Communications\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@msg.acsalaska.com\"\n          },\n          \"Aliant Canada\": {\n            \"Carrier\": \"Aliant Canada\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@sms.wirefree.informe.ca\"\n          },\n          \"Alltel (Allied Wireless)\": {\n            \"Carrier\": \"Alltel (Allied Wireless)\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mms.alltelwireless.com\"\n          },\n          \"Verizon Wireless\": {\n            \"Carrier\": \"Verizon Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@vzwpix.com\"\n          },\n          \"Ameritech\": {\n            \"Carrier\": \"Ameritech\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@paging.acswireless.com\"\n          },\n          \"Andhra Pradesh AirTel\": {\n            \"Carrier\": \"Andhra Pradesh AirTel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelap.com\"\n          },\n          \"Andhra Pradesh Idea\": {\n            \"Carrier\": \"Andhra Pradesh Idea\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@ideacellular.net\"\n          },\n          \"Assurance Wireless\": {\n            \"Carrier\": \"Assurance Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@vmobl.com\"\n          },\n          \"AT&T Mobility\": {\n            \"Carrier\": \"AT&T Mobility\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mms.att.net\"\n          },\n          \"Rogers Canada\": {\n            \"Carrier\": \"Rogers Mobile Canada\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@pcs.rogers.com\"\n          },\n          \"Koodo Mobile Canada\": {\n            \"Carrier\": \"Koodo Mobile Canada\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@msg.koodomobile.com\"\n          },\n          \"Virgin Mobile Canada\": {\n            \"Carrier\": \"Virgin Mobile Canada\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@vmobile.ca\"\n          },\n          \"AT&T Enterprise Paging\": {\n            \"Carrier\": \"AT&T Enterprise Paging\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@page.att.net\"\n          },\n          \"Beeline\": {\n            \"Carrier\": \"Beeline\",\n            \"Country\": \"Russia\",\n            \"Gateway\": \"number@sms.beemail.ru\"\n          },\n          \"Bell Mobility\": {\n            \"Carrier\": \"Bell Mobility\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@txt.bell.ca\"\n          },\n          \"BellSouth\": {\n            \"Carrier\": \"BellSouth\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@bellsouth.cl\"\n          },\n          \"Bluegrass Cellular\": {\n            \"Carrier\": \"Bluegrass Cellular\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mms.myblueworks.com\"\n          },\n          \"Bluesky Communications\": {\n            \"Carrier\": \"Bluesky Communications\",\n            \"Country\": \"USA Samoa\",\n            \"Gateway\": \"number@psms.bluesky.as\"\n          },\n          \"Boost mobile\": {\n            \"Carrier\": \"Boost mobile\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@myboostmobile.com\"\n          },\n          \"Bouygues Telecom\": {\n            \"Carrier\": \"Bouygues Telecom\",\n            \"Country\": \"France\",\n            \"Gateway\": \"number@mms.bouyguestelecom.fr\"\n          },\n          \"Box Internet Services\": {\n            \"Carrier\": \"Box Internet Services\",\n            \"Country\": \"Switzerland\",\n            \"Gateway\": \"number@mms.boxis.net\"\n          },\n          \"SFR\": {\n            \"Carrier\": \"SFR\",\n            \"Country\": \"France\",\n            \"Gateway\": \"number@sfr.fr\"\n          },\n          \"CellCom\": {\n            \"Carrier\": \"CellCom\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@cellcom.quiktxt.com\"\n          },\n          \"Cellular South\": {\n            \"Carrier\": \"Cellular South\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@csouth1.com\"\n          },\n          \"Centennial Wireless\": {\n            \"Carrier\": \"Centennial Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@cwemail.com\"\n          },\n          \"Chariton Valley Wireless\": {\n            \"Carrier\": \"Chariton Valley Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@sms.cvalley.net\"\n          },\n          \"Chat Mobility\": {\n            \"Carrier\": \"Chat Mobility\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mail.msgsender.com\"\n          },\n          \"Chennai Skycell / Airtel\": {\n            \"Carrier\": \"Chennai Skycell / Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelchennai.com\"\n          },\n          \"Chennai RPG Cellular\": {\n            \"Carrier\": \"Chennai RPG Cellular\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@rpgmail.net\"\n          },\n          \"China Mobile\": {\n            \"Carrier\": \"China Mobile\",\n            \"Country\": \"China\",\n            \"Gateway\": \"number@139.com\"\n          },\n          \"Cincinnati Bell\": {\n            \"Carrier\": \"Cincinnati Bell\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mms.gocbw.com\"\n          },\n          \"Claro\": {\n            \"Carrier\": \"Claro\",\n            \"Country\": \"Colombia\",\n            \"Gateway\": \"number@iclaro.com.co\"\n          },\n          \"Cleartalk\": {\n            \"Carrier\": \"Cleartalk\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@sms.cleartalk.us\"\n          },\n          \"Cricket\": {\n            \"Carrier\": \"Cricket\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mms.mycricket.com\"\n          },\n          \"C Spire Wireless\": {\n            \"Carrier\": \"C Spire Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@cspire1.com\"\n          },\n          \"Accessyou\": {\n            \"Carrier\": \"Accessyou\",\n            \"Country\": \"Hong Kong\",\n            \"Gateway\": \"number@messaging.accessyou.com\"\n          },\n          \"CSL\": {\n            \"Carrier\": \"CSL\",\n            \"Country\": \"Hong Kong\",\n            \"Gateway\": \"number@mgw.mmsc1.hkcsl.com\"\n          },\n          \"CTI Móvil (Now Claro)\": {\n            \"Carrier\": \"CTI Móvil (Now Claro)\",\n            \"Country\": \"Argentina\",\n            \"Gateway\": \"number@sms.ctimovil.com.ar\"\n          },\n          \"Delhi Airtel\": {\n            \"Carrier\": \"Delhi Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelmail.com\"\n          },\n          \"Digicel\": {\n            \"Carrier\": \"Digicel\",\n            \"Country\": \"Dominica\",\n            \"Gateway\": \"number@digitextdm.com\"\n          },\n          \"DTC\": {\n            \"Carrier\": \"DTC\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@sms.advantagecell.net\"\n          },\n          \"E-Plus\": {\n            \"Carrier\": \"E-Plus\",\n            \"Country\": \"Germany\",\n            \"Gateway\": \"number@smsmail.eplus.de\"\n          },\n          \"Edge Wireless\": {\n            \"Carrier\": \"Edge Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@sms.edgewireless.com\"\n          },\n          \"Element Mobile\": {\n            \"Carrier\": \"Element Mobile\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@SMS.elementmobile.net\"\n          },\n          \"Emtel\": {\n            \"Carrier\": \"Emtel\",\n            \"Country\": \"Mauritius\",\n            \"Gateway\": \"number@emtelworld.net\"\n          },\n          \"Esendex\": {\n            \"Carrier\": \"Esendex\",\n            \"Country\": \"Spain\",\n            \"Gateway\": \"number@esendex.net\"\n          },\n          \"Fido\": {\n            \"Carrier\": \"Fido\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@sms.fido.ca\"\n          },\n          \"Firmensms\": {\n            \"Carrier\": \"Firmensms\",\n            \"Country\": \"Austria\",\n            \"Gateway\": \"number@subdomain.firmensms.at\"\n          },\n          \"Freebie SMS\": {\n            \"Carrier\": \"Freebie SMS\",\n            \"Country\": \"Europe\",\n            \"Gateway\": \"number@smssturen.com\"\n          },\n          \"General Communications Inc.\": {\n            \"Carrier\": \"General Communications Inc.\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mobile.gci.net\"\n          },\n          \"Globalstar\": {\n            \"Carrier\": \"Globalstar\",\n            \"Country\": \"International\",\n            \"Gateway\": \"number@msg.globalstarusa.com\"\n          },\n          \"Globul\": {\n            \"Carrier\": \"Globul\",\n            \"Country\": \"Bulgaria\",\n            \"Gateway\": \"number@sms.globul.bg\"\n          },\n          \"Goa Airtel\": {\n            \"Carrier\": \"Goa Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelmail.com\"\n          },\n          \"Goa Idea Cellular\": {\n            \"Carrier\": \"Goa Idea Cellular\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@ideacellular.net\"\n          },\n          \"Golden State Cellular\": {\n            \"Carrier\": \"Golden State Cellular\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@gscsms.com\"\n          },\n          \"Greatcall\": {\n            \"Carrier\": \"Greatcall\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@vtxt.com\"\n          },\n          \"Gujarat Idea Cellular\": {\n            \"Carrier\": \"Gujarat Idea Cellular\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@ideacellular.net\"\n          },\n          \"Gujarat Airtel\": {\n            \"Carrier\": \"Gujarat Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelmail.com\"\n          },\n          \"Gujarat Celforce / Fascel\": {\n            \"Carrier\": \"Gujarat Celforce / Fascel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@celforce.com\"\n          },\n          \"Guyana T&T\": {\n            \"Carrier\": \"Guyana T&T\",\n            \"Country\": \"Guyana\",\n            \"Gateway\": \"number@sms.cellinkgy.com\"\n          },\n          \"Haryana Airtel\": {\n            \"Carrier\": \"Haryana Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelmail.com\"\n          },\n          \"Haryana Escotel\": {\n            \"Carrier\": \"Haryana Escotel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@escotelmobile.com\"\n          },\n          \"Hawaiian Telcom\": {\n            \"Carrier\": \"Hawaiian Telcom\",\n            \"Country\": \"Hawaii USA\",\n            \"Gateway\": \"number@hawaii.sprintpcs.com\"\n          },\n          \"HSL Mobile\": {\n            \"Carrier\": \"HSL Mobile\",\n            \"Country\": \"UK\",\n            \"Gateway\": \"number@sms.haysystems.com\"\n          },\n          \"Helio\": {\n            \"Carrier\": \"Helio\",\n            \"Country\": \"South Korea\",\n            \"Gateway\": \"number@myhelio.com\"\n          },\n          \"Himachai Pradesh Airtel\": {\n            \"Carrier\": \"Himachai Pradesh Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelmail.com\"\n          },\n          \"ICE\": {\n            \"Carrier\": \"ICE\",\n            \"Country\": \"Costa Rica\",\n            \"Gateway\": \"number@sms.ice.cr\"\n          },\n          \"I-wireless(T-Mobile)\": {\n            \"Carrier\": \"I-wireless(T-Mobile)\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number.iws@iwspcs.net\"\n          },\n          \"I-wireless(Sprint PCS)\": {\n            \"Carrier\": \"I-wireless(Sprint PCS)\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@iwirelesshometext.com\"\n          },\n          \"Kajeet\": {\n            \"Carrier\": \"Kajeet\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mobile.kajeet.net\"\n          },\n          \"Karnataka Airtel\": {\n            \"Carrier\": \"Karnataka Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelkk.com\"\n          },\n          \"Kerala Airtel\": {\n            \"Carrier\": \"Kerala Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelkerala.com\"\n          },\n          \"Kerala Escotel\": {\n            \"Carrier\": \"Kerala Escotel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@escotelmobile.com\"\n          },\n          \"Kolkata Airtel\": {\n            \"Carrier\": \"Kolkata Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelkol.com\"\n          },\n          \"Koodo Mobile\": {\n            \"Carrier\": \"Koodo Mobile\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@msg.telus.com\"\n          },\n          \"LongLines\": {\n            \"Carrier\": \"LongLines\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@text.longlines.com\"\n          },\n          \"Lynx Mobility\": {\n            \"Carrier\": \"Lynx Mobility\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@sms.lynxmobility.com\"\n          },\n          \"M1\": {\n            \"Carrier\": \"M1\",\n            \"Country\": \"Singapore\",\n            \"Gateway\": \"number@m1.com.sg\"\n          },\n          \"Madhya Pradesh Airtel\": {\n            \"Carrier\": \"Madhya Pradesh Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelmail.com\"\n          },\n          \"Maharashtra Airtel\": {\n            \"Carrier\": \"Maharashtra Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelmail.com\"\n          },\n          \"Maharashtra Idea\": {\n            \"Carrier\": \"Maharashtra Idea\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@ideacellular.net\"\n          },\n          \"Más Móvil\": {\n            \"Carrier\": \"Más Móvil\",\n            \"Country\": \"Panama\",\n            \"Gateway\": \"number@cwmovil.com\"\n          },\n          \"Mediaburst\": {\n            \"Carrier\": \"Mediaburst\",\n            \"Country\": \"UK\",\n            \"Gateway\": \"number@sms.mediaburst.co.uk\"\n          },\n          \"MetroPCS\": {\n            \"Carrier\": \"MetroPCS\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mymetropcs.com\"\n          },\n          \"Mobiltel\": {\n            \"Carrier\": \"Mobiltel\",\n            \"Country\": \"Bulgaria\",\n            \"Gateway\": \"number@sms.mtel.net\"\n          },\n          \"Mobitel\": {\n            \"Carrier\": \"Mobitel\",\n            \"Country\": \"Sri Lanka\",\n            \"Gateway\": \"number@sms.mobitel.lk\"\n          },\n          \"Movistar\": {\n            \"Carrier\": \"Movistar\",\n            \"Country\": \"Uruguay\",\n            \"Gateway\": \"number@sms.movistar.com.uy\"\n          },\n          \"MTN\": {\n            \"Carrier\": \"MTN\",\n            \"Country\": \"South Africa\",\n            \"Gateway\": \"number@sms.co.za\"\n          },\n          \"MTS Mobility\": {\n            \"Carrier\": \"MTS Mobility\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@text.mtsmobility.com\"\n          },\n          \"Mumbai Airtel\": {\n            \"Carrier\": \"Mumbai Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@airtelmail.com\"\n          },\n          \"My-Cool-SMS\": {\n            \"Carrier\": \"My-Cool-SMS\",\n            \"Country\": \"UK\",\n            \"Gateway\": \"number@my-cool-sms.com\"\n          },\n          \"Nextech\": {\n            \"Carrier\": \"Nextech\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@sms.ntwls.net\"\n          },\n          \"Nextel\": {\n            \"Carrier\": \"Nextel\",\n            \"Country\": \"Argentina\",\n            \"Gateway\": \"TwoWay.11number@nextel.net.ar\"\n          },\n          \"O2\": {\n            \"Carrier\": \"O2\",\n            \"Country\": \"Germany\",\n            \"Gateway\": \"number@o2online.de\"\n          },\n          \"OgVodafone\": {\n            \"Carrier\": \"OgVodafone\",\n            \"Country\": \"Iceland\",\n            \"Gateway\": \"number@sms.is\"\n          },\n          \"Orange\": {\n            \"Carrier\": \"Orange\",\n            \"Country\": \"UK\",\n            \"Gateway\": \"number@orange.net\"\n          },\n          \"Page Plus Cellular (Verizon)\": {\n            \"Carrier\": \"Page Plus Cellular (Verizon)\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@vzwpix.com\"\n          },\n          \"Pioneer Cellular\": {\n            \"Carrier\": \"Pioneer Cellular\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"nine-digit-number@zsend.com\"\n          },\n          \"Personal\": {\n            \"Carrier\": \"Personal\",\n            \"Country\": \"Argentina\",\n            \"Gateway\": \"number@alertas.personal.com.ar\"\n          },\n          \"Plus\": {\n            \"Carrier\": \"Plus\",\n            \"Country\": \"Polan\",\n            \"Gateway\": \"number@text.plusgsm.pl\"\n          },\n          \"Pocket Wireless\": {\n            \"Carrier\": \"Pocket Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@sms.pocket.com\"\n          },\n          \"PC Telecom\": {\n            \"Carrier\": \"PC Telecom\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@mobiletxt.ca\"\n          },\n          \"Polkomtel\": {\n            \"Carrier\": \"Polkomtel\",\n            \"Country\": \"Poland\",\n            \"Gateway\": \"number@text.plusgsm.pl\"\n          },\n          \"Qwest Wireless\": {\n            \"Carrier\": \"Qwest Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@qwestmp.com\"\n          },\n          \"Red Pocket Mobile\": {\n            \"Carrier\": \"Red Pocket Mobile\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@vtext.com\"\n          },\n          \"Rogers Wireless\": {\n            \"Carrier\": \"Rogers Wireless\",\n            \"Country\": \"Canada & USA\",\n            \"Gateway\": \"number@mms.rogers.com\"\n          },\n          \"SaskTel\": {\n            \"Carrier\": \"SaskTel\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@pcs.sasktelmobility.com\"\n          },\n          \"Sendega\": {\n            \"Carrier\": \"Sendega\",\n            \"Country\": \"Norway\",\n            \"Gateway\": \"number@sendega.com\"\n          },\n          \"Setar Mobile email (Aruba)\": {\n            \"Carrier\": \"Setar Mobile email (Aruba)\",\n            \"Country\": \"Aruba\",\n            \"Gateway\": \"number@mas.aw\"\n          },\n          \"Síminn\": {\n            \"Carrier\": \"Síminn\",\n            \"Country\": \"Iceland\",\n            \"Gateway\": \"number@box.is\"\n          },\n          \"Simple Mobile\": {\n            \"Carrier\": \"Simple Mobile\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@smtext.com\"\n          },\n          \"SMS Broadcast\": {\n            \"Carrier\": \"SMS Broadcast\",\n            \"Country\": \"Australia\",\n            \"Gateway\": \"number@send.smsbroadcast.com.au\"\n          },\n          \"SMS Central\": {\n            \"Carrier\": \"SMS Central\",\n            \"Country\": \"Australia\",\n            \"Gateway\": \"number@sms.smscentral.com.au\"\n          },\n          \"SMSPUP\": {\n            \"Carrier\": \"SMSPUP\",\n            \"Country\": \"Australia\",\n            \"Gateway\": \"number@smspup.com\"\n          },\n          \"Southernlinc\": {\n            \"Carrier\": \"Southernlinc\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@page.southernlinc.com\"\n          },\n          \"South Central Communications\": {\n            \"Carrier\": \"South Central Communications\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@rinasms.com\"\n          },\n          \"Spikko\": {\n            \"Carrier\": \"Spikko\",\n            \"Country\": \"Israel\",\n            \"Gateway\": \"number@SpikkoSMS.com\"\n          },\n          \"Sprint\": {\n            \"Carrier\": \"Sprint\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@pm.sprint.com\"\n          },\n          \"Straight Talk\": {\n            \"Carrier\": \"Straight Talk\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"Other: number@mmst5.tracfone.com\"\n          },\n          \"Sunrise Communications\": {\n            \"Carrier\": \"Sunrise Communications\",\n            \"Country\": \"Switzerland\",\n            \"Gateway\": \"number@gsm.sunrise.ch\"\n          },\n          \"Syringa Wireless\": {\n            \"Carrier\": \"Syringa Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@rinasms.com\"\n          },\n          \"TeletopiaSMS\": {\n            \"Carrier\": \"TeletopiaSMS\",\n            \"Country\": \"Norway\",\n            \"Gateway\": \"number@sms.teletopiasms.no\"\n          },\n          \"T-Mobile\": {\n            \"Carrier\": \"T-Mobile\",\n            \"Country\": \"Netherlands\",\n            \"Gateway\": \"number@gin.nl\"\n          },\n          \"T-Mobile (Optus Zoo)\": {\n            \"Carrier\": \"T-Mobile (Optus Zoo)\",\n            \"Country\": \"Australia\",\n            \"Gateway\": \"number@optusmobile.com.au\"\n          },\n          \"Tamil Nadu Airtel\": {\n            \"Carrier\": \"Tamil Nadu Airtel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"919894number@airtelmobile.com\"\n          },\n          \"Tamil Nadu Aircel\": {\n            \"Carrier\": \"Tamil Nadu Aircel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"9842number@airsms.com\"\n          },\n          \"Tele2\": {\n            \"Carrier\": \"Tele2\",\n            \"Country\": \"Sweden\",\n            \"Gateway\": \"number@sms.tele2.se\"\n          },\n          \"Telecom\": {\n            \"Carrier\": \"Telecom\",\n            \"Country\": \"New Zealand\",\n            \"Gateway\": \"number@etxt.co.nz\"\n          },\n          \"Teleflip\": {\n            \"Carrier\": \"Teleflip\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@teleflip.com\"\n          },\n          \"Telstra\": {\n            \"Carrier\": \"Telstra\",\n            \"Country\": \"Australia\",\n            \"Gateway\": \"mobile@sms.tim.telstra.com\"\n          },\n          \"Telus Mobility\": {\n            \"Carrier\": \"Telus Mobility\",\n            \"Country\": \"Canada & USA\",\n            \"Gateway\": \"number@mms.telusmobility.com\"\n          },\n          \"TellusTalk\": {\n            \"Carrier\": \"TellusTalk\",\n            \"Country\": \"Europe\",\n            \"Gateway\": \"number@esms.nu\"\n          },\n          \"Tigo (Formerly Ola)\": {\n            \"Carrier\": \"Tigo (Formerly Ola)\",\n            \"Country\": \"Colombia\",\n            \"Gateway\": \"number@sms.tigo.com.co\"\n          },\n          \"TIM\": {\n            \"Carrier\": \"TIM\",\n            \"Country\": \"Italy\",\n            \"Gateway\": \"number@timnet.com\"\n          },\n          \"Ting\": {\n            \"Carrier\": \"Ting\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@message.ting.com\"\n          },\n          \"TracFone (prepaid)\": {\n            \"Carrier\": \"TracFone (prepaid)\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mmst5.tracfone.com\"\n          },\n          \"Txtlocal\": {\n            \"Carrier\": \"Txtlocal\",\n            \"Country\": \"UK\",\n            \"Gateway\": \"number@txtlocal.co.uk\"\n          },\n          \"Telcel\": {\n            \"Carrier\": \"Telcel\",\n            \"Country\": \"Mexico\",\n            \"Gateway\": \"number@itelcel.com\"\n          },\n          \"Unicel\": {\n            \"Carrier\": \"Unicel\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@utext.com\"\n          },\n          \"UniMóvil Corporation\": {\n            \"Carrier\": \"UniMóvil Corporation\",\n            \"Country\": \"UK\",\n            \"Gateway\": \"number@viawebsms.com\"\n          },\n          \"Union Wireless\": {\n            \"Carrier\": \"Union Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@union-tel.com\"\n          },\n          \"US Cellular\": {\n            \"Carrier\": \"US Cellular\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mms.uscc.net\"\n          },\n          \"USA Mobility\": {\n            \"Carrier\": \"USA Mobility\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@usamobility.net\"\n          },\n          \"UTBox\": {\n            \"Carrier\": \"UTBox\",\n            \"Country\": \"Australia\",\n            \"Gateway\": \"number@sms.utbox.net\"\n          },\n          \"Uttar Pradesh West Escotel\": {\n            \"Carrier\": \"Uttar Pradesh West Escotel\",\n            \"Country\": \"India\",\n            \"Gateway\": \"number@escotelmobile.com\"\n          },\n          \"Viaero\": {\n            \"Carrier\": \"Viaero\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@mmsviaero.com\"\n          },\n          \"Vivo\": {\n            \"Carrier\": \"Vivo\",\n            \"Country\": \"Brazil\",\n            \"Gateway\": \"number@torpedoemail.com.br\"\n          },\n          \"Virgin Mobile\": {\n            \"Carrier\": \"Virgin Mobile\",\n            \"Country\": \"UK\",\n            \"Gateway\": \"number@vxtras.com\"\n          },\n          \"Vodacom\": {\n            \"Carrier\": \"Vodacom\",\n            \"Country\": \"South Africa\",\n            \"Gateway\": \"number@voda.co.za\"\n          },\n          \"Vodafone\": {\n            \"Carrier\": \"Vodafone\",\n            \"Country\": \"New Zealand\",\n            \"Gateway\": \"number@mtxt.co.nz\"\n          },\n          \"Voyager Mobile\": {\n            \"Carrier\": \"Voyager Mobile\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@text.voyagermobile.com\"\n          },\n          \"West Central Wireless\": {\n            \"Carrier\": \"West Central Wireless\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@sms.wcc.net\"\n          },\n          \"Wind Mobile\": {\n            \"Carrier\": \"Wind Mobile\",\n            \"Country\": \"Canada\",\n            \"Gateway\": \"number@txt.windmobile.ca\"\n          },\n          \"XIT Communications\": {\n            \"Carrier\": \"XIT Communications\",\n            \"Country\": \"USA\",\n            \"Gateway\": \"number@sms.xit.net\"\n          }\n        \n        }\n      };\n      const sortedData = {\n          \"carrier_list\": Object.values(data.carrier_list)\n          .sort((a, b) => a.Country.localeCompare(b.Country))\n          .reduce((acc, curr) => {\n          acc[curr.Carrier] = curr;\n          return acc;\n          }, {})\n      };\n      return sortedData.carrier_list;\n  })\n\n  });\n\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class RawDropDown extends Component {\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n}","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class RawPortDropDown extends Component {\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    actions = {\n        showPort() {\n            //console.log(\"showPort\");\n            return;\n        }\n    }\n}","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        activeChanged() {\n            this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            let selected = {};\n\n            for(const elem of selector.selectedOptions)\n            {\n                selected[elem.value] = true;\n            };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                for(const elem of selector.selectedOptions) {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = elem.value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save();\n                                }\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n\n\n    actions = {\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.stacked = true;//this.get('stacked');\n            newInstrumentObject.active = true;\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if(!error) {\n                if(typeof newInstrumentObject.strokeLength === 'undefined' || newInstrumentObject.strokeLength === 0) {\n                    error = true;\n                    this.setError('fieldError',true);\n                    this.setError('isVisibleError',true);\n                }\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n\n                        if(results.id != null) {\n                            store.createRecord('anchor', {number: 0, distance: 0, instrument: results}).save();\n                            let anchorCount = parseInt(newInstrumentObject.id.substring(4,newInstrumentObject.id.length > 9 ? 6 : 5)) - 1;\n                            for(var ctr = 0; ctr < anchorCount; ctr++) {\n                                let gauge = parseInt(newInstrumentObject.gaugeLength);\n                                let distance = parseInt(newInstrumentObject.headExclusionLength) + gauge;\n                                if(!newInstrumentObject.stacked && ctr+1 > anchorCount / 2) {\n                                    distance += (gauge + 20) / 2;\n                                }\n                                distance += (gauge + 20) * (ctr % (anchorCount / 2));\n                                if (isNaN(distance)) {\n                                    distance = 0;\n                                }\n                                store.createRecord('anchor', {number: ctr+1, distance: distance, instrument: results}).save();\n                            }\n                        }\n\n                        // console.log(dup);\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        },\n        stackedChanged(object)\n        {\n            //console.log(document.getElementById('newInstrumentObjectBulbed').checked);\n            this.set(\"stacked\",document.getElementById('newInstrumentObjectStacked').checked);\n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n    \n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n    ajax: Ember.inject.service(),\n    store: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeSize: 2,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    \n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = Ember.$(thing.target).val();\n            else\n                update = Ember.$(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        updatePage(){\n            let store = this.get('store');\n            let instrument = this.get('instrument');\n            let anchors = instrument.get('anchors');\n\n            anchors.forEach(function(anchor, index) {\n                let number = anchor.get('number') - 1;\n                let total = anchors.length-1;\n                if(number >= 0) {\n                    let gauge = instrument.get('gaugeLength');\n                    let distance = instrument.get('headExclusionLength') + gauge;\n                    if(!instrument.get('stacked') && number >= total / 2) {\n                        distance += (gauge + 20) / 2;\n                    }\n                    distance += (gauge + 20) * (number % (total / 2));\n                    if (isNaN(distance)) {\n                        distance = 0;\n                    }\n                    //let val = anchors[index];\n                    anchor.set('distance', distance);\n                    anchor.save();\n                }\n            });\n\n            //instrument.set('anchors',anchors);\n            //instrument.save();\n            setTimeout(function() { alert('To see changes, please refresh the page.'); }, 1);\n        },\n        viewData(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let dateTimeFormat = \"DD-MM-YYYY\";\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            this.get('router').transitionTo('raw-data', id, { queryParams: {\"advancedDateTimeFormat\": dateTimeFormat, \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values' || modelName === 'load-values') { \n                var plated = this.get('instrument').get('plated');\n                var type = this.get('instrument').get('instrumentType').get('title');\n                //console.log(type);\n                \n                if (type === 'dCable') {\n                    chartData.values.splice(0,1);\n                    chartData.values.unshift(0);\n                    if(plated) {\n                        chartData.values.push(chartData.values[chartData.values.length - 1]);\n                    } else {\n                        chartData.values.push(0);\n                    }\n                } else if (type === 'dExto') {\n                    chartData.values.unshift(chartData.values[0]);\n                }\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n\n/*         if (this.get('instrument').get('instrumentType').get('title') == 'dRebar') {\n            for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                anchorDistances[ctr] = (ctr) + '-' + anchorDistances[ctr];\n            }\n\n            for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                anchorDistances[ctr] = (ctr) + '-' + anchorDistances[ctr];\n            }\n        }\n */\n        var modelName = this.get('chartDataModelName');\n        //if (this.get('instrument').get('instrumentType').get('title') != 'dRebar') {\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {\n                anchorDistances.splice(0, 1);\n            }\n        //}\n\n        if (modelName === 'axial-displacement-values') {\n            if (this.get('instrument').get('stacked')) {\n                let half_anchors = (anchorDistances.length / 2) + 1;\n                let gauge = this.get('instrument').get('gaugeLength');\n                while (anchorDistances.length > half_anchors) {\n                    anchorDistances.pop();\n                }\n                anchorDistances[0] = anchorDistances[1] - gauge;\n            } else {\n                let last = anchorDistances[anchorDistances.length-1];\n                anchorDistances.sort(function(a,b){return a-b;});\n                let gauge = this.get('instrument').get('gaugeLength');\n                //console.log('gauge: ' + gauge);\n                anchorDistances.forEach(function(item, index) {\n                    anchorDistances[index] = item - gauge;\n                    //console.log(item);\n                });\n                //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n                anchorDistances.shift();\n                anchorDistances.push(last);\n            }\n        }\n\n\n\n\n        return anchorDistances;\n    }),\n\n    anchorAXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else { //staggered\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n    \n            midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n                return [v, anchorDistances.slice(center + 1)[i]];\n              });\n\n            midPoints.unshift(headExclusion);\n            let mid_temp = [];\n            for(let ctr = 1;ctr < midPoints.length; ctr++) {\n                mid_temp.push((midPoints[ctr - 1] + midPoints[ctr]) / 2);\n            }\n            midPoints = mid_temp;\n\n            if (modelName === 'bending-strain-values') {\n                midPoints.shift();\n                midPoints.pop();\n            }    \n            \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n        \n        //console.log(midPoints);\n        \n        return midPoints;\n    }),\n\n    anchorBXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else {\n\n        let center = anchorDistances.length - 1;\n        center = Math.ceil(center / 2);\n\n        midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n            return [v, anchorDistances.slice(center + 1)[i]];\n          });\n            midPoints.shift();\n            midPoints.pop();                  \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n\n        return midPoints;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        let anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n            if (this.get('instrument').get('stacked')) {\n                anchorDistances.shift(0);\n                let finalSize = anchorDistances.length / 2;\n                while (anchorDistances.length > finalSize) {\n                    anchorDistances.pop(finalSize);\n                }\n                anchorDistances.unshift(this.get('instrument').get('headExclusionLength'));\n            } else { //staggered\n\n            }\n        } else { //not rebar\n            anchorDistances.unshift(0);\n        }\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        if(type === 'dCable') {\n            midDistances.splice(0,1);\n            //midDistances.unshift(0);\n            midDistances[0] = 0;\n            var len = this.get('instrument').get('length');\n            var length = this.get('instrument').get('instrumentLength');\n\n            var modelName = this.get('chartDataModelName');\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {    \n                if(length !== null && length !== 0) {\n                    midDistances.push(length);\n                } else {\n                    midDistances.push(anchorDistances[anchorDistances.length - 1]);\n                }\n            }\n        }\n        // console.log(\"Anchors: \" + anchorDistances);\n         //console.log(\"Mids: \" + midDistances);\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', 'anchorAXDistances', 'anchorBXDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(this.get('instrument').get('instrumentTypeID') === 3) {//rebar \n            if(this.get('instrument').get('stacked')) { //is stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            } else { //is NOT stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            }\n        }\n\n        if (this.get('instrument').get('instrumentType').get('title') !== 'dRebar') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                return anchorMidDistances.map(function(anchorDistance){\n                    return {\n                        key: anchorDistance,\n                        type: 'referencePoints',\n                        values: [\n                            anchorDistance\n                        ]\n                    };\n                });\n                    \n            }\n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'load-values') {\n            return 28;\n        } else if((modelName === 'axial-strain-values' || modelName === 'bending-strain-values') && this.get('instrument').get('stacked')) {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorAXDistances = this.get('anchorAXDistances'),\n            anchorBXDistances = this.get('anchorBXDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints'),\n            anchorMidDistances = this.get('anchorMidDistances')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n\n        \n        if ((modelName === 'strain-values' || modelName === 'load-values') && this.get('instrument').get('instrumentType').get('title') !== 'dRebar') { \n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorMidDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'axial-strain-values' || modelName === 'load-values' ) {//&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorAXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'bending-strain-values' ) { //&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorBXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if(type === 'dCable') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                //console.log(fullRangeDataPoints);\n                fullRangeDataPoints.forEach(element => element.values[0]=0);\n            }\n        }\n        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                if(yAxisLegend.get('title')==='load') {\n                    title = axisName + \" (kN)\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n/*                 zoomChart.xAxis.dispatch.on('xAxisMouseMove', function (mouseMove) {\n                    console.log('test');\n                });\n */\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    yAxisUnit:null,\n    init() {\n        this._super(...arguments);\n        const queryParams = new URLSearchParams(window.location.search);\n        const yAxisUnitParam = queryParams.get('advancedYAxisUnit');\n        if(yAxisUnitParam){\n            this.set('yAxisUnit', yAxisUnitParam);\n        }\n    },\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        //console.log(linesKyes);\n\n        var chartData = item.getProperties(linesKyes);\n\n        var modelName = this.get('chartDataModelName');\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var plated = this.get('instrument').get('plated');\n            \n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                if(plated) {\n                    chartData.values[0] = chartData.values[1];\n                } else {\n                    chartData.values[0] = 0;\n                }\n            } else {\n                //chartData.values.unshift(0);\n            }\n            chartData.values.push(0);\n        }\n        //console.log(chartData);\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        if(instType === 'Tilt') {\n            return ['X','Y','Z'];\n        } else if(instType === 'Wire') {\n            let anchors = [];\n            let numPorts = this.instrument.get('portsNum');\n            let startVal = 0;\n            let maxVal = numPorts;\n/*             if (this.port != '') {\n                //startVal = (1 * this.port) - 1;\n                startVal = (1 * numPorts) - 1;\n                maxVal = startVal + 1;\n            }\n */            for(let ctr = startVal; ctr < maxVal; ctr++) {\n                anchors.push('T' + (ctr + 1));\n                anchors.push(ctr + 1);\n            }\n            return anchors;\n        } else if(instType === 'BluVibe') {\n            return ['Data'];\n        }\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var midPoints = [];\n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                //Adjust anchors to mid points between anchors\n                for(var ctr = 1; ctr < anchorDistances.length ; ctr++) {\n                    var mid = (anchorDistances[ctr - 1] + anchorDistances[ctr]) / 2;\n                    midPoints[ctr] = + mid.toFixed(2);\n                }\n\n                //console.log(midPoints);\n\n                //add zero point and end point\n                midPoints.splice(0,1);\n                midPoints[0] = 0;\n                midPoints.push(anchorDistances[anchorDistances.length - 1]);  //TODO: change to length of exto once known\n                //console.log(midPoints);\n            } else if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                //Adjust anchors to mid points between anchors\n                //console.log(this.get('instrument'));\n                let headExclusion = this.get('instrument').get('headExclusionLength');\n                let leftAnchors = [headExclusion];\n                let rightAnchors = [headExclusion];\n                \n                let center = anchorDistances.length - 1;\n                center = Math.ceil(center / 2);\n\n                leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n\n                rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n\n                let midLeft = [];\n                for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                    midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                }\n\n                let midRight = [];\n                for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                    midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                }\n\n                if (modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'load-values') {\n                    if(this.get('instrument').get('stacked')) {\n                        midPoints = midLeft;\n                        if (modelName === 'load-values') {\n                            midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n                        }\n                    } else {\n                        midPoints = midLeft.concat(midRight);\n                        /* midPoints = $.map(midPoints.slice(1, center + 1), function(v, i) {\n                            return [v, midPoints.slice(center + 1)[i]];\n                          }); */\n                        if (modelName === 'bending-strain-values') {\n                            midPoints.shift();\n                            midPoints.pop();\n                        }\n\n                    }\n                } else {\n                    midPoints = midLeft.concat(midRight);\n                }\n                if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                    for(let ctr = 0; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n  \n/*                     for(let ctr = 0; ctr < midPoints.length / 2; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n        \n                    for(let ctr = 3; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n */                }\n            } else {\n                for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                    midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n                }\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        } else if (modelName === 'axial-displacement-values' && this.get('instrument').get('stacked')) {\n            let mid = (anchorDistances.length - 1) / 2;\n            while (anchorDistances.length > (mid + 1)) {\n                anchorDistances.pop();\n            }\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else if (modelName === 'axial-displacement-values' && !this.get('instrument').get('stacked')) {\n            anchorDistances.sort(function(a,b){return a-b;});\n\n            //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else {\n            if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                if (modelName === 'displacement-values') { //rebar stretch\n                    var midPoints = [];\n                    let headExclusion = this.get('instrument').get('headExclusionLength');\n                    let leftAnchors = [headExclusion];\n                    let rightAnchors = [headExclusion];\n                    \n                    let center = anchorDistances.length - 1;\n                    center = Math.ceil(center / 2);\n    \n                    leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                    rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n    \n                    if(!this.get('instrument').get('stacked')) {\n                        rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n                    }\n    \n                    let midLeft = [];\n                    for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                        midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                    }\n    \n                    let midRight = [];\n                    for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                        midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                    }\n\n                    midPoints = midLeft.concat(midRight);\n                    anchorDistances = midPoints;\n\n                    anchorDistances.unshift(0);\n                }\n                for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n    \n                for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n            }    \n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n            var mName = _this.get('chartDataModelName');\n            if (mName === 'strain-values' || mName === 'strain-rate-values' || mName === 'load-values') {\n                zoomDataPoints.forEach(element => element.values[0] = 0);\n            }\n        }    \n\n/*         if (this.get('instrument').get('instrumentType').get('title') == 'Tilt') {\n                zoomDataPoints.forEach(element => element.values.shift());\n        }    \n */\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values' && this.get('instrument').get('instrumentType').get('title') !== 'BluVibe'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            //vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        //console.log(vibeEventsArray);\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get('firstObject');\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = '';\n                if (instType === 'BluVibe') {\n                    title = _this.get('chartDataModelName');\n                } else {\n                    title = yAxisLegend.get('title');\n                }\n                \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    case 'event-frequency':\n                        axisName = \"Event Frequency\";\n                        break;\n                    case 'event-ppv':\n                        axisName = \"Event PPV\";\n                        break;\n                    case 'event-ppa':\n                        axisName = \"Event PPA\";\n                        break;\n                    case 'cumulative-event-frequency':\n                        axisName = \"Cumulative Frequency\";\n                        break;\n                    case 'cumulative-event-ppv':\n                        axisName = \"Cumulative PPV\";\n                        break;\n                    case 'cumulative-event-ppa':\n                        axisName = \"Cumulative PPA\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                        //console.log(title);\n                }\n\n                /* let chartName = yAxisLegend.get('title').capitalize();\n                let chartNameL = chartName.substr(0, chartName.indexOf('_'));\n                let chartNameR = chartName.substr(chartName.indexOf('_') + 1).capitalize();\n                if(chartNameL !== \"\") {\n                    chartName = chartNameL + \" \" + chartNameR;\n                } */\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    if(yAxisLegend.get('title')==='load') {\n                        title = axisName + \" (kN)\";\n                    } else if (instType === 'Wire') {\n                        if (raw === true) {\n                            title = \"Frequency (Hz)\";\n                        } else {\n                            title = \"Calculated Values\";\n                        }\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                } else {\n                    if (instType === 'BluVibe') {\n                        title = axisName;\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = `<span class=\"event-type\">PPV - ${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}: ` + tooltipContent.ppv + `<br />PPA - ${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}&#178;: ` + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n                    if (!seismicEventsArray.length || !blastEventsArray.length){ //} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('instrument', function() {\n        let anchors = this.get(\"instrument\").get('anchors');\n        let dist = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        return dist;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n            \n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        // let cb = this.username; \n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                console.log(_this.activeChannels)\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n        // setPhoneNumber() {\n        //     console.log(\"alert.target:\" + this.get('alert.target'));\n        //     // this.set('alert.target', this.get('carrier'));\n        //     this.toggleProperty('showModal');\n        // },\n\n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\n\nfunction resetNewInstrumentObject(_this) {\n\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n    // _this.set('elasticLimitPct', 0);\n    // _this.set('plasticLimitPct', 0);\n    // _this.set('ultimateLimitPct', 0);\n    // _this.set('elasticLimitFce', 0);\n    // _this.set('plasticLimitFce', 0);\n    // _this.set('ultimateLimitFce', 0);\n    _this.set('newInstrumentObject.youngsModulus', 200);\n    _this.set('newInstrumentObject.crossSectionalArea', 283.53);\n    _this.set('newInstrumentObject.boltDiameter', 19);    \n}\n\nfunction setAxialStiffness(_this){\n    let stiffness = ( ( (_this.get('newInstrumentObject.youngsModulus') * _this.get('newInstrumentObject.crossSectionalArea') )/100).toFixed(2));\n    _this.set('newInstrumentObject.axialStiffness', stiffness);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n        setAxialStiffness(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n\n    onYoungsModulusChanged = observer('newInstrumentObject.youngsModulus', function() {\n        let youngsModulus = this.get('newInstrumentObject.youngsModulus');\n        \n        console.log(' YoungsModulus changed::: ' + bolt);\n        \n        console.log('Axial Stiffness::: ' + youngsModulus);\n    });\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n\n        handleBoltDiameterChange(event) {\n            let boltDiameter = event.target.value;\n            console.log('boltDiameter changed' + boltDiameter);\n            let area = Math.PI * Math.pow(boltDiameter/2, 2);\n            let axialStiffness = ((area * this.get('newInstrumentObject.youngsModulus')/100)).toFixed(2);\n            this.set('newInstrumentObject.axialStiffness', axialStiffness) ;\n            this.set('newInstrumentObject.crossSectionalArea', area.toFixed(2));\n        },\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n            \n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.stacked = true;//this.get('stacked');\n            newInstrumentObject.active = true;\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n            if(this.get('youngsModulus') == null || this.get('youngsModulus') == 0){\n                newInstrumentObject.youngsModulus = 200;\n            }\n            if(this.get('boltDiameter') == null || this.get('boltDiameter') == 0){\n                newInstrumentObject.boltDiameter = 19;\n                newInstrumentObject.crossSectionalArea = (Math.PI * Math.pow(newInstrumentObject.boltDiameter/2, 2)).toFixed(2);\n            }\n\n            newInstrumentObject.axialStiffness = ((newInstrumentObject.youngsModulus * newInstrumentObject.crossSectionalArea)/100).toFixed(2);\n            newInstrumentObject.elasticLimitFce = (newInstrumentObject.youngsModulus * newInstrumentObject.axialStiffness).toFixed(2); \n            if(!error) {\n                if(typeof newInstrumentObject.strokeLength === 'undefined' || newInstrumentObject.strokeLength === 0) {\n                    error = true;\n                    this.setError('fieldError',true);\n                    this.setError('isVisibleError',true);\n                }\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n\n                        if(results.id != null) {\n                            store.createRecord('anchor', {number: 0, distance: 0, instrument: results}).save();\n                            let anchorCount = parseInt(newInstrumentObject.id.substring(4,newInstrumentObject.id.length > 9 ? 6 : 5)) - 1;\n                            for(var ctr = 0; ctr < anchorCount; ctr++) {\n                                let gauge = parseInt(newInstrumentObject.gaugeLength);\n                                let distance = parseInt(newInstrumentObject.headExclusionLength) + gauge;\n                                if(!newInstrumentObject.stacked && ctr+1 > anchorCount / 2) {\n                                    distance += (gauge + 20) / 2;\n                                }\n                                distance += (gauge + 20) * (ctr % (anchorCount / 2));\n                                if (isNaN(distance)) {\n                                    distance = 0;\n                                }\n                                store.createRecord('anchor', {number: ctr+1, distance: distance, instrument: results}).save();\n                            }\n                        }\n\n                        // console.log(dup);\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        },\n        stackedChanged(object)\n        {\n            //console.log(document.getElementById('newInstrumentObjectBulbed').checked);\n            this.set(\"stacked\",document.getElementById('newInstrumentObjectStacked').checked);\n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n    \n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n \n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n\n    phoneNumber: Ember.computed('alert.target', function() {\n        let target = this.get('alert.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onCarrierChanged: observer('carrier', function() {\n        let carrier = this.get('carrier');\n        console.log('carrier changed' + carrier);\n        this.set('carrier', carrier);\n    }),\n\n    onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                // let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n                        console.log(\"Reason::: \" + reason);\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            console.log(\"DateString::: \");\n            console.log(theDate.getMonth);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\t ,\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        \n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, observer } from \"@ember/object\";\n\nexport default class EditInstrument extends Component.extend({\n    \n    init() {\n        this._super(...arguments);\n        if(this.get('youngsModulus') == null || this.get('youngsModulus') == 0){\n            this.set('youngsModulus', 200);\n        }   \n    },\n\n    onYoungsModulusChanged: observer('newInstrumentObject.youngsModulus', function() {\n        let youngsModulus = this.get('newInstrumentObject.youngsModulus');\n        \n        console.log('boltDiameter changed::: ' + bolt);\n        \n        console.log('Axial Stiffness::: ' + youngsModulus);\n    }),\n\n    handleElastLimitForce: Ember.observer('youngsModulus', function(){\n        let elf = 0; //this.get('elasticLimitFce');\n        elf = this.get('axialStiffness') * this.get('elasticLimitFce')\n        this.set('elasticLimitFce', elf.toFixed(2));\n    }),\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n\n    actions = {\n        async updateCrossSectionalArea(){\n\n            let instrument = this.get('instrument');\n            let diameter = instrument.boltDiameter;\n            this.set('boltDiameter', diameter);\n            let area = Math.PI * Math.pow(diameter/2, 2);\n            instrument.crossSectionalArea = area.toFixed(2);\n            instrument.axialStiffness = ( ( (instrument.youngsModulus * instrument.crossSectionalArea )/100).toFixed(2));\n            this.set('axialStiffness', instrument.axialStiffness);\n            console.log(\"Axial Stiffness::: \" + instrument.axialStiffness);\n            console.log(\"Cross Sectional Area::: \" + instrument.crossSectionalArea);\n            \n            instrument.save()\n            .then(() => {\n                console.log(\"Instrument saved\");\n            });\n        },\n\n        updatePage(){\n            let store = this.get('store');\n            let instrument = this.get('instrument');\n            let anchors = instrument.get('anchors');\n\n            anchors.forEach(function(anchor, index) {\n                let number = anchor.get('number');\n                let distance = anchor.get('distance');\n                let total = anchors.length-1;\n                anchor.set('distance', distance);\n            });\n            //setTimeout(function() { alert('To see changes, please refresh the page.'); }, 1);\n        },\n        viewData(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let dateTimeFormat = \"DD-MM-YYYY\";\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            this.get('router').transitionTo('raw-data', id, { queryParams: {\"advancedDateTimeFormat\": dateTimeFormat, \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n\n            const _this = this;\n\n            if(this.get('youngsModulus') == null || this.get('youngsModulus') == 0){\n                this.set('youngsModulus',200);\n            }\n            if(this.get('boltDiameter') == null || this.get('boltDiameter') == 0){\n                this.set('boltDiameter',19);\n                this.set('crossSectionalArea', (Math.PI * Math.pow(this.get('boltDiameter')/2, 2)).toFixed(2));\n            }\n\n            this.set('axialStiffness', ((this.get('youngsModulus') * this.get('crossSectionalArea'))/100).toFixed(2));\n            console.log(\"elasticLimitFce::: \" + this.get('elasticLimitFce'));\n            this.set('elasticLimitFce', (this.get('youngsModulus') * this.get('axialStiffness')).toFixed(2)); \n\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        },\n        isStacked: Ember.computed('stacked', function() {\n            return instrument.get('stacked');\n        }),\n        stackChanged: Ember.observer('stacked',function(){                    \n            if( this.get('stacked') == true){\n                this.isStacked == true;\n            } else {\n                this.isStacked == false;\n            }\n            this.get('isValidateStacked');\n            this.get('isValidatedStaggered');\n            this.get('isAllAnchorsPopulated');\n            this.get('isSaveEditable');\n        }),\n         \n        toggleProperty(property, object) {\n            // let loadCalc = object.get('calculateLoadFromElastic');\n            // this.set('calculateLoadFromElastic', loadCalc);                                \n\n\n\n            // let store = this.get('store');\n            // let instrument = this.get('instrument');\n            // //let instrument = this.get('tableRow');\n            // try {\n            //     let stiffness = instrument.get('elasticLimitFce') / instrument.get('elasticLimitPct');\n            //     stiffness = Math.round(stiffness * 1000) / 1000;\n            //     instrument.set('instrumentStiffness', stiffness);\n            // } catch (ex) {\n            //     instrument.set('instrumentStiffness', 0);\n            // }\n            // instrument.save();\n\n        },\n          \n    }    \n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    isStacked: Ember.computed(function (){\n        let isStacked = false;    \n        if(this.get('instrument').get('stacked')) {\n            isStacked = true;\n        }\n        return isStacked;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            let chartData = item.getProperties(linesKyes);\n            let modelName = this.get('chartDataModelName');\n            // console.log(\"Model Name: \" + modelName);\n            let side = this.attrs.getQueryParams('side');\n            if(this.isStacked || modelName === 'displacement-values') {\n\n                if(chartData['values'].length >=6){\n                    //Ya, I know.  \n                    if(side === 'B'){\n                        chartData.values['1'] = chartData.values['4'];\n                        chartData.values['2'] = chartData.values['5'];\n                        chartData.values['3'] = chartData.values['6'];\n                        chartData.values = chartData.values.splice(0,4);\n                    } else {\n                        //console.log(chartData.values.splice(0,4));\n                        chartData.values = chartData.values.splice(0,4);//chartData.values.splice(5,chartData.values.length-1);\n                    }\n                }\n\n                if(modelName  === 'load-values' || modelName === 'axial-strain-values'){\n                    chartData.values.push(0);\n                }   \n                if ( modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'load-values'  ) {                 \n                    if(chartData.values[0] == 0){\n                        chartData.values.shift();\n                    }\n                }\n            } else {\n                if ( modelName != 'displacement-values' && (modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'load-values') ) {                 \n                    let ch1 = chartData.values['1'];\n                    let ch2 = chartData.values['2'];\n                    let ch3 = chartData.values['3'];\n                    let ch4 = chartData.values['4'];\n                    let ch5 = chartData.values['5'];\n                    let ch6 = chartData.values['6'];\n\n                    chartData.values['1'] = ch1;\n                    chartData.values['2'] = ch4;\n                    chartData.values['3'] = ch2;\n                    chartData.values['4'] = ch5;\n                    chartData.values['5'] = ch3;\n                    chartData.values['6'] = ch6;\n                }\n            }\n\n\n            if(!this.isStacked && (modelName === 'axial-strain-values' || modelName === 'load-values' || modelName === 'bending-strain-values')) {\n                chartData.values.shift();\n                chartData.values.push(0);\n            }\n            return chartData;\n        \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        let itemTime = item.get('id');\n        //console.log(\"Item Time: \" + itemTime);\n        return itemTime;\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        // Axial-Load - bring to zero (ends at zero) Starts at first channel\n        // Axial-Strain - bring to zero (ends at zero) Starts at first channel\n        // this means making sure the last index in array is zero in zoomDataPoints function \n        // as well as here. \n        // Axial-Load and Axial Strain do not have zero indexes at the start.\n\n        let instType = this.instrument.get('instrumentType').get('title');\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        let counter = 0;\n        \n        let side_a = [];\n        let side_b = [];\n        var midPoints = [];\n        let modelName = this.get('chartDataModelName');\n        let anchors = this.get('instrument').get('anchors');        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n        midPoints.push(0);\n        \n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n\n        // This means there are 6 channels coming in.\n        // Else there are only three.  \n        // the issue is that I'm not sure if we're getting 6 without ch0 or 7 channels with ch0\n        // or 4 with ch0 or 3 without ch0\n        if( dataValuesCount>=6 && dataValuesCount % 2 == 1) {\n            counter++;\n            for(counter; counter< (anchorDistances.length/2); counter++) {\n                side_a.push(anchorDistances[counter]);                \n            }\n            for(counter; counter< (anchorDistances.length); counter++) {\n                side_b.push(anchorDistances[counter]);                \n            }\n        } else {\n            if(dataValuesCount>3){\n                counter++; //start at index 1\n            }\n            for(counter; counter< dataValuesCount; counter++) {\n                console.log(\"side_a:\" + anchorDistances[counter]);\n                side_a.push(anchorDistances[counter]);                \n            }\n            //side_a.sort();\n        }\n        counter = 0;\n        if(this.isStacked || modelName === 'displacement-values') {            \n            let indx = 0;\n            if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                side_a.unshift(0);\n                for (indx; indx < side_a.length - 1; indx++) {\n                  midPoints.push(side_a[indx + 1] - (side_a[indx + 1] - side_a[indx]) / 2); //midPoints.push(point);    \n                }\n      \n                midPoints.sort(function (a, b) {\n                  return a - b;\n                });\n              } else {\n            \n                let side = this.attrs.getQueryParams('side');\n                if( side === 'B' && modelName === 'displacement-values' ){\n                    counter = 0;\n                    side_b.forEach(point=> {\n                        midPoints.push(point);\n                    })\n                } else if( side === 'A' && modelName === 'displacement-values' ) {\n                    side_a.forEach(point => {\n                        midPoints.push(point);                \n                    });       \n                } else{\n                    for(counter; counter < side_a.length; counter++){\n                        console.log(\"SIDE Non displacement: \" + side_a[counter]);\n                        midPoints.push(side_a[counter]);\n                    }\n                }\n    \n              } \n            \n            \n        } else {\n            side_a.unshift(0);\n            side_b.unshift(0);\n            let indx = 0;\n            if( modelName === 'axial-strain-values' || modelName === 'load-values' || modelName === 'bending-strain-values'  ){\n                for(indx; indx < side_a.length -1; indx++){\n                    midPoints.push(side_a[indx + 1] - ((side_a[indx + 1] - side_a[indx]) / 2));\n                    //midPoints.push(point);    \n                                \n                }; \n                indx = 0;      \n                for(indx; indx < side_b.length -1; indx++){\n                    midPoints.push(side_b[indx+1] - ((side_b[indx+1] - side_b[indx]) / 2));\n                    //midPoints.push(parseInt(point));\n                    \n                };\n\n                midPoints.sort(function(a, b) {\n                    return a - b;\n                  });\n            }\n        }\n        \n        //|| modelName === 'load-values'\n        //To Start at first measurement instead of zero.\n        if (modelName === 'bending-strain-values' || modelName === 'axial-strain-values' || modelName === 'load-values' ) {\n        //if (modelName === 'bending-strain-values' || modelName === 'strain-values' ) {\n                midPoints.shift();\n        }           \n        \n        if(modelName  === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values'){\n            let length = 0;\n            try {\n                // changed instrumentLength to be in mm so we don't have multiply by 1000\n                // length = (this.instrument.get('instrumentLength'))*1000;\n                length = (this.instrument.get('instrumentLength'));\n                midPoints.push(length);\n                //console.log(\"Length:::\" + length);\n                \n            } catch (ex) {\n                console.log(\"Error getting instrument length. Set length in your rebar under 'Total Bolt Length'.\" + ex);\n            }   \n            \n        }\n        \n        this.set('anchorMidDistances', midPoints);\n        anchorDistances = midPoints;\n        \n        //console.log(\"anchorDistances: \" + anchorDistances);\n        return anchorDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', function() {\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n        let anchorDistances = this.get('anchorDistances');\n        let side = this.attrs.getQueryParams('side');\n        \n        let anchDist = [];\n        anchorDistances.forEach(anchorDistance => {\n            anchDist.push({\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            });\n        });\n        \n        let length = 0;\n        try {\n            // changed instrumentLength to be in mm so we don't have multiply by 1000\n            // length = this.instrument.get('instrumentLength') * 1000;\n            length = this.instrument.get('instrumentLength');\n        } catch (ex) {\n            console.log(\"Error getting instrument length. Set length in your rebar under 'Total Bolt Length'.\");\n        }\n        \n        // console.log(\"anchorDistancesChartReferencePoints Returned: \" + JSON.stringify(anchDist));\n        return anchDist;   \n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n        let offSet = 0;\n        if (modelName === 'strain-values' ) {\n            offSet = 28;\n        } else if((modelName === 'axial-strain-values' || modelName === 'bending-strain-values') && this.get('instrument').get('stacked')) {\n            offSet = 0;\n        }\n        if(( modelName === 'bending-strain-values') && !this.get('instrument').get('stacked')) {\n            offSet = 0;\n        }\n        console.log(\"OffSet::: \" + offSet);\n        return offSet;\n    }),\n\n    // zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', function() {\n            const _this = this,\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints'),\n            anchorMidDistances = this.get('anchorMidDistances')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n        let counter = 0;\n            \n        zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n            let dp =  {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorMidDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            // console.log(\"dp:::\" + JSON.stringify(dp));\n            return dp;\n        }).sortBy('timestamp');\n\n\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n        //console.log(\"zoomDataPoints:::\" + JSON.stringify(zoomDataPoints));    \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        let ad = anchorDistances.map(function(chartLineName, chartLineIndex){\n            let dp = {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n            return dp;\n        }).sortBy('timestamp');\n        return ad;\n\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        //console.log(\"zoomTimePoints: \" + this.get('zoomTimePoints').length );\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        const inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset');\n        const progressAnimationDuration = _this.get('progressAnimationDuration');\n        const isDistXTooltip = _this.get('isDistXTooltip');\n        const distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration');\n\n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg');\n        let fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg');\n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = [yAxisLegend];\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n                //console.log('Title:::' + yAxisLegend.get('title'));\n                let axisName = '';\n                let units = chartData.get('units');\n                let switchTitle = yAxisLegend.get('title');\n                switch(switchTitle) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'axial_strain':\n                        //console.log(\"SWITCH:::\" + chartData.get('temporalStrainName'));\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'bending_strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                if(yAxisLegend.get('title')==='load') {\n                    title = axisName + \" (kN)\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { \n                    // console.log(\"X in zoomChart:::: \" + d[0]);\n                    return d[0]; \n                })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { \n                    // console.log(\"X in zoomChart:::: \" + d[0]);\n                    // console.log(\"distXAxis in zoomChart:::: d[0]:::::::::::::::: \" + d[1]);\n                    return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n            let length = 0;\n            try {\n                // we changed the instrumentLength to be in mm instead of m so we don't have to convert it\n                // length = this.instrument.get('instrumentLength') * 1000;\n                length = this.instrument.get('instrumentLength');\n                let type = this.instrument.get('instrumentType');\n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .ticks(5)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     let first = new Date(zoomChartLinesData[0].timestamp).getTime(); // values[0][0];\n                    //     let last = new Date(zoomChartLinesData[zoomChartXDomainLength].timestamp).getTime();//values[zoomChartXDomainLength-1][0];\n\n                        // console.log('first:::' + first);\n                        // console.log('last:::' + last);\n                        // console.log('d:::' + d);\n                    //     return nv.utils.getDateAutoscaleFormat (first, last)(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"))\n                    .ticks(5)\n                    ;\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\n// For Strain - in python backend start in \"displacement_measurement/data_process.py and find this\"\n// class StrainListDataClass(DataListClass):\n\n//     def get_data(self):\n//         data_points = super(StrainListDataClass, self).get_data()\n//         zeroed_points = self.get_zeroed_points(data_points)\n//         return self.get_strain(zeroed_points, self.get_mid_distances())\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    yAxisUnit:null,\n    init() {\n        this._super(...arguments);\n        const queryParams = new URLSearchParams(window.location.search);\n        const yAxisUnitParam = queryParams.get('advancedYAxisUnit');\n        if(yAxisUnitParam){\n            this.set('yAxisUnit', yAxisUnitParam);\n        }\n    },\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n        var events = this.get('vibeEvents');\n        // console.log('vibeEvents');\n        // console.log(events);\n        if ( this.get('vibeEvents') ) {\n            return [{\n                key: 'BluVibe',\n                type: 'distX',\n                //color: '#d18b40',\n                color: '#80bf5c',\n                values: this.get('vibeEvents').map(function(event) {\n                    return [\n                        moment( event.get('id') ).valueOf(),\n                        console.log(\"event: \" + event.get('size')),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    vibeEventsArray: Ember.computed('vibeEvents', function() {\n        var events = this.get('vibeEvents');\n        //console.log(\"Events:::\" + events);\n        if ( events ) {\n            return events.map(function(event) {\n                return {\n                    type: 'BluVibe',\n                    time: event.get('id'),\n                    timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    ppa: event.get('ppa'),\n                    ppv: event.get('ppv'),\n                    freq: event.get('frequency')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n        var chartData = item.getProperties(linesKyes);\n        return chartData;\n    }),\n    isStacked: Ember.computed(function (){\n        let isStacked = false;    \n        if(this.get('instrument').get('stacked')) {\n            isStacked = true;\n        }\n        return isStacked;\n    }),\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        \n        // console.log(\"zoomDataPoints::::::::::::::::::::::::::::::::::::::::::::::::::: \");\n        let linesKyes = Object.keys(item.toJSON());\n        let chartData = item.getProperties(linesKyes);\n        let modelName = this.get('chartDataModelName');\n        // console.log(\"zoomDataPoints::: \" + modelName);\n        if(this.isStacked || modelName === 'strain-values') {\n            let side = this.attrs.getQueryParams('side');\n            let modelName = this.get('chartDataModelName');\n            if(modelName  === 'load-values' || modelName === 'axial-strain-values'){\n                if(chartData['values'].length >=6){\n                    //Ya, I know.  \n                    if(side === 'B'){\n                        chartData.values['1'] = chartData.values['4'];\n                        chartData.values['2'] = chartData.values['5'];\n                        chartData.values['3'] = chartData.values['6'];\n                        chartData.values = chartData.values.splice(0,4);\n                    } else {\n                        chartData.values = chartData.values.splice(0,4);//chartData.values.splice(5,chartData.values.length-1);\n                    }\n                }\n            }\n            if(modelName  === 'load-values' || modelName === 'axial-strain-values'){\n            //if( modelName  === 'load-values' ){\n                    chartData.values.push(0);\n            }   \n            if ( modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'load-values'  ) {                 \n                if(chartData.values[0] == 0){\n                    chartData.values.shift();\n                }\n            }\n            //console.log(\"temporal::ChartData::\" + JSON.stringify(chartData));\n            if (modelName === 'strain-values') { \n                chartData.values.shift();\n            }\n                \n        }\n\n        if(!this.isStacked && (modelName === 'axial-strain-values' || modelName === 'load-values' || modelName === 'bending-strain-values')) {\n            chartData.values.shift();\n        }\n\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n    \n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        \n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n\n        let anchors = this.get('instrument').get('anchors');        \n        let anchorDistances = anchors.map(function(anchor){\n            let singleAnchorDistance = anchor.get('distance');\n            return singleAnchorDistance;\n        });\n        \n        var modelName = this.get('chartDataModelName');\n                \n        if (modelName === 'load-values' || modelName === 'bending-strain-values' || modelName === 'axial-strain-values' || modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') { \n                        \n            let side_a = []\n            let side_b = []\n            side_b.push(0);\n            var midPoints = [];\n            midPoints.push(0);\n\n            anchorDistances.forEach(function(value, index){                \n                if(index <= 3 && value[index] !=0){\n                    side_a.push(anchorDistances[index]);\n                }\n                else{\n                    side_b.push(anchorDistances[index]);\n                }                    \n            });\n            //side_a.sort();\n            //side_b.sort();\n            let indx = 0;\n            for(indx; indx < side_a.length -1; indx++){\n                midPoints.push(side_a[indx + 1] - ((side_a[indx + 1] - side_a[indx]) / 2));\n            } \n            \n            indx = 0;\n            if(dataValuesCount > 5){\n                for(indx; indx < side_b.length -1; indx++){\n                    \n                    //console.log(\"SIDE_B: Index: \" + indx + \"    \" +( side_b[indx+1] - ((side_b[indx+1] - side_b[indx]) / 2)));\n                    midPoints.push(side_b[indx+1] - ((side_b[indx+1] - side_b[indx]) / 2));\n                }     \n            }\n                        \n            midPoints.shift();\n            anchorDistances = midPoints;\n        }\n\n        let anchorCount = anchorDistances.length;\n        //console.log(\"anchorDistances1: \" + JSON.stringify(anchorDistances));\n        let newAnchorDistances = [];\n        anchorDistances = anchorDistances.map((obj, index) => {\n            //console.log(\"Object:::\" + obj);\n            if(obj > 0){\n                let sideA = dataValuesCount>5 ? 'A-' : '';\n                let sideB = dataValuesCount>5 ? 'B-' : '';\n\n                if( (dataValuesCount< 5 && index <=2) || (index <= ((anchorCount-1) / 2))){\n                    newAnchorDistances.push(sideA + obj);\n                } \n                else {\n                    if(dataValuesCount>5)\n                        newAnchorDistances.push(sideB + obj);     \n                }\n            }\n            else{\n                if(dataValuesCount>5)\n                    newAnchorDistances.push(obj);\n            }        \n        });  \n        anchorDistances = newAnchorDistances; \n        return anchorDistances;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    // zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n        // console.log(\"zoomTempPoints::: \" + JSON.stringify(zoomTempPoints));\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        var mName = _this.get('chartDataModelName');\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                //console.log(\"chartLineName \" + chartLineName); \n                //console.log(\"chartLineIndex \" + chartLineIndex); \n                                \n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (vibeEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    // console.log(\"fullReang\")\n                    // console.log(\"DataPoint::: \" + dataPoint.values[chartLineIndex]);\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        //console.log(\"zoomChartData:\" + this.get('zoomChartData').query.model_name);\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let chartTitle = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_');\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        //let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        \n        const _this = this,\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        const fullRangeChartLinesData = _this.get('fullRangeChartLinesData');\n        // console.log(\"ChartID:::::::: \" + _this.get(\"chartId\"));\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            // TODO::: fix me\n            vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = yAxisLegend\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = \"dRebarv2\";\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = yAxisLegend.get('title');\n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'axial_strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                        //console.log(title);\n                }\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    if(yAxisLegend.get('title')==='load') {\n                        title = axisName + \" (kN)\";\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        //console.log(\"D:::::::::: \" + d);\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        //console.log(nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d)));\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    //console.log(\"BRUSH END::::::::::::::::::::\");\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = `<span class=\"event-type\">PPV - ${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}: ` + tooltipContent.ppv + `<br />PPA - ${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}&#178;: ` + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(\"VibeEventsArray:::\" + vibeEventsArray);\n                    //console.log(distXMouseMove);\n \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){//} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { \n                    nv.log('New State:', JSON.stringify(e)); \n                });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('instrument', function() {\n        let anchors = this.get(\"instrument\").get('anchors');\n        let dist = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        return dist;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n\n});","import Component from '@glimmer/component';\nimport { action } from '@ember/object';\n\nexport default class TargetSelectorComponent extends Component {\n  showModal = false;\n\n  @action\n  openModal() {\n    this.showModal = true;\n  }\n\n  @action\n  closeModal() {\n    this.showModal = false;\n  }\n\n  @action\n  selectRecord(record) {\n    this.args.onSelect(record);\n    this.showModal = false;\n  }\n  \n  @action\n  handleRecordSelection(record) {\n    // Do something with the selected record\n    // console.log(record.Gateway);\n  }\n\n\n\n// import Component from '@ember/component';\n// import { action } from '@ember/object';\n\n// export default Component.extend({\n//     init() {\n//     this._super(...arguments);\n//     this.set('model', []);\n    \n//     @action\n//     openModal() {\n//       this.showModal = true;\n//     }\n\n//     @action\n//     closeModal() {\n//       this.showModal = false;\n//     }\n\n//     @action\n//     selectRecord(record) {\n//       this.args.onSelect(record);\n//       this.showModal = false;\n//     }\n//     // ajax(host).then((data) => {\n//     //     this.set('model', data.carrier_list);\n//     // });\n//     },\n//     isShowingModal: false,\n//     host: Ember.computed(function() {\n//       return \"http://\" + document.location.host.split(':')[0] + \":4500/assets/images/gateway_carrier.json\";\n//     }),\n   \n//     carrierList: Ember.computed(function() {\n//       let data = this.getCarriers();\n//       const sortedData = {\n//         \"carrier_list\": Object.values(data.carrier_list)\n//           .sort((a, b) => a.Country.localeCompare(b.Country))\n//           .reduce((acc, curr) => {\n//             acc[curr.Carrier] = curr;\n//             return acc;\n//           }, {})\n//       };\n//       return sortedData.carrier_list;\n//     }),\n\n//     // async fetchCarriers() {\n//     //   return fetch(this.get('host'), {\n//     //     headers : { \n//     //       'Content-Type': 'application/json',\n//     //       'Accept': 'application/json'\n//     //      }  \n//     //     })\n//     //     .then(response => response.json())\n//     //     .then(data => {\n//     //       console.log(\"fetchCarriers:\");\n//     //       // console.log(\"fetchCarriers:\" + JSON.stringify(data.carrier_list));\n//     //       return data;\n//     //     })\n//     // },\n    \n//     actions: {\n//       close() {\n//           this.set('show', false);\n//       },\n\n//       select(record) {\n//           this.set('show', false);\n//           this.sendAction('onSelect', record);\n//       },\n\n//       toggleModal() {\n//         console.log(\"toggleModal:\" + this.get('isShowingModal'));\n//         this.toggleProperty('isShowingModal');\n//         console.log(\"toggleModal:\" + this.get('isShowingModal'));\n//       },\n//       closeTargetSelector() { \n//         this.set('isShowingModal', false);\n//       }\n//     },\n    \ngetCarriers(){\n    \n  return  {\n    \"carrier_list\": {\n      \"AirCel\": {\n        \"Carrier\": \"AirCel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@aircel.co.in\"\n      },\n      \"Airtel\": {\n        \"Carrier\": \"Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelkk.com\"\n      },\n      \"AirFire Mobile\": {\n        \"Carrier\": \"AirFire Mobile\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@sms.airfiremobile.com\"\n      },\n      \"Aio Wireless\": {\n        \"Carrier\": \"Aio Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mms.aiowireless.net\"\n      },\n      \"Alaska Communications\": {\n        \"Carrier\": \"Alaska Communications\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@msg.acsalaska.com\"\n      },\n      \"Aliant Canada\": {\n        \"Carrier\": \"Aliant Canada\",\n        \"Country\": \"Canada\",\n        \"Gateway\": \"number@sms.wirefree.informe.ca\"\n      },\n      \"Alltel (Allied Wireless)\": {\n        \"Carrier\": \"Alltel (Allied Wireless)\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mms.alltelwireless.com\"\n      },\n      \"Verizon Wireless\": {\n        \"Carrier\": \"Verizon Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@vzwpix.com\"\n      },\n      \"Ameritech\": {\n        \"Carrier\": \"Ameritech\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@paging.acswireless.com\"\n      },\n      \"Andhra Pradesh AirTel\": {\n        \"Carrier\": \"Andhra Pradesh AirTel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelap.com\"\n      },\n      \"Andhra Pradesh Idea\": {\n        \"Carrier\": \"Andhra Pradesh Idea\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@ideacellular.net\"\n      },\n      \"Assurance Wireless\": {\n        \"Carrier\": \"Assurance Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@vmobl.com\"\n      },\n      \"AT&T Mobility\": {\n        \"Carrier\": \"AT&T Mobility\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mms.att.net\"\n      },\n      \"AT&T Enterprise Paging\": {\n        \"Carrier\": \"AT&T Enterprise Paging\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@page.att.net\"\n      },\n      \"Beeline\": {\n        \"Carrier\": \"Beeline\",\n        \"Country\": \"Russia\",\n        \"Gateway\": \"number@sms.beemail.ru\"\n      },\n      \"Bell Mobility\": {\n        \"Carrier\": \"Bell Mobility\",\n        \"Country\": \"Canada\",\n        \"Gateway\": \"number@txt.bell.ca\"\n      },\n      \"BellSouth\": {\n        \"Carrier\": \"BellSouth\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@bellsouth.cl\"\n      },\n      \"Bluegrass Cellular\": {\n        \"Carrier\": \"Bluegrass Cellular\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mms.myblueworks.com\"\n      },\n      \"Bluesky Communications\": {\n        \"Carrier\": \"Bluesky Communications\",\n        \"Country\": \"USA Samoa\",\n        \"Gateway\": \"number@psms.bluesky.as\"\n      },\n      \"Boost mobile\": {\n        \"Carrier\": \"Boost mobile\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@myboostmobile.com\"\n      },\n      \"Bouygues Telecom\": {\n        \"Carrier\": \"Bouygues Telecom\",\n        \"Country\": \"France\",\n        \"Gateway\": \"number@mms.bouyguestelecom.fr\"\n      },\n      \"Box Internet Services\": {\n        \"Carrier\": \"Box Internet Services\",\n        \"Country\": \"Switzerland\",\n        \"Gateway\": \"number@mms.boxis.net\"\n      },\n      \"SFR\": {\n        \"Carrier\": \"SFR\",\n        \"Country\": \"France\",\n        \"Gateway\": \"number@sfr.fr\"\n      },\n      \"CellCom\": {\n        \"Carrier\": \"CellCom\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@cellcom.quiktxt.com\"\n      },\n      \"Cellular South\": {\n        \"Carrier\": \"Cellular South\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@csouth1.com\"\n      },\n      \"Centennial Wireless\": {\n        \"Carrier\": \"Centennial Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@cwemail.com\"\n      },\n      \"Chariton Valley Wireless\": {\n        \"Carrier\": \"Chariton Valley Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@sms.cvalley.net\"\n      },\n      \"Chat Mobility\": {\n        \"Carrier\": \"Chat Mobility\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mail.msgsender.com\"\n      },\n      \"Chennai Skycell / Airtel\": {\n        \"Carrier\": \"Chennai Skycell / Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelchennai.com\"\n      },\n      \"Chennai RPG Cellular\": {\n        \"Carrier\": \"Chennai RPG Cellular\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@rpgmail.net\"\n      },\n      \"China Mobile\": {\n        \"Carrier\": \"China Mobile\",\n        \"Country\": \"China\",\n        \"Gateway\": \"number@139.com\"\n      },\n      \"Cincinnati Bell\": {\n        \"Carrier\": \"Cincinnati Bell\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mms.gocbw.com\"\n      },\n      \"Claro\": {\n        \"Carrier\": \"Claro\",\n        \"Country\": \"Colombia\",\n        \"Gateway\": \"number@iclaro.com.co\"\n      },\n      \"Cleartalk\": {\n        \"Carrier\": \"Cleartalk\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@sms.cleartalk.us\"\n      },\n      \"Cricket\": {\n        \"Carrier\": \"Cricket\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mms.mycricket.com\"\n      },\n      \"C Spire Wireless\": {\n        \"Carrier\": \"C Spire Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@cspire1.com\"\n      },\n      \"Accessyou\": {\n        \"Carrier\": \"Accessyou\",\n        \"Country\": \"Hong Kong\",\n        \"Gateway\": \"number@messaging.accessyou.com\"\n      },\n      \"CSL\": {\n        \"Carrier\": \"CSL\",\n        \"Country\": \"Hong Kong\",\n        \"Gateway\": \"number@mgw.mmsc1.hkcsl.com\"\n      },\n      \"CTI Móvil (Now Claro)\": {\n        \"Carrier\": \"CTI Móvil (Now Claro)\",\n        \"Country\": \"Argentina\",\n        \"Gateway\": \"number@sms.ctimovil.com.ar\"\n      },\n      \"Delhi Airtel\": {\n        \"Carrier\": \"Delhi Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelmail.com\"\n      },\n      \"Digicel\": {\n        \"Carrier\": \"Digicel\",\n        \"Country\": \"Dominica\",\n        \"Gateway\": \"number@digitextdm.com\"\n      },\n      \"DTC\": {\n        \"Carrier\": \"DTC\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@sms.advantagecell.net\"\n      },\n      \"E-Plus\": {\n        \"Carrier\": \"E-Plus\",\n        \"Country\": \"Germany\",\n        \"Gateway\": \"number@smsmail.eplus.de\"\n      },\n      \"Edge Wireless\": {\n        \"Carrier\": \"Edge Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@sms.edgewireless.com\"\n      },\n      \"Element Mobile\": {\n        \"Carrier\": \"Element Mobile\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@SMS.elementmobile.net\"\n      },\n      \"Emtel\": {\n        \"Carrier\": \"Emtel\",\n        \"Country\": \"Mauritius\",\n        \"Gateway\": \"number@emtelworld.net\"\n      },\n      \"Esendex\": {\n        \"Carrier\": \"Esendex\",\n        \"Country\": \"Spain\",\n        \"Gateway\": \"number@esendex.net\"\n      },\n      \"Fido\": {\n        \"Carrier\": \"Fido\",\n        \"Country\": \"Canada\",\n        \"Gateway\": \"number@sms.fido.ca\"\n      },\n      \"Firmensms\": {\n        \"Carrier\": \"Firmensms\",\n        \"Country\": \"Austria\",\n        \"Gateway\": \"number@subdomain.firmensms.at\"\n      },\n      \"Freebie SMS\": {\n        \"Carrier\": \"Freebie SMS\",\n        \"Country\": \"Europe\",\n        \"Gateway\": \"number@smssturen.com\"\n      },\n      \"General Communications Inc.\": {\n        \"Carrier\": \"General Communications Inc.\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mobile.gci.net\"\n      },\n      \"Globalstar\": {\n        \"Carrier\": \"Globalstar\",\n        \"Country\": \"International\",\n        \"Gateway\": \"number@msg.globalstarusa.com\"\n      },\n      \"Globul\": {\n        \"Carrier\": \"Globul\",\n        \"Country\": \"Bulgaria\",\n        \"Gateway\": \"number@sms.globul.bg\"\n      },\n      \"Goa Airtel\": {\n        \"Carrier\": \"Goa Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelmail.com\"\n      },\n      \"Goa Idea Cellular\": {\n        \"Carrier\": \"Goa Idea Cellular\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@ideacellular.net\"\n      },\n      \"Golden State Cellular\": {\n        \"Carrier\": \"Golden State Cellular\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@gscsms.com\"\n      },\n      \"Greatcall\": {\n        \"Carrier\": \"Greatcall\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@vtxt.com\"\n      },\n      \"Gujarat Idea Cellular\": {\n        \"Carrier\": \"Gujarat Idea Cellular\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@ideacellular.net\"\n      },\n      \"Gujarat Airtel\": {\n        \"Carrier\": \"Gujarat Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelmail.com\"\n      },\n      \"Gujarat Celforce / Fascel\": {\n        \"Carrier\": \"Gujarat Celforce / Fascel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@celforce.com\"\n      },\n      \"Guyana T&T\": {\n        \"Carrier\": \"Guyana T&T\",\n        \"Country\": \"Guyana\",\n        \"Gateway\": \"number@sms.cellinkgy.com\"\n      },\n      \"Haryana Airtel\": {\n        \"Carrier\": \"Haryana Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelmail.com\"\n      },\n      \"Haryana Escotel\": {\n        \"Carrier\": \"Haryana Escotel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@escotelmobile.com\"\n      },\n      \"Hawaiian Telcom\": {\n        \"Carrier\": \"Hawaiian Telcom\",\n        \"Country\": \"Hawaii USA\",\n        \"Gateway\": \"number@hawaii.sprintpcs.com\"\n      },\n      \"HSL Mobile\": {\n        \"Carrier\": \"HSL Mobile\",\n        \"Country\": \"UK\",\n        \"Gateway\": \"number@sms.haysystems.com\"\n      },\n      \"Helio\": {\n        \"Carrier\": \"Helio\",\n        \"Country\": \"South Korea\",\n        \"Gateway\": \"number@myhelio.com\"\n      },\n      \"Himachai Pradesh Airtel\": {\n        \"Carrier\": \"Himachai Pradesh Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelmail.com\"\n      },\n      \"ICE\": {\n        \"Carrier\": \"ICE\",\n        \"Country\": \"Costa Rica\",\n        \"Gateway\": \"number@sms.ice.cr\"\n      },\n      \"I-wireless(T-Mobile)\": {\n        \"Carrier\": \"I-wireless(T-Mobile)\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number.iws@iwspcs.net\"\n      },\n      \"I-wireless(Sprint PCS)\": {\n        \"Carrier\": \"I-wireless(Sprint PCS)\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@iwirelesshometext.com\"\n      },\n      \"Kajeet\": {\n        \"Carrier\": \"Kajeet\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mobile.kajeet.net\"\n      },\n      \"Karnataka Airtel\": {\n        \"Carrier\": \"Karnataka Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelkk.com\"\n      },\n      \"Kerala Airtel\": {\n        \"Carrier\": \"Kerala Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelkerala.com\"\n      },\n      \"Kerala Escotel\": {\n        \"Carrier\": \"Kerala Escotel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@escotelmobile.com\"\n      },\n      \"Kolkata Airtel\": {\n        \"Carrier\": \"Kolkata Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelkol.com\"\n      },\n      \"Koodo Mobile\": {\n        \"Carrier\": \"Koodo Mobile\",\n        \"Country\": \"Canada\",\n        \"Gateway\": \"number@msg.telus.com\"\n      },\n      \"LongLines\": {\n        \"Carrier\": \"LongLines\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@text.longlines.com\"\n      },\n      \"Lynx Mobility\": {\n        \"Carrier\": \"Lynx Mobility\",\n        \"Country\": \"Canada\",\n        \"Gateway\": \"number@sms.lynxmobility.com\"\n      },\n      \"M1\": {\n        \"Carrier\": \"M1\",\n        \"Country\": \"Singapore\",\n        \"Gateway\": \"number@m1.com.sg\"\n      },\n      \"Madhya Pradesh Airtel\": {\n        \"Carrier\": \"Madhya Pradesh Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelmail.com\"\n      },\n      \"Maharashtra Airtel\": {\n        \"Carrier\": \"Maharashtra Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelmail.com\"\n      },\n      \"Maharashtra Idea\": {\n        \"Carrier\": \"Maharashtra Idea\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@ideacellular.net\"\n      },\n      \"Más Móvil\": {\n        \"Carrier\": \"Más Móvil\",\n        \"Country\": \"Panama\",\n        \"Gateway\": \"number@cwmovil.com\"\n      },\n      \"Mediaburst\": {\n        \"Carrier\": \"Mediaburst\",\n        \"Country\": \"UK\",\n        \"Gateway\": \"number@sms.mediaburst.co.uk\"\n      },\n      \"MetroPCS\": {\n        \"Carrier\": \"MetroPCS\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mymetropcs.com\"\n      },\n      \"Mobiltel\": {\n        \"Carrier\": \"Mobiltel\",\n        \"Country\": \"Bulgaria\",\n        \"Gateway\": \"number@sms.mtel.net\"\n      },\n      \"Mobitel\": {\n        \"Carrier\": \"Mobitel\",\n        \"Country\": \"Sri Lanka\",\n        \"Gateway\": \"number@sms.mobitel.lk\"\n      },\n      \"Movistar\": {\n        \"Carrier\": \"Movistar\",\n        \"Country\": \"Uruguay\",\n        \"Gateway\": \"number@sms.movistar.com.uy\"\n      },\n      \"MTN\": {\n        \"Carrier\": \"MTN\",\n        \"Country\": \"South Africa\",\n        \"Gateway\": \"number@sms.co.za\"\n      },\n      \"MTS Mobility\": {\n        \"Carrier\": \"MTS Mobility\",\n        \"Country\": \"Canada\",\n        \"Gateway\": \"number@text.mtsmobility.com\"\n      },\n      \"Mumbai Airtel\": {\n        \"Carrier\": \"Mumbai Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@airtelmail.com\"\n      },\n      \"My-Cool-SMS\": {\n        \"Carrier\": \"My-Cool-SMS\",\n        \"Country\": \"UK\",\n        \"Gateway\": \"number@my-cool-sms.com\"\n      },\n      \"Nextech\": {\n        \"Carrier\": \"Nextech\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@sms.ntwls.net\"\n      },\n      \"Nextel\": {\n        \"Carrier\": \"Nextel\",\n        \"Country\": \"Argentina\",\n        \"Gateway\": \"TwoWay.11number@nextel.net.ar\"\n      },\n      \"O2\": {\n        \"Carrier\": \"O2\",\n        \"Country\": \"Germany\",\n        \"Gateway\": \"number@o2online.de\"\n      },\n      \"OgVodafone\": {\n        \"Carrier\": \"OgVodafone\",\n        \"Country\": \"Iceland\",\n        \"Gateway\": \"number@sms.is\"\n      },\n      \"Orange\": {\n        \"Carrier\": \"Orange\",\n        \"Country\": \"UK\",\n        \"Gateway\": \"number@orange.net\"\n      },\n      \"Page Plus Cellular (Verizon)\": {\n        \"Carrier\": \"Page Plus Cellular (Verizon)\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@vzwpix.com\"\n      },\n      \"Pioneer Cellular\": {\n        \"Carrier\": \"Pioneer Cellular\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"nine-digit-number@zsend.com\"\n      },\n      \"Personal\": {\n        \"Carrier\": \"Personal\",\n        \"Country\": \"Argentina\",\n        \"Gateway\": \"number@alertas.personal.com.ar\"\n      },\n      \"Plus\": {\n        \"Carrier\": \"Plus\",\n        \"Country\": \"Polan\",\n        \"Gateway\": \"number@text.plusgsm.pl\"\n      },\n      \"Pocket Wireless\": {\n        \"Carrier\": \"Pocket Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@sms.pocket.com\"\n      },\n      \"PC Telecom\": {\n        \"Carrier\": \"PC Telecom\",\n        \"Country\": \"Canada\",\n        \"Gateway\": \"number@mobiletxt.ca\"\n      },\n      \"Polkomtel\": {\n        \"Carrier\": \"Polkomtel\",\n        \"Country\": \"Poland\",\n        \"Gateway\": \"number@text.plusgsm.pl\"\n      },\n      \"Qwest Wireless\": {\n        \"Carrier\": \"Qwest Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@qwestmp.com\"\n      },\n      \"Red Pocket Mobile\": {\n        \"Carrier\": \"Red Pocket Mobile\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@vtext.com\"\n      },\n      \"Rogers Wireless\": {\n        \"Carrier\": \"Rogers Wireless\",\n        \"Country\": \"Canada & USA\",\n        \"Gateway\": \"number@mms.rogers.com\"\n      },\n      \"SaskTel\": {\n        \"Carrier\": \"SaskTel\",\n        \"Country\": \"Canada\",\n        \"Gateway\": \"number@pcs.sasktelmobility.com\"\n      },\n      \"Sendega\": {\n        \"Carrier\": \"Sendega\",\n        \"Country\": \"Norway\",\n        \"Gateway\": \"number@sendega.com\"\n      },\n      \"Setar Mobile email (Aruba)\": {\n        \"Carrier\": \"Setar Mobile email (Aruba)\",\n        \"Country\": \"Aruba\",\n        \"Gateway\": \"number@mas.aw\"\n      },\n      \"Síminn\": {\n        \"Carrier\": \"Síminn\",\n        \"Country\": \"Iceland\",\n        \"Gateway\": \"number@box.is\"\n      },\n      \"Simple Mobile\": {\n        \"Carrier\": \"Simple Mobile\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@smtext.com\"\n      },\n      \"SMS Broadcast\": {\n        \"Carrier\": \"SMS Broadcast\",\n        \"Country\": \"Australia\",\n        \"Gateway\": \"number@send.smsbroadcast.com.au\"\n      },\n      \"SMS Central\": {\n        \"Carrier\": \"SMS Central\",\n        \"Country\": \"Australia\",\n        \"Gateway\": \"number@sms.smscentral.com.au\"\n      },\n      \"SMSPUP\": {\n        \"Carrier\": \"SMSPUP\",\n        \"Country\": \"Australia\",\n        \"Gateway\": \"number@smspup.com\"\n      },\n      \"Southernlinc\": {\n        \"Carrier\": \"Southernlinc\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@page.southernlinc.com\"\n      },\n      \"South Central Communications\": {\n        \"Carrier\": \"South Central Communications\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@rinasms.com\"\n      },\n      \"Spikko\": {\n        \"Carrier\": \"Spikko\",\n        \"Country\": \"Israel\",\n        \"Gateway\": \"number@SpikkoSMS.com\"\n      },\n      \"Sprint\": {\n        \"Carrier\": \"Sprint\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@pm.sprint.com\"\n      },\n      \"Straight Talk\": {\n        \"Carrier\": \"Straight Talk\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"Other: number@mmst5.tracfone.com\"\n      },\n      \"Sunrise Communications\": {\n        \"Carrier\": \"Sunrise Communications\",\n        \"Country\": \"Switzerland\",\n        \"Gateway\": \"number@gsm.sunrise.ch\"\n      },\n      \"Syringa Wireless\": {\n        \"Carrier\": \"Syringa Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@rinasms.com\"\n      },\n      \"TeletopiaSMS\": {\n        \"Carrier\": \"TeletopiaSMS\",\n        \"Country\": \"Norway\",\n        \"Gateway\": \"number@sms.teletopiasms.no\"\n      },\n      \"T-Mobile\": {\n        \"Carrier\": \"T-Mobile\",\n        \"Country\": \"Netherlands\",\n        \"Gateway\": \"number@gin.nl\"\n      },\n      \"T-Mobile (Optus Zoo)\": {\n        \"Carrier\": \"T-Mobile (Optus Zoo)\",\n        \"Country\": \"Australia\",\n        \"Gateway\": \"number@optusmobile.com.au\"\n      },\n      \"Tamil Nadu Airtel\": {\n        \"Carrier\": \"Tamil Nadu Airtel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"919894number@airtelmobile.com\"\n      },\n      \"Tamil Nadu Aircel\": {\n        \"Carrier\": \"Tamil Nadu Aircel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"9842number@airsms.com\"\n      },\n      \"Tele2\": {\n        \"Carrier\": \"Tele2\",\n        \"Country\": \"Sweden\",\n        \"Gateway\": \"number@sms.tele2.se\"\n      },\n      \"Telecom\": {\n        \"Carrier\": \"Telecom\",\n        \"Country\": \"New Zealand\",\n        \"Gateway\": \"number@etxt.co.nz\"\n      },\n      \"Teleflip\": {\n        \"Carrier\": \"Teleflip\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@teleflip.com\"\n      },\n      \"Telstra\": {\n        \"Carrier\": \"Telstra\",\n        \"Country\": \"Australia\",\n        \"Gateway\": \"mobile@sms.tim.telstra.com\"\n      },\n      \"Telus Mobility\": {\n        \"Carrier\": \"Telus Mobility\",\n        \"Country\": \"Canada & USA\",\n        \"Gateway\": \"number@mms.telusmobility.com\"\n      },\n      \"TellusTalk\": {\n        \"Carrier\": \"TellusTalk\",\n        \"Country\": \"Europe\",\n        \"Gateway\": \"number@esms.nu\"\n      },\n      \"Tigo (Formerly Ola)\": {\n        \"Carrier\": \"Tigo (Formerly Ola)\",\n        \"Country\": \"Colombia\",\n        \"Gateway\": \"number@sms.tigo.com.co\"\n      },\n      \"TIM\": {\n        \"Carrier\": \"TIM\",\n        \"Country\": \"Italy\",\n        \"Gateway\": \"number@timnet.com\"\n      },\n      \"Ting\": {\n        \"Carrier\": \"Ting\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@message.ting.com\"\n      },\n      \"TracFone (prepaid)\": {\n        \"Carrier\": \"TracFone (prepaid)\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mmst5.tracfone.com\"\n      },\n      \"Txtlocal\": {\n        \"Carrier\": \"Txtlocal\",\n        \"Country\": \"UK\",\n        \"Gateway\": \"number@txtlocal.co.uk\"\n      },\n      \"Telcel\": {\n        \"Carrier\": \"Telcel\",\n        \"Country\": \"Mexico\",\n        \"Gateway\": \"number@itelcel.com\"\n      },\n      \"Unicel\": {\n        \"Carrier\": \"Unicel\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@utext.com\"\n      },\n      \"UniMóvil Corporation\": {\n        \"Carrier\": \"UniMóvil Corporation\",\n        \"Country\": \"UK\",\n        \"Gateway\": \"number@viawebsms.com\"\n      },\n      \"Union Wireless\": {\n        \"Carrier\": \"Union Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@union-tel.com\"\n      },\n      \"US Cellular\": {\n        \"Carrier\": \"US Cellular\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mms.uscc.net\"\n      },\n      \"USA Mobility\": {\n        \"Carrier\": \"USA Mobility\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@usamobility.net\"\n      },\n      \"UTBox\": {\n        \"Carrier\": \"UTBox\",\n        \"Country\": \"Australia\",\n        \"Gateway\": \"number@sms.utbox.net\"\n      },\n      \"Uttar Pradesh West Escotel\": {\n        \"Carrier\": \"Uttar Pradesh West Escotel\",\n        \"Country\": \"India\",\n        \"Gateway\": \"number@escotelmobile.com\"\n      },\n      \"Viaero\": {\n        \"Carrier\": \"Viaero\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@mmsviaero.com\"\n      },\n      \"Vivo\": {\n        \"Carrier\": \"Vivo\",\n        \"Country\": \"Brazil\",\n        \"Gateway\": \"number@torpedoemail.com.br\"\n      },\n      \"Virgin Mobile\": {\n        \"Carrier\": \"Virgin Mobile\",\n        \"Country\": \"UK\",\n        \"Gateway\": \"number@vxtras.com\"\n      },\n      \"Vodacom\": {\n        \"Carrier\": \"Vodacom\",\n        \"Country\": \"South Africa\",\n        \"Gateway\": \"number@voda.co.za\"\n      },\n      \"Vodafone\": {\n        \"Carrier\": \"Vodafone\",\n        \"Country\": \"New Zealand\",\n        \"Gateway\": \"number@mtxt.co.nz\"\n      },\n      \"Voyager Mobile\": {\n        \"Carrier\": \"Voyager Mobile\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@text.voyagermobile.com\"\n      },\n      \"West Central Wireless\": {\n        \"Carrier\": \"West Central Wireless\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@sms.wcc.net\"\n      },\n      \"Wind Mobile\": {\n        \"Carrier\": \"Wind Mobile\",\n        \"Country\": \"Canada\",\n        \"Gateway\": \"number@txt.windmobile.ca\"\n      },\n      \"XIT Communications\": {\n        \"Carrier\": \"XIT Communications\",\n        \"Country\": \"USA\",\n        \"Gateway\": \"number@sms.xit.net\"\n      }\n    }\n    }\n  }\n}\n","define(\"geotechnical-data-platform-new/components/rectangle-layer\", [\"exports\", \"ember-leaflet/components/rectangle-layer\"], function (_exports, _rectangleLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _rectangleLayer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/root\", [\"exports\", \"ember-composability-tools/components/root\"], function (_exports, _root) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _root.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/searchable-select-option\", [\"exports\", \"ember-searchable-select/components/searchable-select-option\"], function (_exports, _searchableSelectOption) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _searchableSelectOption.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/searchable-select\", [\"exports\", \"ember-searchable-select/components/searchable-select\"], function (_exports, _searchableSelect) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _searchableSelect.default;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    //this allows the check boxes to save after being clicked.\n    isChecked: Ember.computed('object', 'field', {\n        get(key) {\n            let instrument = this.get('object');\n            return instrument.get(this.get('field'));\n          },\n          set(key, value) {\n            let instrument = this.get('object');\n            instrument.set(this.get('field'), value);\n            //console.log(\"Value: \" + value);\n            return instrument.get(this.get('field'));\n          }\n        \n    }),\n    actions: {\n        //this allows the check boxes to save after being clicked.\n        change(object){\n            let _this = this;\n            //var origVal = _this.isChecked;\n            //console.log(\"SaveState::: \" + _this.isChecked);\n            //object.set(_this.get('field'), !_this.isChecked);\n            this.set('isChecked', !this.isChecked)\n            object.save().catch(function(reason) {\n\n                let editError = document.getElementById(\"instrumentEditError\");\n                editError.hidden = false;\n                object.set(_this.get('field'), _this.isChecked);\n\n                //Just need to make this line of code work -> change the checkbox to orignal value\n                //Active is properly set, just the front end needs to reflect the change back to original value\n                let field = document.getElementById(_this.get('field'));\n                field.checked = _this.isChecked;\n\n                window.scrollTo(0,0);\n            });\n            if(typeof this.update === \"function\"){\n                this.update();\n            }\n        }\n    },\n});\n","import Ember from 'ember';\n\nvar originVal;\nvar field;\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n\n    isEditing: false,\n    dateTimePicker: null,\n    showClear: false,\n    actions: {\n        edit(){\n            originVal = this.object.get(this.field)\n            this.set('isEditing', true);\n            let currentValue = this.object.get(this.field)\n            if(currentValue == null){\n                this.set('newValue', moment(new Date()).format('YYYY-MM-DDTHH:mm:ss'));            \n            }else {\n                this.set('newValue', moment(new Date(currentValue)).format('YYYY-MM-DDTHH:mm:ss'));            \n            }\n\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save(object){\n            let value = this.get('newValue');\n            let newDate = moment(new Date(value)).format('YYYY-MM-DD HH:mm:ss');\n            if (newDate == \"Invalid date\")\n                newDate = null;\n            object.set(this.get('field'), newDate);\n\n            field = this.get('field');\n            object.save().catch(function(reason) {\n      \n                let editError = document.getElementById(\"instrumentEditError\");\n                if(editError != null){\n                    editError.hidden = false;\n                }                \n                if (originVal == null) {\n                    originVal = \"\";\n                }\n                \n                object.set(field, originVal);\n\n                window.scrollTo(0,0);\n            });\n            this.set('isEditing', false);\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n        }\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n        if (e.keyCode === 13) {\n            if (this.get('isTextarea') === true && e.ctrlKey === false) {\n                return;\n            }\n            this.send('save', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n  isEditing: false,\n  tagName: 'tr',\n  classNameBindings: ['isEditing:active-cell-values-inline-edit'], //, 'isZeroTimestampClass'],\n  isRowDeleteConfirmationDialog: {},\n  rdcd: {},\n  gatewayType: null,\n\n  setRDCD(value) {\n    let rdcd = this.get('isRowDeleteConfirmationDialog');\n    rdcd[value[0]] = value[1];\n    this.set('isRowDeleteConfirmationDialog', rdcd);\n    this.notifyPropertyChange('isRowDeleteConfirmationDialog');\n  },\n\n  valueOver: Ember.computed('gateway', function (self, value) {\n    //console.log(value);\n    return true;\n  }),\n\n  tableRowIndexString: Ember.computed('tableRowIndex', function () {\n    return String(this.get('tableRowIndex'));\n  }),\n\n  gatewayValueObjectValues: Ember.computed('gatewayValueObject', function () {\n    // console.log('gatewayValueObjectValues:::: ' + this.get('gatewayValueObject.values'));\n\n    let obj = this.get('gatewayValueObject.values');\n    let gatewayType = this.get('gatewayType').get('title');\n    return Object.assign({}, obj); // convert array to an object, to be able to get it's items by index in handlebars template\n  }),\n\n  // temperatureValuesObject: Ember.computed(\n  //   'temperatureValuesModel',\n  //   function () {\n  //     let temperatureValuesObject = this.get('temperatureValuesModel').objectAt(this.get('tableRowIndex'));\n  //     return temperatureValuesObject;\n  //   }\n  // ),\n\n  // temperatureObjectValue: Ember.computed('temperatureValuesObject', function () {\n  //   let temporaryTemperature = null;\n  //   try {\n  //     temporaryTemperature = this.get('temperatureValuesObject')\n  //       .get('values')[0]\n  //       .toFixed(2);\n  //     if (temporaryTemperature <= -999) {\n  //       temporaryTemperature = 'NaN';\n  //     }\n  //   } catch (e) {\n  //     temporaryTemperature = 'NaN';\n  //   }\n  //   console.log('temporaryTemperature:::::: ' + temporaryTemperature);\n      \n  //   return temporaryTemperature;\n  // }),\n\n  actions: {\n    edit() {\n      this.set('isEditing', true);\n      //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n      //return this.$().attr({ tabindex: 1 }), this.$().focus(); // brings the view into focus in order to capture keyUps.\n    },\n    save() {\n      let _this = this;\n      // save gateway values\n      let obj = Object.values(this.get('gatewayValueObjectValues'));\n      gatewayValueObj = this.get('gatewayValueObject');\n\n      gatewayValueObj.set('values', obj); //set values property to gatewayValueObjectValues converted to array\n      this.get('gatewayValueObject')\n        .save({ adapterOptions: this.get('gatewayId') })\n        .then(function (results) {\n          let values = results._internalModel._record.get('values');\n          //values.shift();\n          results._internalModel._record.set('values', values);\n          _this\n            .get('temperatureValuesObject')\n            .set('values', [_this.get('temperatureObjectValue')]);\n          let gatewayTime = _this.get('temperatureValuesObject');\n          gatewayTime.save({ adapterOptions: _this.get('gatewayId') });\n        })\n        .catch(function (reason) {\n          console.log(reason);\n          if (reason.errors[0].status == 403) {\n            _this.setProp('permissionError', true);\n          }\n        });\n      // hide form\n      this.set('isEditing', false);\n      window.location.reload(); // Refresh the page to update the table\n    },\n    cancel() {\n      // reset displacementValueObjectValues and temperatureObjectValue to original values\n      //this.set('displacementValueObjectValues', Object.assign({}, this.get('displacementValueObject.values')) );\n      //this.set('temperatureObjectValue', this.get('temperatureValuesObject').get('values')[0]);\n\n      this.set('isEditing', false);\n      //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n    },\n    remove() {\n      let _this = this;\n\n      let gatewayValuesModel = this.get('gatewayValuesModel');\n      let gatewayValueObject = this.get('gatewayValueObject');\n\n      // let temperatureValuesModel = this.get('temperatureValuesModel');\n      // let temperatureValuesObject = this.get('temperatureValuesObject');\n      // console.log('temperatureValuesObject:::: ' + temperatureValuesModel);\n\n      let badValues = [null, undefined, ''];\n      // if (!badValues.includes(temperatureValuesObject)) {\n        // if (!temperatureValuesObject.get('isDeleted')) {\n      //     temperatureValuesObject.deleteRecord();\n      //     temperatureValuesObject\n      //       .save({ adapterOptions: this.get('gatewayId') })\n      //       .then(function () {\n      //         temperatureValuesModel.removeObject(temperatureValuesObject);\n      //       });\n      //   }\n      // }\n\n      if (!gatewayValueObject.originalValue.get('isDeleted')) {\n        gatewayValueObject.originalValue.deleteRecord();\n        gatewayValueObject.originalValue\n          .save({ adapterOptions: this.get('gatewayId') })\n          .then(function () {\n            gatewayValuesModel.removeObject(gatewayValueObject.originalValue);\n          })\n          .catch(function (reason) {\n            if (reason.errors[0].status == 403) {\n              _this.setProp('permissionError', true);\n            }\n          });\n      }\n\n      // hide form\n      this.set('isEditing', false);\n      window.location.reload(); // Refresh the page to update the table\n    },\n    toggleRowDeleteConfirmationDialog(id) {\n      let list = this.get('isRowDeleteConfirmationDialog');\n      let value = list[id] ? false : true;\n      this.setRDCD([id, value]);\n      //this.set('isRowDeleteConfirmationDialog', list); //update isVisibleRowDetails variable for each single row\n      //this.notifyPropertyChange('isRowDeleteConfirmationDialog');\n    },\n  },\n  didRender() {\n    //this.$('.has-tooltip-info').tooltip(); //activate tooltips\n    //console.log(this.get('instrumentType').get('title'));\n  },\n  keyDown: function (e) {\n    if (e.keyCode === 27) {\n      this.send('cancel');\n    }\n    if (e.keyCode === 13) {\n      this.send('save', this.get('object'));\n    }\n  },\n});\n\n// function escape(myStr) {\n//     return myStr.replace('.', ',');\n// }\n","import Ember from 'ember';\n\nvar originEast;\nvar originNorth;\nvar originDepth;\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n    isEditing: false,\n    east: null,\n    north: null,\n    depth: null,\n    actions: {\n        edit(){\n            originEast = this.get('east');\n            originNorth = this.get('north');\n            originDepth = this.get('depth');\n            \n            this.set('isEditing', true);\n            this.set('newEast', this.get('east'));\n            this.set('newNorth', this.get('north'));\n            this.set('newDepth', this.get('depth'));\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save(object){\n            // object.set(this.get('field'), this.get('geoPoint').toEwkt());\n            object.set('east', this.get('newEast'));\n            object.set('north', this.get('newNorth'));\n            object.set('depth', this.get('newDepth'));\n            \n            object.save().catch(function(reason) {\n      \n                let editError = document.getElementById(\"instrumentEditError\");\n                editError.hidden = false;\n                \n                if (originEast == undefined) {\n                    originEast = \"\";\n                }\n                if (originNorth == undefined) {\n                    originNorth = \"\";\n                }\n                if (originDepth == undefined) {\n                    originDepth = \"\";\n                }\n\n                object.set('east', originEast);\n                object.set('north', originNorth);\n                object.set('depth', originDepth);\n\n                window.scrollTo(0,0);\n            });\n            this.set('isEditing', false);\n        },\n        cancel(){\n            this.set('newEast', this.get('east'));\n            this.set('newNorth', this.get('north'));\n            this.set('newDepth', this.get('depth'));\n            this.set('isEditing', false);\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n        if (e.keyCode === 13) {\n            this.send('save', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\n\n\n\nexport default Ember.Component.extend({\n    isEditable: true,\n    isEditing: false,\n    isTextInput: Ember.computed('inputType', function() {\n        return this.get('inputType') === 'text';\n    }),\n    isTextarea: Ember.computed('inputType', function() {\n        return this.get('inputType') === 'textarea';\n    }),\n    actions: {\n        edit(){\n            \n            this.set('isEditing', true);\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save(object){\n            object.set(this.get('field'), this.get('newValue'));\n            \n            object.save();\n            this.set('isEditing', false);\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n        if (e.keyCode === 13) {\n            if (this.get('isTextarea') === true && e.ctrlKey === false) {\n                return;\n            }\n            this.send('save', this.get('object'));\n        }\n    }\n});\n"," import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n    isEditable: true,\n    isEditing: false,\n    isTextInput: Ember.computed('inputType', function() {\n        return this.get('inputType') === 'text';\n    }),\n    isTextarea: Ember.computed('inputType', function() {\n        return this.get('inputType') === 'textarea';\n    }),\n    actions: {\n        edit(){\n            this.set('isEditing', true);\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save(object){\n\n            object.set(this.get('field'), parseFloat(this.get('newValue')));\n            object.save()\n            .then(() => {\n                if(typeof this.update === \"function\") {\n                    this.update();\n                }\n                this.set('isEditing', false);\n            });\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n        if (e.keyCode === 13) {\n            if (this.get('isTextarea') === true && e.ctrlKey === false) {\n                return;\n            }\n            this.send('save', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\n\nvar originVal;\nvar field;\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n    isEditable: true,\n    isEditing: false,\n    \n    isTextInput: Ember.computed('inputType', function() {\n        return this.get('inputType') === 'text';\n    }),\n    isTextarea: Ember.computed('inputType', function() {\n        return this.get('inputType') === 'textarea';\n    }),\n    actions: {\n        \n        edit(){\n            originVal = this.get(`object.${this.get('field')}`);\n            this.set('isEditing', true);\n            this.set('newValue', \"\");\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save(object){\n            //console.log('here');\n            \n            object.set(this.get('field'), this.get('newValue'));\n\n            field = this.get('field');\n            \n            object.save().catch(function(reason) {\n      \n                let editError = document.getElementById(\"instrumentEditError\");\n                editError.hidden = false;\n                \n                if (originVal == undefined) {\n                    originVal = \"\";\n                }\n\n                object.set(field, originVal);\n\n                window.scrollTo(0,0);\n            });\n            this.set('isEditing', false);\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n        if (e.keyCode === 13) {\n            if (this.get('isTextarea') === true && e.ctrlKey === false) {\n                return;\n            }\n            this.send('save', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\n\nvar originVal;\nvar field;\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n    isEditable: true,\n    isEditing: false,\n    \n    isTextInput: Ember.computed('inputType', function() {\n        return this.get('inputType') === 'text';\n    }),\n    isTextarea: Ember.computed('inputType', function() {\n        return this.get('inputType') === 'textarea';\n    }),\n    actions: {\n        \n        edit(){\n            originVal = this.get(`object.${this.get('field')}`);\n            this.set('isEditing', true);\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save(object){\n            console.log('in single save input, object is');\n            console.log(object);\n            object.set(this.get('field'), this.get('newValue'));\n\n            field = this.get('field');\n            \n            object.save().catch(function(reason) {\n      \n                let editError = document.getElementById(\"instrumentEditError\");\n                editError.hidden = false;\n                \n                if (originVal == undefined) {\n                    originVal = \"\";\n                }\n\n                object.set(field, originVal);\n\n                window.scrollTo(0,0);\n            });\n            this.set('isEditing', false);\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n        if (e.keyCode === 13) {\n            if (this.get('isTextarea') === true && e.ctrlKey === false) {\n                return;\n            }\n            this.send('save', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    isEditing: false,\n    tagName: 'tr',\n    classNameBindings: ['isEditing:active-cell-values-inline-edit', 'isZeroTimestampClass'],\n    isRowDeleteConfirmationDialog: {},\n    instrumentType: null,\n\n    valueOver: Ember.computed('instrument',function(self, value) {\n        //console.log(value);\n        return true;\n    }),\n\n    // isFine: Ember.computed('instrumentType', function() {\n    //     var isFine = false;\n    //     //console.log(this.get('instrumentType').get('title'));\n    //     switch(this.get('instrumentType').get('title')) {\n    //         case 'Tilt':\n    //             isFine=true;\n    //             break;\n    //         case 'BluVibe':\n    //             isFine=true;\n    //             break;\n    //         case 'Wire':\n    //             isFine=true;\n    //             break;\n    //     }\n    //     return isFine;\n    // }),\n\n    tableRowIndexString: Ember.computed('tableRowIndex', function() {\n        return String(this.get('tableRowIndex'));\n    }),\n\n    displacementValueObjectValues: Ember.computed('displacementValueObject', function() {\n        let obj = this.get('displacementValueObject.values');\n/*         let instType = this.get('instrumentType').get('title');\n        if (instType == \"Wire\") {\n            let chans = this.get('instrument').get('channelsNum');\n            if (obj.length >= chans) {\n                obj.shift();\n                this.set('displacementValueObject.values',obj);\n            }\n\n        } */\n        return Object.assign({}, obj); // convert array to an object, to be able to get it's items by index in handlebars template\n    }),\n\n    temperatureValuesObject: Ember.computed('temperatureValuesModel', function() {\n        return this.get('temperatureValuesModel').objectAt( this.get('tableRowIndex') );\n    }),\n\n    temperatureObjectValue: Ember.computed('temperatureValuesObject', function() {\n        let temporaryTemperature = null;\n        try{\n            temporaryTemperature = this.get('temperatureValuesObject').get('values')[0];\n        }\n        catch(e){\n            temporaryTemperature = 0;\n        }\n        return temporaryTemperature;\n\n    }),\n\n    \n    actions: {\n        edit() {\n            this.set('isEditing', true);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n            //return this.$().attr({ tabindex: 1 }), this.$().focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save() {\n            let _this = this;\n            // save displacement values\n            let obj = Object.values(this.get('displacementValueObjectValues'));\n\n            let instrumentType = this.instrumentType.get('title');\n\n            if(instrumentType === 'Wire' || instrumentType === 'Tilt' || instrumentType === 'BluVibe') {\n                obj.unshift(0);\n            }\n\n            //console.log(obj);\n            this.get('displacementValueObject').set('values', obj ); //set values property to displacementValueObjectValues converted to array\n            this.get('displacementValueObject').save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                let instType = _this.get('instrumentType').get('title');\n                if (instType === \"Wire\" || instType === 'Tilt' || instType === 'BluVibe') {\n                    // if displacement-value was successfully saved to DB, then display it\n                    //console.log(results._internalModel._record.get('values'));\n                    let values = results._internalModel._record.get('values');\n                    values.shift();\n                    results._internalModel._record.set('values', values);\n                }\n            });\n\n            // save temperature\n            this.get('temperatureValuesObject').set('values', [this.get('temperatureObjectValue')] );\n            this.get('temperatureValuesObject').save({adapterOptions: this.get('instrumentId')});\n\n            // hide form\n            this.set('isEditing', false);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        },\n        cancel() {\n            // reset displacementValueObjectValues and temperatureObjectValue to original values\n            //this.set('displacementValueObjectValues', Object.assign({}, this.get('displacementValueObject.values')) );\n            //this.set('temperatureObjectValue', this.get('temperatureValuesObject').get('values')[0]);\n\n            this.set('isEditing', false);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        },\n        remove(){\n            let displacementValueObject = this.get('displacementValueObject'),\n                temperatureValuesObject = this.get('temperatureValuesObject'),\n                displacementValuesModel = this.get('displacementValuesModel'),\n                temperatureValuesModel = this.get('temperatureValuesModel')\n            ;\n\n            temperatureValuesObject.deleteRecord();\n            temperatureValuesObject.get('isDeleted');\n            temperatureValuesObject.save({adapterOptions: this.get('instrumentId')}).then(function(){\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                temperatureValuesModel.removeObject(temperatureValuesObject);\n            });\n\n            displacementValueObject.deleteRecord();\n            displacementValueObject.get('isDeleted');\n            displacementValueObject.save({adapterOptions: this.get('instrumentId')}).then(function(){\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                displacementValuesModel.removeObject(displacementValueObject);\n            });\n        },\n        toggleRowDeleteConfirmationDialog(id){\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n    },\n    didRender(){\n        //this.$('.has-tooltip-info').tooltip(); //activate tooltips\n        //console.log(this.get('instrumentType').get('title'));\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel');\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    isEditing: false,\n    tagName: 'tr',\n    classNameBindings: ['isEditing:active-cell-values-inline-edit', 'isZeroTimestampClass'],\n    isRowDeleteConfirmationDialog: {},\n    rdcd: {},\n    instrumentType: null,\n    loading: false,\n    setRDCD(value) {\n        let rdcd = this.get('isRowDeleteConfirmationDialog');\n        rdcd[value[0]] = value[1];\n        this.set('isRowDeleteConfirmationDialog', rdcd);\n        this.notifyPropertyChange('isRowDeleteConfirmationDialog');\n    },\n\n    valueOver: Ember.computed('instrument',function(self, value) {\n        //console.log(value);\n        return true;\n    }),\n\n    tableRowIndexString: Ember.computed('tableRowIndex', function() {\n        return String(this.get('tableRowIndex'));\n    }),\n\n    displacementValueObjectValues: Ember.computed('displacementValueObject', function() {\n        let obj = this.get('displacementValueObject.values');\n        let instType = this.get('instrumentType').get('title');\n        return Object.assign({}, obj); // convert array to an object, to be able to get it's items by index in handlebars template\n    }),\n\n    temperatureValuesObject: Ember.computed('temperatureValuesModel', function() {\n        return this.get('temperatureValuesModel').objectAt( this.get('tableRowIndex') );\n    }),\n\n    temperatureObjectValue: Ember.computed('temperatureValuesObject', function() {\n        let temporaryTemperature = null;\n        let tempObject = this.get('temperatureValuesObject');\n        let vals = null;\n\n        try{\n            vals = tempObject.get('values');\n            temporaryTemperature = vals[0].toFixed(1);\n        }\n        catch(e){\n            temporaryTemperature = null;\n            console.log(e);\n        }    \n        return temporaryTemperature;\n\n    }),\n    isCheckedHelper: Ember.computed(\"batchSelectedRows\", function() {\n        let batchSelectedRowsObj = this.get(\"batchSelectedRows\");\n        let index = this.get(\"tableRowIndex\");\n        // console.log(\"in isCheckedHelper, batch length is: \" + this.get(\"batchSelectedRows\").length +\" tableRowIndex: \" + this.get(\"tableRowIndex\") );\n        if(batchSelectedRowsObj && batchSelectedRowsObj[index]){\n            return true;\n        }else{\n            return false;\n        } \n      }),\n      convertMMToAdictBits: function(arrayMMs){\n          let bitsArray = [];\n          arrayMMs.forEach((mmValue)=>{\n              bitsArray.push(parseFloat((mmValue / parseFloat(this.get('strokeLength')) ) * 65536))\n          });\n          return bitsArray;\n      },\n    actions: {\n        toggleIndivSwitch(value) {\n            let batchSelectedRowsObj = this.get(\"batchSelectedRows\");\n            if(batchSelectedRowsObj){\n                batchSelectedRowsObj[value] = document.getElementById('batchSwitchID').checked;\n                // this.set('isMaxBatch',document.getElementById('batchSwitchID').checked);\n                // console.log( \"ID: \" + value + \"-\" + document.getElementById('batchSwitchID').checked);\n                this.set(\"batchSelectedRows\", batchSelectedRowsObj);\n            }\n        },\n        edit() {\n            this.set('isEditing', true);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n            //return this.$().attr({ tabindex: 1 }), this.$().focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save() {\n            let _this = this;\n            this.set('loading', true);            \n            this.set('isEditing', false);\n            // save displacement values\n            let obj = Object.values(this.get('displacementValueObjectValues'));\n\n            let instrumentType = this.instrumentType.get('title');\n\n            if(instrumentType == 'Wire' || instrumentType === 'Tilt' || instrumentType === 'BluVibe' || instrumentType === 'Piezo') {\n                obj.unshift(0);\n            }\n            console.log(obj)\n            let oldObj = obj;\n            if(instrumentType == 'Adict'){\n                obj = this.convertMMToAdictBits(obj);\n                console.log(obj);\n            }\n            this.get('displacementValueObject').set('values', obj ); //set values property to displacementValueObjectValues converted to array\n            this.get('displacementValueObject').save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                let instType = instrumentType;\n                if (instType == 'Wire' || instType === 'Tilt' || instType === 'BluVibe' || instrumentType === 'Piezo') {\n                    // if displacement-value was successfully saved to DB, then display it\n                    //console.log(results._internalModel._record.get('values'));\n                    let values = results._internalModel._record.get('values');\n                    values.shift();\n                    results._internalModel._record.set('values', values);\n                }\n                // save temperature\n                _this.get('temperatureValuesObject').set('values', [_this.get('temperatureObjectValue')] );\n                _this.get('temperatureValuesObject').save({adapterOptions: _this.get('instrumentId')});\n            })\n            .catch(function(reason){\n                this.set('loading', false);\n                console.log(reason);\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n            if(instrumentType == 'Adict'){\n                this.get('displacementValueObject').set('values', oldObj );\n            }\n\n            // hide form\n            this.set('loading', false);\n            this.set('isEditing', false);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        },\n        cancel() {\n            // reset displacementValueObjectValues and temperatureObjectValue to original values\n            //this.set('displacementValueObjectValues', Object.assign({}, this.get('displacementValueObject.values')) );\n            //this.set('temperatureObjectValue', this.get('temperatureValuesObject').get('values')[0]);\n           this.set('loading', false);\n            this.set('isEditing', false);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        },\n        remove(){\n            \n            let _this = this;\n            this.set('loading', true);\n            let displacementValueObject = this.get('displacementValueObject');\n            let temperatureValuesObject = this.get('temperatureValuesObject');\n            \n            let displacementValuesModel = this.get('displacementValuesModel');\n            let temperatureValuesModel = this.get('temperatureValuesModel');\n            ;\n            try{\n                temperatureValuesObject.deleteRecord();\n                temperatureValuesObject.get('isDeleted');\n                temperatureValuesObject.save({adapterOptions: this.get('instrumentId')}).then(function(){\n                    // deal with records that just were created\n                    // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                    temperatureValuesModel.removeObject(temperatureValuesObject);\n                })\n                .catch(function(reason){\n                    this.set('loading', false);\n                    console.log(\"Reason::: \" + reason);\n                });\n            } catch(e) {\n                this.set('loading', false);\n                console.log(\"Deleting Temperature::: \" + e);\n            }\n\n            try{\n                displacementValueObject.deleteRecord();\n                displacementValueObject.get('isDeleted');\n                displacementValueObject.save({adapterOptions: this.get('instrumentId')}).then(function(){\n                    // deal with records that just were created\n                    // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                    displacementValuesModel.removeObject(displacementValueObject);\n                })\n                .catch(function(reason){\n                    this.set('loading', false);\n                    if (reason.errors[0].status == 403) {\n                        _this.setProp('permissionError', true);\n                    }\n                });\n            } catch(e) {\n                this.set('loading', false);\n                console.log(\"Deleting Displacement::: \" + e);\n            }\n            \n            this.set('loading', false);\n        },\n        toggleRowDeleteConfirmationDialog(id){\n            let list = this.get('isRowDeleteConfirmationDialog');\n            let value = list[id] ? false : true;\n            this.setRDCD([id,value]);\n            //this.set('isRowDeleteConfirmationDialog', list); //update isVisibleRowDetails variable for each single row\n            //this.notifyPropertyChange('isRowDeleteConfirmationDialog');\n        },\n    },\n    didRender(){\n        //this.$('.has-tooltip-info').tooltip(); //activate tooltips\n        //console.log(this.get('instrumentType').get('title'));\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel');\n        }\n        if (e.keyCode === 13) {\n            this.send('save', this.get('object'));\n        }\n    }\n});\n\n\n// function escape(myStr) {\n//     return myStr.replace('.', ',');\n// }","import Ember from 'ember';\nimport { check } from 'prettier';\n\nexport default Ember.Component.extend({\n\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n        //console.log(\"editing: \" + this.get('isEditing'));\n    }),\n    isEditing: false,\n    store: Ember.inject.service(),\n    channelsNum: 0,\n    isToe: Ember.computed('headAt', function() {\n        return this.get('headAt') === 'HAT';\n    }),\n    isCollar: Ember.computed('headAt', function() {\n        return this.get('headAt') === 'HAC';\n    }),\n    anchorsAmount: Ember.computed('object', function() {\n        return this.get('object').length;\n    }),\n    isAllAnchorsPopulated: Ember.computed('object', 'anchorsAmount', function() {            \n        let allPopulated = true;\n        let objectLength = this.get('object').map(function(obj){\n            //console.log(\"ObjectLenth: \" + JSON.stringify(obj));\n            return obj.get('distance') !== '' && obj.get('distance') !== null;\n        });\n        //console.log(\"ObjectLenth: \" + objectLength);\n        if (objectLength.indexOf(false) > -1) {\n            allPopulated = false;\n        } else {\n            allPopulated = true;\n        }\n        return allPopulated;\n    }),\n   \n    // sort anchors depending on head position\n    sortProperties: Ember.computed('isToe', function() {\n        if (this.get('isToe')) {\n            return ['number:asc'];\n        }\n        return ['number:desc'];\n    }),\n    sortedInstrumentAnchors: Ember.computed.sort('anchors', 'sortProperties'),\n\n    listedAnchors: Ember.computed(function() {\n        let object = this.get('object');\n        let newSet = [];\n        let anchorCount = this.get('anchorsAmount');\n        if(this.get('stacked')) {\n            object.forEach(function(obj){\n                if(obj.get('number') > 0) {\n                    let anchor = (obj.get('number')-1) % ((anchorCount-1) / 2);\n                    var hash={};\n                    if(obj.get('number')-1 < (anchorCount-1) / 2) {\n                        hash={'number-a':\" - \" + (anchor + 1),'distance-a': obj.get('distance')};\n                        newSet.push(hash);\n                    } else {\n                        hash=newSet.shift();\n                        hash['number-b'] = anchor + 1 + ((anchorCount-1)/2) + \" - \";\n                        hash['distance-b'] = obj.get('distance');\n                        newSet.push(hash);\n                    }\n                }\n            });   \n        } else {\n            object.forEach(function(obj){\n                if(obj.get('number') > 0) {\n                    let anchor = (obj.get('number')-1) % ((anchorCount-1) / 2);\n                    var hash={};\n                    if(obj.get('number')-1 < (anchorCount-1) / 2) {\n                        hash={'number-a':\" - \" + (anchor + 1),'distance-a':obj.get('distance')};\n                        newSet.push(hash);\n                    } else {\n                        let temp=newSet.shift();\n                        hash={'number-b': (anchor + 1 + ((anchorCount-1)/2)) + \" - \",'distance-b':obj.get('distance')};\n                        newSet.push(temp);\n                        newSet.push(hash);\n                    }\n                }\n            });   \n            \n        }\n        //console.log(\"Anchors: \" + JSON.stringify(newSet.reverse()));\n        return newSet.reverse();\n    }),\n\n    // Binding Style Attributes to prevent console warning\n    // https://emberjs.com/deprecations/v1.x/#toc_binding-style-attributes.\n    anchorsCSSCounteStyle: Ember.computed('isToe', 'anchorsAmount', function() {\n        let anchorsCSSCounteStyle = this.get('isToe') ? -1 : this.get('anchorsAmount');\n        return Ember.String.htmlSafe(\"counter-reset: anchorNumber \" + anchorsCSSCounteStyle);\n    }),\n\n    actions: {\n        updateAnchorsCounter(object){\n            let j = 0;\n            object.forEach(function(obj){\n                if (!obj.get('isDeleted')) {\n                    j++;\n                }\n            });\n            this.set('anchorsAmount', j);\n        },\n        edit(){\n                this.set('isEditing', true);\n                this.set('newValue', this.get(`object.${this.get('field')}`));\n                return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n\n            /* this.set('isEditing', true);\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n            return this.$().attr({ tabindex: 1 }), this.$().focus(); // brings the view into focus in order to capture keyUps. */\n        },\n        inputNewValue(currentAnchor, anchorKey, anchorValue) {\n            var anchKeyPart = anchorKey.substring(anchorKey.length - 1); // => \"1\"\n            var currentAnchorNumber = currentAnchor['number-'+anchKeyPart].replace('-','').trim();\n\n            //this little bit of hackery is because we move the anchors into a new array\n            //in order to arrange them in the form of A -> 1,2,3  and B ->1,2,3  \n            //this is due to the fact that the rebar takes measurements along each side and \n            //together the measurements are used to find the total tension and compression.\n            this.get('object').map(function(obj){\n                //get anchor number and see if it's the same as the temp anchor number\n                if(obj.get('number') == currentAnchorNumber){\n                    obj.set('distance', anchorValue);\n                    //console.log(\"after set: \" + obj.get('distance'));\n                }\n                    \n            });\n            //need to do this after moving the new value from the temp array to the actual anchor array.\n            //that new value is needed n notifyPropertyChange\n            this.notifyPropertyChange('anchorsAmount'); // trigger property change to notify 'isAllAnchorsPopulated' computed property to be recalculated when updating anchors inputs\n            \n            currentAnchor[anchorKey] = anchorValue; //.set(whichAnchor, newValue);\n                        \n        },\n        prePopulateAnchors() {\n            let object = this.get('object'),\n                anchorsArray = [],\n                emptyAnchorsAmount = this.get('channelsNum') - this.get('anchorsAmount')\n            ;            \n            if ( emptyAnchorsAmount > 0 ) {\n                for (var i = emptyAnchorsAmount - 1; i >= 0; i--) {\n                    let newAnchor = this.get('store').createRecord('anchor', {\n                        number: i,\n                        distance: ''\n                    });\n                    anchorsArray.push(newAnchor);\n                }\n            }\n            if (anchorsArray.length) {\n                object.pushObjects(anchorsArray);\n                this.send('updateAnchorsCounter', object);\n            }\n\n            // Afterthought to fix broken anchor ordering in database. Proabbaly could be removed at some point when there won't be anymore anchors with empty number value.\n            let isAnchorNumbersCorrupted = -1;\n            object.forEach(function(obj){\n                if (obj.get('number') === 0) {\n                    isAnchorNumbersCorrupted++;\n                }\n            });\n            if (isAnchorNumbersCorrupted) {\n                object.forEach(function(obj, i){\n                    obj.set('number', i);\n                });\n            }\n\n        },\n        save(object){\n            //console.log(JSON.stringify(\"object: \" + object));\n\n            for (let i = object.length; i >= 0; i--) {\n                let currentObject = object.objectAt(i);\n                //console.log(JSON.stringify(currentObject));\n                if (typeof currentObject !== 'undefined' && currentObject.get('hasDirtyAttributes')) {\n                    currentObject.save();\n                    //console.log(\"anchor count: \" + i);\n                }\n            }\n            this.set('isEditing', false);\n        },\n\n        // save(object){\n        //     object.save();\n        //     this.set('isEditing', false);\n        //     this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        // },\n        cancel(object){\n            // rollback all unsaved items\n            for (let i = object.length; i >= 0; i--) {\n                let currentObject = object.objectAt(i);\n                if (typeof currentObject !== 'undefined') {\n                    currentObject.rollbackAttributes();\n                }\n            }\n            this.send('updateAnchorsCounter', this.get('object'));\n            this.notifyPropertyChange('anchorsAmount');\n            this.set('isEditing', false);\n        }\n    },\n    didRender(){\n        this.send('prePopulateAnchors');\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n        if (e.keyCode === 13) {\n            if (this.isAllAnchorsPopulated===true) {\n                this.send('save', this.get('object'));\n            }\n        }\n    },\n    // isValidateStacked: Ember.computed('object','anchorsAmount', function() {\n    //     let validatedStack = true;\n    //     console.log(\"isStacked: \" + this.get('isStacked'));\n    //     let uniqueArray = [];\n    //     let anchorArray = [];\n        \n    //     this.get('object').map(function(obj){\n    //         if( !isNaN(obj.get('distance')) ) {\n    //             anchorArray.push(parseInt(obj.get('distance')));\n    //         } else {\n    //             anchorArray.push(obj.get('distance'));\n    //         }\n    //     });\n    //     uniqueArray = anchorArray.filter(function(item, pos, self) {\n    //         return self.indexOf(item) == pos;\n    //     });\n\n    //     if( this.get('isStacked') ){            \n    //         if(uniqueArray.length != 4 && this.get('isAllAnchorsPopulated')){\n    //             validatedStack = false;\n    //         }      \n    //     }                  \n    //     console.log(\"Validated Stacked:\" + validatedStack)\n    //     return validatedStack;        \n    // }),\n    // isValidatedStaggered: Ember.computed('object','anchorsAmount', function() {\n    //     let validatedStaggered = true;\n    //     console.log(\"isStacked: \" + this.get('isStacked'));\n    //     let uniqueArray = [];\n    //     let anchorArray = [];\n        \n    //     this.get('object').map(function(obj){\n    //         try{\n    //             anchorArray.push(parseInt(obj.get('distance')));\n    //         } catch (error){\n    //             console.log(error);\n    //         }\n    //     });\n    //     uniqueArray = anchorArray.filter(function(item, pos, self) {\n    //         return self.indexOf(item) == pos;\n    //     });\n\n    //     if( !this.get('isStacked') ){            \n    //         if(uniqueArray.length<7 && this.get('isAllAnchorsPopulated')){\n    //             validatedStaggered = false;\n    //         }\n    //     }\n    //     console.log(\"Validated Staggered:\" + validatedStaggered)\n    //     return validatedStaggered;        \n    // }),\n\n});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n\n    isEditing: false,\n    store: Ember.inject.service(),\n    channelsNum: 0,\n    isToe: Ember.computed('headAt', function() {\n        return this.get('headAt') === 'HAT';\n    }),\n    isCollar: Ember.computed('headAt', function() {\n        return this.get('headAt') === 'HAC';\n    }),\n    anchorsAmount: Ember.computed('object', {\n        get() {\n            if (this._anchorCount) {\n                return this._anchorCount;\n            }\n            return this.get('object').length;\n        },\n\n        set(key, value) {\n            return this._anchorCount = value;\n        }\n    }),\n    isAllAnchorsPopulated: Ember.computed('object', 'anchorsAmount', function() {\n        let objectLength = this.get('object').map(function(obj){\n            return obj.get('distance') !== '' && obj.get('distance') !== null;\n        });\n        if (objectLength.indexOf(false) > -1) {\n            return false;\n        } else {\n            return true;\n        }\n    }),\n\n    // sort anchors depending on head position\n    sortProperties: Ember.computed('isToe', function() {\n        if (this.get('isToe')) {\n            return ['number:asc'];\n        }\n        return ['number:desc'];\n    }),\n    sortedInstrumentAnchors: Ember.computed.sort('object', 'sortProperties'),\n\n    // Binding Style Attributes to prevent console warning\n    // https://emberjs.com/deprecations/v1.x/#toc_binding-style-attributes.\n    anchorsCSSCounteStyle: Ember.computed('isToe', 'anchorsAmount', function() {\n        let anchorsCSSCounteStyle = this.get('isToe') ? -1 : this.get('anchorsAmount');\n        return Ember.String.htmlSafe(\"counter-reset: anchorNumber \" + anchorsCSSCounteStyle);\n    }),\n\n    actions: {\n        updateAnchorsCounter(object){\n            let j = 0;\n            object.forEach(function(obj){\n                if (!obj.get('isDeleted')) {\n                    j++;\n                }\n            });\n            this.set('anchorsAmount', j);\n        },\n        edit(){\n            this.set('isEditing', true);\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        inputNewValue(currentAnchor, newValue) {\n            this.notifyPropertyChange('anchorsAmount'); // trigger property change to notify 'isAllAnchorsPopulated' computed property to be recalculated when updating anchors inputs\n            currentAnchor.set('distance', newValue);\n        },\n        prePopulateAnchors() {\n            let object = this.get('object');\n            let anchorsArray = [];\n            let emptyAnchorsAmount = this.get('channelsNum') - this.get('anchorsAmount');\n\n            if ( emptyAnchorsAmount != null && emptyAnchorsAmount > 0 ) {\n                // console.log(\"emptyAnchorsAmount:::: \" + emptyAnchorsAmount)\n                // console.log(\"channelsNum:::: \" + this.get('channelsNum') + \"   anchorsAmount:::::: \" +  this.get('anchorsAmount'))\n                for (var i = emptyAnchorsAmount - 1; i >= 0; i--) {\n                    let newAnchor = this.get('store').createRecord('anchor', {\n                        number: i,\n                        distance: ''\n                    });\n                    anchorsArray.push(newAnchor);\n                }\n            }\n\n            if (anchorsArray.length) {\n                object.pushObjects(anchorsArray);\n                this.send('updateAnchorsCounter', object);\n            }\n\n            // // Afterthought to fix broken anchor ordering in database. Proabbaly could be removed at some point when there won't be anymore anchors with empty number value.\n            // let isAnchorNumbersCorrupted = -1;\n            // object.forEach(function(obj){\n            //     if (obj.get('number') === 0) {\n            //         isAnchorNumbersCorrupted++;\n            //     }\n            // });\n            // if (isAnchorNumbersCorrupted) {\n            //     object.forEach(function(obj, i){\n            //         obj.set('number', i);\n            //     });\n            // }\n\n        },\n        save(object){\n            for (let i = object.length; i >= 0; i--) {\n                let currentObject = object.objectAt(i);\n                if (typeof currentObject !== 'undefined' && currentObject.get('hasDirtyAttributes')) {\n                    currentObject.save()\n                    //console.log(\"anchor count: \" + i);\n                }\n            }\n\n\n\n            // try{\n\n            //     if(object !== null && typeof object !== 'undefined'){\n            //         for (let i = object.length; i >= 0; i--) {\n            //             let currentObject = object.objectAt(i);\n                        \n            //             if(currentObject.get('isLoaded')){\n            //                 if (typeof currentObject !== 'undefined' && currentObject.get('hasDirtyAttributes')) {\n            //                     currentObject.save();\n            //                     //console.log(\"anchor count: \" + i);\n            //                 }\n            //             }\n            //         }\n            //     }\n            // }\n            // catch(e){\n            //     console.log(e);\n            // }\n            this.set('isEditing', false);\n        },\n        cancel(object){\n            // rollback all unsaved items\n            for (let i = object.length; i >= 0; i--) {\n                let currentObject = object.objectAt(i);\n                if (typeof currentObject !== 'undefined') {\n                    currentObject.rollbackAttributes();\n                }\n            }\n            \n            this.send('updateAnchorsCounter', this.get('object'));\n            this.notifyPropertyChange('anchorsAmount');\n            this.set('isEditing', false);\n        }\n    },\n    didRender(){\n        this.send('prePopulateAnchors');\n    },\n    keyDown: function(e) {\n        // console.log(\"keyDown::::::::::::: \" + JSON.stringify(e));\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n        if (e.keyCode === 13) {\n            if (this.get('isAllAnchorsPopulated')===true) {\n                this.send('save', this.get('object'));\n            }\n        }\n    }\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Ember from 'ember';\nimport { camelize } from '@ember/string';\n\nvar originVal;\nvar field;\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n\n    store: Ember.inject.service(),\n    isEditable: true,\n    isEditing: false,\n    isRelational: true,\n    \n    // isNew means that this is being used on an object that has not been saved before. \n    // New as in not in the database yet. So saving is done at the form level not per control.        \n    isNew: false,\n    selectOptionsArray: Ember.computed.map('selectOptions', function(item){\n        const selectOptionsKyes = this.get('selectOptionsKyes').split(\",\");\n        \n        // console.log(\"Key: \" + Ember.get(item, selectOptionsKyes[0]) + \"   Value:: \" + Ember.get(item, selectOptionsKyes[1]))\n        \n        return {\n            key: Ember.get(item, selectOptionsKyes[0]),\n            value: Ember.get(item, selectOptionsKyes[1])\n        };\n    }),\n    \n    modelName: Ember.computed('selectOptions', function() {\n        return this.get('selectOptions.type.modelName');\n    }),\n\n    actions: {\n        selectNewValue(value){\n            // isNew means that this is being used on an object that has not been saved before. \n            // New as in not in the database yet.\n            let isNew = this.isNew;\n\n            // Only save if it's already in the database.\n            if( !isNew){\n                // console.log(`New value: ${value}`);\n                this.set('newValue', value);\n                this.send('save',this.get('parentObject'));\n            }\n            if (this.onSelectionChange) { // check if onSelectionChange function is defined\n                this.onSelectionChange(value);\n            }\n        },\n\n        edit(){\n            originVal = this.get(`object.${this.get('valueSource')}`);\n            this.set('isEditing', true);\n            this.set('newValue', this.get(`object.${this.get('valueSource')}`));\n            // console.log(\"Setting New Value::::: \" + this.get(\"newValue\"));\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        async save(object){\n            // console.log(`Saving: ${object.id}`);            \n            let modelName = this.get('modelName');\n            // console.log(`modelName: ${modelName}`);\n            // console.log(\"valueSource:: \" + this.get('valueSource'));\n            \n            if (this.get('isRelational')) {\n                var newSelectValue = await this.get('store').findRecord(modelName, this.get('newValue'));\n                object.set(camelize(this.get('inputFieldId')), newSelectValue);\n            } else {\n                // console.log(\"valueSource:: \" + this.get('newValue'));\n                object.set(this.get('valueSource'), this.get('newValue'));\n            }\n\n            // field = this.get('field');\n            \n            await object.save().catch(function(reason) {\n                // console.log(\"REASON:::::::: \" + reason);\n                let editError = document.getElementById(\"instrumentEditError\");\n                editError.hidden = false;\n         \n                // console.log(\"objects saved\");\n                object.set(camelize(modelName), newSelectValue);\n\n                window.scrollTo(0,0);\n            });\n            this.set('isEditing', false);\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n    store: Ember.inject.service(),\n    isEditable: true,\n    isEditing: false,\n    isRelational: true,\n    selectOptionsArray: Ember.computed.map('selectOptions', function(item){\n        const selectOptionsKyes = this.get('selectOptionsKyes').split(\",\");\n        return {\n            key: Ember.get(item, selectOptionsKyes[0]),\n            value: Ember.get(item, selectOptionsKyes[1])\n        };\n    }),\n    modelName: Ember.computed('selectOptions', function() {\n        return this.get('selectOptions.type.modelName');\n    }),\n    actions: {\n        selectNewValue(value){\n            this.set('newValue', value);\n        },\n        edit(){\n            this.set('isEditing', true);\n            this.set('newValue', this.get(`object.${this.get('valueSource')}`));\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save(object){\n            let modelName = this.get('modelName');\n            //console.log(this.get('newValue'));\n            object.set(this.get('valueSource'), this.get('newValue'));\n            object.save();\n            this.set('isEditing', false);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        }\n    },\n    didRender(){\n        //this.$('.has-tooltip-info').tooltip(); //activate tooltips\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\nimport { camelize } from '@ember/string';\n\nvar originVal;\nvar field;\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n\n    store: Ember.inject.service(),\n    isEditable: true,\n    isEditing: false,\n    isRelational: true,\n    selectOptionsArray: Ember.computed('selectOptions', function () {\n        let valueArray = this.get('selectOptions');\n        let items = valueArray[this.get(\"selectOptionKey\")];\n        let selectOptionsKyes = this.get('selectOptionsKyes').split(\",\");\n        let selectOptions = items.map(function (item) {\n          return {\n            key: item[selectOptionsKyes[0]],\n            value: item[selectOptionsKyes[1]]\n          };\n        });\n        return selectOptions;\n    }),\n    modelName: Ember.computed('selectOptions', function() {\n        let modelName = this.get('selectOptions');\n        // console.log(`modelName: ${modelName.type.modelName}`);\n        return this.get('selectOptions.type.modelName');\n    }),\n    getOption(key) {\n        let { field, selectOptions, selectOptionKey, object } = this.getProperties('field', 'selectOptions', 'selectOptionKey', 'object');\n        let queryValue = object[field];\n        let value = selectOptions[selectOptionKey].find(({ id }) => id === queryValue) || {};\n        return value;\n    },\n    getOptionValue: Ember.computed('selectOptions', function() {\n        let { field, selectOptions, selectOptionKey, object } = this.getProperties('field', 'selectOptions', 'selectOptionKey', 'object');\n        let queryValue = object[field];\n        let { value } = selectOptions[selectOptionKey].find(({ id }) => id === queryValue) || {};\n        return value;\n    }),\n    actions: {\n        // selectNewValue(value){\n        //     console.log(`New value: ${value}`);\n        //     this.set('newValue', value);\n        //     let parent = this.get('parentObject');\n        //     this.send('save',this.get('parentObject'));\n        // },\n        getNewOptionValue() {\n            let { field, selectOptions, selectOptionKey, object } = this.getProperties('field', 'selectOptions', 'selectOptionKey', 'object');\n            let queryValue = object[field];\n            let { value } = selectOptions[selectOptionKey].find(({ id }) => id === queryValue) || {};\n            return value;\n        },\n\n        selectNewValue(value){\n            // console.log(`New value: ${value}`);\n            this.set('newValue', value+\"\");\n            let parent = this.get('parentObject');\n            this.send('save',parent);\n        },\n        edit(){\n            originVal = this.get(`object.${this.get('field')}`);\n            this.set('isEditing', true);\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save(object){\n            let modelName = this.get('modelName');\n            let field = this.get('field');\n            if (this.get('isRelational')) {\n                var newSelectValue = this.get('newValue');\n                // console.log(`newSelectValue: ${newSelectValue}`);\n                // console.log(`newSelectValue Value: ${this.get('newValue')}`);\n                object.set(field, this.get('newValue'));\n            } else {\n                object.set(this.get('valueSource'), this.get('newValue'));\n            }\n\n            // field = this.get('field');\n            \n            object.save().catch(function(reason) {\n      \n                let editError = document.getElementById(\"instrumentEditError\");\n                editError.hidden = false;\n                \n                // // let orig = \"\";\n                // // if (originVal == 1) {\n                // //     orig = \"dExto\";\n                // // }\n\n                // //console.log(field);\n                // console.log(originVal);\n\n                // const objectMaps = {\n                //     'HAC': 'collar',\n                //     'HAT': 'toe',\n                //     '1': 'dExto',\n                //     '2': 'dCable',\n                //     '3': 'dRebar',\n                //     '4': 'dMPBX',\n                //     '5': 'dCOnv',\n                //     '6': 'Tilt',\n                //     '7': 'Slough',\n                //     '8': 'Thermostring',\n                //     '9': 'Piezo',\n                //     '10': 'HID',\n                //     '11': 'dGMM',\n                //     '12': 'Wire',\n                //     '13': 'Adict',\n                //     '15': 'BluVibe',\n                // };\n\n                // let originString = objectMaps[originVal];\n\n                // if (! ((originVal == 'HAC') || (originVal == 'HAT')) ) {\n                //     //object.set(\"instrumentType.title\", originString);\n                // } else {\n                //     //object.set(\"headAt.title\", originString);\n                // }\n\n                object.set(camelize(modelName), newSelectValue);\n\n                window.scrollTo(0,0);\n            });\n            this.set('isEditing', false);\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\nimport { camelize } from '@ember/string';\n\nvar originVal;\nvar field;\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n\n    store: Ember.inject.service(),\n    isEditable: true,\n    isEditing: false,\n    isRelational: true,\n    selectOptionsArray: Ember.computed.map('selectOptions', function(item){\n        const selectOptionsKyes = this.get('selectOptionsKyes').split(\",\");\n        console.log(\"Key: \" + Ember.get(item, selectOptionsKyes[0]) + \"   Value:: \" + Ember.get(item, selectOptionsKyes[1]))\n        \n        return {\n            key: Ember.get(item, selectOptionsKyes[0]),\n            value: Ember.get(item, selectOptionsKyes[1])\n        };\n    }),\n    \n    modelName: Ember.computed('selectOptions', function() {\n        return this.get('selectOptions.type.modelName');\n    }),\n\n    actions: {\n        selectNewValue(value){\n            console.log(`New value: ${value}`);\n            this.set('newValue', value);\n            if (this.onSelectionChange) { // check if onSelectionChange function is defined\n                this.onSelectionChange(value);\n            }\n            this.send('save',this.get('parentObject'));\n        },\n\n        edit(){\n            originVal = this.get(`object.${this.get('valueSource')}`);\n            this.set('isEditing', true);\n            this.set('newValue', this.get(`object.${this.get('valueSource')}`));\n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        async save(object){\n            // console.log(`Saving: ${object.id}`);            \n            let modelName = this.get('modelName');\n            // console.log(`modelName: ${modelName}`);\n            // console.log(\"valueSource:: \" + this.get('valueSource'));\n            if (this.get('isRelational')) {\n                var newSelectValue = this.get('store').peekRecord(modelName, this.get('newValue'));\n                object.set(camelize(modelName), newSelectValue);\n            } else {\n                // console.log(\"valueSource:: \" + this.get('newValue'));\n                object.set(this.get('valueSource'), this.get('newValue'));\n            }\n\n            // field = this.get('field');\n            \n            await object.save().catch(function(reason) {\n                // console.log(\"REASON:::::::: \" + reason);\n                let editError = document.getElementById(\"instrumentEditError\");\n                editError.hidden = false;\n                \n                // // let orig = \"\";\n                // // if (originVal == 1) {\n                // //     orig = \"dExto\";\n                // // }\n\n                // //console.log(field);\n                // console.log(originVal);\n\n                // const objectMaps = {\n                //     'HAC': 'collar',\n                //     'HAT': 'toe',\n                //     '1': 'dExto',\n                //     '2': 'dCable',\n                //     '3': 'dRebar',\n                //     '4': 'dMPBX',\n                //     '5': 'dCOnv',\n                //     '6': 'Tilt',\n                //     '7': 'Slough',\n                //     '8': 'Thermostring',\n                //     '9': 'Piezo',\n                //     '10': 'HID',\n                //     '11': 'dGMM',\n                //     '12': 'Wire',\n                //     '13': 'Adict',\n                //     '15': 'BluVibe',\n                // };\n\n                // let originString = objectMaps[originVal];\n\n                // if (! ((originVal == 'HAC') || (originVal == 'HAT')) ) {\n                //     //object.set(\"instrumentType.title\", originString);\n                // } else {\n                //     //object.set(\"headAt.title\", originString);\n                // }\n                // console.log(\"objects saved\");\n                object.set(camelize(modelName), newSelectValue);\n\n                window.scrollTo(0,0);\n            });\n            this.set('isEditing', false);\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\n\nvar originVal;\nvar field;\n\nexport default Ember.Component.extend({\n    editChanged: Ember.observer('isEditing', function() {\n        if (this.get('isEditing')==true) {\n            if(typeof this.editField === \"function\") {\n                this.editField();\n            }\n        } else {\n            if(typeof this.stopEditField === \"function\") {\n                this.stopEditField();\n            }\n        }\n    }),\n\n    isEditing: false,\n    dateTimePicker: null,\n    showClear: false,\n    actions: {\n        edit(){\n            originVal = this.object.get(this.field)\n            this.set('isEditing', true);\n            this.set('newValue', moment(new Date(this.object.get(this.field))).format('HH:mm:ss'));            \n            return this.element.tabindex = 1, this.element.focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save(object){\n            let value = this.get('newValue');\n//            let newDate = moment(new Date(value)).format('HH:mm:ss');\n            let newDate = moment(value,'HH:mm:ss');\n            if (newDate == \"Invalid date\")\n                newDate = null;\n            object.set(this.get('field'), newDate.format('HH:mm:ss'));\n\n            field = this.get('field');\n            object.save().catch(function(reason) {\n      \n                let editError = document.getElementById(\"instrumentEditError\");\n                editError.hidden = false;\n                \n                if (originVal == null) {\n                    originVal = \"\";\n                }\n                \n                object.set(field, originVal);\n\n                window.scrollTo(0,0);\n            });\n            this.set('isEditing', false);\n        },\n        cancel(){\n            this.set('newValue', this.get(`object.${this.get('field')}`));\n            this.set('isEditing', false);\n        }\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel', this.get('object'));\n        }\n        if (e.keyCode === 13) {\n            if (this.get('isTextarea') === true && e.ctrlKey === false) {\n                return;\n            }\n            this.send('save', this.get('object'));\n        }\n    }\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count-1;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        activeChanged() {\n            this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            let selected = {};\n\n            for(const elem of selector.selectedOptions)\n            {\n                selected[elem.value] = true;\n            };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                for(const elem of selector.selectedOptions) {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = elem.value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save();\n                                }\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n\n\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.bulbed = this.get('bulbed');\n            newInstrumentObject.plated = this.get('plated');\n            newInstrumentObject.stacked = this.get('stacked');\n            newInstrumentObject.active = true;\n            newInstrumentObject.instrumentStiffness = 0;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        // console.log(dup);\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n    \n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,\n    \n        onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n\n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans-1;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        viewData(id) {\n            this.get('router').transitionTo('raw-data', id);\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values' || modelName === 'load-values') { \n                var plated = this.get('instrument').get('plated');\n                var type = this.get('instrument').get('instrumentType').get('title');\n                //console.log(type);\n                \n                if (type === 'dCable') {\n                    chartData.values.splice(0,1);\n                    chartData.values.unshift(0);\n                    if(plated) {\n                        chartData.values.push(chartData.values[chartData.values.length - 1]);\n                    } else {\n                        chartData.values.push(0);\n                    }\n                } else if (type === 'dExto') {\n                    chartData.values.unshift(chartData.values[0]);\n                }\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n\n/*         if (this.get('instrument').get('instrumentType').get('title') == 'dRebar') {\n            for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                anchorDistances[ctr] = (ctr) + '-' + anchorDistances[ctr];\n            }\n\n            for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                anchorDistances[ctr] = (ctr) + '-' + anchorDistances[ctr];\n            }\n        }\n */\n        var modelName = this.get('chartDataModelName');\n        //if (this.get('instrument').get('instrumentType').get('title') != 'dRebar') {\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {\n                anchorDistances.splice(0, 1);\n            }\n        //}\n\n        if (modelName === 'axial-displacement-values') {\n            if (this.get('instrument').get('stacked')) {\n                let half_anchors = (anchorDistances.length / 2) + 1;\n                let gauge = this.get('instrument').get('gaugeLength');\n                while (anchorDistances.length > half_anchors) {\n                    anchorDistances.pop();\n                }\n                anchorDistances[0] = anchorDistances[1] - gauge;\n            } else {\n                let last = anchorDistances[anchorDistances.length-1];\n                anchorDistances.sort(function(a,b){return a-b;});\n                let gauge = this.get('instrument').get('gaugeLength');\n                //console.log('gauge: ' + gauge);\n                anchorDistances.forEach(function(item, index) {\n                    anchorDistances[index] = item - gauge;\n                    //console.log(item);\n                });\n                //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n                anchorDistances.shift();\n                anchorDistances.push(last);\n            }\n        }\n\n\n\n\n        return anchorDistances;\n    }),\n\n    anchorAXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else { //staggered\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n    \n            midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n                return [v, anchorDistances.slice(center + 1)[i]];\n              });\n\n            midPoints.unshift(headExclusion);\n            let mid_temp = [];\n            for(let ctr = 1;ctr < midPoints.length; ctr++) {\n                mid_temp.push((midPoints[ctr - 1] + midPoints[ctr]) / 2);\n            }\n            midPoints = mid_temp;\n\n            if (modelName === 'bending-strain-values') {\n                midPoints.shift();\n                midPoints.pop();\n            }    \n            \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n        \n        //console.log(midPoints);\n        \n        return midPoints;\n    }),\n\n    anchorBXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else {\n\n        let center = anchorDistances.length - 1;\n        center = Math.ceil(center / 2);\n\n        midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n            return [v, anchorDistances.slice(center + 1)[i]];\n          });\n            midPoints.shift();\n            midPoints.pop();                  \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n\n        return midPoints;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        let anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n            if (this.get('instrument').get('stacked')) {\n                anchorDistances.shift(0);\n                let finalSize = anchorDistances.length / 2;\n                while (anchorDistances.length > finalSize) {\n                    anchorDistances.pop(finalSize);\n                }\n                anchorDistances.unshift(this.get('instrument').get('headExclusionLength'));\n            } else { //staggered\n\n            }\n        } else { //not rebar\n            anchorDistances.unshift(0);\n        }\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        if(type === 'dCable') {\n            midDistances.splice(0,1);\n            //midDistances.unshift(0);\n            midDistances[0] = 0;\n            var len = this.get('instrument').get('length');\n            var length = this.get('instrument').get('instrumentLength');\n\n            var modelName = this.get('chartDataModelName');\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {    \n                if(length !== null && length !== 0) {\n                    midDistances.push(length);\n                } else {\n                    midDistances.push(anchorDistances[anchorDistances.length - 1]);\n                }\n            }\n        }\n        // console.log(\"Anchors: \" + anchorDistances);\n         //console.log(\"Mids: \" + midDistances);\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', 'anchorAXDistances', 'anchorBXDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(this.get('instrument').get('instrumentTypeID') === 3) {//rebar \n            if(this.get('instrument').get('stacked')) { //is stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            } else { //is NOT stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            }\n        }\n\n        if (this.get('instrument').get('instrumentType').get('title') !== 'dRebar') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                return anchorMidDistances.map(function(anchorDistance){\n                    return {\n                        key: anchorDistance,\n                        type: 'referencePoints',\n                        values: [\n                            anchorDistance\n                        ]\n                    };\n                });\n                    \n            }\n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'load-values') {\n            return 28;\n        } else if((modelName === 'axial-strain-values' || modelName === 'bending-strain-values') && this.get('instrument').get('stacked')) {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorAXDistances = this.get('anchorAXDistances'),\n            anchorBXDistances = this.get('anchorBXDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints'),\n            anchorMidDistances = this.get('anchorMidDistances')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n\n        \n        if ((modelName === 'strain-values' || modelName === 'load-values') && this.get('instrument').get('instrumentType').get('title') !== 'dRebar') { \n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorMidDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'axial-strain-values' || modelName === 'load-values' ) {//&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorAXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'bending-strain-values' ) { //&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorBXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if(type === 'dCable') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                //console.log(fullRangeDataPoints);\n                fullRangeDataPoints.forEach(element => element.values[0]=0);\n            }\n        }\n        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg')\n            ;\n            let yAxisLegend = this.get('yAxisLegend');\n            let apiCallsPromises = [yAxisLegend];\n \n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                if(yAxisLegend.get('title')==='load') {\n                    title = axisName + \" (kN)\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n/*                 zoomChart.xAxis.dispatch.on('xAxisMouseMove', function (mouseMove) {\n                    console.log('test');\n                });\n */\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        //console.log(linesKyes);\n\n        var chartData = item.getProperties(linesKyes);\n\n        var modelName = this.get('chartDataModelName');\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var plated = this.get('instrument').get('plated');\n            \n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                if(plated) {\n                    chartData.values[0] = chartData.values[1];\n                } else {\n                    chartData.values[0] = 0;\n                }\n            } else {\n                //chartData.values.unshift(0);\n            }\n            chartData.values.push(0);\n        }\n        //console.log(chartData);\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        if(instType === 'Tilt') {\n            return ['X','Y','Z'];\n        } else if(instType === 'Wire') {\n            let anchors = [];\n            let numPorts = this.instrument.get('portsNum');\n            let startVal = 0;\n            let maxVal = numPorts;\n/*             if (this.port != '') {\n                //startVal = (1 * this.port) - 1;\n                startVal = (1 * numPorts) - 1;\n                maxVal = startVal + 1;\n            }\n */            for(let ctr = startVal; ctr < maxVal; ctr++) {\n                anchors.push('T' + (ctr + 1));\n                anchors.push(ctr + 1);\n            }\n            return anchors;\n        } else if(instType === 'BluVibe') {\n            return ['Data'];\n        }\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var midPoints = [];\n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                //Adjust anchors to mid points between anchors\n                for(var ctr = 1; ctr < anchorDistances.length ; ctr++) {\n                    var mid = (anchorDistances[ctr - 1] + anchorDistances[ctr]) / 2;\n                    midPoints[ctr] = + mid.toFixed(2);\n                }\n\n                //console.log(midPoints);\n\n                //add zero point and end point\n                midPoints.splice(0,1);\n                midPoints[0] = 0;\n                midPoints.push(anchorDistances[anchorDistances.length - 1]);  //TODO: change to length of exto once known\n                //console.log(midPoints);\n            } else if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                //Adjust anchors to mid points between anchors\n                //console.log(this.get('instrument'));\n                let headExclusion = this.get('instrument').get('headExclusionLength');\n                let leftAnchors = [headExclusion];\n                let rightAnchors = [headExclusion];\n                \n                let center = anchorDistances.length - 1;\n                center = Math.ceil(center / 2);\n\n                leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n\n                rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n\n                let midLeft = [];\n                for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                    midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                }\n\n                let midRight = [];\n                for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                    midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                }\n\n                if (modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'load-values') {\n                    if(this.get('instrument').get('stacked')) {\n                        midPoints = midLeft;\n                        if (modelName === 'load-values') {\n                            midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n                        }\n                    } else {\n                        midPoints = midLeft.concat(midRight);\n                        /* midPoints = $.map(midPoints.slice(1, center + 1), function(v, i) {\n                            return [v, midPoints.slice(center + 1)[i]];\n                          }); */\n                        if (modelName === 'bending-strain-values') {\n                            midPoints.shift();\n                            midPoints.pop();\n                        }\n\n                    }\n                } else {\n                    midPoints = midLeft.concat(midRight);\n                }\n                if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                    for(let ctr = 0; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n  \n/*                     for(let ctr = 0; ctr < midPoints.length / 2; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n        \n                    for(let ctr = 3; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n */                }\n            } else {\n                for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                    midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n                }\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        } else if (modelName === 'axial-displacement-values' && this.get('instrument').get('stacked')) {\n            let mid = (anchorDistances.length - 1) / 2;\n            while (anchorDistances.length > (mid + 1)) {\n                anchorDistances.pop();\n            }\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else if (modelName === 'axial-displacement-values' && !this.get('instrument').get('stacked')) {\n            anchorDistances.sort(function(a,b){return a-b;});\n\n            //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else {\n            if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                if (modelName === 'displacement-values') { //rebar stretch\n                    var midPoints = [];\n                    let headExclusion = this.get('instrument').get('headExclusionLength');\n                    let leftAnchors = [headExclusion];\n                    let rightAnchors = [headExclusion];\n                    \n                    let center = anchorDistances.length - 1;\n                    center = Math.ceil(center / 2);\n    \n                    leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                    rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n    \n                    if(!this.get('instrument').get('stacked')) {\n                        rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n                    }\n    \n                    let midLeft = [];\n                    for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                        midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                    }\n    \n                    let midRight = [];\n                    for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                        midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                    }\n\n                    midPoints = midLeft.concat(midRight);\n                    anchorDistances = midPoints;\n\n                    anchorDistances.unshift(0);\n                }\n                for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n    \n                for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n            }    \n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n            var mName = _this.get('chartDataModelName');\n            if (mName === 'strain-values' || mName === 'strain-rate-values' || mName === 'load-values') {\n                zoomDataPoints.forEach(element => element.values[0] = 0);\n            }\n        }    \n\n/*         if (this.get('instrument').get('instrumentType').get('title') == 'Tilt') {\n                zoomDataPoints.forEach(element => element.values.shift());\n        }    \n */\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values' && this.get('instrument').get('instrumentType').get('title') !== 'BluVibe'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            //vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        //console.log(vibeEventsArray);\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend.get('firstObject');\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = '';\n                if (instType === 'BluVibe') {\n                    title = _this.get('chartDataModelName');\n                } else {\n                    title = yAxisLegend.get('title');\n                }\n                \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    case 'event-frequency':\n                        axisName = \"Event Frequency\";\n                        break;\n                    case 'event-ppv':\n                        axisName = \"Event PPV\";\n                        break;\n                    case 'event-ppa':\n                        axisName = \"Event PPA\";\n                        break;\n                    case 'cumulative-event-frequency':\n                        axisName = \"Cumulative Frequency\";\n                        break;\n                    case 'cumulative-event-ppv':\n                        axisName = \"Cumulative PPV\";\n                        break;\n                    case 'cumulative-event-ppa':\n                        axisName = \"Cumulative PPA\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                        //console.log(title);\n                }\n\n                /* let chartName = yAxisLegend.get('title').capitalize();\n                let chartNameL = chartName.substr(0, chartName.indexOf('_'));\n                let chartNameR = chartName.substr(chartName.indexOf('_') + 1).capitalize();\n                if(chartNameL !== \"\") {\n                    chartName = chartNameL + \" \" + chartNameR;\n                } */\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    if(yAxisLegend.get('title')==='load') {\n                        title = axisName +  \" (kN)\";\n                    } else if (instType === 'Wire') {\n                        if (raw === true) {\n                            title = \"Frequency (Hz)\";\n                        } else {\n                            title = \"Calculated Values\";\n                        }\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                } else {\n                    if (instType === 'BluVibe') {\n                        title = axisName;\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){//} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n\n    anchorDistances: Ember.computed('instrument', function() {\n        let anchors = this.get(\"instrument\").get('anchors');\n        let dist = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n        // console.log(\"Dist:::::::::::\" + dist);\n        return dist;\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    tagName: 'th',\n    orderingAscending: false,\n\n    isSelectedSort: Ember.computed('selectedSortProperty', 'sortProperty', function() {\n        let selectedSortProperty = this.get('selectedSortProperty');\n        if ( selectedSortProperty ) {\n            if ( selectedSortProperty.indexOf('-') === 0 ) {\n                selectedSortProperty = selectedSortProperty.substring(1);\n            }\n            return selectedSortProperty === this.get('sortProperty');\n        }\n    }),\n\n    actions: {\n        sortBy: function(sortProperty) {\n            //console.log('sorting');\n            this.toggleProperty('orderingAscending');\n\n            if ( this.get('orderingAscending') ) {\n                sortProperty = '-' + sortProperty;\n            }\n            this.sort(sortProperty);\n        }\n    }\n\n})","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\n\nexport default class SvgInstrumentComponent extends Component {\n  // Default values\n  get height() {\n    return this.args.height || 500;\n  }\n\n  get width() {\n    return this.args.width || 500;\n  }\n\n  get orientation() {\n    return this.args.orientation || 'horizontal';\n  }\n\n  get anchors() {\n    return this.args.anchors || true;\n  }\n\n  get type() {\n    return this.args.type || 'stacked';\n  }\n}\n","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\n\nexport default class BaseTemporalChartDropdownComponent extends Component {\n    \n    constructor() {\n        super(...arguments);\n    }\n}\n","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Component from '@glimmer/component';\nimport Ember from 'ember';\n\nexport default Ember.Component.extend({\n\n});","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                console.log(_this.activeChannels)\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n        // setPhoneNumber() {\n        //     console.log(\"alert.target:\" + this.get('alert.target'));\n        //     // this.set('alert.target', this.get('carrier'));\n        //     this.toggleProperty('showModal');\n        // },\n\n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n        \n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n\n\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n            newInstrumentObject.instrumentStiffness = 0;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        // console.log(dup);\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n    \n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,    \n\n        onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n\n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        viewData(id) {\n            this.get('router').transitionTo('raw-data', id);\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values' || modelName === 'load-values') { \n                var plated = this.get('instrument').get('plated');\n                var type = this.get('instrument').get('instrumentType').get('title');\n                //console.log(type);\n                \n                if (type === 'dCable') {\n                    chartData.values.splice(0,1);\n                    chartData.values.unshift(0);\n                    if(plated) {\n                        chartData.values.push(chartData.values[chartData.values.length - 1]);\n                    } else {\n                        chartData.values.push(0);\n                    }\n                } else if (type === 'dExto') {\n                    chartData.values.unshift(chartData.values[0]);\n                }\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n\n/*         if (this.get('instrument').get('instrumentType').get('title') == 'dRebar') {\n            for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                anchorDistances[ctr] = (ctr) + '-' + anchorDistances[ctr];\n            }\n\n            for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                anchorDistances[ctr] = (ctr) + '-' + anchorDistances[ctr];\n            }\n        }\n */\n        var modelName = this.get('chartDataModelName');\n        //if (this.get('instrument').get('instrumentType').get('title') != 'dRebar') {\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {\n                anchorDistances.splice(0, 1);\n            }\n        //}\n\n        if (modelName === 'axial-displacement-values') {\n            if (this.get('instrument').get('stacked')) {\n                let half_anchors = (anchorDistances.length / 2) + 1;\n                let gauge = this.get('instrument').get('gaugeLength');\n                while (anchorDistances.length > half_anchors) {\n                    anchorDistances.pop();\n                }\n                anchorDistances[0] = anchorDistances[1] - gauge;\n            } else {\n                let last = anchorDistances[anchorDistances.length-1];\n                anchorDistances.sort(function(a,b){return a-b;});\n                let gauge = this.get('instrument').get('gaugeLength');\n                //console.log('gauge: ' + gauge);\n                anchorDistances.forEach(function(item, index) {\n                    anchorDistances[index] = item - gauge;\n                    //console.log(item);\n                });\n                //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n                anchorDistances.shift();\n                anchorDistances.push(last);\n            }\n        }\n\n\n\n\n        return anchorDistances;\n    }),\n\n    anchorAXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else { //staggered\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n    \n            midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n                return [v, anchorDistances.slice(center + 1)[i]];\n              });\n\n            midPoints.unshift(headExclusion);\n            let mid_temp = [];\n            for(let ctr = 1;ctr < midPoints.length; ctr++) {\n                mid_temp.push((midPoints[ctr - 1] + midPoints[ctr]) / 2);\n            }\n            midPoints = mid_temp;\n\n            if (modelName === 'bending-strain-values') {\n                midPoints.shift();\n                midPoints.pop();\n            }    \n            \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n        \n        //console.log(midPoints);\n        \n        return midPoints;\n    }),\n\n    anchorBXDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n\n        let midPoints = [];\n\n        if(this.get('instrument').get('stacked')) {\n            let headExclusion = this.get('instrument').get('headExclusionLength');\n            let leftAnchors = [headExclusion];\n            \n            let center = anchorDistances.length - 1;\n            center = Math.ceil(center / 2);\n\n            leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n\n            let midLeft = [];\n            for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n            }\n            midPoints = midLeft;\n        } else {\n\n        let center = anchorDistances.length - 1;\n        center = Math.ceil(center / 2);\n\n        midPoints = $.map(anchorDistances.slice(1, center + 1), function(v, i) {\n            return [v, anchorDistances.slice(center + 1)[i]];\n          });\n            midPoints.shift();\n            midPoints.pop();                  \n        }\n\n        midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n\n        return midPoints;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        let anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n            if (this.get('instrument').get('stacked')) {\n                anchorDistances.shift(0);\n                let finalSize = anchorDistances.length / 2;\n                while (anchorDistances.length > finalSize) {\n                    anchorDistances.pop(finalSize);\n                }\n                anchorDistances.unshift(this.get('instrument').get('headExclusionLength'));\n            } else { //staggered\n\n            }\n        } else { //not rebar\n            anchorDistances.unshift(0);\n        }\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        if(type === 'dCable') {\n            midDistances.splice(0,1);\n            //midDistances.unshift(0);\n            midDistances[0] = 0;\n            var len = this.get('instrument').get('length');\n            var length = this.get('instrument').get('instrumentLength');\n\n            var modelName = this.get('chartDataModelName');\n            if (anchorDistances.length > dataValuesCount && (modelName === 'strain-values' || modelName === 'load-values')) {    \n                if(length !== null && length !== 0) {\n                    midDistances.push(length);\n                } else {\n                    midDistances.push(anchorDistances[anchorDistances.length - 1]);\n                }\n            }\n        }\n        // console.log(\"Anchors: \" + anchorDistances);\n         //console.log(\"Mids: \" + midDistances);\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', 'anchorAXDistances', 'anchorBXDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(this.get('instrument').get('instrumentTypeID') === 3) {//rebar \n            if(this.get('instrument').get('stacked')) { //is stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            } else { //is NOT stacked\n                if (modelName === 'axial-strain-values' || modelName === 'load-values') {\n                    anchorDistances = this.get('anchorAXDistances');\n                } else if (modelName === 'bending-strain-values') {\n                    anchorDistances = this.get('anchorBXDistances');\n                }\n            }\n        }\n\n        if (this.get('instrument').get('instrumentType').get('title') !== 'dRebar') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                return anchorMidDistances.map(function(anchorDistance){\n                    return {\n                        key: anchorDistance,\n                        type: 'referencePoints',\n                        values: [\n                            anchorDistance\n                        ]\n                    };\n                });\n                    \n            }\n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'load-values') {\n            return 28;\n        } else if((modelName === 'axial-strain-values' || modelName === 'bending-strain-values') && this.get('instrument').get('stacked')) {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorAXDistances = this.get('anchorAXDistances'),\n            anchorBXDistances = this.get('anchorBXDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints'),\n            anchorMidDistances = this.get('anchorMidDistances')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n\n        \n        if ((modelName === 'strain-values' || modelName === 'load-values') && this.get('instrument').get('instrumentType').get('title') !== 'dRebar') { \n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorMidDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'axial-strain-values' || modelName === 'load-values' ) {//&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorAXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else if (modelName === 'bending-strain-values' ) { //&& !this.get('instrument').get('stacked')) {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorBXDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n                return {\n                    key: chartLineIndex,\n                    // mean: 3,\n                    type: 'lines',\n                    timestamp: zoomTimePoints[chartLineIndex],\n                    values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            anchorDistances[dataPointIndex],\n                            dataPoint\n                        ];\n                    })\n                };\n            });\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        if(type === 'dCable') {\n            if(modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                //console.log(fullRangeDataPoints);\n                fullRangeDataPoints.forEach(element => element.values[0]=0);\n            }\n        }\n        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                if(yAxisLegend.get('title')==='load') {\n                    title = axisName + \" (kN)\";\n                } else {\n                    title = axisName + \" (\" + units + \")\";\n                }\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n/*                 zoomChart.xAxis.dispatch.on('xAxisMouseMove', function (mouseMove) {\n                    console.log('test');\n                });\n */\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        //console.log(linesKyes);\n\n        var chartData = item.getProperties(linesKyes);\n\n        var modelName = this.get('chartDataModelName');\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var plated = this.get('instrument').get('plated');\n            \n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                if(plated) {\n                    chartData.values[0] = chartData.values[1];\n                } else {\n                    chartData.values[0] = 0;\n                }\n            } else {\n                //chartData.values.unshift(0);\n            }\n            chartData.values.push(0);\n        }\n        //console.log(chartData);\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        let instType = this.instrument.get('instrumentType').get('title');\n        if(instType === 'Tilt') {\n            return ['X','Y','Z'];\n        } else if(instType === 'Wire') {\n            let anchors = [];\n            let numPorts = this.instrument.get('portsNum');\n            let startVal = 0;\n            let maxVal = numPorts;\n/*             if (this.port != '') {\n                //startVal = (1 * this.port) - 1;\n                startVal = (1 * numPorts) - 1;\n                maxVal = startVal + 1;\n            }\n */            for(let ctr = startVal; ctr < maxVal; ctr++) {\n                anchors.push('T' + (ctr + 1));\n                anchors.push(ctr + 1);\n            }\n            return anchors;\n        } else if(instType === 'BluVibe') {\n            return ['Data'];\n        }\n        let chartData = this.get('fullRangeChartData');\n        let dataValuesCount;\n        try {\n            dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        } catch (error) {\n            dataValuesCount = 0;\n        }\n        let anchors = this.get('instrument').get('anchors');\n        \n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        //anchorDistances.push('T'); //TODO: add temperature\n\n        //IF chart is Strain-Values chart\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') { \n            var midPoints = [];\n            if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n                //Adjust anchors to mid points between anchors\n                for(var ctr = 1; ctr < anchorDistances.length ; ctr++) {\n                    var mid = (anchorDistances[ctr - 1] + anchorDistances[ctr]) / 2;\n                    midPoints[ctr] = + mid.toFixed(2);\n                }\n\n                //console.log(midPoints);\n\n                //add zero point and end point\n                midPoints.splice(0,1);\n                midPoints[0] = 0;\n                midPoints.push(anchorDistances[anchorDistances.length - 1]);  //TODO: change to length of exto once known\n                //console.log(midPoints);\n            } else if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                //Adjust anchors to mid points between anchors\n                //console.log(this.get('instrument'));\n                let headExclusion = this.get('instrument').get('headExclusionLength');\n                let leftAnchors = [headExclusion];\n                let rightAnchors = [headExclusion];\n                \n                let center = anchorDistances.length - 1;\n                center = Math.ceil(center / 2);\n\n                leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n\n                rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n\n                let midLeft = [];\n                for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                    midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                }\n\n                let midRight = [];\n                for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                    midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                }\n\n                if (modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'load-values') {\n                    if(this.get('instrument').get('stacked')) {\n                        midPoints = midLeft;\n                        if (modelName === 'load-values') {\n                            midPoints.push(this.get('instrument').get('instrumentLength') * 1000);\n                        }\n                    } else {\n                        midPoints = midLeft.concat(midRight);\n                        /* midPoints = $.map(midPoints.slice(1, center + 1), function(v, i) {\n                            return [v, midPoints.slice(center + 1)[i]];\n                          }); */\n                        if (modelName === 'bending-strain-values') {\n                            midPoints.shift();\n                            midPoints.pop();\n                        }\n\n                    }\n                } else {\n                    midPoints = midLeft.concat(midRight);\n                }\n                if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values') {\n                    for(let ctr = 0; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n  \n/*                     for(let ctr = 0; ctr < midPoints.length / 2; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n        \n                    for(let ctr = 3; ctr < midPoints.length; ctr++) {\n                        midPoints[ctr] = (ctr+1) + '-' + midPoints[ctr];\n                    }\n */                }\n            } else {\n                for(var ctr = 0; ctr < anchorDistances.length-1; ctr++) {\n                    midPoints[ctr] = ((anchorDistances[ctr] + anchorDistances[ctr + 1]) / 2).toFixed(2);\n                }\n            }\n            if(modelName==='displacement-values') {\n                midPoints.unshift(0);\n            }\n            anchorDistances = midPoints;\n        } else if (modelName === 'axial-displacement-values' && this.get('instrument').get('stacked')) {\n            let mid = (anchorDistances.length - 1) / 2;\n            while (anchorDistances.length > (mid + 1)) {\n                anchorDistances.pop();\n            }\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else if (modelName === 'axial-displacement-values' && !this.get('instrument').get('stacked')) {\n            anchorDistances.sort(function(a,b){return a-b;});\n\n            //anchorDistances.push(this.get('instrument').get('instrumentLength') * 1000);\n            anchorDistances[0] = this.get('instrument').get('headExclusionLength');\n        } else {\n            if (this.get('instrument').get('instrumentType').get('title') === 'dRebar') {\n                if (modelName === 'displacement-values') { //rebar stretch\n                    var midPoints = [];\n                    let headExclusion = this.get('instrument').get('headExclusionLength');\n                    let leftAnchors = [headExclusion];\n                    let rightAnchors = [headExclusion];\n                    \n                    let center = anchorDistances.length - 1;\n                    center = Math.ceil(center / 2);\n    \n                    leftAnchors = leftAnchors.concat(anchorDistances.slice(1, center + 1));\n                    rightAnchors = rightAnchors.concat(anchorDistances.slice(center + 1));\n    \n                    if(!this.get('instrument').get('stacked')) {\n                        rightAnchors[0] = (leftAnchors[1] + leftAnchors[0]) / 2;\n                    }\n    \n                    let midLeft = [];\n                    for(var ctr = 0; ctr < leftAnchors.length - 1; ctr++) {\n                        midLeft[ctr] = (leftAnchors[ctr] + leftAnchors[ctr + 1]) / 2;\n                    }\n    \n                    let midRight = [];\n                    for(var ctr = 0; ctr < rightAnchors.length - 1; ctr++) {\n                        midRight[ctr] = (rightAnchors[ctr] + rightAnchors[ctr + 1]) / 2;\n                    }\n\n                    midPoints = midLeft.concat(midRight);\n                    anchorDistances = midPoints;\n\n                    anchorDistances.unshift(0);\n                }\n                for(let ctr = 1; ctr < anchorDistances.length / 2; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n    \n                for(let ctr = 4; ctr < anchorDistances.length; ctr++) {\n                    anchorDistances[ctr] = ctr + '-' + anchorDistances[ctr];\n                }\n            }    \n        }\n        //console.log(anchorDistances);\n        return anchorDistances;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        if (this.get('instrument').get('instrumentType').get('title') === 'dCable') {\n            var mName = _this.get('chartDataModelName');\n            if (mName === 'strain-values' || mName === 'strain-rate-values' || mName === 'load-values') {\n                zoomDataPoints.forEach(element => element.values[0] = 0);\n            }\n        }    \n\n/*         if (this.get('instrument').get('instrumentType').get('title') == 'Tilt') {\n                zoomDataPoints.forEach(element => element.values.shift());\n        }    \n */\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values' && this.get('instrument').get('instrumentType').get('title') !== 'BluVibe'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (vibeEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let chartTitle = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_');\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            // vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg')\n            ;\n            //below is attempted fix to get label changed.\n            let yAxisLegend = this.get('yAxisLegend');\n            let apiCallsPromises = [yAxisLegend];\n        \n        //console.log(\"ChartID: \" + _this.get('chartId') );\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n        // label fix code\n        // Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                // label fix code\n                yAxisLegend = yAxisLegend;\n                // yAxisLegend = yAxisLegend.get('firstObject');\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = '';\n                if (instType === 'BluVibe') {\n                    title = _this.get('chartDataModelName');\n                } else {\n                    try{\n                        title = yAxisLegend.get('title');\n                    } catch (e) {\n                        title = _this.get('chartDataModelName');\n                    }\n                }\n                //console.log(\"Switch: \" + title);\n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    case 'event-frequency':\n                        axisName = \"Event Frequency\";\n                        break;\n                    case 'event-ppv':\n                        axisName = \"Event PPV\";\n                        break;\n                    case 'event-ppa':\n                        axisName = \"Event PPA\";\n                        break;\n                    case 'cumulative-event-frequency':\n                        axisName = \"Cumulative Frequency\";\n                        break;\n                    case 'cumulative-event-ppv':\n                        axisName = \"Cumulative PPV\";\n                        break;\n                    case 'cumulative-event-ppa':\n                        axisName = \"Cumulative PPA\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n\n                /* let chartName = yAxisLegend.get('title').capitalize();\n                let chartNameL = chartName.substr(0, chartName.indexOf('_'));\n                let chartNameR = chartName.substr(chartName.indexOf('_') + 1).capitalize();\n                if(chartNameL !== \"\") {\n                    chartName = chartNameL + \" \" + chartNameR;\n                } */\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    if(yAxisLegend.get('title')==='load') {\n                        title = axisName + \" (kN)\";\n                    } else if (instType === 'Wire') {\n                        if (raw === true) {\n                            title = \"Frequency (Hz)\";\n                        } else {\n                            title = \"Calculated Values\";\n                        }\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                } else {\n                    if (instType === 'BluVibe') {\n                        title = axisName;\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            //console.log(\"chartDataModelName: \" + _this.get('chartDataModelName'));\n\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length) { //} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    anchorDistances: Ember.computed('instrument', function() {\n        let anchors = this.get(\"instrument\").get('anchors');\n        let dist = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        return dist;                \n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","define(\"geotechnical-data-platform-new/components/tile-layer\", [\"exports\", \"ember-leaflet/components/tile-layer\"], function (_exports, _tileLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _tileLayer.default;\n    }\n  });\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        return count-2;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                console.log(_this.activeChannels)\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n        // setPhoneNumber() {\n        //     console.log(\"alert.target:\" + this.get('alert.target'));\n        //     // this.set('alert.target', this.get('carrier'));\n        //     this.toggleProperty('showModal');\n        // },\n\n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n        \n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    _this.set('newInstrumentObject', {});\n    _this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    //_this.set('project', null);\n    _this.set('installDate', null);\n    _this.set('east', null);\n    _this.set('north', null);\n    _this.set('depth', null);\n    _this.set('azimuth', null);\n    _this.set('dip', null);\n    _this.set('instrumentType', 0);\n    _this.set('headAt', 'HAC');\n    _this.set('instrumentLength', 0);\n    _this.set('strokeLength', 0);\n    _this.set('referenceAnchor', null);\n    _this.set('headExclusionLength', 0);\n    _this.set('gaugeLength', 0);\n    _this.set('bulbed', false);\n    _this.set('plated', false);\n    _this.set('stacked', false);\n    _this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n\n\n\n\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.strokeLength = 0;\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n            newInstrumentObject.instrumentStiffness = 0;\n            //console.log('here');\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if(!error) {\n                if(typeof newInstrumentObject.strokeLength === 'undefined') {\n                    error = true;\n                    this.setError('fieldError',true);\n                    this.setError('isVisibleError',true);\n                }\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        \n                        if(results.id != null) {\n                            store.createRecord('anchor', {number: 0, distance: 0, instrument: results}).save();\n                            store.createRecord('anchor', {number: 1, distance: 1, instrument: results}).save();\n                            store.createRecord('anchor', {number: 2, distance: 2, instrument: results}).save();\n                            store.createRecord('anchor', {number: 3, distance: 3, instrument: results}).save(); \n                            store.createRecord('anchor', {number: 4, distance: 4, instrument: results}).save(); \n                            store.createRecord('anchor', {number: 5, distance: 5, instrument: results}).save(); \n                        }\n\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 1; i <= this.get('instrumentAnchors').length; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        displacementValueObjectValues.shift();\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n    \n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n            newDisplacementValuesObject.values.unshift('0');\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,\n\n        onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n\n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans-2;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n    actions: {\n\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n            \n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        }\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        viewData(id) {\n            this.get('router').transitionTo('raw-data', id);\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        sGraph(id) {\n            this.get('router').transitionTo('spatial-graphs.spatial-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed.map('zoomTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        var chartData = item.getProperties(linesKyes);\n\n        return chartData;\n    }),\n\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        //console.log(linesKyes);\n\n        var chartData = item.getProperties(linesKyes);\n\n        var modelName = this.get('chartDataModelName');\n        if (modelName === 'strain-values' || modelName === 'strain-rate-values' || modelName === 'load-values' || modelName === 'axial-strain-values' || modelName === 'bending-strain-values') {           \n            chartData.values.push(0);\n        }\n        //console.log(chartData);\n        return chartData;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('tiltMode', function() {\n        let val = this.get('tiltMode');\n\n        switch (val) {\n            case 0:\n                return['Ax','Ay','Az'];\n            case 1:\n                return['a','nx','ny','nz'];\n            case 2:\n                return['X','Y','Z'];\n            case 3:\n                return['φ','θ','ψ'];\n\n        }\n        return ['a','b','c','d','Mode'];\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n        //console.log(blastEventsChartDistXData);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n\n/*         if (this.get('instrument').get('instrumentType').get('title') == 'Tilt') {\n                zoomDataPoints.forEach(element => element.values.shift());\n        }    \n */\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values' && this.get('instrument').get('instrumentType').get('title') !== 'BluVibe'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            //vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        //console.log(vibeEventsArray);\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;//.get('firstObject');\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n\n                let axisName = '';\n                let units = chartData.get('units');\n                title = '';\n                if (instType === 'BluVibe') {\n                    title = _this.get('chartDataModelName');\n                } else {\n                    title = yAxisLegend.get('title');\n                }\n                \n                switch(title) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    case 'load':\n                        axisName = chartData.get('temporalLoadName');\n                        break;\n                    case 'axial_strain':\n                        axisName = \"Axial Strain\";\n                        units = \"%\";\n                        break;\n                    case 'bending_strain':\n                        axisName = \"Bending Strain\";\n                        units = \"%\";\n                        break;\n                    case 'axial_displacement':\n                        axisName = \"Axial Displacement\";\n                        break;\n                    case 'temperature':\n                        axisName = \"Temperature\";\n                        units = \"°C\";\n                        break;\n                    case 'event-frequency':\n                        axisName = \"Event Frequency\";\n                        break;\n                    case 'event-ppv':\n                        axisName = \"Event PPV\";\n                        break;\n                    case 'event-ppa':\n                        axisName = \"Event PPA\";\n                        break;\n                    case 'cumulative-event-frequency':\n                        axisName = \"Cumulative Frequency\";\n                        break;\n                    case 'cumulative-event-ppv':\n                        axisName = \"Cumulative PPV\";\n                        break;\n                    case 'cumulative-event-ppa':\n                        axisName = \"Cumulative PPA\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                        //console.log(title);\n                }\n\n                /* let chartName = yAxisLegend.get('title').capitalize();\n                let chartNameL = chartName.substr(0, chartName.indexOf('_'));\n                let chartNameR = chartName.substr(chartName.indexOf('_') + 1).capitalize();\n                if(chartNameL !== \"\") {\n                    chartName = chartNameL + \" \" + chartNameR;\n                } */\n\n                if (yAxisLegend) {\n                    let raw = _this.raw;\n                    if(yAxisLegend.get('title')==='load') {\n                        title = axisName +  \" (kN)\";\n                    } else if (instType === 'Wire') {\n                        if (raw === true) {\n                            title = \"Frequency (Hz)\";\n                        } else {\n                            title = \"Calculated Values\";\n                        }\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                } else {\n                    if (instType === 'BluVibe') {\n                        title = axisName;\n                    } else {\n                        title = axisName + \" (\" + units + \")\";\n                    }\n                }\n                //title = yAxisLegend.get('unit');\n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    })\n                ;\n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {//} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    isVisibleCreateNewForm: false,\n    isVisibleReadingCreated: false,\n    multi: false,\n    \n    anchorDistances: Ember.computed('instrument','displacementData', function() {\n        let data = this.get('displacementData');\n        try {\n            let mode = data.get('lastObject').toJSON().values[4];\n            switch (mode) {\n                case 0:\n                    return['Ax','Ay','Az','n/a','Mode'];\n                case 1:\n                    return['a','nx','ny','nz','Mode'];\n                case 2:\n                    return['X','Y','Z','tilt_z_up','Mode'];\n                case 3:\n                    return['φ','θ','ψ','n/a','Mode'];\n\n            }\n        } catch {}\n        return ['a','b','c','d','Mode'];\n    }),\n\n    onCreateNewVisible: Ember.observer('isVisibleCreateNewForm', function() {\n        if (this.get('isVisibleCreateNewForm') == true)\n            this.set('isVisibleReadingCreated', false);\n    }),\n\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","define(\"geotechnical-data-platform-new/components/tooltip-layer\", [\"exports\", \"ember-leaflet/components/tooltip-layer\"], function (_exports, _tooltipLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _tooltipLayer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/vendor-instrument\", [], function () {\n  \"use strict\";\n});\n","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count-1;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            let error = false;\n\n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                console.log(_this.activeChannels)\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n        // setPhoneNumber() {\n        //     console.log(\"alert.target:\" + this.get('alert.target'));\n        //     // this.set('alert.target', this.get('carrier'));\n        //     this.toggleProperty('showModal');\n        // },\n\n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\n\nfunction resetNewInstrumentObject(_this) {\n    //console.log('reset');\n    _this.set('newInstrumentObject', {});\n    //_this.set('name', null);\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    //_this.set('east', null);\n    //_this.set('north', null);\n    //_this.set('depth', null);\n    //_this.set('azimuth', null);\n    //_this.set('dip', null);\n    //_this.set('instrumentType', 0);\n    //_this.set('headAt', 'HAC');\n    //_this.set('instrumentLength', 0);\n    //_this.set('strokeLength', 0);\n    //_this.set('referenceAnchor', null);\n    //_this.set('headExclusionLength', 0);\n    //_this.set('gaugeLength', 0);\n    //_this.set('bulbed', false);\n    //_this.set('plated', false);\n    //_this.set('stacked', false);\n    //_this.set('active', true);\n}\n\nexport default class CreatePackInstrument extends Component {\n    //@service session;\n    //@service currentUser;\n\n\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n    isAuthenticated = true;\n    newInstrumentObject = {};\n    headAt = 'HAC';\n    zeroTimestamp = null;\n    installDate = null;\n    authError = false;\n    project = null;\n    level = null;\n\n    actions= {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n\n\n    // actions = {\n        createInstrument(object){\n\n            //console.log(this.get('prevDup'));\n            //console.log((typeof this.get('prevDup') === \"undefined\"));\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n            newInstrumentObject.zeroTimestamp = this.get('zeroTimestamp');\n            newInstrumentObject.installDate = this.get('installDate');\n            \n            //newInstrumentObject.east = this.get('east');\n            //newInstrumentObject.north = this.get('north');\n            //newInstrumentObject.depth = this.get('depth');\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n            newInstrumentObject.instrumentStiffness = 0;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n            if (!error) {\n                \n                    newInstrument.save().then(function(results){\n                        //TODO::: Might be able to get rid of this.\n                        //Need to test that though.\n                        if(results.id != null) {\n                            store.createRecord('anchor', {number: 0, distance: 0, instrument: results}).save();\n                            store.createRecord('anchor', {number: 1, distance: 1, instrument: results}).save();\n                            store.createRecord('anchor', {number: 2, distance: 2, instrument: results}).save();\n                            store.createRecord('anchor', {number: 3, distance: 3, instrument: results}).save(); \n                            store.createRecord('anchor', {number: 4, distance: 4, instrument: results}).save(); \n                            store.createRecord('anchor', {number: 5, distance: 5, instrument: results}).save(); \n                            store.createRecord('anchor', {number: 6, distance: 6, instrument: results}).save();\n                            store.createRecord('anchor', {number: 7, distance: 7, instrument: results}).save();\n                            store.createRecord('anchor', {number: 8, distance: 8, instrument: results}).save();\n                            store.createRecord('anchor', {number: 9, distance: 9, instrument: results}).save();\n                            store.createRecord('anchor', {number: 10, distance: 10, instrument: results}).save();\n                            store.createRecord('anchor', {number: 11, distance: 11, instrument: results}).save();\n                            store.createRecord('anchor', {number: 12, distance: 12, instrument: results}).save();\n                            store.createRecord('anchor', {number: 13, distance: 13, instrument: results}).save();\n                            store.createRecord('anchor', {number: 14, distance: 14, instrument: results}).save();\n                            store.createRecord('anchor', {number: 15, distance: 15, instrument: results}).save();\n                            store.createRecord('anchor', {number: 16, distance: 16, instrument: results}).save();\n                            store.createRecord('anchor', {number: 17, distance: 17, instrument: results}).save();\n                            store.createRecord('anchor', {number: 18, distance: 18, instrument: results}).save();\n                            store.createRecord('anchor', {number: 19, distance: 19, instrument: results}).save();\n                            store.createRecord('anchor', {number: 20, distance: 20, instrument: results}).save();\n                            store.createRecord('anchor', {number: 21, distance: 21, instrument: results}).save();\n                            store.createRecord('anchor', {number: 22, distance: 22, instrument: results}).save();\n                            store.createRecord('anchor', {number: 23, distance: 23, instrument: results}).save();\n                            store.createRecord('anchor', {number: 24, distance: 24, instrument: results}).save();\n                            store.createRecord('anchor', {number: 25, distance: 25, instrument: results}).save();\n                            store.createRecord('anchor', {number: 26, distance: 26, instrument: results}).save();\n                            store.createRecord('anchor', {number: 27, distance: 27, instrument: results}).save();\n                            store.createRecord('anchor', {number: 28, distance: 28, instrument: results}).save();\n                        }\n\n                        if(results.id != null) {\n                            _this.get('submit')(results.id);\n                        } else {\n                            this.setError('isVisibleError',true);\n                            error = true;\n                        }\n                    }).catch(function(reason) {\n                        \n                        _this.setError('isVisibleError',true);\n                        _this.setError('authError',true);\n                    }); \n            } \n        }\n    }\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 1; i <= this.get('instrumentAnchors').length; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        displacementValueObjectValues.shift();\n        return displacementValueObjectValues;\n    }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n    \n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n            newDisplacementValuesObject.values.unshift('0');\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n    router: Ember.inject.service(),\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n\n    phoneNumber: Ember.computed('alert.target', function() {\n        let target = this.get('alert.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n    onCarrierChanged: observer('carrier', function() {\n        let carrier = this.get('carrier');\n        console.log('carrier changed' + carrier);\n        this.set('carrier', carrier);\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans-1;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n        onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        \n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrument extends Component.extend({\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    selectedVendor= null;\n    selectedModel= null;\n    editing= 0;\n    actions = {\n        viewData(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            let dateTimeFormat = \"DD-MM-YYYY\";\n            this.get('router').transitionTo('raw-data', id, { queryParams: {\"advancedDateTimeFormat\": dateTimeFormat, \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            // console.log(\"startDateObj: \" + startDateObj + \" endDateObj: \" + formattedEndDateObj);\n            // console.log(\"base unit for this instrument is: \" +  baseUnit)\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values', { queryParams: { \"chart_type\":\"ppv\", \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n\n        },\n        fGraph(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            // console.log(\"startDateObj: \" + startDateObj + \" endDateObj: \" + formattedEndDateObj);\n            // console.log(\"base unit for this instrument is: \" +  baseUnit)\n            this.get('router').transitionTo('frequency-graphs.frequency-graph', id, 'displacement-values', { queryParams: { \"chart_type\":\"ppv\", \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n\n            // this.get('router').transitionTo('frequency-graphs.frequency-graph', id, 'displacement-values', { queryParams: { \"chart_type\":\"ppv\" }});\n        },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","import Ember from 'ember';\nimport moment from 'moment';\nimport html2canvas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport * as htmlToImage from 'html-to-image';\nimport { toJpeg } from 'html-to-image';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'frequency-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    worker: new Worker('/js/screenshot-worker.js'),\n\n    capitalizeFirstLetter: function(string) {\n        return string.charAt(0).toUpperCase() + string.slice(1);\n    },\n    //Added for Advanced Filter Feature\n    getXYValueObj:function(){\n        let xyValueObj = {};\n\n        const queryParams = new URLSearchParams(window.location.search);\n\n        const advancedEndDate = queryParams.get('advancedEndDate');\n        const advancedStartDate = queryParams.get('advancedStartDate');\n        const advancedXMax = queryParams.get('advancedXMax');\n        const advancedXMin = queryParams.get('advancedXMin');\n        const advancedYAxisUnit = queryParams.get('advancedYAxisUnit');\n        const advancedYLeftMax = queryParams.get('advancedYLeftMax');\n        const advancedYLeftMin = queryParams.get('advancedYLeftMin');\n\n        xyValueObj[\"advancedEndDate\"]   = advancedEndDate ? advancedEndDate : null;\n        xyValueObj[\"advancedStartDate\"] = advancedStartDate ? advancedStartDate : null;\n        xyValueObj[\"advancedXMax\"]      = advancedXMax ? Number.parseFloat(advancedXMax) : null;\n        xyValueObj[\"advancedXMin\"]      = advancedXMin ? Number.parseFloat(advancedXMin) : null; \n        xyValueObj[\"advancedYAxisUnit\"] = advancedYAxisUnit ? advancedYAxisUnit : null; \n        xyValueObj[\"advancedYLeftMax\"]  = advancedYLeftMax ? Number.parseFloat(advancedYLeftMax) : null;\n        xyValueObj[\"advancedYLeftMin\"]  = advancedYLeftMin ? Number.parseFloat(advancedYLeftMin) : null; \n        return xyValueObj;\n\n    },\n\n    //find what sort of \n    chartMetric: Ember.computed(function(){\n        let chartMetric = this.attrs.getQueryParams('chart_type');\n        //this looks strange but we're only charting ppv and ppa\n        //but the default chartMetric is frequency for the other charts that use this param\n        if( chartMetric == null || chartMetric == 'frequency' ){\n            return 'PPV ';\n        }\n        else if( chartMetric == 'ppa' ){\n            return 'PPA ';\n        }\n        else if( chartMetric == 'ppl' ){\n            return 'PPV ';\n        }\n        return 'PPV ';\n    }),  \n    recordsToDisplay: Ember.computed(function(){\n        let recordsToDisplay = this.attrs.getQueryParams('display_records');\n        if(recordsToDisplay == null){\n          return '100';\n        }\n        if(recordsToDisplay == 1){\n            return -1;\n        }\n        return recordsToDisplay;\n    }),\n    chDataPoints: function(chartData, ordinalValue){\n        let filteredData = [];\n        let firstValue = 'Freq ' + ordinalValue;\n        let secondValue = this.get('chartMetric') + ordinalValue;\n        \n        filteredData = chartData.map(function(item){\n            let chartData;\n            chartData = [ item[firstValue] ,item[secondValue], item['timestamp']];    \n            return chartData;\n        })\n        return filteredData;\n    },\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function () {\n        return [this.get('chartMetric') + '1'];\n      }\n    ),\n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n        let chartMetric = this.get('chartMetric');\n        \n        let recordsToDisplay = this.get(\"recordsToDisplay\");\n        let zoomChartData = this.get(\"zoomChartData\");\n        let zoomTimePoints = this.get('zoomTimePoints');\n        \n        zoomChartData = zoomChartData.map(function (item, i){\n          let temporaryObject = new Object();\n        \n          temporaryObject['timestamp'] = moment( zoomTimePoints[i] ).valueOf(); //zoomTimePoints[i].getProperties('timestamp')['timestamp'];\n          temporaryObject['Freq X'] = item.values[2];\n          temporaryObject[\"Freq Y\"] = item.values[16];\n          temporaryObject[\"Freq Z\"] = item.values[16];\n          temporaryObject[\"Freq R\"] = item.values[23];\n          temporaryObject[\"PPV X\"] = item.values[4];\n          temporaryObject[\"PPV Y\"] = item.values[11];\n          temporaryObject[\"PPV Z\"] = item.values[18];\n          temporaryObject[\"PPV R\"] = item.values[25];\n          temporaryObject[\"PPA X\"] = item.values[5];\n          temporaryObject[\"PPA Y\"] = item.values[12];\n          temporaryObject[\"PPA Z\"] = item.values[19];\n          temporaryObject[\"PPA R\"] = item.values[26];\n\n\n\n          return temporaryObject;\n        });\n        function swap(items, leftIndex, rightIndex){\n          var temp = items[leftIndex];\n          items[leftIndex] = items[rightIndex];\n          items[rightIndex] = temp;\n        }\n    \n        function partition(items, left, right) {\n          var pivot   = maxValue(items[Math.floor((right + left) / 2)],chartMetric), //middle element\n              i       = left, //left pointer\n              j       = right; //right pointer\n          while (i <= j) {\n              while (maxValue(items[i], chartMetric) < pivot) {\n                  i++;\n              }\n              while (maxValue(items[j], chartMetric) > pivot ){\n                  j--;\n              }\n              if (i <= j) {\n                  swap(items, i, j); //swap two elements\n                  i++;\n                  j--;\n              }\n          }\n          return i;\n        }\n    \n        function quickSort(items, left, right) {\n          var index;\n          if (items.length > 1) {\n              index = partition(items, left, right); //index returned from partition\n              if (left < index - 1) { //more elements on the left side of the pivot\n                  quickSort(items, left, index - 1);\n              }\n              if (index < right) { //more elements on the right side of the pivot\n                  quickSort(items, index, right);\n              }\n          }\n          return items;\n        }\n    \n        function maxValue(_data, chartMetric){\n          var out = 0;\n          out = Math.max(_data[chartMetric + '1'], _data[chartMetric + '2'], _data[chartMetric + '3'], _data[chartMetric + '4']);\n          return out;\n        }\n    \n        zoomChartData = quickSort(zoomChartData, 0, zoomChartData.length - 1);\n        if(recordsToDisplay >0 && recordsToDisplay < zoomChartData.length){\n          //console.log(\"begin::: \" + (zoomChartData.length - (1+parseInt(recordsToDisplay))));\n          //console.log(\"end::: \" + (zoomChartData.length - 1));\n    \n          zoomChartData = zoomChartData.slice( -1 * (recordsToDisplay));\n        }\n        zoomChartData = zoomChartData.sortBy(\"timestamp\");\n         \n        return this.getData(zoomChartData);\n    \n    }),\n    zoomTimePoints: Ember.computed.map('zoomChartData', function (item) {\n        let itemID = item.get('id');\n        //console.log(\"zoomTimePoints ItemID : \" + itemID);\n        return itemID;\n    }),\n    // zoomDataPoints2: Ember.computed.map('zoomChartData', function(item){\n    //     let linesKyes = Object.keys(item.toJSON());\n    //     var chartData = item.getProperties(linesKyes);\n    //     return chartData;\n    // }),\n    zoomChartLinesData: Ember.computed('zoomDataPoints','zoomTimePoints','zoomTempPoints','seismicEventsChartDistXData', 'blastEventsChartDistXData', function () {\n        const _this = this;\n            // seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            // blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n        const zoomDataPoints = this.get('zoomDataPoints');\n        return zoomDataPoints;//zoomChartLinesData;\n    }),\n    //Added for Advanced Filter Feature\n    graphPointValidator:function(xyValueObj, x,y){\n        //This function is called by getData.\n        //This validator takes in a point and then proceeds to check if it meets either or both x and y axis range.\n        //Cases:\n        //  - If there is a range obj to consider, \n        //      - If the range object contains both x and y range, then (x,y) must be within BOTH ranges INCLUSIVELY\n        //      - If the range object contains either x or y range, then (x,y) must be within either ranges INCLUSIVELY\n        //  - If there is not range object, then that means it runs to default, which is \"no such validator\"\n        //Other case it can return False is when the user is using Auto Scaling.\n        //The idea of using this validator function is preserving original framework or appending points to a data array\n        // console.log(`xyValueObj is None? ${this.xyValueObj == undefined}`);\n        if (xyValueObj){\n            //Case user provide both X and Y ranges\n            if (xyValueObj[\"advancedYLeftMin\"] != null && xyValueObj[\"advancedYLeftMax\"] != null && xyValueObj[\"advancedXMin\"] != null && xyValueObj[\"advancedXMax\"] != null){\n                let xMin = xyValueObj[\"advancedXMin\"];\n                let xMax = xyValueObj[\"advancedXMax\"];\n                let yLeftMin = xyValueObj[\"advancedYLeftMin\"];\n                let yLeftMax = xyValueObj[\"advancedYLeftMax\"];\n                // console.log(`Validating: x:${x}, y:${y}`);\n                if((xMin <= Number.parseFloat(x) && (Number.parseFloat(x) <= xMax)) && ((yLeftMin <= Number.parseFloat(y)) && (Number.parseFloat(y) <= yLeftMax))){\n                    // console.log(`   PASSED`);\n                    return true;\n                }else{\n                    // console.log(`   FAILED`);\n                    return false;\n                }\n            }\n            //Case user provide only X range\n            else if ( xyValueObj[\"advancedXMin\"] != null && xyValueObj[\"advancedXMax\"] != null){\n                let xMin = xyValueObj[\"advancedXMin\"];\n                let xMax = xyValueObj[\"advancedXMax\"];\n                if((xMin <= Number.parseFloat(x)) && (Number.parseFloat(x) <= xMax)){\n                    return true;\n                }else{\n                    return false;\n                }\n            }\n            //Case user provide only Y range\n            else if ( xyValueObj[\"advancedYLeftMin\"] != null && xyValueObj[\"advancedYLeftMax\"] != null){\n                let yLeftMin = xyValueObj[\"advancedYLeftMin\"];\n                let yLeftMax = xyValueObj[\"advancedYLeftMax\"];\n                if((yLeftMin <= Number.parseFloat(y)) && (Number.parseFloat(y) <= yLeftMax)){\n                    return true;\n                }else{\n                    return false;\n                }\n            }\n            else{\n                return true;\n            }\n        }else{\n            return true;\n        }\n    },\n    getData: function(points) { \n        //Added for Advanced Filter Feature\n        let xyValueObj = this.getXYValueObj();\n        let data = [];\n        let chartMetric = this.get(\"chartMetric\");\n        let channels = [chartMetric + \"X\",chartMetric + \"Y\",chartMetric + \"Z\",chartMetric + \"R\"];\n        let frequency = [\"Freq X\", \"Freq Y\", \"Freq Z\", \"Freq R\"]; \n        let chart_type = this.get(\"chart_type\");\n        for (let i = 0; i < channels.length; i++) {\n            let valuesOfValues = [];\n        \n            for(let j = 0; j< points.length; j++){\n                let x = points[j][frequency[i]];\n                let y = points[j][channels[i]];\n                //Added for Advanced Filter Feature\n                if (this.graphPointValidator(xyValueObj, chart_type === \"ppl\" ? Math.log10(x) : x, y)){\n                    //This is for calulcating spcial values of x points. Keep on adding more should you need, but be smart\n                    if(chart_type == \"ppl\"){\n                        valuesOfValues.push({x: Math.log10(x), y: y, timestamp: points[j][\"timestamp\"] , size: 5, shape: \"circle\", xGraphIndex:frequency[i], yGraphIndex:channels[i]});  \n                        \n                    }else{\n                        valuesOfValues.push({x: x , y: y, timestamp: points[j][\"timestamp\"] , size: 5, shape: \"circle\", xGraphIndex:frequency[i], yGraphIndex:channels[i]});        \n                    }   \n                }          \n            }  \n            data.push({\n                key: channels[i],\n                values: valuesOfValues\n            });\n        }\n        // console.log(\"data : \");\n        // console.log(data);\n        return data;\n    },\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n    chart_type: Ember.computed(function(){\n        let chart_type = this.attrs.getQueryParams('chart_type');\n        return chart_type;\n    }),\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let measurementTitle = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_')\n        //console.log(\"measurementTitle:::: \" + measurementTitle);\n        let promise = this.get('store').queryRecord('measurement', {title: \"vibration\"});\n        return promise;\n    }),\n    y1AxisTitle: Ember.computed(function(){\n        let title = '';\n        let units = '';\n        let axisName = '';\n        let chartMetric = this.get(\"chartMetric\");\n        chartMetric = chartMetric.trim();\n        if( chartMetric == \"PPV\"){\n          title = \"PPV\";\n        }\n        if(chartMetric == \"PPA\"){\n          title = \"PPA\";\n        }\n        if(chartMetric == \"Freq\"){\n          title = \"Frequency\";\n        }\n        if(chartMetric == \"PPL\"){\n            title = \"PPV\";\n          }\n        switch (title) {\n            case 'Frequency':\n                axisName = 'Frequency';\n                units = 'Hz';\n                break;\n            case 'PPV':\n                axisName = \"PPV\";\n                units += `${this.getXYValueObj()['advancedYAxisUnit']}/s`;\n                break;\n            case 'PPL':\n                axisName = \"PPL\";\n                units +=  `${this.getXYValueObj()['advancedYAxisUnit']}/s`;\n                break;\n            case 'PPA':\n                axisName = \"PPA\";\n                units +=  `${this.getXYValueObj()['advancedYAxisUnit']}/s²`;\n                break;\n            default:\n                axisName = 'Unknown';\n        }\n    \n        title = axisName + ' (' + units + ')';\n        return title;\n    }),\n    mainPartTitle: Ember.computed(function(){\n        let title = '';\n        let chartMetric = this.get(\"chart_type\");\n        chartMetric = chartMetric.trim();\n        if( chartMetric == \"ppv\"){\n            title = \"Frequency\";\n        }\n        if(chartMetric == \"ppa\"){\n            title = \"Frequency\";\n        }\n        if(chartMetric == \"ppl\"){\n            title = \"Log(Frequency)\";\n        }\n        return title;\n    }),\n    x1AxisTitle: Ember.computed(function(){\n        let title = '';\n        let chartMetric = this.get(\"chart_type\");\n        chartMetric = chartMetric.trim();\n        if( chartMetric == \"ppv\"){\n            title = this.get(\"mainPartTitle\") +  \" (Hz)\";\n        }\n        if(chartMetric == \"ppa\"){\n            title = this.get(\"mainPartTitle\") +  \" (Hz)\";\n        }\n        if(chartMetric == \"ppl\"){\n            title = this.get(\"mainPartTitle\") +  \" (Log Base 10 (Hz))\";\n        }\n        return title;\n    }),\n    didInsertElement: function() {\n        const _this = this;\n        const zoomChartLinesData = _this.get('zoomChartLinesData');\n        let zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-frequency-line-chart-svg');    \n        let yAxisLegend = this.get('yAxisLegend');\n        let apiCallsPromises = [yAxisLegend];\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = _this.get(\"y1AxisTitle\");\n            let x_axisName = _this.get(\"x1AxisTitle\");\n            let type = _this.get(\"mainPartTitle\");\n\n            //let zoomChart = nv.models.lineChartWithFocusAPI(false)\n            let zoomChart = nv.models.scatterChart()\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .x(function(d) { \n                    return +d.x; \n                })\n                .y(function(d) { \n                    return +d.y; \n                })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(false)\n                .showDistY(false)\n                .showLegend(true)\n                .noData('No usable data')\n                \n            ;\n\n            //zoomChart.legend.margin({bottom: 500});\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n                zoomChart.xAxis\n                    .axisLabel(x_axisName)\n                    .axisLabelDistance(20)\n                    .tickPadding(30)\n                    .showMaxMin(false)\n                    .tickFormat(d3.format(\"2\"));\n\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n\n                zoomChart.xAxis.tickFormat(d3.format('.02f'));\n                zoomChart.yAxis.tickFormat(d3.format('.02f'))\n                        \n                zoomChart.forceY([0]);\n\n                zoomChart.yScale(d3.scale.linear());\n                \n                zoomChart.xScale(d3.scale.linear());\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(10)\n                ;\n\n                //zoomChart.yAxis.tickFormat(d3.format(\"1\"));\n\n                //Forcing Y Axis values and tick values for clean looking log graph\n                // zoomChart.forceY([0.5, 2000]); //Make sure y axis starts at 1 not 0\n                // zoomChart.yAxis.tickValues([1, 5, 10, 50, 100, 500, 1000, 2000, 5000]); //Continue pattern for more ticks\n                // zoomChart.forceX([0.5, 100]); //Make sure y axis starts at 1 not 0\n                // zoomChart.xAxis.tickValues([0.5, 1, 2, 5, 10, 20, 50, 100, 1000]); //Continue pattern for more ticks\n\n                zoomChart.tooltip.contentGenerator(function (obj) { \n                    let toolTipText = \"\";\n                    toolTipText = '<div style=\\'margin: 5px 5px 5px 5px;\\'>';\n                    toolTipText += '</div>';\n                    let timestampFormatter = d3.time.format('%m/%e/%y %H:%M:%S.%L');\n                    let newDate = new Date(obj[\"point\"].timestamp);\n                    // console.log(\"formatted newDate: \" + timestampFormatter(newDate))\n                    // let xValue = Number(obj[\"point\"].x).toPrecision(4);\n                    toolTipText += 'Measured At: ' + timestampFormatter(newDate) + '<br />' + obj[\"point\"][\"xGraphIndex\"] + \": \" + obj[\"point\"].x + '<br />' + obj[\"point\"][\"yGraphIndex\"] + ': ' + obj[\"point\"].y;\n\n                    toolTipText += '</div>';\n                    return toolTipText;\n                });\n                // console.log(zoomChartLinesData)\n                zoomChartSVG\n                    .datum(zoomChartLinesData)\n                    .transition()\n                    .call(zoomChart);\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n    },\n    async captureLargeDOM(element, chunkHeight) {\n        const canvas = document.createElement('canvas');\n        const context = canvas.getContext('2d');\n        const totalHeight = element.scrollHeight;\n        const totalWidth = element.scrollWidth;\n        \n        canvas.width = totalWidth;\n        canvas.height = totalHeight;\n    \n        let yOffset = 0;\n    \n        while (yOffset < totalHeight) {\n            console.log(\"Chunking...\");\n            const viewport = element.cloneNode(true);\n            viewport.style.height = `${chunkHeight}px`;\n            viewport.style.overflow = 'hidden';\n            viewport.style.transform = `translateY(-${yOffset}px)`;\n    \n            const chunkCanvas = await html2canvas(viewport);\n            context.drawImage(chunkCanvas, 0, yOffset);\n    \n            yOffset += chunkHeight;\n        }\n    \n        // Convert the final canvas to JPG\n        return new Promise((resolve) => {\n            canvas.toBlob((blob) => {\n                resolve(blob);\n            }, 'image/jpeg');\n        });\n      },\n\n    actions: {\n         downloadScreenshot() {\n            console.log(\"Clicked take screenshot\");\n            try{\n                const element = document.getElementById('GRAPH2');\n                console.log(\"Creating canvass...\");\n                // Capture the screenshot on the main thread\n                const canvas = toJpeg(element, { quality: 0.95 }).then(function (dataUrl) {\n                    var link = document.createElement('a');\n                    link.download = 'my-image-name.jpeg';\n                    link.href = dataUrl;\n                    link.click();\n                  });\n                console.log(\"Done\");\n            }catch(error){\n                console.error('Error capturing screenshot:', error);\n\n            }\n\n        }\n    }\n});\n\n\n\n// let id =  this.get('instrument').get(\"id\");\n// let endDatetodayObjObj = new moment();\n// let formattedEndDateObj = endDatetodayObjObj.format('YYYY-MM-DDTHH:mm');\n\n// let fileName = `${chartMetric ? chartMetric : \"\"}-frequency_graph-${id}-${formattedEndDateObj}`","import Ember from 'ember';\nimport moment from 'moment';\n//import JSONAPISerializer from '@ember-data/serializers/json';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    yAxisUnit:null,\n    init() {\n        this._super(...arguments);\n        const queryParams = new URLSearchParams(window.location.search);\n        const yAxisUnitParam = queryParams.get('advancedYAxisUnit');\n        if(yAxisUnitParam){\n            this.set('yAxisUnit', yAxisUnitParam);\n        }\n    },\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    // vibeEventsChartDistXData: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log('vibeEvents');\n    //     //console.log(events);\n    //     if ( this.get('vibeEvents') ) {\n    //         return [{\n    //             key: 'BluVibe',\n    //             type: 'distX',\n    //             color: '#80bf5c',\n    //             values: this.get('vibeEvents').map(function(event) {\n    //                 return [\n    //                     moment( event.get('id') ).valueOf(),\n    //                     event.get('size') ? (event.get('size') * -20) + 20 : 20\n    //                 ];\n    //             })\n    //         }];\n    //     }\n    //     return false;\n    // }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            let data_set = this.get('blastEvents').map(function(event) {\n                //console.log(event.get('timestamp'));\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n            //console.log(data_set);\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    zoomTempPoints: Ember.computed('zoomTempData', function () {\n        let zoomTempData = this.get('zoomTempData');\n        let zoomChartData = this.get(\"zoomDataPoints\");\n        // console.log(\"HERE::::::::::::::::::\");  \n        zoomTempData = zoomTempData.map(item => {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = {'timestamp': item.getProperties('id')['id'], 'values':item.getProperties(linesKyes)[linesKyes]} ;\n            return chartData;\n        })\n    \n        // above returns ALL readings from the BluVibe instrument\n        // chartData::: {\"values\":[25]}\n        let filterArray = zoomTempData.filter((elem) => {\n            return zoomChartData.some((ele) => {\n            return ele.timestamp === elem.timestamp;\n            });\n        });\n    \n        filterArray = filterArray.map(function(item){\n            return {'values':item['values']};\n        })\n        return filterArray;\n    }),\n    capitalizeFirstLetter: function(string) {\n        return string.charAt(0).toUpperCase() + string.slice(1);\n    },\n\n    chartMetric: Ember.computed(function(){\n      let chartMetric = this.attrs.getQueryParams('chart_type');\n      if(chartMetric == null || chartMetric.trim() == 'frequency'){\n        return 'Freq ';\n      }\n      return chartMetric.toUpperCase()+ \" \";\n    }),\n    recordsToDisplay: Ember.computed(function(){\n      let recordsToDisplay = this.attrs.getQueryParams('display_records');\n      if(recordsToDisplay == null){\n        return '100';\n      }\n      if(recordsToDisplay == 1){\n        return -1;\n      }\n      return recordsToDisplay;\n    }),\n    chDataPoints: function(chartData, metric){\n        let filteredData = [];\n        filteredData = chartData.map(function(item){\n            let chartData = '';\n            chartData = item[metric];    \n            return chartData;\n        })\n        return filteredData;\n    },\n    \n    zoomDataPoints: Ember.computed('zoomChartData', function () {\n        let chartMetric = this.get('chartMetric');\n        let recordsToDisplay = this.get(\"recordsToDisplay\");\n        // console.log(\"recordsToDisplay::: \" + recordsToDisplay);\n        let zoomChartData = this.get(\"zoomChartData\");\n        let zoomTimePoints = this.get('zoomTimePoints');\n            \n        zoomChartData = zoomChartData.map(function (item, i){\n            let temporaryObject = new Object();\n            \n            // console.log(\"zoomChartData::: \" + JSON.stringify(item) );\n            // console.log(\"\");    \n            \n            temporaryObject['timestamp'] = moment( zoomTimePoints[i] ).valueOf(); //zoomTimePoints[i].getProperties('timestamp')['timestamp'];\n            temporaryObject['Freq 1'] = item.values[2];\n            temporaryObject[\"Freq 2\"] = item.values[9];\n            temporaryObject[\"Freq 3\"] = item.values[16];\n            temporaryObject[\"Freq 4\"] = item.values[23];\n            temporaryObject[\"PPV 1\"] = item.values[4];\n            temporaryObject[\"PPV 2\"] = item.values[11];\n            temporaryObject[\"PPV 3\"] = item.values[18];\n            temporaryObject[\"PPV 4\"] = item.values[25];\n            temporaryObject[\"PPA 1\"] = item.values[5];\n            temporaryObject[\"PPA 2\"] = item.values[12];\n            temporaryObject[\"PPA 3\"] = item.values[19];\n            temporaryObject[\"PPA 4\"] = item.values[26];\n                        \n            //temporaryCounter = (temporaryCounter+ 1000);\n            return temporaryObject;\n        });\n        function swap(items, leftIndex, rightIndex){\n            var temp = items[leftIndex];\n            items[leftIndex] = items[rightIndex];\n            items[rightIndex] = temp;\n        }\n    \n        function partition(items, left, right) {\n            var pivot   = maxValue(items[Math.floor((right + left) / 2)],chartMetric), //middle element\n                i       = left, //left pointer\n                j       = right; //right pointer\n            while (i <= j) {\n                while (maxValue(items[i], chartMetric) < pivot) {\n                    i++;\n                }\n                while (maxValue(items[j], chartMetric) > pivot ){\n                    j--;\n                }\n                if (i <= j) {\n                    swap(items, i, j); //swap two elements\n                    i++;\n                    j--;\n                }\n            }\n            return i;\n        }\n    \n        function quickSort(items, left, right) {\n            var index;\n            if (items.length > 1) {\n                index = partition(items, left, right); //index returned from partition\n                if (left < index - 1) { //more elements on the left side of the pivot\n                    quickSort(items, left, index - 1);\n                }\n                if (index < right) { //more elements on the right side of the pivot\n                    quickSort(items, index, right);\n                }\n            }\n            return items;\n        }\n    \n        function maxValue(_data, chartMetric){\n            var out = 0;\n            out = Math.max(_data[chartMetric + '1'], _data[chartMetric + '2'], _data[chartMetric + '3'], _data[chartMetric + '4']);\n            return out;\n        }\n    \n        zoomChartData = quickSort(zoomChartData, 0, zoomChartData.length - 1);\n        if(recordsToDisplay >0 && recordsToDisplay < zoomChartData.length){\n            //console.log(\"begin::: \" + (zoomChartData.length - (1+parseInt(recordsToDisplay))));\n            //console.log(\"end::: \" + (zoomChartData.length - 1));\n            \n            zoomChartData = zoomChartData.slice( -1 * (recordsToDisplay));\n        }\n        zoomChartData = zoomChartData.sortBy(\"timestamp\");\n        // console.log(\"zoomChartData.length::: \" + zoomChartData.length);\n        //console.log(JSON.stringify(zoomChartData));\n        return zoomChartData;\n    \n        }),\n\n        fullRangeDataPoints_OLD: Ember.computed.map('fullRangeChartData', function(item){\n            let linesKyes = Object.keys(item.toJSON());\n            let items = item.getProperties(linesKyes);\n            //console.log(\"ITEMS:::::::::::::::::\");\n            return items;\n        }),\n\n        fullRangeDataPoints: Ember.computed('fullRangeChartData', function () {\n            let chartMetric = this.get('chartMetric');\n            let recordsToDisplay = this.get(\"recordsToDisplay\");\n            let fullRangeChartData = this.get(\"fullRangeChartData\");\n\n            fullRangeChartData = fullRangeChartData.map(function (item, i){\n                let temporaryObject = new Object();\n                                 \n                temporaryObject['Freq 1'] = item.values[2];\n                temporaryObject[\"Freq 2\"] = item.values[9];\n                temporaryObject[\"Freq 3\"] = item.values[16];\n                temporaryObject[\"Freq 4\"] = item.values[23];\n                temporaryObject[\"PPV 1\"] = item.values[4];\n                temporaryObject[\"PPV 2\"] = item.values[11];\n                temporaryObject[\"PPV 3\"] = item.values[18];\n                temporaryObject[\"PPV 4\"] = item.values[25];\n                temporaryObject[\"PPA 1\"] = item.values[5];\n                temporaryObject[\"PPA 2\"] = item.values[12];\n                temporaryObject[\"PPA 3\"] = item.values[19];\n                temporaryObject[\"PPA 4\"] = item.values[26];\n                            \n                return temporaryObject;\n            });\n            function swap(items, leftIndex, rightIndex){\n                var temp = items[leftIndex];\n                items[leftIndex] = items[rightIndex];\n                items[rightIndex] = temp;\n            }\n        \n            function partition(items, left, right) {\n                var pivot   = maxValue(items[Math.floor((right + left) / 2)],chartMetric), //middle element\n                    i       = left, //left pointer\n                    j       = right; //right pointer\n                while (i <= j) {\n                    while (maxValue(items[i], chartMetric) < pivot) {\n                        i++;\n                    }\n                    while (maxValue(items[j], chartMetric) > pivot ){\n                        j--;\n                    }\n                    if (i <= j) {\n                        swap(items, i, j); //swap two elements\n                        i++;\n                        j--;\n                    }\n                }\n                return i;\n            }\n        \n            function quickSort(items, left, right) {\n                var index;\n                if (items.length > 1) {\n                    index = partition(items, left, right); //index returned from partition\n                    if (left < index - 1) { //more elements on the left side of the pivot\n                        quickSort(items, left, index - 1);\n                    }\n                    if (index < right) { //more elements on the right side of the pivot\n                        quickSort(items, index, right);\n                    }\n                }\n                return items;\n            }\n        \n            function maxValue(_data, chartMetric){\n                var out = 0;\n                out = Math.max(_data[chartMetric + '1'], _data[chartMetric + '2'], _data[chartMetric + '3'], _data[chartMetric + '4']);\n                return out;\n            }\n        \n            fullRangeChartData = quickSort(fullRangeChartData, 0, fullRangeChartData.length - 1);\n            if(recordsToDisplay >0 && recordsToDisplay < fullRangeChartData.length){\n                //console.log(\"begin::: \" + (zoomChartData.length - (1+parseInt(recordsToDisplay))));\n                //console.log(\"end::: \" + (zoomChartData.length - 1));\n        \n                fullRangeChartData = fullRangeChartData.slice( -1 * (recordsToDisplay));\n            }\n            fullRangeChartData = fullRangeChartData.sortBy(\"timestamp\");\n            //console.log(\"zoomChartData.length::: \" + zoomChartData.length);\n            //console.log(JSON.stringify(zoomChartData));\n            return fullRangeChartData;\n        \n            }),\n            \n        \n    \n        //small focus chart data\n        // fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        // let linesKyes = Object.keys(item.toJSON());\n        // let items = item.getProperties(linesKyes);\n        // //console.log(\"ITEMS:::::::::::::::::\");\n        // return items;\n        // }),\n    \n\n        \n        fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n        }),\n    \n    \n        zoomTimePoints: Ember.computed.map('zoomChartData', function (item) {\n        let itemID = item.get('id');\n        //console.log(\"zoomTimePoints ItemID : \" + itemID);\n        return itemID;\n        }),\n    \n        anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function () {\n            return [this.get('chartMetric') + '1'];\n        }\n        ),\n    \n        //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n        zoomChartLinesData: Ember.computed('zoomDataPoints','zoomTimePoints','zoomTempPoints','seismicEventsChartDistXData', 'blastEventsChartDistXData', function () {\n            const _this = this,\n                // seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n                // blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n                //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n                zoomDataPoints = this.get('zoomDataPoints'),\n                zoomTempPoints = this.get('zoomTempPoints'),\n                zoomTimePoints = this.get('zoomTimePoints');\n\n\n            let anchorDistances = this.get('anchorDistances'),\n                zoomChartLinesData = [],\n                zoomChannelData = [],\n                channelChartBarData = [],\n                chartMetric = _this.get(\"chartMetric\"),            \n                chDataPoints = _this.get('chDataPoints');\n                \n            channelChartBarData.push(chDataPoints(zoomDataPoints, chartMetric + \"1\"));\n            channelChartBarData.push(chDataPoints(zoomDataPoints, chartMetric + \"2\"));\n            channelChartBarData.push(chDataPoints(zoomDataPoints, chartMetric + \"3\"));\n            channelChartBarData.push(chDataPoints(zoomDataPoints, chartMetric + \"4\"));\n                \n            let chartDataModelName = _this.get('chartDataModelName');\n            let channelCount = 1;\n            channelChartBarData.forEach(barChartData => {\n                zoomChannelData = anchorDistances.map(function () {\n                    return {\n                    key: chartMetric + channelCount,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: barChartData.map(function (dataPoint, dataPointIndex) {\n                        //console.log(\"dataPoint.frequency01::: \" + JSON.stringify(dataPoint));\n                        let dataPointValue = _this.get('chartMetric') + channelCount;\n                        return [\n                        moment(zoomTimePoints[dataPointIndex]).valueOf(),\n                        dataPoint,\n                        ];\n                    }),\n                    };\n                });\n                zoomChartLinesData.push(zoomChannelData[0]);\n                zoomChannelData = [];\n                channelCount++;\n                });\n            // mix data with events\n            // if (seismicEventsChartDistXData) {\n            //     zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n            // }\n            // if (blastEventsChartDistXData) {\n            //     zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n            // }\n            // if (vibeEventsChartDistXData) {\n            //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n            // }\n\n        return zoomChartLinesData;\n    }),\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this;\n        const fullRangeDataPoints = this.get('fullRangeDataPoints'); \n        const fullRangeTimePoints = this.get('fullRangeTimePoints');\n        let anchorDistances = this.get('anchorDistances'),\n            fullRangeChartLinesData = [],\n            fullRangeChannelData = [],\n            channelChartBarData = [],\n            chDataPoints = _this.get('chDataPoints'),\n            chartMetric = _this.get(\"chartMetric\");\n            \n        channelChartBarData.push(chDataPoints(fullRangeDataPoints, chartMetric + \"1\"));\n        channelChartBarData.push(chDataPoints(fullRangeDataPoints, chartMetric + \"2\"));\n        channelChartBarData.push(chDataPoints(fullRangeDataPoints, chartMetric + \"3\"));\n        channelChartBarData.push(chDataPoints(fullRangeDataPoints, chartMetric + \"4\"));\n        \n        let channelCount = 1;\n        channelChartBarData.forEach(fullChartData => {\n            \n            fullRangeChannelData = anchorDistances.map(function () {\n            return {\n              key: chartMetric + channelCount,\n              // mean: 3,\n              type: 'lines',\n              values: fullChartData.map(function (dataPoint, dataPointIndex) {\n                //console.log(\"dataPoint.frequency01::: \" + JSON.stringify(dataPoint));\n                return [\n                  moment(fullRangeTimePoints[dataPointIndex]).valueOf(),\n                  dataPoint,\n                ];\n              }),\n            };\n          }).sortBy('timestamp');\n          fullRangeChartLinesData.push(fullRangeChannelData[0]);\n          fullRangeChannelData = [];\n          channelCount++;\n        });\n        return fullRangeChartLinesData;\n    }),\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let chartTitle = chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_');\n        let promise = this.get('store').queryRecord('measurement', {title: chartTitle } );\n        return promise;\n    }),\n    y1AxisTitle: Ember.computed(function(){\n        let title = '';\n        let units = '';\n        let axisName = '';\n        let chartMetric = this.get(\"chartMetric\");\n        chartMetric = chartMetric.trim(); \n        \n        if( chartMetric == \"PPV\"){\n          title = \"PPV\";\n        }\n        if(chartMetric == \"PPA\"){\n          title = \"PPA\";\n        }\n        if(chartMetric == \"Freq\"){\n          title = \"Frequency\";\n        }\n        switch (title) {\n          case 'Frequency':\n            axisName = 'Frequency';\n            units = 'Hz';\n            break;\n          case 'PPV':\n            axisName = \"PPV\";\n            units += `${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}/s`;\n            break;\n          case 'PPA':\n            axisName = \"PPA\";\n            units += `${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}/s²`;\n            break;\n          default:\n            axisName = 'Unknown';\n        }\n        title = axisName + \" (\" + units + \")\";\n        return title;\n    }),\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            // vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            \n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend];\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n\n            title = _this.get(\"y1AxisTitle\");\n            \n            let zoomChart = nv.models.lineChartWithFocusAPI(true)\n                .margin({top: 65, right: 90, bottom: 20, left: 80})\n                // .margin({top: 60, right: 90, bottom:20, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data');\n        \n            zoomChart.legend.margin({bottom: 600});\n                        \n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n                let mainHeight = zoomChartSVG.attr(\"height\");\n                let mainMargin = zoomChart.margin();\n                let customTickFunction = _this.get(\"customTickFunction\");\n                zoomChart.xAxis\n                    .tickPadding(10)\n                    .ticks(8)\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        // assumes that the array is in order by timestamp\n                        let first = zoomChartLinesData[0].values[0][0];\n                        let last = zoomChartLinesData[0].values[zoomChartXDomainLength - 1][0];\n                        //console.log(\"zoomChartLinesData::::\" + zoomChartLinesData[0].values[zoomChartXDomainLength - 1])\n                        let tickDate = nv.utils.getDateAutoscaleFormat(first, last);\n                        return tickDate(new Date(d));\n                    })\n                //.rotateLabels(20)\n                \n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10)\n\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(10)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n\n                zoomChart.y1Axis.tickFormat(d3.format(\".2\"));\n                zoomChart.legend.numDecimals(3);\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n                \n                zoomChartSVG\n                    .datum(zoomChartLinesData)\n                    .call(zoomChart);\n                //puts the data into a format that a scatter chart can use. Needs to \n                //be the same as in the frequency graph in this same directory.\n                function getData(points) {\n                    let data = [];\n                    let chartMetric = _this.get('chartMetric');\n                    let channels = [chartMetric + \"1\",chartMetric + \"2\",chartMetric + \"3\",chartMetric + \"4\"]\n                    \n                    for (let i = 0; i < channels.length; i++) {\n                        let valuesOfValues = [];\n                        \n                        for(let j = 0; j< points[i][\"values\"].length; j++){\n                            valuesOfValues.push({x: points[i][\"values\"][j][0], y: points[i][\"values\"][j][1] , size: 5, shape: \"circle\"})                      \n                        }\n    \n                        data.push({\n                            key: points[i].key,\n                            values: valuesOfValues\n                        });\n                    }\n                    return data;\n                }\n                \n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = `<span class=\"event-type\">PPV - ${`${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}/s`}: ` + tooltipContent.ppv + `<br />PPA - ${this.yAxisUnit ? this.yAxisUnit == \"RAW\" ? \"mm\" : this.yAxisUnit : \"mm\"}/s&#178;: ` + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){//} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        } \n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { \n                    nv.log('New State:', JSON.stringify(e)); \n                });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n        \n        let graph_type = nv.models.scatter();\n        //there used to be some logic here for determining the graph_type\n        //we don't use it anymore but I didn't want to change it too much as I \n        //was checking in the code.\n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 90, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n            fullRangeChart.xAxis\n            .ticks(8)\n            .tickPadding(10)    \n            .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG\n                .datum(fullRangeChartLinesData)\n                .call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","\n\nexport default Ember.Component.extend({\n    batchSelectedRows:{},\n    isMaxBatch:false,\n    isVisibleCreateNewForm: false,\n    getVisibleReadings:Ember.computed('displacementData', function () {\n        if (this.get('displacementData')){\n            return this.get('displacementData').length\n        }else{\n            return 0;\n        }\n    }),\n    anchorDistances: Ember.computed('instrument', function() {\n        let dist = ['Axis', 'Trigger','Frequency','Amplitude','PPV','PPA','Duration','Axis', 'Trigger','Frequency','Amplitude','PPV','PPA','Duration','Axis', 'Trigger','Frequency','Amplitude','PPV','PPA','Duration','Axis', 'Trigger','Frequency','Amplitude','PPV','PPA','Duration'];\n        return dist;\n    }),\n    getDisplacementValueObject: Ember.computed(function() {\n        let dist = ['Axis', 'Trigger','Frequency','Amplitude','PPV','PPA','Duration','Axis', 'Trigger','Frequency','Amplitude','PPV','PPA','Duration','Axis', 'Trigger','Frequency','Amplitude','PPV','PPA','Duration','Axis', 'Trigger','Frequency','Amplitude','PPV','PPA','Duration'];\n        return dist;\n    }),\n    getDisplacementData: Ember.computed('displacementData', function () {\n        const displacementData = this.get('displacementData');\n        return displacementData;\n    }),\n    //Added for Advanced Filter Feature\n    getXYValueObj:function(){\n        let xyValueObj = {};\n\n        const queryParams = new URLSearchParams(window.location.search);\n\n        const advancedEndDate = queryParams.get('advancedEndDate');\n        const advancedStartDate = queryParams.get('advancedStartDate');\n        const advancedXMax = queryParams.get('advancedXMax');\n        const advancedXMin = queryParams.get('advancedXMin');\n        const advancedYAxisUnit = queryParams.get('advancedYAxisUnit');\n        const advancedYLeftMax = queryParams.get('advancedYLeftMax');\n        const advancedYLeftMin = queryParams.get('advancedYLeftMin');\n\n        xyValueObj[\"advancedEndDate\"]   = advancedEndDate ? advancedEndDate : null;\n        xyValueObj[\"advancedStartDate\"] = advancedStartDate ? advancedStartDate : null;\n        xyValueObj[\"advancedXMax\"]      = advancedXMax ? Number.parseFloat(advancedXMax) : null;\n        xyValueObj[\"advancedXMin\"]      = advancedXMin ? Number.parseFloat(advancedXMin) : null; \n        xyValueObj[\"advancedYAxisUnit\"] = advancedYAxisUnit ? advancedYAxisUnit : null; \n        xyValueObj[\"advancedYLeftMax\"]  = advancedYLeftMax ? Number.parseFloat(advancedYLeftMax) : null;\n        xyValueObj[\"advancedYLeftMin\"]  = advancedYLeftMin ? Number.parseFloat(advancedYLeftMin) : null; \n        return xyValueObj;\n    },\n    \n    maxBatchSwitchObserver: Ember.observer('isMaxBatch', function() {\n        if(this.get('isMaxBatch')){\n            let length = this.get('displacementData').length;\n            let isCheckedRowsValues = {};\n            for(let i = 0; i < length; i ++){\n                isCheckedRowsValues[i] = true;\n\n            }\n            this.set(\"batchSelectedRows\", isCheckedRowsValues);\n        }else{\n            this.set(\"batchSelectedRows\", {});\n        }\n        // console.log(\"observer triggered \" + this.get('isMaxBatch'));\n        // console.log(\"observer triggered batchSelectedRows length \" + this.get('batchSelectedRows').length);\n    }),\n    actions: {\n        toggleAllBatch() {\n            this.set('isMaxBatch',document.getElementById('maxBatchSwitch').checked);\n        },\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        updateTable(property) {\n            if (property == \"raw\"){\n                this.set(\"linear\", false);\n                this.set(\"calib\", false);\n                this.set(\"depth\", false);\n            } else if (property == \"linear\") {\n                this.set(\"linear\", true);\n                this.set(\"calib\", false);\n                this.set(\"depth\", false);\n            } else if (property == \"calib\") {\n                this.set(\"linear\", false);\n                this.set(\"calib\", true);\n                this.set(\"depth\", false);\n            } else {\n                this.set(\"linear\", false);\n                this.set(\"calib\", false);\n                this.set(\"depth\", true);\n            }\n        },\n    }\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","define(\"geotechnical-data-platform-new/components/video-layer\", [\"exports\", \"ember-leaflet/components/video-layer\"], function (_exports, _videoLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _videoLayer.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/components/welcome-page\", [\"exports\", \"ember-welcome-page/components/welcome-page\"], function (_exports, _welcomePage) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _welcomePage.default;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n    \n    isEditing: false,\n    tagName: 'tr',\n    classNameBindings: ['isEditing:active-cell-values-inline-edit', 'isZeroTimestampClass'],\n    isRowDeleteConfirmationDialog: {},\n    rdcd: {},\n    instrumentType: null,\n\n    setRDCD(value) {\n        let rdcd = this.get('isRowDeleteConfirmationDialog');\n        rdcd[value[0]] = value[1];\n        this.set('isRowDeleteConfirmationDialog', rdcd);\n        this.notifyPropertyChange('isRowDeleteConfirmationDialog');\n    },\n\n    valueOver: Ember.computed('instrument',function(self, value) {\n        //console.log(value);\n        return true;\n    }),\n\n    tableRowIndexString: Ember.computed('tableRowIndex', function() {\n        return String(this.get('tableRowIndex'));\n    }),\n\n    displacementValueObjectValues: Ember.computed('displacementValueObject', function() {\n        let obj = this.get('displacementValueObject.values');\n        let instType = this.get('instrumentType').get('title');\n        return Object.assign({}, obj); // convert array to an object, to be able to get it's items by index in handlebars template\n    }),\n\n    temperatureValuesObject: Ember.computed('temperatureValuesModel', function() {\n        return this.get('temperatureValuesModel').objectAt( this.get('tableRowIndex') );\n    }),\n\n    temperatureObjectValue: Ember.computed('temperatureValuesObject', function() {\n        let temporaryTemperature = null;\n        try{\n            temporaryTemperature = this.get('temperatureValuesObject').get('values')[0].toFixed(1);\n        }\n        catch(e){\n            temporaryTemperature = null;\n        }    \n        return temporaryTemperature;\n\n    }),\n\n    actions: {\n        edit() {\n            this.set('isEditing', true);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n            //return this.$().attr({ tabindex: 1 }), this.$().focus(); // brings the view into focus in order to capture keyUps.\n        },\n        save() {\n            let _this = this;\n            // save displacement values\n            let obj = Object.values(this.get('displacementValueObjectValues'));\n\n            let instrumentType = this.instrumentType.get('title');\n\n            if(instrumentType == 'Wire' || instrumentType === 'Tilt' || instrumentType === 'BluVibe' || instrumentType === 'Piezo') {\n                obj.unshift(0);\n            }\n\n            this.get('displacementValueObject').set('values', obj ); //set values property to displacementValueObjectValues converted to array\n            this.get('displacementValueObject').save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                let instType = instrumentType;\n                if (instType == 'Wire' || instType === 'Tilt' || instType === 'BluVibe' || instrumentType === 'Piezo') {\n                    // if displacement-value was successfully saved to DB, then display it\n                    //console.log(results._internalModel._record.get('values'));\n                    let values = results._internalModel._record.get('values');\n                    values.shift();\n                    results._internalModel._record.set('values', values);\n                }\n                // save temperature\n                _this.get('temperatureValuesObject').set('values', [_this.get('temperatureObjectValue')] );\n                _this.get('temperatureValuesObject').save({adapterOptions: _this.get('instrumentId')});\n\n            })\n            .catch(function(reason){\n                console.log(reason);\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n\n\n            // hide form\n            this.set('isEditing', false);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        },\n        cancel() {\n            // reset displacementValueObjectValues and temperatureObjectValue to original values\n            //this.set('displacementValueObjectValues', Object.assign({}, this.get('displacementValueObject.values')) );\n            //this.set('temperatureObjectValue', this.get('temperatureValuesObject').get('values')[0]);\n\n            this.set('isEditing', false);\n            //this.$('.has-tooltip-info').tooltip('hide'); //hide any active tooltips\n        },\n        remove(){\n            let _this = this;\n            \n            let instrument_id = this.get('instrumentId');\n            \n            let displacementValueObject = this.get('displacementValueObject'),\n                temperatureValuesObject = this.get('temperatureValuesObject'),\n                displacementValuesModel = this.get('displacementValuesModel'),\n                temperatureValuesModel = this.get('temperatureValuesModel')\n            ;\n            let list = this.get('isRowDeleteConfirmationDialog');\n            let value = list[displacementValueObject.id] ? false : true;\n            this.setRDCD([displacementValueObject.id,value]);\n\n            temperatureValuesObject.deleteRecord();\n            temperatureValuesObject.get('isDeleted');\n            temperatureValuesObject.save({adapterOptions: instrument_id}).then(function(){\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                temperatureValuesModel.removeObject(temperatureValuesObject);\n            });\n\n            displacementValueObject.deleteRecord();\n            displacementValueObject.get('isDeleted');\n            displacementValueObject.save({adapterOptions: this.get('instrumentId')}).then(function(){\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                displacementValuesModel.removeObject(displacementValueObject);\n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        toggleRowDeleteConfirmationDialog(id){\n            let list = this.get('isRowDeleteConfirmationDialog');\n            let value = list[id] ? false : true;\n            this.setRDCD([id,value]);\n            //this.set('isRowDeleteConfirmationDialog', list); //update isVisibleRowDetails variable for each single row\n            //this.notifyPropertyChange('isRowDeleteConfirmationDialog');\n        },\n    },\n    didRender(){\n        //this.$('.has-tooltip-info').tooltip(); //activate tooltips\n        //console.log(this.get('instrumentType').get('title'));\n    },\n    keyDown: function(e) {\n        if (e.keyCode === 27) {\n            this.send('cancel');\n        }\n        if (e.keyCode === 13) {\n            this.send('save', this.get('object'));\n        }\n    }\n});\n\n\n// function escape(myStr) {\n//     return myStr.replace('.', ',');\n// }","import Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\nimport moment from 'moment';\n\nfunction resetNewAlertObject(_this) {\n    let newAlertObject = {\n        'repeatWindow': '',\n        'metric': 'DISP',\n        'direction': 'GT',\n        'value': null,\n        'severity': 'HIGH',\n        'response': 'VP',\n        'target': '',\n        'message': '',\n        'windowType': 'NR',\n        'windowLength': 1,\n        'method': 'IMM',\n        'creator': '',\n        'refAnchor': 'ch0',\n        'inverted': false,\n        'creationDate': null,\n        'timeReference': '',\n    };\n    _this.set('creationTimestamp',null);\n    _this.set('newAlertObject', newAlertObject);\n    //console.log(_this.get('newAlertObject'));\n}\n\nexport default Ember.Component.extend({\n    init() {\n        this._super(...arguments);\n        resetNewAlertObject(this);\n    },\n    //@service session;\n    //@service currentUser;\n    //@service store;\n    store: Ember.inject.service(),\n    session: Ember.inject.service(),\n    newAlertObject: {},\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    installDate: null,\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    createMessage: '',\n\n    isPerm: true,\n    isActive: true,\n    repeats: false,\n    inverted: false,\n    creationTimestamp: null,\n    isAuthenticated: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n    activeChannels: [],\n\n    isRefAnchorDisabled: true,\n    isTimeReferenceDisabled: true,\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n\n    phoneNumber: Ember.computed('newAlertObject.target', function() {\n        let target = this.get('newAlertObject.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    timeReference: Ember.computed(function(){\n    \n        let store = this.get('store');\n        let instrument = store.peekRecord('instrument', this.get('id'));\n        let timeReference = this.get('newAlertObject').timeReference;\n\n        console.log(\"timeReference::: \" + timeReference);\n        \n        if(timeReference != null && timeReference != undefined && timeReference != '') {\n            console.log(\"timeReference already set::: \" + timeReference);\n        }else{\n            if(instrument.zeroTimestamp != null && instrument.zeroTimestamp!= undefined && instrument.zeroTimestamp!= '') {\n                console.log(\"timeReference not set finding instrument zero date::: \" + instrument.zeroTimestamp);\n                // this.get('newAlertObject')\n                timeReference = instrument.zeroTimestamp;\n            }\n            else {\n                timeReference = null;\n            }\n        }\n        // this.set('timeReference', timeReference);\n        console.log(\"returning: timeReference::: \" + timeReference);\n        return timeReference;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    username: computed('',function() {\n        return this.get('session').data.authenticated['user'];\n    }),\n\n    channelCount: computed('id', function() {\n        var id = this.get('id');\n        //console.log(id);\n        var pos = (id.length === 9 ? 5 : 6);\n        var count = id.substring(4,pos);\n        //console.log(count);\n        return count-1;\n    }),\n\n    onMetricChanged: observer('newAlertObject.metric', function() {\n        let metric = this.get('newAlertObject.metric');\n        if(metric === 'TIME') {\n            this.set('newAlertObject.method', 'IMM');\n            this.set('newAlertObject.refAnchor', 'ch0');\n            this.set('newAlertObject.inverted', false);\n        }\n\n        if(metric === 'REL_DISP'){\n            console.log(\"REL_DISP\");\n            this.set(\"isRefAnchorDisabled\", false);\n            this.set(\"isTimeReferenceDisabled\", false);            \n        }\n        \n        if(metric === 'DISP'){\n            console.log(\"DISP\");\n            this.set(\"isRefAnchorDisabled\", true);\n            this.set(\"isTimeReferenceDisabled\", true);\n        }\n    }),\n\n    onMethodChanged: observer('newAlertObject.method', function() {\n        let method = this.get('newAlertObject.method');\n        if(method === 'IMM') {\n            this.set('newAlertObject.windowLength', 1);\n            this.set('newAlertObject.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('newAlertObject.response', function() {\n        let response = this.get('newAlertObject.response');\n        if(response == 'VP') {\n            this.set('newAlertObject.target', '');\n        }\n    }),\n\n    actions: {\n        handleActiveSelectChange(event) {\n            this.activeChannels = [];\n            const selectedOptions = Array.from(event.target.selectedOptions);\n            const selectedValues = selectedOptions.map(option => option.value);\n            this.activeChannels = selectedValues;\n        },\n\n        checkChanged(object) {\n            this.set(object[0],object[1]);\n        },\n        staticChanged() {\n            this.set(\"isPerm\",document.getElementById('newAlertStaticDynamic').checked);\n        },\n        // activeChanged() {\n        //     this.set(\"isActive\",document.getElementById('newAlertEnabled').checked);\n        // },\n        repeatChanged() {\n            this.set(\"repeats\",document.getElementById('newAlertRepeat').checked);\n        },\n        invertChanged() {\n            this.set(\"inverted\",document.getElementById('newAlertInvert').checked);\n        },\n\n        // toggleActive() {\n        //     let big = !this.get(\"activeExpanded\");\n\n        //     if(big) {\n        //         this.set('activeSize',this.get('channelCount'));\n        //         this.set('buttonSymbol', '-');\n        //         this.set('activeLabel','Collapse');\n        //     } else {\n        //         this.set('activeSize',2);\n        //         this.set('buttonSymbol', '+');\n        //         this.set('activeLabel','Expand');\n        //     }\n        //     this.set('activeExpanded', big);\n        // },\n        createAlert(object){\n            let _this = this,\n                store = this.get('store'),\n                newAlertObject = this.get('newAlertObject')\n            ;\n\n            // let selector = this.element.querySelector('[name=\"chan_select\"]');\n\n            // let selected = {};\n\n            // for(const elem of selector.selectedOptions)\n            // {\n            //     selected[elem.value] = true;\n            // };\n\n            this.set('isVisibleError',false);\n            this.set('fieldError',false);\n\n            let error = false;\n\n            let timeReference = this.get('timeReference');\n            const unallowedValues = [null,undefined,''];\n            // since we set timeReference on initialization, if it's null or an empty string, it's because the user changed it\n            if ( unallowedValues.includes(timeReference) ){\n                console.log(\"setting timeReference to null\");\n                newAlertObject.timeReference = null; \n                timeReference = null; \n            }\n            else {\n                console.log(\"Formatting time reference::: \" + timeReference);\n                // newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n                newAlertObject.timeReference = timeReference\n                console.log(\"Formatting time reference::: \" + newAlertObject.timeReference);               \n            }\n            \n            if(!error) {\n                newAlertObject.isTriggered = false;\n                newAlertObject.isHandled = false;\n                newAlertObject.initTriggerStamp = null;\n                newAlertObject.handleStamp = null;\n                Ember.set(newAlertObject, 'creationDate', moment().format('YYYY-MM-DD HH:mm:ss'));\n                //newAlertObject.creationDate = _this.get('creationTimestamp');\n                newAlertObject.creator = this.username;\n                newAlertObject.isPerm = _this.get('isPerm');\n                newAlertObject.isActive = _this.get('isActive');\n                newAlertObject.repeats = _this.get('repeats');\n                newAlertObject.inverted = _this.get('inverted');\n                newAlertObject.instrument = store.peekRecord('instrument', this.get('id'));\n\n                if (newAlertObject.instrument !== null)\n                {\n                    let newAlert = null;\n\n                    if(!error) {\n                        try {\n                            newAlert = store.createRecord('alert', newAlertObject);\n                        } catch (err) {\n                            this.set('isVisibleError',true);\n                        }\n                    }\n\n                    if(!error) {\n\n                        let val = false;\n            \n                        let alertObjectValue = this.get('newAlertObject.value');\n\n                        let respType = this.get('newAlertObject.response');\n                        let addType=\"\";\n\n                        //Check if there are empty fields\n                        let value = this.get('newAlertObject.value');\n                        let cb = this.get('newAlertObject.creator');\n                        let wl = this.get('newAlertObject.windowLength');\n                        let target = this.get('newAlertObject.target');\n                        let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n                        /*\n                        console.log(value);\n                        console.log(cb);\n                        console.log(wl);\n                        console.log(sel);\n                        */\n\n                        this.setError('isVisibleError',false);\n                        this.setError('emptyBoldError',false);\n                        this.setError('noActChError',false);\n                        this.setError('nonNumericValueError',false);\n                        this.setError('wLError',false);\n                        this.setError('wLNegError',false);\n                        this.setError('targetError',false);\n                        this.setError('phoneNumError', false);\n                        this.setError('authError', false);\n\n\n                        // console.log(document.getElementById(\"newAlertObjectTarget\"));\n                       \n                        //If bolded values arn't entered\n                        if ((val.length == 0) || (cb.length == 0) || (wl.length == 0) || (value == null || value.length == 0)) {\n                            this.setError('isVisibleError',true);\n                            this.setError('emptyBoldError',true);\n                            //_this.set('createMessage', \"Please ensure all bolded entries are completed\");\n                        \n                        //If no channels are selected\n                        } else if ((sel == -1) && (this.get('newAlertObject.metric') != 'TIME')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('noActChError',true);\n                            //_this.set('createMessage', \"Please ensure you've selected at least one active channel\");\n\n                        //If the value is a non numeric\n                        }else if (isNaN(alertObjectValue)){\n                            this.setError('isVisibleError',true);\n                            this.setError('nonNumericValueError',true);\n                            // _this.set('createMessage', \"Please enter a valid numeric for the value\");\n\n                        //If a negative or 0 is entered for window length\n                        } else if ((this.get('newAlertObject.method') != 'IMM') && (wl <= 1)  && (this.get('newAlertObject.windowType') != 'LT')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLError',true);\n                            //_this.set('createMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n                        } else if (wl < 1) {\n                            this.setError('isVisibleError',true);\n                            this.setError('wLNegError',true);\n                            //_this.set('createMessage', \"Please enter a window length of greater than or equal to 1\");\n            \n                        } else if (respType=='TRIG') {\n                            document.getElementById(\"newAlertObjectTarget\").value = \"\";\n                            //_this.set('createMessage', \"Alert via Alarm will be available in future update\");            \n                    \n\n                        } else if((typeof target === 'undefined' || target === \"\") && (respType != 'VP')) {\n                            \n                            if (respType == 'EMAIL') {\n                                addType = 'email address';\n                            } else if (respType == 'SMS') {    \n                                addType = 'phone number';\n                            } else if (respType == 'TRIG') {\n                                addType = 'ip address';\n                            }\n                            \n                            this.setError('isVisibleError',true);\n                            this.setError('targetError',true);                \n                            //_this.set('createMessage', \"Please enter a target \" + addType);\n\n                        } else if ((!(target.includes(\"@\")))&&(respType=='SMS')) {\n                            this.setError('isVisibleError',true);\n                            this.setError('phoneNumError',true);\n                            //_this.set('createMessage', \"Please ensure you've added a carrier to the phone number\");\n                        \n                        } else { \n                            newAlert.save().then(function(results){\n                                val = true;\n                                // hide create new item form\n                                let newAnchorObject = null;\n                                let newAnchor = null;\n                                // console.log(error)\n                                // Loop through the selected values\n                                console.log(_this.activeChannels)\n                                _this.activeChannels.forEach(value => {\n                                    // console.log(error)\n                                    newAnchorObject = {};\n                                    newAnchorObject.alert = results;\n                                    newAnchorObject.selectedCh = value;\n\n                                    newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                    newAnchor.save().catch(function(reason) {\n                                        if (reason.errors[0].status == 403) {\n                                            _this.setError('isVisibleError',true);\n                                            _this.setError('authError',true);\n                                        }\n                                    });\n                                });\n                                // for(const elem of selector.selectedOptions) {\n                                //     // console.log(error)\n                                //     newAnchorObject = {};\n                                //     newAnchorObject.alert = results;\n                                //     newAnchorObject.selectedCh = elem.value;\n\n                                //     newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                                //     newAnchor.save();\n                                // }\n         \n        \n                                if(results.id != null) {\n                                    _this.get('submit')(results.id);\n                                } else {\n                                    this.setError('isVisibleError',true);\n                                    error = true;\n                                }\n                                //_this.set('isVisibleCreateNewForm', false);\n                            }).catch(function(reason) {\n                                if (reason.errors[0].status == 403) {\n                                    _this.setError('isVisibleError',true);\n                                    _this.setError('authError',true);\n                                }\n                                \n                            });\n                            //console.log(val);\n                            //if (!val){\n                            //    _this.set('createMessage', \"Please ensure all bolded values are entered\");\n                            //}\n                        }\n                    } \n                }\n            }\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n        // setPhoneNumber() {\n        //     console.log(\"alert.target:\" + this.get('alert.target'));\n        //     // this.set('alert.target', this.get('carrier'));\n        //     this.toggleProperty('showModal');\n        // },\n\n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n    }\n});","import Component from '@ember/component';\nimport Ember from 'ember';\nimport { computed, observer } from \"@ember/object\";\n\nfunction resetNewInstrumentObject(_this) {\n    _this.set('newInstrumentObject', {});\n    _this.set('zeroTimestamp', null);\n    _this.set('installDate', null);\n    _this.set('strokeLength', 0);\n}\n\n\nexport default class CreatePackInstrument extends Component.extend({\n    //@service session;\n    //@service currentUser;\n\n    modelList: computed('selectedVendor', function() {\n        let modelList = this.get('vwModels');\n        //console.log('test');\n        let shortModelList = [];\n\n        modelList.toArray().forEach(element => {\n            if (element.get('vwvendor').id === this.get('selectedVendor')) {\n                shortModelList.push(element);\n            }\n        });\n\n        return shortModelList;\n    }),\n\n    getModelById(modelId) {\n        let modelList = this.get('modelList');\n        return modelList.find(model => model.get('id') === modelId);\n    },\n    is4500HH: computed('selectedModel', function() {\n        console.log(\"selecedModel:  \");\n        let selectedModel = this.get('selectedModel');\n        let model = this.getModelById(selectedModel);\n        console.log(model.modelName);\n\n        if (model != null){\n            console.log(model.modelName === '4500-HH');\n            return model.modelName === '4500-HH';\n        } else {\n            return false;        \n        }\n    }),\n    isTypeGeoPt: computed('selectedModel', function() {\n        let selectedVendor = this.get('selectedVendor');\n        let selectedModel = this.get('selectedModel');\n\n        if (selectedModel != \"\" && selectedModel != null)\n            if (selectedVendor == 2)\n                return true;\n \n        return false;\n    }),\n    isTypeRocPws: computed('selectedModel', function() {\n        let selectedVendor = this.get('selectedVendor');\n        let selectedModel = this.get('selectedModel');\n\n        if (selectedModel != \"\" && selectedModel != null)\n            if (selectedVendor == 1)\n                return true;\n        \n        return false;\n    }),\n\n    vwProperties: [],\n\n    authError:false,\n    isAuthenticated:true,\n    newInstrumentObject:{},\n    headAt:'HAC',\n    zeroTimestamp:null,\n    installDate:null,\n    selectedVendor:null,\n    selectedModel:null,\n    calcCoef1:null,\n    calcCoef2:null,\n    calcCoef3:null,\n    calcCoef4:null,\n    calcCoef5:null,\n   \n    project: null,\n    level: null,\n\n    \n    actions: {\n\n        \n        setProject(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(value) {\n            const selectedId = value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        setVendor(vendorID){\n            this.set('selectedVendor', vendorID);\n            this.set('selectedModel', null);\n            this.send('setModel', null);\n        },\n\n        setModel(modelID){\n            this.set('selectedModel', modelID);\n        },\n        setValue(prop, val){\n            //console.log('setting' + prop + val);\n            this.set(prop,val);\n        },\n        createInstrument(object){\n\n            let _this = this,\n            store = this.get('store'),\n            newInstrumentObject = this.get('newInstrumentObject');\n\n            this.setError('isVisibleError',false);\n            this.setError('duplicateError',false);\n            this.setError('fieldError',false);\n\n            let error = false;\n\n            newInstrumentObject.id = this.get('id');\n\n            newInstrumentObject.instrumentType = store.peekRecord('instrument-type', this.get('typeID'));\n            newInstrumentObject.headAt = store.peekRecord('head-at', this.get('headAt'));\n            newInstrumentObject.active = true;\n\n            if(typeof newInstrumentObject.id === 'undefined' || newInstrumentObject.id === \"\") {\n                error = true;\n                this.setError('fieldError',true);\n                this.setError('isVisibleError',true);\n            }\n\n            if (this.get('zeroTimestamp') != null) {\n                newInstrumentObject.zeroTimestamp = moment(this.get('zeroTimestamp'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n\n            if (this.get('installDate') != null) {\n                newInstrumentObject.installDate = moment(this.get('installDate'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            }\n            console.log(\"level::::: \" + this.level);\n            newInstrumentObject.project = this.get('project');\n            newInstrumentObject.level = this.get('level');\n\n            // console.log(Ember.get(this, 'duplicateError'));\n\n            let newInstrument = null;\n            let dup = false;\n            if(!error) {\n                try {\n                    newInstrument = store.createRecord('instrument', newInstrumentObject);\n                } catch (err) {\n                    this.setError('isVisibleError',true);\n                    //console.log(this.get('prevDup'));\n                    if(err.message.includes('has already been used')) {\n                        //console.log('duplicate');\n                        this.setError('duplicateError',true);\n                        \n                        error = true;\n                        dup = true;\n                    }\n                    // console.log(err.message);\n                }\n            }\n            \n            this.setError('authError', false);\n\n\n            if (!error) {                \n                newInstrument.save().then(function(results){\n\n                    let model = _this.get('vwModels').findBy('id', _this.get('selectedModel'));\n\n                    if(newInstrumentObject.instrumentType.id === '12') {\n                        if(results.id != null) {\n                            let anchorCount = parseInt(newInstrumentObject.id.substring(4,newInstrumentObject.id.length > 9 ? 6 : 5)) - 1;\n                            for(var ctr = 0; ctr <= anchorCount; ctr++) {\n                                store.createRecord('anchor', {number: ctr, distance: ctr, instrument: results}).save();\n                            }\n                            \n                            _this.createVwProperties(results);\n                            \n                            // create vwProperty records\n                            _this.vwProperties.forEach((vwPropertyData, index) => {\n\n                                // console.log(\"vwPropertyData.port: \" + vwPropertyData.port);\n                                let vwp = store.createRecord('vwproperty', {port: vwPropertyData.port, instrument: vwPropertyData.instrument});\n                                vwp.save().then(propertyResults => {\n                                // console.log(\"property saved: Port: \" + propertyResults.port);\n                                }).catch(function(reason) {\n                                    console.log(\"property save failed: \" + reason);\n                                });\n                            });\n                        }\n                    }\n\n                    if(results.id != null) {\n                        _this.get('submit')(results.id);\n                    } else {\n                        this.setError('isVisibleError',true);\n                        error = true;\n                    }\n                }).catch(function(reason) {\n                    \n                    _this.setError('isVisibleError',true);\n                    _this.setError('authError',true);\n                });\n            }\n        }\n    },\n    createVwProperties(instrument) {\n        this.set('vwProperties', []);\n        let channelsNum = 0;\n        channelsNum = parseInt(instrument.get(\"channelsNum\") / 2);\n        console.log(\"channelsNum:::::::::::: \" + channelsNum)\n        for (let channel = 1; channel <= channelsNum; channel++) {\n            let vwProperty = {\n                port: channel,\n                instrument: instrument\n            };\n            this.vwProperties.push(vwProperty);\n        }\n    }\n\n}){\n    init() {\n        super.init(...arguments);\n        resetNewInstrumentObject(this);\n    }\n\n}","import Ember from 'ember';\nimport moment from 'moment';\nimport getOwner from \"ember-owner/get\";\n\nfunction resetNewRawDataValueObject(_this) {\n    let displacementValueObjectValues = _this.get('displacementValueObjectValues');\n\n    // reset variables to defaults\n    _this.set('newTimestampValue', moment().format(_this.get('dateFormat')));\n    _this.set('temperatureObjectValue', 0);\n    Object.keys(displacementValueObjectValues).forEach(function(key,index) {\n        displacementValueObjectValues[key] = 0;\n    });\n}\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    router: Ember.inject.service(),\n    isVisibleCreateNewForm: true,\n    dateFormat: 'YYYY-MM-DD HH:mm:ss',\n    dateTimePicker: null, // dateTimePicker object\n    temperatureObjectValue: 0,\n    newTimestampValue: null,\n    // newTimestampValue: Ember.computed('dateFormat', function() {\n    //     return moment().format(this.get('dateFormat'));\n    // }),\n\n    newDisplacementValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    newTemperatureValuesObject: Ember.computed('newTimestampValue', function() {\n        return {\n            id: this.get('newTimestampValue')\n        };\n    }),\n\n    // look for isVisibleCreateNewForm variable change and reset newDisplacementValuesObject object if create new form was called twice\n    handleIsVisibleCreateNewFormChange: Ember.observer('isVisibleCreateNewForm', function(){\n        if ( this.get('isVisibleCreateNewForm') ) {\n            resetNewRawDataValueObject(this);\n        }\n    }),\n\n    displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i < this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    // displacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n    //     let displacementValueObjectValues = [];\n    //     for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n    //         displacementValueObjectValues[i] = 0;\n    //     }\n    //     return displacementValueObjectValues;\n    // }),\n\n    newDisplacementValueObjectValues: Ember.computed('instrumentAnchors', function() {\n        let displacementValueObjectValues = [];\n        for (let i = 0; i <= this.get('instrumentAnchors').length - 1; i++) {\n            displacementValueObjectValues[i] = 0;\n        }\n        return displacementValueObjectValues;\n    }),\n\n    actions: {\n        saveNew(){\n            let _this = this,\n                store = this.get('store'),\n                newDisplacementValuesObject = this.get('newDisplacementValuesObject'),\n                newTemperatureValuesObject = this.get('newTemperatureValuesObject'),\n                displacementValues = this.get('displacementValues'),\n                temperatureValues = this.get('temperatureValues')\n            ;\n\n            newTemperatureValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newTemperatureValuesObject.values = [this.get('temperatureObjectValue')];\n\n            const newTemperatureValues = store.createRecord('temperature-value', newTemperatureValuesObject);\n            // save new displacement-value to DB\n            const savedTemperatureValuesObject = newTemperatureValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                //_this.set('isVisibleCreateNewForm', false);\n\n                // if displacement-value was successfully saved to DB, then display it\n                //temperatureValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n            });\n\n            newDisplacementValuesObject.id = moment(this.get('newTimestampValue'),'YYYY MM DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');\n            newDisplacementValuesObject.values = Object.values(this.get('newDisplacementValueObjectValues'));\n            \n            newDisplacementValuesObject.values.unshift(\"0\");\n\n            const newDisplacementValues = store.createRecord('displacement-value', newDisplacementValuesObject);\n            // save new displacement-value to DB\n            const savedDisplacementValuesObject = newDisplacementValues.save({adapterOptions: this.get('instrumentId')}).then(function(results){\n                // hide create new item form\n                _this.set('isVisibleReadingCreated', true);\n                _this.set('isVisibleCreateNewForm', false);\n                // if displacement-value was successfully saved to DB, then display it\n                //results._internalModel._data.values.shift();\n                //displacementValues.unshiftObject(results._internalModel); // https://github.com/emberjs/data/issues/3313\n                const currentRouteName = _this.get(\"router.currentRouteName\");\n                const currentRouteInstance = getOwner(_this).lookup(`route:${currentRouteName}`);\n                currentRouteInstance.refresh();\n                \n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.setProp('permissionError', true);\n                }\n            });\n        },\n        cancelNew(object){\n            // hide create new item form\n            this.set('isVisibleCreateNewForm', false);\n            // reset all variables\n            resetNewRawDataValueObject(this);\n        }\n    },\n    didRender() {\n        let _this = this;\n        // let dateTimePicker = this.$(\".datetimepicker-input\").datetimepicker({\n        //     format: _this.get('dateFormat'),\n        // }).on('dp.change', function(e) {\n        //     if (e.date) {\n        //         _this.set(e.currentTarget.id, e.date.format(_this.get('dateFormat')));\n        //     } else {\n        //         _this.set(e.currentTarget.id, null);\n        //     }\n        // });\n        // this.set('dateTimePicker', dateTimePicker);\n\n    },\n    willDestroyElement() {\n        if (this.get('dateTimePicker')) {\n            this.get('dateTimePicker').datetimepicker(\"destroy\");\n        }\n\n    },\n});\n","import Ember from 'ember';\nimport moment from 'moment';\nimport { computed, observer } from \"@ember/object\";\n//import alertAnchor from '../models/alert-anchor';\nimport $ from 'jquery';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default Ember.Component.extend({\n\n    async init() {\n        \n        this._super(...arguments);\n\n        this.set(\"loading\", true);\n        let initialAnchors = await this.preLoadActiveChannels();\n        this.set(\"referenceAnchors\", initialAnchors);\n        this.set(\"loading\", false);\n\n    },  \n    store: Ember.inject.service(),\n    ajax: Ember.inject.service(),\n    tr: null,\n    instID:\"\",\n    activeExpanded: false,\n    buttonSymbol: '+',\n    activeLabel: 'Expand',\n    saveMessage: '',\n    updatedAnchors: null,\n    anchors: null,\n    initTriggerStamp: '',\n    //anchEmpty: true,\n\n    isVisibleError: false,\n    emptyBoldError: false,\n    noActChError: false,\n    nonNumericValueError: false,\n    wLError: false,\n    wLNegError: false,\n    targetError: false,\n    phoneNumError: false,\n    authError: false,\n\n    editing: 0,\n    isShowingModal: false,\n    showModal: false,\n    phoneNumber: '',\n    carrier: '',\n\n    isValidPhoneNumber: function(phoneNumber) {\n        const regex = /^(\\+\\d{1,4}[-\\s]?|)\\d{1,4}[-\\s]?\\(?\\d{1,3}?\\)?[-\\s]?\\d{1,4}[-\\s]?\\d{1,4}([-]\\d{1,5})?$/;\n        return regex.test(phoneNumber);\n    },\n      \n\n    phoneNumber: Ember.computed('alert.target', function() {\n        let target = this.get('alert.target');\n        const atIndex = target.indexOf('@');\n        if (atIndex < 1) {\n            return target;\n        }\n        console.log(\"phoneNumber:::: \" + target.substring(0, atIndex));\n        return target.substring(0, atIndex);          \n    }),\n\n    handleAlertObjectChange: observer('tr', function() {\n        console.log('Object Changed!');\n    }),\n\n        onTimeReferenceChanged: observer('timeReference', function() {\n        let timeReference = this.get('timeReference');\n        this.set('alert.timeReference', timeReference);\n        \n    }),\n\n    onCarrierChanged: observer('carrier', function() {\n        let carrier = this.get('carrier');\n        console.log('carrier changed' + carrier);\n        this.set('carrier', carrier);\n    }),\n\n    onMetricChanged: observer('alert.metric', function() {\n        let metric = this.get('alert.metric');\n        if(metric === 'TIME') {\n            this.set('alert.method', 'IMM');\n            this.set('alert.refAnchor', 'ch0');\n            this.set('alert.inverted', false);\n            this.send('updateSelectedAnchors',document.getElementById(\"chan_select\"));\n        }\n    }),\n\n    onMethodChanged: observer('alert.method', function() {\n        let method = this.get('alert.method');\n        if(method === 'IMM') {\n            this.set('alert.windowLength', 1);\n            this.set('alert.windowType', 'NR');\n        }\n    }),\n\n    onResponseChanged: observer('alert.response', function() {\n        let response = this.get('alert.response');\n        if(response == 'VP') {\n            this.set('alert.target', '');\n        }\n    }),\n\n    preLoadActiveChannels: async function (){\n        // console.log(\"called preLoadActiveChannels\")\n        let anchors = await this.store.findRecord('alert',this.get('alert').get('id'), { reload: true }).then(async function(alertObj) {\n\n            let channels = [];\n            let anchors = alertObj.get(\"anchors\");\n            anchors.forEach( (anchor) => {\n                channels.push(anchor.get('selectedCh'))\n              });\n\n            return anchors;\n        });\n\n        let isSelected = {};\n    \n        anchors.forEach(element => {\n\n            isSelected[element.selectedCh] = true;\n            // console.log(\"anchor2 : \" + element.selectedCh);\n        });\n        \n        // console.log(\"isSelect \");\n        // console.log(isSelected);\n        return isSelected;\n    },\n    channelCount: Ember.computed('instID', function() {\n        //console.log(this.get('alert').get('refAnchor'));\n        let instrument = this.get('alert').instrument;\n        let instID = this.get('instID');\n\n        if(instID===\"\") {\n            instID = instrument.get('id');\n        }\n        let pos = instID.length === 9 ? 5 : 6;\n        let numChans = parseInt(instID.substring(4,pos));\n        //console.log(numChans);\n        return numChans-1;\n    }),\n\n    activeSize: Ember.computed(function() {\n        return this.get('channelCount') < 8? this.get('channelCount'): 7;\n    }),\n\n    creationDateText: Ember.computed('instID', function() {\n        let date = this.get('alert').creationDate;\n        return moment(date);\n    }),\n\n    triggeredTimeText: Ember.computed('initTriggerStamp', function() {\n        let date = this.get('alert').initTriggerStamp;\n        return moment(date);\n    }),\n\n    triggerTestAlert:function(id){\n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT + \"/alert-test-trigger/\" + id + \"/\";\n        console.log(\"Called TestTriggerAlert, the id is \" + id)\n        $.ajax({\n            method: \"POST\",\n            url: url,\n            headers: {\n                Authorization: 'Bearer ' + localStorage.token  \n            },\n        });\n          \n    },\n\n    // success(post) {\n    //     console.log(\"success\");\n    //     //console.log(post);\n    //     //console.log(this);\n    //     //this.set('saving',false);\n    //     //this.set('saved',true);\n    //     //this.set('saveFailed',false);\n    // },\n    // failure(reason) {\n    //     console.log(\"failure\");\n    //     //console.log(reason);\n    //     //this.set('saving',false);\n    //     //this.set('saved',false);\n    //     //this.set('saveFailed',true);\n    //     //console.log('help?');\n    // },\n    actions: {\n\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n\n        updateSelectedAnchors(thing) {\n            let update = null;\n            if (thing instanceof Event)\n                update = $(thing.target).val();\n            else\n                update = $(thing).val();\n            let dict = {};\n            update.forEach(function(obj) {\n                dict[obj] = true;\n                return dict;\n            });\n\n            this.set('updatedAnchors', dict);\n        },\n        saveAlert() {\n            this.set(\"edited\", false);\n            const _this = this;\n            const store = this.get('store');\n            let tr = _this.get('alert');\n\n            //get target value\n            let alertObjectTarget = this.get('attrs.alert.value.target');\n            \n            //get response type \n            let respType = this.get('attrs.alert.value.response');\n            \n            //get value\n            let alertObjectValue = this.get('attrs.alert.value.value');\n\n            //notarget is used to see if no target is selected when one should be\n            let noTarget = false;\n            let addType = \"\";\n\n            //convert the response type to a human friendly string\n            if((typeof alertObjectTarget === 'undefined' || alertObjectTarget === \"\") && (respType != 'VP')) {\n                noTarget = true;\n                \n                if (respType == 'EMAIL') {\n                    addType = 'email address';\n                } else if (respType == 'SMS') {    \n                    addType = 'phone number';\n                } else if (respType == 'TRIG') {\n                    addType = 'ip address';\n                }\n            }\n\n            //Check active channels\n            let updatedAnchors = this.get('updatedAnchors');\n            // console.log(updatedAnchors);\n            if ((updatedAnchors != null)) {\n                let anchors = this.get('referenceAnchors');\n\n                let changes = new Map();\n                \n                //remove old values\n                for(var key in anchors) {\n                    if (!updatedAnchors.hasOwnProperty(key)) {\n                        changes.set(key, false);\n                    }\n                }\n\n                //add new values\n                for(var key in updatedAnchors) {\n                    if (!anchors.hasOwnProperty(key)) {\n                        changes.set(key, true);\n                    }\n                }\n\n                let anchorsFinal = tr.get('anchors');\n                let newAnchorObject = null;\n\n                for (const [key, value] of changes.entries()) {\n                    if(value) {\n                        newAnchorObject = {};\n                        newAnchorObject.alert = tr;\n                        newAnchorObject.selectedCh = key;\n\n                        let newAnchor = store.createRecord('alert-anchor', newAnchorObject);\n                        newAnchor.save();\n                    } else {\n                        anchorsFinal.forEach(element => {\n                            if(element.get('selectedCh') === key) {\n                                element.destroyRecord();\n                            }\n                        });\n                    }\n                }\n\n                let result = store.findRecord('alert-anchor',tr.id).then(function(post) {\n                    anchorsFinal = post.get('anchors');\n                });\n\n                this.set('updatedAnchors', null);\n                this.set('anchors', anchorsFinal);\n            }\n            \n\n            //Check if there are empty fields\n            let val = this.get('attrs.alert.value.value');\n            let cb = this.get('attrs.alert.value.creator');\n            let wl = this.get('attrs.alert.value.windowLength');\n            let sel = document.getElementById(\"chan_select\").selectedIndex;\n\n            //get response type \n            //let respType = this.get('attrs.alert.value.response');\n\n            //get target value\n            //let alertObjectTarget = this.get('attrs.alert.value.target')\n\n            /*\n            console.log(val);\n            console.log((val == \"\" && val != 0));\n            console.log(val.length == 0);\n            console.log(val != 0);\n            console.log(val != '0');\n            */\n            //console.log(cb);\n            //console.log(wl);\n            //console.log(((respType=='SMS') && (alertObjectTarget.match(/^[0-9]+$/) == null)));\n            //console.log((alertObjectTarget.match(/^[0-9]+$/) == null));\n\n            this.setError('isVisibleError',false);\n            this.setError('emptyBoldError',false);\n            this.setError('noActChError',false);\n            this.setError('nonNumericValueError',false);\n            this.setError('wLError',false);\n            this.setError('wLNegError',false);\n            this.setError('targetError',false);\n            this.setError('phoneNumError', false);\n            this.setError('authError', false);\n\n\n            //If bolded values arn't entered\n            if ((val.length == 0) || (cb.length == 0) || (wl.length == 0)) {\n                this.setError('isVisibleError',true);\n                this.setError('emptyBoldError',true);\n                //_this.set('saveMessage', \"Please ensure you've enterred all bolded fields\");\n\n\n            //If no channels are selected\n            } else if ((sel == -1) && (this.get('attrs.alert.value.metric') != 'TIME')) {\n                this.setError('isVisibleError',true);\n                this.setError('noActChError',true);\n                //_this.set('saveMessage', \"Please ensure you've selected at least one active channel\");\n\n            //If the value is a non numeric\n            }else if (isNaN(alertObjectValue)){\n                this.setError('isVisibleError',true);\n                this.setError('nonNumericValueError',true);\n                //_this.set('saveMessage', \"Please enter a valid numeric for the value\");\n\n            //If a negative or 0 is entered for window length\n            } else if ((this.get('attrs.alert.value.method') != 'IMM') && (wl <= 1) && (this.get('attrs.alert.value.windowType') != 'LT')) {\n                this.setError('isVisibleError',true);\n                this.setError('wLError',true);\n                //_this.set('saveMessage', \"Please enter a window length larger than 1 if method is not immediate\");\n\n            } else if (wl < 1) {\n                this.setError('isVisibleError',true);\n                this.setError('wLNegError',true);\n                //_this.set('saveMessage', \"Please enter a window length of greater than or equal to 1\");\n                \n            } else if (respType=='TRIG') {\n                document.getElementById(\"alertObjectTarget\").value = \"\";\n                //_this.set('saveMessage', \"Alert via Alarm will be available in future update\");\n\n            } else if (noTarget) {\n                this.setError('isVisibleError',true);\n                this.setError('targetError',true);\n                //_this.set('saveMessage', \"Please enter a target \" + addType);\n\n            } else if (!(alertObjectTarget.includes(\"@\")) && (respType=='SMS')) {\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                //_this.set('saveMessage', \"Please ensure you've added a carrier to the phone number\");\n\n\n            //If target is correctly filled and the above condition did not happen\n            } else if (!noTarget){\n\n                let big = !this.get(\"activeExpanded\");\n                //console.log(big)\n\n                tr.save()\n                    .then(function(value){\n                        _this.broken=false\n                        _this.set('saveMessage', \"SAVED\");\n                        _this.get('saved')();\n                    })\n                    .catch(function(reason) {\n\n                        if (reason && reason.errors && reason.errors[0].status == 403) {\n                            _this.setError('isVisibleError',true);\n                            _this.setError('authError',true);\n                        } else {\n                            // console.log(reason);\n                            _this.set('saveMessage', \"SAVED\");\n                            _this.get('saved')(); \n                        }\n                    });\n            }\n            \n        },\n        staticChanged() {\n            let tr = this.get('alert');\n            tr.isPerm = document.getElementById('alertStaticDynamic').checked;\n            this.set('alert',tr);\n        },\n        activeChanged() {\n            let tr = this.get('alert');\n            tr.isActive = document.getElementById('alertEnabled').checked;\n            this.set('alert',tr);\n        },\n        // repeatChanged() {\n        //     let tr = this.get('alert');\n        //     tr.repeats = document.getElementById('alertRepeat').checked;\n        //     this.set('alert',tr);\n        // },\n        // invertChanged() {\n        //     let tr = this.get('alert');\n        //     tr.inverted = document.getElementById('alertInvert').checked;\n        //     this.set('alert',tr);\n        // },\n        toggleActive() {\n            let big = !this.get(\"activeExpanded\");\n\n            if(big) {\n                this.set('activeSize',this.get('channelCount'));\n                this.set('buttonSymbol', '-');\n                this.set('activeLabel','Collapse');\n            } else {\n                this.set('activeSize',2);\n                this.set('buttonSymbol', '+');\n                this.set('activeLabel','Expand');\n            }\n            this.set('activeExpanded', big);\n        },\n\n        triggerTest() {\n            let tr = this.get('alert');\n            tr.isTriggered = true;\n\n            let theDate = new Date();\n\n            let dateString = theDate.getFullYear() + \"-\" + (theDate.getMonth()+1) + \"-\" + theDate.getDate() + \" \" + theDate.getHours() + \":\" + theDate.getMinutes() + \":\" + theDate.getSeconds();\n\n            //console.log(dateString);\n            tr.initTriggerStamp = dateString;\n            this.set('initTriggerStamp', dateString);\n            this.set('alert',tr);\n            tr.save();\n \n            this.triggerTestAlert(tr.id);\n        },\n        clearAlert() {\n            let tr = this.get('alert');\n            tr.isTriggered = false;\n            tr.isHandled = false;\n            tr.initTriggerStamp = null;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        resetHandle() {\n            let tr = this.get('alert');\n            tr.isHandled = false;\n            tr.handleStamp = null;\n            this.set('alert',tr);\n            tr.save();\n        },\n        toggleModal() {\n            if(this.isValidPhoneNumber(this.phoneNumber)) {                \n                this.setError('isVisibleError',false);\n                this.setError('phoneNumError',false);\n                console.log(\"toggleModal::::\" + this.get('showModal'));\n                // this.toggleProperty('isShowingModal');\n                this.toggleProperty('showModal');\n                console.log(\"toggleModal:\" + this.get('showModal'));\n                return true\n            } else {\n                alert(\"Invalid phone number!  Please enter a valid phone number, then select a carrier.\");\n                this.setError('isVisibleError',true);\n                this.setError('phoneNumError',true);\n                return false;\n            }\n        },\n\n        \n        handleSelection(selectedValue) {\n            console.log(\"handleSelection:::: \" + selectedValue);\n            this.set('alert.target', selectedValue);\n        }\n\n    }\n});\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\n\nexport default class EditInstrumentPortDropDown extends Component.extend({\n    editing: 0,\n    selectedVendor: null,\n    selectedModel: null,\n    //numberOfPorts: 1,\n\n    // ports: Ember.computed('instrument', function() {\n    //     console.log(\"ChannelsNum::: \");\n    //     let channelsNum = this.get('instrument').channelsNum;\n    //     console.log(\"ChannelsNum::: \" + channelsNum);\n    //     channelsNum = parseInt(channelsNum/2);\n    //     let numberOfPorts = [];\n    //     for(let channel = 1 ; channel <= channelsNum; channel++){\n    //         numberOfPorts.push({\"channel\": channel});\n    //     }\n    //     console.log(JSON.stringify(numberOfPorts));\n    //     return numberOfPorts;\n    // }),\n    \n    selectedVendorID: Ember.computed('instrument', function() {\n        try {\n            let vendor = this.get('instrument').get('vwproperty').toArray()[0].get('vwmodel').get('vwvendor');\n            this.set('selectedVendor', vendor.id);\n            \n            return vendor.id;\n        } catch (ex) {}\n        return 0;\n    }),\n\n    selectedModelID: Ember.computed('instrument', function() {\n        //console.log('test');\n        try {\n            let model = this.get('instrument').get('vwproperty').toArray()[0].get('vwmodel');\n            //console.log(model.get('id'));\n            this.set('selectedModel', model.get('id'));\n\n            \n            return model.get('id');\n        } catch (ex) {}\n        return 0;\n    }),\n\n    modelList: Ember.computed('selectedVendor', 'instrument', function() {\n        let modelList = this.get('vwModels');\n        \n        let shortModelList = [];\n\n        modelList.toArray().forEach(element => {\n            if (element.get('vwvendor').id === this.get('selectedVendor')) {\n                shortModelList.push(element);\n            }\n        });\n\n        return shortModelList;\n    }),\n\n    vendorName: Ember.computed('selectedModel', function() {\n        try {\n            let vendor = this.get('instrument').get('vwproperty').toArray()[0].get('vwmodel').get('vwvendor');\n            return vendor.vendorName;\n        } catch (ex) {}\n        return \"\"\n    })\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    _this = this;\n\n//     actions = {\n//         viewData(id) {\n//             this.get('router').transitionTo('raw-data', id);\n//             //this.viewData(id);\n//         },\n//         tGraph(id) {\n//             this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n//             //this.tGraph(id, 'displacement-values');\n//         },\n//         fGraph(id) {\n//             this.get('router').transitionTo('frequency-graphs.frequency-graph', id, 'displacement-values');\n//             //this.sGraph(id, 'displacement-values');\n//         },\n//         setVendor(vendorID) {\n//             let vendors = this.get('vwVendors');\n//             for(let i = 0; i < vendors.length; i++) {\n//                 console.log(vendors[i].id);\n//                 console.log(vendors[i].vendorName);\n//                 console.log(vendors[i].id);\n                \n//             }                    \n//             console.log('setVendor: ' + this.get('vwVendors'));\n//             this.set('selectedVendor', vendorID);\n//             this.set('selectedModel', null);\n//             this.send('setModel', null);\n//         },\n//         setPort(portID) {\n//             //console.log('setPort');\n//             let inst = this.get('instrument');\n//             this.get('router').transitionTo('edit-instrument', inst, 'instrument');\n//         },\n//         setModel(modelID) {\n//             console.log('setModel');\n//             this.set('selectedModel', modelID);\n//             let inst = this.get('instrument');\n//             let prop = inst.get('vwproperty').toArray()[0];\n//             let model = this.get('vwModels').findBy('id', modelID);\n\n//             if (typeof model === \"undefined\") {\n//                 model = null;\n//             }\n\n//             if(prop.get('serial') == null) {\n//                 prop.set('serial', \"\");\n//             }\n\n//             prop.set('vwmodel', model);\n\n//             prop.save();\n//         },\n//         editField() {\n//             this.set('editing', this.get('editing') + 1);\n//         },\n//         stopEditField() {\n//             this.set('editing', this.get('editing') - 1);\n//         },\n//         saveInstrument(){\n//             const _this = this;\n//             // console.log(\"test\");\n//             if (this.get('editing') > 0) {\n//                 var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n//                 if (t) {\n//                     window.location.href = \"/instruments\";    \n//                 }\n//             } else {\n//                 window.location.href = \"/instruments\";\n//             }            \n//         }\n    // }\n}","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport vwmodel from '../../models/vwmodel';\n\nexport default class EditInstrument extends Component.extend({\n\n    didReceiveAttrs() {\n        this._super(...arguments);\n        // Now you can proceed with the rest of your logic\n        let inst = this.instrument;\n    },\n\n    init() {\n        this._super(...arguments);\n\n        let inst = this.instrument;\n        this.vsProperties = [];\n        \n        if( (inst.get(\"vwproperty\") === null && inst.get(\"vwproperty\") != 'undefined') || inst.get(\"vwproperty\").length === 0 ){\n            console.log(\"vwproperty is null\");\n            // there should always be one property at least.  That there is not means that this instrument existed prior to \n            // the automatic generation of vwproperty records.  So we need to create one.\n            console.log(\"edit-instrument/wire: Creating vwproperty\");\n            this.createVwProperties(inst);\n        } \n\n        if (inst.vwproperty && inst.vwproperty != 'undefined' && this.vwProperties.length === 0) {\n            let properties = inst.get(\"vwproperty\").toArray();\n            properties.forEach((prop, index) => {\n                \n                if( prop.get(\"vwmodel\") != null && prop.get(\"vwmodel\") != undefined){\n                    prop.vendor = prop.get(\"vwmodel\").get(\"vwvendor\");\n                    prop.modelTypes = this.modelList(prop.get(\"vwmodel\").get(\"vwvendor\").get(\"id\"));\n                }\n                \n                this.vwProperties.push(prop);\n                \n            });\n        } else {\n            console.log('Not an Error: edit-instrument/wire: inst.vwProperty is undefined');\n        }\n        // console.log(\"vwProperties\")\n        // console.log(JSON.stringify(this.vwProperties, null, 2));\n\n    },\n\n    getModel(vwProperty) \n    {\n        let model = vwProperty.get('vwmodel');\n        return model;\n    },\n    \n\n    editing: 0,\n    selectedVendor: null,\n    selectedModel: null,\n    selectedProperty: null,\n    modelList: null,\n    vwProperties: [],\n    project: null,\n    level: null,\n\n    selectedProperty: Ember.computed('vwproperty', function() {\n        let inst = this.get('instrument');\n        let prop = inst.get('vwproperty').toArray()[0];\n        let port = 1\n        if(prop != null && prop != undefined){\n            port = prop.get('port');\n        }\n        console.log(\"port::: \" + port);\n        return port;\n    }),\n\n    // ports: Ember.computed('instrument', function() {\n    //     let channelsNum = this.get('instrument').channelsNum;\n    //     channelsNum = parseInt(channelsNum/2);\n    //     let numberOfPorts = [];\n    //     for(let channel = 1 ; channel <= channelsNum; channel++){\n    //         numberOfPorts.push({\"channel\": channel});\n    //     }\n    //     console.log(JSON.stringify(numberOfPorts));\n    //     return numberOfPorts;\n    // }),    \n\n    selectedVendorID: Ember.computed('instrument', function() {\n        try {\n            let vendor = this.get('instrument').get('vwproperty').toArray()[0].get('vwmodel').get('vwvendor');\n            this.set('selectedVendor', vendor.id);\n            \n            return vendor.id;\n        } catch (ex) {}\n        return 0;\n    }),\n\n    selectedModelID: Ember.computed('instrument', function() {\n        //console.log('test');\n        try {\n            let model = this.get('instrument').get('vwproperty').toArray()[0].get('vwmodel');\n            //console.log(model.get('id'));\n            this.set('selectedModel', model.get('id'));\n            return model.get('id');\n        } catch (ex) {}\n        return 0;\n    }),\n\n    modelList: function(vendorId) {\n        let modelList = this.get('vwModels');\n        \n        let shortModelList = [];\n\n        modelList.toArray().forEach(element => {\n            if (element.get('vwvendor').id === vendorId) {\n                shortModelList.push(element);\n            }\n        });\n\n        return shortModelList;\n    },\n\n    vendorName: Ember.computed('selectedModel', function() {\n        try {\n            let vendor = this.get('instrument').get('vwproperty').toArray()[0].get('vwmodel').get('vwvendor');\n            console.log(vendor.vendorName);\n            return vendor.vendorName;\n        } catch (ex) {}\n        return \"\"\n    })\n}) {\n    @service router;\n    @service store;\n    //@service session;\n    //@service currentUser;\n    isAuthenticated = true;\n    _this = this;\n    \n    createVwProperties(instrument) {\n        this.vwProperties = [];\n        console.log(\"instrument: \" + instrument);\n        let channelsNum = 0;\n        channelsNum = parseInt(instrument.get(\"channelsNum\") / 2);\n\n        for (let channel = 1; channel <= channelsNum; channel++) {\n            // let vwProperty = {\n            //     port: channel,\n            //     instrument: instrument\n            // };\n            // this.vwProperties.push(vwProperty);\n    \n            // console.log(\"vwPropertyData.port: \" + vwPropertyData.port);\n            let vwp = this.store.createRecord('vwproperty', {\n                    port: channel, \n                    instrument: instrument,\n                    vwmodel: null,\n                    serial: \"\"\n                });\n            vwp.save().then(propertyResults => {\n                this.vwProperties.push(propertyResults);\n                // console.log(\"property saved: Port: \" + propertyResults.port);\n            }).catch(function(reason) {\n                console.log(\"property save failed: \" + reason);\n            });\n\n        \n        }\n        \n    }\n\n    actions = {\n        \n        setProject(event) {\n            const selectedId = event.target.value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.projectLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('project', foundObject);\n            }\n        },\n        \n        setLevel(event) {\n            \n            const selectedId = event.target.value;\n          \n            // Assume levelLookupList is the array of lookup objects\n            const foundObject = this.levelLookupList.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n          \n            if (foundObject) {\n              // Do something with foundObject\n              this.set('level', foundObject);\n            }\n        },\n\n        willDestroyElement() {\n            super.willDestroyElement(...arguments);\n            this.args.vwProperties = [];\n        },\n        selectProperty(value){\n            let inst = this.get('instrument');\n            let prop = inst.get('vwproperty').toArray()[0];\n            console.log(\"prop::: \" + prop.get('port'));\n            let model = this.get('vwModels').findBy('id', this.get('selectedModel'));\n            let vendor = this.get('vwVendors').findBy('id', this.get('selectedVendor'));\n            let serial = this.get('serial');\n        },\n        viewData(id) {\n            let endDateObj = new moment();\n            let startDateObj = moment(endDateObj).subtract(7, 'days').format('YYYY-MM-DDTHH:mm');\n            let formattedEndDateObj = endDateObj.format('YYYY-MM-DDTHH:mm');\n            let dateTimeFormat = \"DD-MM-YYYY\";\n            let baseUnit = this.get(\"instrument\").get(\"instrumentType\").get(\"base_unit\");\n            this.get('router').transitionTo('raw-data', id, { queryParams: {\"advancedDateTimeFormat\": dateTimeFormat, \"advancedStartDate\": startDateObj, \"advancedEndDate\": formattedEndDateObj, \"advancedYAxisUnit\": baseUnit}});\n            //this.viewData(id);\n        },\n        tGraph(id) {\n            this.get('router').transitionTo('temporal-graphs.temporal-graph', id, 'displacement-values');\n            //this.tGraph(id, 'displacement-values');\n        },\n        fGraph(id) {\n            this.get('router').transitionTo('frequency-graphs.frequency-graph', id, 'displacement-values');\n            //this.sGraph(id, 'displacement-values');\n        },\n        // setVendor(vwProperty, value) {\n        //     getProperty\n        //     console.log('setVendor: ' + vendorID);\n        //     this.set('selectedVendor', vendorID);\n        //     this.set('selectedModel', null);\n        //     this.send('setModel', null);\n        // },\n\n        setVendor(vwProperty, value) {\n            // Finding the index of vwProperty in the vwProperties array\n            let index = this.vwProperties.indexOf(vwProperty);\n            let vendorId = value.target.value;\n            let vendor = this.get('vwVendors').findBy('id', vendorId);\n\n            \n            // Setting the selectedVendor and selectedModel on the component\n            vwProperty.vendor = vendor;//getVendor(value.target.value);\n            // this.set('selectedModel', null);\n            vwProperty.modelTypes = this.modelList(vendorId);\n            console.log(vwProperty.modelTypes);\n            // Calling another action to set the model\n            \n            // If vwProperty is found in the array, update it\n            if (index !== -1) {\n                Ember.set(this.vwProperties, index, vwProperty);\n            }\n        },\n\n        setModel(vwProperty, modelID) {\n            console.log('setModel');\n            let index = this.vwProperties.indexOf(vwProperty);\n            this.set('selectedModel', modelID);\n            \n            if(modelID.target.value !== null){    \n                let inst = this.get('instrument');\n                let model = this.get('vwModels').findBy('id', modelID.target.value);\n                        \n                console.log(\"model::: \" + model);\n                if (typeof model === \"undefined\") {\n                    model = null;\n                }\n                else {\n                    console.log(\"model::: \" + model);\n                    this.set('model', model);\n                }\n                vwProperty.vwmodel = model;\n                if(vwProperty.serial == null) {\n                    vwProperty.serial = \"\";\n                } else {\n                    vwProperty.serial = vwProperty.serial;\n                }\n                // If vwProperty is found in the array, update it\n                if (index !== -1) {\n                    Ember.set(this.vwProperties, index, vwProperty);\n                }\n\n                try{\n                    vwProperty.save();\n                } catch (ex) {\n                    console.log(ex);\n                }\n            }\n        },\n        // setModel(vwProperty, modelID) {\n        //     console.log('setModel');\n        //     this.set('selectedModel', modelID);\n            \n        //     if(modelID !== null){    \n        //         let inst = this.get('instrument');\n        //         let prop = inst.get('vwproperty').toArray()[0];\n        //         let model = this.get('vwModels').findBy('id', modelID);\n                        \n        //         console.log(\"model::: \" + model);\n        //         if (typeof model === \"undefined\") {\n        //             model = null;\n        //         }\n        //         else {\n        //             console.log(\"model::: \" + model);\n        //             this.set('model', model);\n        //         }\n        //         if(prop == null || prop == undefined){\n        //             prop = this.get('store').createRecord('vwproperty', {\n        //                 instrument: inst,\n        //                 port: 1,\n        //                 serial: \"\",\n        //                 vwmodel: model\n        //             });\n        //             prop.save();\n        //         }else {\n        //             prop.set('vwmodel', model);\n        //             if(prop.get('serial') == null) {\n        //                 prop.set('serial', \"\");\n        //             }            \n        //             prop.save();\n        //         }\n        //     }\n        // },\n        editField() {\n            this.set('editing', this.get('editing') + 1);\n        },\n        stopEditField() {\n            this.set('editing', this.get('editing') - 1);\n        },\n        saveInstrument(){\n            const _this = this;\n            // console.log(\"test\");\n            if (this.get('editing') > 0) {\n                var t = confirm(\"Some changes have not been saved!\\r\\nTo save changes, click cancel then\\r\\nclick the checkbox next to each open field.\\r\\nOtherwise click ok to continue.\");\n                if (t) {\n                    window.location.href = \"/instruments\";    \n                }\n            } else {\n                window.location.href = \"/instruments\";\n            }            \n        }\n    }\n}\n\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n  didInsertElement() {\n    this._super(...arguments);\n    // Object.keys(this).forEach(key => {\n    //     // console.log(key, this.get(key));\n    // });\n  }\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n    store: Ember.inject.service(),\n    chartId: 'spatial-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    progressAnimationDuration: 100, //set 50, was 700\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 50, //set 25, was 500\n\n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: this.get('blastEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -15) + 15 : 15\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    blastEventsArray: Ember.computed('blastEvents', function() {\n        if ( this.get('blastEvents') ) {\n            return this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes')\n                };\n            }).sortBy('timestamp');\n        }\n        return false;\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    zoomDataPoints: Ember.computed.map('zoomChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            var modelName = this.get('chartDataModelName');\n\n            if (modelName === 'strain-values') { \n                chartData.values.unshift(chartData.values[0]);\n            }\n                        \n            return chartData;\n        } catch (error) {\n            return [];\n        }\n    }),\n\n    //TODO: Try/Catch is a temporary fix, if there isn't enough data, or its not valid, Frequency dropdown will act strangely\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        try {\n            let linesKyes = Object.keys(item.toJSON());\n            return item.getProperties(linesKyes);            \n        } catch (error) {\n            return [];\n        }\n    }),\n\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'zoomChartData', function() {\n        let dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            anchors = this.get('instrument').get('anchors')\n        ;\n        let anchorDistances = anchors.map(function(anchor){\n            return anchor.get('distance');\n        });\n\n        var modelName = this.get('chartDataModelName');\n        if (anchorDistances.length > dataValuesCount && modelName === 'strain-values') {\n            anchorDistances.splice(0, 1);\n        }\n        return anchorDistances;\n    }),\n\n    // calculate mid distances between anchors for strain values\n    anchorMidDistances: Ember.computed('anchorDistances', function() {\n        let anchorDistances = Ember.copy(this.get('anchorDistances')),\n            dataValuesCount = this.get('zoomChartData').get('firstObject').toJSON().values.length,\n            midDistances = []\n        ;\n\n        var type = this.get('instrument').get('instrumentType').get('title');\n\n        anchorDistances.unshift(0);\n\n        for (let i = 0; i <= anchorDistances.length - 2; i++) {\n            let mid = (anchorDistances[i] + anchorDistances[i + 1]) / 2;\n            midDistances.push( +mid.toFixed(2) );\n        }\n\n        return midDistances;\n    }),\n\n    anchorColors: d3.scale.category10().range(),\n\n    anchorDistancesChartReferencePoints: Ember.computed('chartDataModelName', 'instrument', 'anchorDistances', 'anchorMidDistances', function() {\n        let anchorDistances = this.get('anchorDistances');\n        var modelName = this.get('chartDataModelName');\n        var anchorMidDistances = this.get('anchorMidDistances');\n\n        //console.log(this.get('instrument').get('instrumentTypeID'));\n\n        if(modelName === 'strain-values' || modelName === 'strain-rate-values') {\n            return anchorMidDistances.map(function(anchorDistance){\n                return {\n                    key: anchorDistance,\n                    type: 'referencePoints',\n                    values: [\n                        anchorDistance\n                    ]\n                };\n            });\n                \n        }\n\n        return anchorDistances.map(function(anchorDistance){\n            return {\n                key: anchorDistance,\n                type: 'referencePoints',\n                values: [\n                    anchorDistance\n                ]\n            };\n        });\n    }),\n\n    inlineHoverValuesSideOffset: Ember.computed('chartDataModelName', function() {\n        var modelName = this.get('chartDataModelName');\n\n        if (modelName === 'strain-values') {\n            return 28;\n        }\n        return 0;\n    }),\n\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n        const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTimePoints = this.get('zoomTimePoints'),\n            anchorDistances = this.get('anchorDistances'),\n            anchorDistancesChartReferencePoints = this.get('anchorDistancesChartReferencePoints')\n        ;\n        let zoomChartLinesData = [];\n\n        var modelName = this.get('chartDataModelName');\n\n        zoomChartLinesData = zoomDataPoints.map(function(chartLine, chartLineIndex){\n            return {\n                key: chartLineIndex,\n                // mean: 3,\n                type: 'lines',\n                timestamp: zoomTimePoints[chartLineIndex],\n                values: chartLine.values.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        anchorDistances[dataPointIndex],\n                        dataPoint\n                    ];\n                })\n            };\n        });\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        if (anchorDistancesChartReferencePoints) {\n            zoomChartLinesData = zoomChartLinesData.concat(anchorDistancesChartReferencePoints);\n        }\n\n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        var modelName = this.get('chartDataModelName');\n        var type = this.get('instrument').get('instrumentType').get('title');        \n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    numLines: Ember.computed('zoomTimePoints', function() {\n        return this.get('zoomTimePoints').length;\n    }),\n\n    lineDrawDelay: Ember.computed('numLines', function() {\n        return (13000 / (this.get('numLines') + 1)) ^ (1 / 20);\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').query('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n    didInsertElement: function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            inlineHoverValuesSideOffset = _this.get('inlineHoverValuesSideOffset'),\n            progressAnimationDuration = _this.get('progressAnimationDuration'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = this.get('blastEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-spatial-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = [yAxisLegend]\n        ;\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all(apiCallsPromises).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend.get('firstObject');\n\n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let axisName = '';\n                let units = chartData.get('units');\n                switch(yAxisLegend.get('title')) {\n                    case 'displacement':\n                        axisName = chartData.get('temporalDisplacementName');\n                        break;\n                    case 'velocity':\n                        axisName = chartData.get('temporalVelocityName');\n                        units += \"/day\";\n                        break;\n                    case 'acceleration':\n                        axisName = chartData.get('temporalAccelerationName');\n                        units += \"/day²\";\n                        break;\n                    case 'strain':\n                        axisName = chartData.get('temporalStrainName');\n                        units = \"%\";\n                        break;\n                    case 'strain_rate':\n                        axisName = chartData.get('temporalStrainRateName');\n                        units = \"%/day\";\n                        break;\n                    default:\n                        axisName = \"Unknown\";\n                }\n                \n                title = axisName + \" (\" + units + \")\";\n            }\n\n            let zoomChart = nv.models.lineChartProgressAnimationAPI()\n                .margin({top: 55, right: 10, bottom: 85, left: 60})\n                .useInteractiveGuideline(false)\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .distXAxisScale(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .showLegend(true)\n                .progressAnimationDuration(progressAnimationDuration)\n                .showXAxis(true)\n                .noData('No usable data')\n                ;\n\n\n            let length = 0;\n            try {\n                length = _this.instrument.get('instrumentLength');\n                let type = _this.instrument.get('instrumentType');\n                if (type === 'dRebar') {\n                    length = length * 1000;\n                }\n                \n            } catch (ex) {\n\n            }\n            \n            if(length !== null && length === 0) {\n                length = 0;\n            }\n\n            zoomChart.forceX([0, length]);\n/*             if (yAxisLegend.get('title') != 'bending_strain' && yAxisLegend.get('title') != 'axial_strain') {\n                \n            }\n */\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .tickFormat(d3.format(\".2f\"))\n                    // .tickFormat(function(d) {\n                    //     let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                    //     return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    // })\n                    ;\n                zoomChart.yAxis\n                    .axisLabel(title)\n                    .tickFormat(d3.format(\".2f\"));\n\n                zoomChart.distXAxis\n                    .tickPadding(40)\n                    .showMaxMin(false)\n                    // .ticks(5)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(45)\n                    .isDistXTooltip(isDistXTooltip)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2);\n\n                //zoomChart.legend.inlineHoverValuesSideOffset(inlineHoverValuesSideOffset);\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log('test');\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n\n                    if (!seismicEventsArray.length || !blastEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (!activeTooltipContent) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                return zoomChart;\n            });\n\n            // declare fullRangeChart because later in zoom chart we need axis from fullRangeChart for events axis on zoomChart\n            let fullRangeChart = nv.models.focus(nv.models.line())\n               .margin({top: 10, right: 10, bottom: 30, left: 60})\n                .x(function(d) { return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .syncBrushing(false)\n                .independentBrushing(true)\n                .showXAxis(true)\n                .showYAxis(false)\n                ;\n\n\n            nv.addGraph(function() {\n\n                fullRangeChart.xAxis\n                    .showMaxMin(false)\n                    .tickFormat(function(d) {\n                        if (fullRangeChartLinesData.length > 0) {\n                            let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } else {\n                            return [0, 0];\n                        }\n                    });\n\n                fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n                fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n                fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                 });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(fullRangeChart.update);\n\n                // set zoom based on query params if set\n                let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n                let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n                if (startTimestamp && endTimestamp) {\n                    fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n                }\n\n                return fullRangeChart;\n            });\n\n        });\n\n    }\n\n});\n","import Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({\n\n    store: Ember.inject.service(),\n    modelName: null,\n    init() {\n        this._super(...arguments);\n        this.loadModelName(); // Call the action during initialization\n    },\n    loadModelName: function() {\n        return;\n        // Get the instrument's first vwproperty id\n        // let vwPropertyId = await this.get('instrument.vwproperty.firstObject.id');\n    \n        // Use Ember's store to find the vwproperty by its ID, then access its vwmodel's modelName\n        // this.store.findRecord('vwproperty', vwPropertyId).then((vwproperty) => {\n        //   this.set('modelName', vwproperty.get('vwmodel.modelName'));\n        // });\n\n    },\n    \n    filterEventsByAttributes(events, instrumentAttributes, eventAttributes) {\n        return events.filter(event => {\n            \n            for (let i = 0; i < instrumentAttributes.length; i++) {\n                let instrumentAttr = instrumentAttributes[i];\n                let eventAttr = eventAttributes[i];\n\n                if (instrumentAttr) {\n                    let eventAttrValue = event.get(eventAttr);\n                    if (eventAttrValue && eventAttrValue.get(\"id\") !== instrumentAttr.get(\"id\")) {\n                        return false; // If the specific event attribute does not match the instrument's\n                    }\n                }\n            }\n            return true; // If all checks pass\n        });\n    },\n    \n    chartId: 'temporal-chart',\n    startTimestamp: null,\n    endTimestamp: null,\n    isDistXTooltip: true,\n    distXRiseUpAnimationDuration: 500,\n    \n    seismicEventsChartDistXData: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return [{\n                key: 'Seismic',\n                type: 'distX',\n                color: '#429CBA',\n                values: this.get('seismicEvents').map(function(event) {\n                    return [\n                        moment( event.get('timestamp') ).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n\n    \n    // Usage within your original computed property function:\n    blastEventsChartDistXData: Ember.computed('blastEvents', function() {\n        // console.log(\"blasting::::::::::::::::::::::::::::\");\n        let instrument = this.get(\"instrument\");\n        let blastEvents = this.get('blastEvents');\n\n        // Filtering\n        let instrumentAttributes = [instrument.get('level'), instrument.get('project')];\n        let eventAttributes = ['level', 'project']; \n        blastEvents = this.filterEventsByAttributes(blastEvents, instrumentAttributes, eventAttributes);\n        if(this.blastEvents){\n            return [{\n                key: 'Blast',\n                type: 'distX',\n                color: '#D14240',\n                values: blastEvents.map(function(event) {\n                    return [\n                        moment(event.get('timestamp')).valueOf(),\n                        event.get('size') ? (event.get('size') * -20) + 20 : 20\n                    ];\n                })\n            }];\n        }\n        return false;\n    }),\n    \n    seismicEventsArray: Ember.computed('seismicEvents', function() {\n        if ( this.get('seismicEvents') ) {\n            return this.get('seismicEvents').map(function(event) {\n                return {\n                    type: 'Seismic',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    // timestamp: moment( event.get('timestamp') ).valueOf(),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    momentMagnitude: event.get('momentMagnitude'),\n                    location: event.get('location')\n                };\n            }).sortBy('time');\n        }\n        return false;\n    }),\n\n    async getLevelId(instrument) {\n        try {\n\n            let instrumentLevelId = await instrument.get('level').get('content').id;\n            if (instrumentLevelId) {\n                return instrumentLevelId; \n            }\n            return null;\n        } catch (error) {\n            return null;\n        }\n    },\n    \n    async getProjectId(instrument) {\n        try {\n            let instrumentProject = await instrument.get('project').get('content').id;\n            if (instrumentProject) {\n                return instrumentProject;\n            }\n            return null;\n        } catch (error) {\n            return null;\n        }\n    },    \n    async fetchValueFromStore(id) {\n        if (!id) {\n            return \"Not Set\";\n        }\n        try {\n            let record = await this.store.findRecord('lookup', id);\n            return record.get('value');\n        } catch (error) {\n            console.error(`Error fetching record with id ${id}: returning Not Set`);\n            return \"Not Set\";\n        }\n    },\n    \n    blastEventsArray: Ember.computed('blastEvents', async function() {\n        if ( this.get('blastEvents') ) {\n                        \n            let instrument = this.get('instrument');\n            let instrumentLevelId = await this.getLevelId(instrument);\n            let instrumentProjectId = await this.getProjectId(instrument);\n\n            let levelValue = await this.fetchValueFromStore(instrumentLevelId);\n            let projectValue = await this.fetchValueFromStore(instrumentProjectId);\n\n            let data_set = this.get('blastEvents').map(function(event) {\n                return {\n                    type: 'Blast',\n                    time: event.get('timestamp'),\n                    timestamp: moment( event.get('timestamp') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n                    eventSize: event.get('size') ? (event.get('size') * -15) + 15 : 15,\n                    tonnes: event.get('tonnes'),\n                    location: event.get('location'),\n                    project: projectValue,\n                    level: levelValue,\n                    \n                };\n            }).sortBy('time');\n            // console.log(JSON.stringify(data_set));\n            return data_set;\n        }\n        return false;\n    }),\n\n    // vibeEventsArray: Ember.computed('vibeEvents', function() {\n    //     var events = this.get('vibeEvents');\n    //     //console.log(events);\n    //     if ( events ) {\n    //         return events.map(function(event) {\n    //             return {\n    //                 type: 'BluVibe',\n    //                 time: event.get('id'),\n    //                 timestamp: moment( event.get('id') ).format(\"DD MMM, YYYY HH:mm:ss\"),\n    //                 ppa: event.get('ppa'),\n    //                 ppv: event.get('ppv'),\n    //                 freq: event.get('frequency')\n    //             };\n    //         }).sortBy('time');\n    //     }\n    //     return false;\n    // }),\n\n    // zoomTempPoints: Ember.computed('zoomTempData', function(){\n    //     let \n    //     let linesKyes = Object.keys(item.toJSON());\n\n    //     var chartData = item.getProperties(linesKyes);\n    //     console.log(\"ChartData: \" + chartData);\n    //     return chartData;\n    // }),\n    \n    zoomTempPoints: Ember.computed('zoomTempData', function() {\n        // console.log(\"CURRENT_PORT::::::::::::::::::: \" + this.currentPort);\n        let chartDataResult = null;\n\n        let zoomTempData = this.get('zoomTempData');\n        chartDataResult = zoomTempData.map(function(item){\n            if (item.toJSON) {\n                let linesKeys = Object.keys(item.toJSON());\n                let chartData = item.getProperties(linesKeys);\n                // console.log(\"ChartData: \" + chartData);\n                return chartData;\n            }\n        });\n\n        // if(this.currentPort === 1){\n        //     let zoomTempData = this.get('zoomTempData');\n        //     chartDataResult = zoomTempData.map(function(item){\n        //         if (item.toJSON) {\n        //             let linesKeys = Object.keys(item.toJSON());\n        //             let chartData = item.getProperties(linesKeys);\n        //             console.log(\"ChartData: \" + chartData);\n        //             return chartData;\n        //         }\n        //     });\n        // } else {\n        //     let zoomTempData = this.get('zoomChartData');\n            \n        //     chartDataResult = zoomTempData.map((item) => {\n        //         console.log(\"CURRENT_PORT::::::::::::::::::: \" + this.currentPort);\n        //         if (item.toJSON) {\n        //             let linesKeys = Object.keys(item.toJSON());\n        //             let chartData = item.getProperties(linesKeys);\n        //             // console.log(\"ChartData: \" + chartData);\n        //             return chartData;\n        //         }\n        //     });\n        // }\n        return chartDataResult;\n    }),\n\n    \n    currentPort: Ember.computed('instrument', function() {\n        let port = this.attrs.getQueryParams('port');\n        return port;\n    }),\n\n    zoomDataPoints: Ember.computed('zoomChartData', function() {\n        let zoomData = this.get('zoomChartData');\n        let chartDataResult = null;\n        var modelName = this.get('chartDataModelName');\n            \n        chartDataResult = zoomData.map(function(item){\n            \n            let linesKyes = Object.keys(item.toJSON());\n            var chartData = item.getProperties(linesKyes);\n\n            if (modelName === 'strain-values' || modelName === 'strain-rate-values') { \n                chartData.values.push(0);\n            }\n            // console.log(chartData);\n            return chartData;\n        });\n        return chartDataResult;\n    }),\n\n    fullRangeDataPoints: Ember.computed.map('fullRangeChartData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }), \n\n/*     fullRangeTempDataPoints: Ember.computed.map('fullRangeTempData', function(item){\n        let linesKyes = Object.keys(item.toJSON());\n\n        return item.getProperties(linesKyes);\n    }),\n */\n    zoomTimePoints: Ember.computed.map('zoomChartData', function(item){\n        return item.get('id');\n    }),\n\n    fullRangeTimePoints: Ember.computed.map('fullRangeChartData', function(item){\n        return item.get('id');\n    }),\n\n    anchorDistances: Ember.computed('instrument', 'fullRangeChartData', function() {\n        return ['F'];\n        // let instType = this.instrument.get('instrumentType').get('title');\n        // let chartData = this.get('fullRangeChartData');\n        // let dataValuesCount;\n        // try {\n        //     dataValuesCount = chartData.get('firstObject').toJSON().values.length;\n        // } catch (error) {\n        //     dataValuesCount = 0;\n        // }\n        // let anchors = this.get('instrument').get('anchors');\n        \n        // let anchorDistances = anchors.map(function(anchor){\n        //     return anchor.get('distance');\n        // });\n\n        // //anchorDistances.push('T'); //TODO: add temperature\n\n        // //IF chart is Strain-Values chart\n        // var modelName = this.get('chartDataModelName');\n\n        // return anchorDistances;\n    }),\n\n    //zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', 'vibeEventsChartDistXData', function() {\n    zoomChartLinesData: Ember.computed('zoomDataPoints', 'zoomTimePoints', 'zoomTempPoints', 'seismicEventsChartDistXData', 'blastEventsChartDistXData', function() {\n            const _this = this,\n            seismicEventsChartDistXData = this.get('seismicEventsChartDistXData'),\n            blastEventsChartDistXData = this.get('blastEventsChartDistXData'),\n            //vibeEventsChartDistXData = this.get('vibeEventsChartDistXData'),\n            zoomDataPoints = this.get('zoomDataPoints'),\n            zoomTempPoints = this.get('zoomTempPoints'),\n            zoomTimePoints = this.get('zoomTimePoints')\n        ;\n\n\n        // console.log(zoomTempPoints);\n        //console.log(vibeEventsChartDistXData);\n\n        let anchorDistances = this.get('anchorDistances'),\n            zoomChartLinesData = []\n        ;\n\n        // an exception for temperature sensor in dExto\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            zoomChartLinesData = anchorDistances.map(function(chartLineName, chartLineIndex){\n                return {\n                    key: chartLineName,\n                    // mean: 3,\n                    type: 'lines',\n                    yAxis: 1,\n                    values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                        return [\n                            moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                            dataPoint.values[chartLineIndex]\n                        ];\n                    })\n                };\n            });\n        } else {\n            zoomChartLinesData = [{\n                key: 'T. ℃',\n                // mean: 3,\n                type: 'lines',\n                yAxis: 1,\n                values: zoomDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0]\n                    ];\n                })\n            }];\n        }\n\n        //console.log(zoomDataPoints.length);\n        //console.log(zoomTempPoints.length);\n\n        if (_this.get('chartDataModelName') !== 'temperature-values') {\n            if (_this.get('chartDataModelName') !== 'displacement-values'){\n                while(zoomTempPoints.length > zoomDataPoints.length) {\n                    zoomTempPoints.pop();\n                    zoomTempPoints.shift();\n                }\n            }\n            var temp = {key: 'T',\n                type: 'lines',\n                yAxis: 2,\n                values: zoomTempPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( zoomTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[0],\n                    ];\n                })\n            };\n            //console.log(temp);\n            zoomChartLinesData.push(temp); //#TODO: Add Temp Points\n            //console.log(zoomChartLinesData);\n        }\n\n        // mix data with events\n        if (seismicEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(seismicEventsChartDistXData);\n        }\n        if (blastEventsChartDistXData) {\n            zoomChartLinesData = zoomChartLinesData.concat(blastEventsChartDistXData);\n        }\n        // if (vibeEventsChartDistXData) {\n        //     zoomChartLinesData = zoomChartLinesData.concat(vibeEventsChartDistXData);\n        // }\n        \n        return zoomChartLinesData;\n    }),\n\n    fullRangeChartLinesData: Ember.computed('fullRangeDataPoints', 'fullRangeTimePoints', function() {\n        const _this = this,\n            fullRangeDataPoints = this.get('fullRangeDataPoints'),\n            fullRangeTimePoints = this.get('fullRangeTimePoints')\n        ;\n\n        let anchorDistances = this.get('anchorDistances');\n\n        return anchorDistances.map(function(chartLineName, chartLineIndex){\n            return {\n                key: chartLineName,\n                // mean: 3,\n                type: 'lines',\n                values: fullRangeDataPoints.map(function(dataPoint, dataPointIndex) {\n                    return [\n                        moment( fullRangeTimePoints[dataPointIndex] ).valueOf(),\n                        dataPoint.values[chartLineIndex]\n                    ];\n                })\n            };\n        }).sortBy('timestamp');\n    }),\n\n    chartDataModelName: Ember.computed('zoomChartData', function() {\n        return this.get('zoomChartData').query.model_name;\n    }),\n\n    yAxisLegend: Ember.computed('chartDataModelName', function() {\n        let chartDataModelName = this.get('chartDataModelName');\n        let promise = this.get('store').queryRecord('measurement', {title: chartDataModelName.substr(0, chartDataModelName.lastIndexOf('-')).replace('-','_') });\n        return promise;\n    }),\n\n\n    modelNames: Ember.computed(function() {\n        let vwmodelName= \"\";\n        this.store.query('vwproperty',{}).then((vwproperties) => {\n            if(vwproperties && vwproperties.length > 0){\n                vwproperties.forEach(vwproperty=>{\n                    try {\n                        if(vwproperty.get('instrument')){\n                            vwmodelName = vwproperty.get(\"vwmodel\").get(\"modelName\");\n                            console.log('vwmodel::::::' + vwmodelName);\n                        }\n                    } catch {\n                        console.log(\"instrument dont exist\")\n                    }\n                })\n            }\n          });\n        return vwmodelName;\n    }),\n    calibColLabel: Ember.computed(function() {\n        let vwmodelName= this.get(\"modelNames\");\n        let calibColLabel = \"\";\n        if (vwmodelName == \"4450\"){\n            calibColLabel = \"Displacement (mm)\";\n        }else if(vwmodelName == \"4500-HH\"){\n            calibColLabel = \"Pressure (MPa)\";\n        }else{\n            calibColLabel = \"Pressure (kPa)\";\n        }\n        return calibColLabel;\n    }),\n\n    didInsertElement: async function() {\n        const _this = this,\n            zoomChartLinesData = _this.get('zoomChartLinesData'),\n            fullRangeChartLinesData = _this.get('fullRangeChartLinesData'),\n            isDistXTooltip = _this.get('isDistXTooltip'),\n            distXRiseUpAnimationDuration = _this.get('distXRiseUpAnimationDuration')\n        ;\n\n        let seismicEventsArray = this.get('seismicEventsArray'),\n            blastEventsArray = await this.get('blastEventsArray'),\n            // vibeEventsArray = this.get('vibeEventsArray'),\n            zoomChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-svg'),\n            fullRangeChartSVG = d3.select('#' + _this.get('chartId') + ' svg.nvd3-temporal-line-chart-focus-svg'),\n            yAxisLegend = this.get('yAxisLegend'),\n            apiCallsPromises = yAxisLegend\n        ;\n\n        //console.log(vibeEventsArray);\n\n        // draw zoomChart only after yAxis label is fetched\n        Ember.RSVP.Promise.all([apiCallsPromises]).then(function(results){\n            //code _this must be executed only after all of the promises in apiCallsPromises is resolved\n            //console.log(\"rendering graph...\");\n            let title = \"\";\n            if (yAxisLegend) {\n                yAxisLegend = yAxisLegend;\n                \n                //get pretty chart name if chart has multiple parts to it\n                let type = _this.instrument.get('instrumentTypeID').toString();\n                let chartData = _this.get('chartData');\n                chartData.forEach(function(item) {\n                    if(item.id === type) {\n                        chartData = item;\n                        return;\n                    }\n                });\n\n                let instType = _this.instrument.get('instrumentType').get('title');\n                let axisName = '';\n                let units = chartData.get('units');\n                title = yAxisLegend.get('title');\n                axisName = _this.get(\"calibColLabel\");\n                if (_this.get('linear') == true){\n                    title = ['LU/digits'];\n                } else if (_this.get('calib') == true){\n                    // console.log(\"axisname::::\" + axisName);\n                    title = [axisName];\n                } else if (_this.get('depth') == true){\n                    title = ['mm-Water'];\n                } else {\n                    title = ['Frequency (Hz)'];\n                }\n                    \n            }\n\n            function usesPoints(chartName) {\n                //console.log(chartName);\n                switch(chartName) {\n                    case 'event-ppv':\n                    case 'event-ppa':\n                        return true;\n                }\n                return false;\n            }\n            //console.log(zoomChartLinesData);\n            let zoomChart = nv.models.lineChartWithFocusAPI(usesPoints(_this.get('chartDataModelName')))\n                .margin({top: 55, right: 90, bottom: 60, left: 80})\n                .useInteractiveGuideline(true)\n                .x(function(d) { \n                    return d[0]; })\n                .y(function(d) { return d[1]; })\n                .color(d3.scale.category10().range())\n                .duration(300)\n                .showDistX(true)\n                .noData('No usable data')\n            ;\n\n            zoomChart.legend.margin({bottom: 500});\n            \n            //console.log(title);\n\n            // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs,\n            // and may do more in the future... it's NOT required\n            nv.addGraph(function() {\n\n                zoomChart.xAxis\n                    .ticks(5)\n                    .tickPadding(40)\n                    .showMaxMin(true)\n                    .tickFormat(function(d) {\n                        let zoomChartXDomainLength = zoomChartLinesData[0].values.length;\n                        return nv.utils.getDateAutoscaleFormat (zoomChartLinesData[0].values[0][0], zoomChartLinesData[0].values[zoomChartXDomainLength-1][0])(new Date(d));\n                    });\n                \n                zoomChart.y1Axis\n                    .axisLabel(title)\n                    .axisLabelDistance(10);\n\n                zoomChart.y2Axis\n                    .axisLabel('Temperature (°C)')\n                    .axisLabelDistance(10);\n                    \n                zoomChart.distX\n                    .margin({top: 3, right: 0, bottom: 0, left: 0})\n                    .size(30)\n                    .distXTooltipBottomOffset(5)\n                    .isDistXTooltip(isDistXTooltip)\n                    .isFixedDistXTooltip(false)\n                    .distXRiseUpAnimationDuration(distXRiseUpAnimationDuration)\n                    .distXRiseUpAnimationDelay(false)\n                    .lineWidth(2)\n                ;\n\n                if (_this.instrument.get('instrumentType').get('title') === 'Tilt') {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".3f\"));\n                    zoomChart.legend.numDecimals(3);\n                } else {\n                    zoomChart.y1Axis.tickFormat(d3.format(\".2f\"));\n                }\n                zoomChart.y2Axis.tickFormat(d3.format(\".1f\"));\n\n                zoomChartSVG.datum(zoomChartLinesData).call(zoomChart);\n\n                zoomChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                    _this.set('startTimestamp', brushExtent[0]);\n                    _this.set('endTimestamp', brushExtent[1]);\n                    let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                    let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                    zoomChart.tooltip.hidden(true);\n\n                    // update query params via updateProperties action it the controller\n                    _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n                 });\n\n                zoomChart.dispatch.on('brush', function (brushExtent) {\n                    if (brushExtent.extent[0] > 0) {\n                        // chart.focus.dispatch.onBrushCall(brushExtent.extent);\n                        fullRangeChart.dispatch.onBrushCall(brushExtent.extent);\n                    }\n                });\n\n                function selectControls() {\n                    zoomChart.chartData.forEach(function(series) { series.disabled = false; });\n                }\n\n                function updateDistXTooltip(tooltipContent) {\n\n                    if (typeof tooltipContent === 'undefined') {\n                        return false;\n                    }\n\n                    let tooltipText = '',\n                        tooltipClass = '',\n                        eventSize = null\n                    ;\n\n                    if (typeof(tooltipContent) === 'object') {\n                        if (tooltipContent.type === 'Blast') {\n                            tooltipClass = 'blast';\n                            eventSize = '<span class=\"event-type\">Project: ' + tooltipContent.project + '<br />Level: ' + tooltipContent.level + '<br />Location: ' + tooltipContent.location + '<br />Tonnes: ' + tooltipContent.tonnes + '</span>';\n                        } else if (tooltipContent.type === 'Seismic') {\n                            tooltipClass = 'seismic';\n                            eventSize = '<span class=\"event-type\">Location: ' + tooltipContent.location + '<br />Moment-magnitude: ' + tooltipContent.momentMagnitude + '</span>';\n                        } else if (tooltipContent.type === 'BluVibe') {\n                            tooltipClass = 'bluvibe';\n                            eventSize = '<span class=\"event-type\">PPV - mm/s: ' + tooltipContent.ppv + '<br />PPA - mm/s&#178;: ' + tooltipContent.ppa + '<br />Frequency - Hz: ' + tooltipContent.freq + '</span>';\n                        } else if (tooltipContent.type === 'Other') {\n                            tooltipClass = 'other';\n                        }\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>' +\n                                      '<span class=\"event-type\">Type: ' + tooltipContent.type + '</span>' +\n                                      eventSize\n                        ;\n                    } else {\n                        tooltipText = '<span class=\"time\">' + tooltipContent.timestamp + '</span>';\n                    }\n\n                    return {\n                        tooltipClass: tooltipClass,\n                        tooltipText: tooltipText\n                    };\n                }\n\n                zoomChart.distX.dispatch.on('distXMouseMove', function (distXMouseMove) {\n                    //console.log(blastEventsArray);\n                    //console.log(vibeEventsArray);\n                    //console.log(distXMouseMove);\n/* \n                    if ( vibeEventsArray.length && distXMouseMove.distX2 > -1 ) {\n                        //console.log('mouseMove');\n                        //console.log(vibeEventsArray);\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(vibeEventsArray[distXMouseMove.distX2]) );\n                    } */\n\n                    if ( seismicEventsArray.length && distXMouseMove.distX0 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(seismicEventsArray[distXMouseMove.distX0]) );\n                    }\n                    if ( blastEventsArray.length && distXMouseMove.distX1 > -1 ) {\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(blastEventsArray[distXMouseMove.distX1]) );\n                    }\n                    if (!seismicEventsArray.length || !blastEventsArray.length){//} || !vibeEventsArray.length) {\n                        let distXIndex = distXMouseMove.distX0;\n                        let data_set = 0;\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX1;\n                            data_set = 1;\n                        }\n                        if (distXIndex === -1) {\n                            distXIndex = distXMouseMove.distX2;\n                            data_set = 2;\n                        }\n\n                        let activeTooltipContent = seismicEventsArray[distXIndex];\n                        if (data_set===1) {\n                            activeTooltipContent = blastEventsArray[distXIndex];\n                        }\n                        if (data_set===2) {\n                            //activeTooltipContent = vibeEventsArray[distXIndex];\n                        }\n                        zoomChart.distX.dispatch.onDistXTooltipShowCall( updateDistXTooltip(activeTooltipContent) );\n                    }\n                });\n\n                //TODO: Figure out a good way to do this automatically\n                nv.utils.windowResize(zoomChart.update);\n\n                zoomChart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });\n                zoomChart.state.dispatch.on('change', function(state){\n                    nv.log('state', JSON.stringify(state));\n                });\n\n                //console.log('nvd3 data: ', zoomChartLinesData);\n                _this.sendAction('setData',zoomChartLinesData);\n                _this.sendAction('setChart',zoomChart);\n\n                return zoomChart;\n            });\n        });\n\n\n        function usesPoints(chartName) {\n            //console.log(chartName);\n            switch(chartName) {\n                case 'event-ppv':\n                case 'event-ppa':\n                    return true;\n            }\n            return false;\n        }\n\n        let graph_type = null;\n        if (usesPoints(_this.get('chartDataModelName'))) {\n            graph_type = nv.models.scatter();\n        } else {\n            graph_type = nv.models.line();\n        }\n        \n        let fullRangeChart = nv.models.focus(graph_type)\n            .margin({top: 10, right: 10, bottom: 30, left: 80})\n            .x(function(d) { return d[0]; })\n            .y(function(d) { return d[1]; })\n            .color(d3.scale.category10().range())\n            .syncBrushing(false)\n            .independentBrushing(true)\n            .showXAxis(true)\n            .showYAxis(false)\n        ;\n\n        nv.addGraph(function() {\n\n            fullRangeChart.xAxis\n                .showMaxMin(false)\n                .tickFormat(function(d) {\n                    //console.log(\"beep\");\n                    if (fullRangeChartLinesData.length > 0) {\n                        let fullRangeChartXDomainLength = fullRangeChartLinesData[0].values.length;\n                        try {\n                            return nv.utils.getDateAutoscaleFormat (fullRangeChartLinesData[0].values[0][0], fullRangeChartLinesData[0].values[fullRangeChartXDomainLength-1][0])(new Date(d));\n                        } catch (ex) {\n                            return [0, 0];\n                        }\n                    } else {\n                        return [0, 0];\n                    }\n                });\n\n\n            fullRangeChart.yAxis.tickFormat(d3.format(\".2f\"));\n\n            fullRangeChartSVG.datum(fullRangeChartLinesData).call(fullRangeChart);\n\n\n            fullRangeChart.dispatch.on('onBrushEnd', function (brushExtent) {\n                _this.set('startTimestamp', brushExtent[0]);\n                _this.set('endTimestamp', brushExtent[1]);\n                let startTimestamp = moment(_this.get('startTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n                let endTimestamp = moment(_this.get('endTimestamp'), \"x\").format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n\n                // update query params via updateProperties action it the controller\n                _this.attrs.updateProperties(['start_timestamp', 'end_timestamp'], [startTimestamp, endTimestamp]);\n             });\n\n            fullRangeChart.dispatch.on('brush', function (brushExtent) {\n                if (brushExtent.extent[0] > 0) {\n                    // zoomChart.dispatch.onBrushCall(brushExtent.extent);\n                }\n             });\n\n            //TODO: Figure out a good way to do this automatically\n            nv.utils.windowResize(fullRangeChart.update);\n\n            // set zoom based on query params if set\n            let startTimestamp = moment(_this.attrs.getQueryParams('start_timestamp')).valueOf();\n            let endTimestamp = moment(_this.attrs.getQueryParams('end_timestamp')).valueOf();\n            if (startTimestamp && endTimestamp) {\n                fullRangeChart.dispatch.onBrushCall([startTimestamp, endTimestamp]);\n            }\n\n            return fullRangeChart;\n        });\n    }\n});\n","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { computed } from '@ember/object';\nimport { sort } from '@ember/object/computed';\n\nexport default class DropdownComponent extends Component {\n    @service store;\n    @service queryParams; // Inject the queryParams service\n\n\n    @tracked instrument;\n    // port = 1;\n    constructor() {\n        super(...arguments);\n        this.loadInstrument();\n    }\n\n    @sort('instrument.vwproperty', 'portSorting') sortedProperties;\n  \n    portSorting = ['port:asc'];\n\n    // I need the instrument.vwProperty to get the ports.\n    async loadInstrument() {\n        this.instrument = await this.store.findRecord('instrument', this.args.instrumentId);\n    }\n}\n","import Component from '@ember/component';\nimport { inject as service } from \"@ember/service\";\nimport { computed, set } from '@ember/object';\n\nexport default Ember.Component.extend({\n    \n    isVisibleCreateNewForm: false,\n    store: Ember.inject.service(),\n    trueAnchorDistances: computed('instrument', 'linear', 'calib', 'depth', function() {\n        const channelsNum = this.get(\"instrument.channelsNum\");\n        const iterations = Math.floor(channelsNum / 2)*2;\n        const linear = this.get('linear');\n        const calib = this.get('calib');\n        const depth = this.get('depth');\n    \n        let trueAnchorDistances = [];\n        this.set('isWire', true);\n    \n        for (let i = 1; i <= iterations; i++) {\n            if (i % 2 === 0) {\n                if (linear) {\n                    trueAnchorDistances.push('LU/digits');\n                } else if (calib) {\n                    trueAnchorDistances.push('Pressure (kPa)');\n                } else if (depth) {\n                    trueAnchorDistances.push('Depth (mm-Water)');\n                } else {\n                    trueAnchorDistances.push('Freq.(Hz)');\n                }\n            } else {\n                trueAnchorDistances.push('Temperature (°C)');\n            }\n        }\n        console.log(\"trueAnchorDistances: \" + trueAnchorDistances)\n        return trueAnchorDistances;\n    }),\n    modelNames: Ember.computed(function() {\n        let vwmodelName= \"\";\n        this.store.query('vwproperty',{}).then((vwproperties) => {\n            if(vwproperties && vwproperties.length > 0){\n                vwproperties.forEach(vwproperty=>{\n                    try {\n                        if(vwproperty.get('instrument')){\n                            vwmodelName = vwproperty.get(\"vwmodel\").get(\"modelName\");\n                            console.log('vwmodel::::::' + vwmodelName);\n                        }\n                    } catch {\n                        console.log(\"instrument dont exist\")\n                    }\n                })\n            }\n          });\n        return vwmodelName;\n    }),\n    calibColLabel: computed(function() {\n        let vwmodelName= this.get(\"modelNames\");\n        let calibColLabel = \"\";\n        if (vwmodelName == \"4450\"){\n            calibColLabel = \"Displacement (mm)\";\n        }else if(vwmodelName == \"4500-HH\"){\n            calibColLabel = \"Pressure (MPa)\";\n        }else{\n            calibColLabel = \"Pressure (kPa)\";\n        }\n        return calibColLabel;\n    }),\n    anchorDistances: Ember.computed('instrument','linear','calib', 'depth', function() {\n        // console.log('port_number: ' + this.get('port_number') );\n        // if (this.get('linear') == true)\n        //     return ['LU/digits']\n        // if (this.get('calib') == true)\n        //     return ['Pressure (kPa)']\n        // if (this.get('depth') == true)\n        //     return ['Depth (mm-Water)']\n        // return ['Frequency (Hz)'];\n        // console.log(\"HERE::::::::::::::::::::\")\n        let channelsNum = this.get(\"instrument\").channelsNum;\n        let anchorDistances = []\n        this.set('isWire', true)\n        /////////////\n        let calibColLabel = this.get(\"calibColLabel\");\n        console.log(\"calibColLabel:::::::::::\" + calibColLabel);\n        /////////////\n\n        if (channelsNum >= 2){\n            console.log(\"channelsNum: \" + channelsNum);\n\n\n            if (this.get('linear') == true){\n                anchorDistances.push('LU/digits');\n                return anchorDistances;\n            }\n            if (this.get('calib') == true){\n                console.log(\"channelsNum: \" + channelsNum);\n                anchorDistances.push(calibColLabel);\n                return anchorDistances;\n            }\n            if (this.get('depth') == true){\n                anchorDistances.push('Depth (mm-Water)');\n                return anchorDistances;\n            }\n\n            anchorDistances.push('Freq.(Hz)');\n            return anchorDistances;\n        } \n        else {\n            let linear = this.get('linear') == true;\n            let calib = this.get('calib') == true;\n            let depth = this.get('depth') == true;\n\n            for(let channel = 1 ; channel < channelsNum; channel++){\n                if(channel % 2 == 1){\n                      \n                    if (linear){\n                        anchorDistances.push('LU/digits');\n                        continue;\n                    }\n                    if (calib){\n                        anchorDistances.push(calibColLabel);\n                        continue;\n                    }\n                    if (depth){\n                        anchorDistances.push('Depth (mm-Water)');\n                        continue;\n                    }            \n                    if(!linear && !calib && !depth){\n                        anchorDistances.push('Freq.(Hz)');\n                    }\n                } else {\n                    anchorDistances.push('Temperature (°C)');\n                }        \n            }\n        }\n\n        return anchorDistances;\n\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Component.extend({\n});\n","// import Component from '@ember/component';\n// import { inject as service } from \"@ember/service\";\n\n// export default class TemporalChartDropdown extends Component {\n//     //@service session;\n//     //@service currentUser;\n//     isAuthenticated = true;\n//     selected = \"Displacement\";\n// }\n\nimport Ember from 'ember';\nimport moment from 'moment';\n\nexport default Ember.Component.extend({ \n});","import Component from '@glimmer/component';\nimport { inject as service } from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class DropdownComponent extends Component {\n    @service store;\n    @service queryParams; // Inject the queryParams service\n\n    @tracked instrument;\n    // port = 1;\n    constructor() {\n        super(...arguments);\n        this.loadInstrument();\n    }\n\n    // I need the instrument.vwProperty to get the ports.\n    async loadInstrument() {\n        this.instrument = await this.store.findRecord('instrument', this.args.instrumentId);\n    }\n}\n","define(\"geotechnical-data-platform-new/components/wms-tile-layer\", [\"exports\", \"ember-leaflet/components/wms-tile-layer\"], function (_exports, _wmsTileLayer) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _wmsTileLayer.default;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    page_size: 20,\n    page: 1,\n    search: null,\n    breadCrumbs: [\n        {\n            label: \"Dashboard\",\n            path: 'index'\n        },\n        {\n            label: \"Alerts\",\n            path: 'alerts'\n        },\n        \n    ],\n    actions: {\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n    }\n\n});\n","// app/controllers/application.js\nimport Controller from '@ember/controller';\nimport { inject as service } from '@ember/service';\nimport { action } from \"@ember/object\";\n \nexport default class ApplicationController extends Controller {\n  @service session;\n\n  @action\n  invalidateSession() {\n    console.log(\"LOGOUT!\");\n    this.session.invalidate();\n  }\n}\n","import Ember from 'ember';\nimport { on } from '@ember/object/evented';\n\nexport default Ember.Controller.extend({\n    _my_init: on('init', function() {\n        Ember.run.scheduleOnce('afterRender', this, function() {\n            //this.send('updateNav',this.get('model').licence.content[0]._data);\n        });\n    }),\n    queryParams: ['page', 'page_size', 'ordering', 'search'],\n    page_size: 20,\n    eventsMeta: null,\n    ordering: null,\n    search: null,\n    isVisibleRowDetails: {},\n    isRowDeleteConfirmationDialog: {},\n    isVisibleCreateNewForm: false,\n    permissionError: false,\n    project: null,\n    level: null,\n\n    breadCrumbs: [\n        {\n            label: \"Dashboard\",\n            path: 'index'\n        },\n        {\n            label: \"Blast Events\",\n            path: 'blast-events'\n        },\n        \n    ],\n\n    actions: {\n        // updateNav(licence) {\n        //     let modules = licence.modules;\n        //     if(licence.isValid) {\n        //         if(licence.withinLimit) {\n        //             if(!modules.temporal) {\n        //                 document.getElementById(\"temp-link\").style.display = \"none\";\n        //             } else {\n        //                 document.getElementById(\"temp-link\").style.display = \"block\";\n        //             }\n        //             if(!modules.spatial) {\n        //                 document.getElementById(\"spat-link\").style.display = \"none\";\n        //             } else {\n        //                 document.getElementById(\"spat-link\").style.display = \"block\";\n        //             }\n        //             if(!modules.frequency) {\n        //                 document.getElementById(\"freq-link\").style.display = \"none\";\n        //             } else {\n        //                 document.getElementById(\"freq-link\").style.display = \"block\";\n        //             }\n        //             if(!modules.alerts) {\n        //                 document.getElementById(\"alert-link\").style.display = \"none\";\n        //             } else {\n        //                 document.getElementById(\"alert-link\").style.display = \"block\";\n        //             }        \n        //             document.getElementById(\"licence-error-instruments\").style.display = \"none\";\n        //         } else {\n        //             document.getElementById(\"licence-error-instruments\").style.display = \"block\";\n        //         }\n        //         document.getElementById(\"licence-error-expired\").style.display = \"none\";\n        //     } else {\n        //         document.getElementById(\"add-new\").style.display = \"none\";\n        //         document.getElementById(\"licence-error-expired\").style.display = \"block\";\n        //     }\n        //     document.getElementById(\"licence-error-module\").style.display = \"none\";\n        // },\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        vewRowDetails(id){\n            let curVal = this.get('isVisibleRowDetails')[id] ? false : true;\n            Ember.set(this.get('isVisibleRowDetails'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        toggleRowDeleteConfirmationDialog(id){\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        remove(model, object){\n            let _this = this;\n            object.deleteRecord();\n            object.get('isDeleted');\n            object.save().then(function(){\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                model.removeObject(object);\n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.send('updateProperty', 'permissionError', true);\n                }\n            });\n        },\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        setProject(object, event) {\n            const selectedId = event.target.value;;\n            \n            // Assume projectLookupList is the array of lookup objects\n            let foundObjects = this.get(\"model.projectLookupList\")\n            let foundObject = foundObjects.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n            // console.log(\"Found Object:: \" + foundObject)\n\n            if (foundObject) {\n              // Do something with foundObject\n              console.log(\"saving project\")\n              object.set(\"project\", foundObject)\n              object.save();\n            }\n        },\n        \n        setLevel(object, event) {\n            const selectedId = event.target.value;;\n            \n            // Assume levelLookupList is the array of lookup objects\n            let foundObjects = this.get(\"model.levelLookupList\")\n            let foundObject = foundObjects.find((lookup) => {\n              return lookup.id === selectedId;\n            });\n            // console.log(\"Found Object:: \" + foundObject)\n\n            if (foundObject) {\n              // Do something with foundObject\n              console.log(\"saving level\")\n              object.set(\"level\", foundObject)\n              object.save();\n            //   this.set('project', foundObject);\n            }\n        },\n\n    }\n});\n","import Ember from 'ember';\nimport { computed, observer } from '@ember/object';\n\nexport default Ember.Controller.extend({\n    store: Ember.inject.service(),\n    instType: \"\",\n    id: \"\",\n    gwType: \"\",\n    gwId: \"\",\n    isVisibleError: false,\n    duplicateError: false,\n    typeError: false,\n    fieldError: false,\n    instruments:[],\n    searchedValue : \"\",\n    loading:false,\n    _my_init: async function() {\n        this.set(\"loading\", true);\n        let newInstr = await this.store.query('instrument', {small: 'false', exclude: 15}).then(function(instruments){\n            return instruments.map((instr)=>{\n                return {\n                    title: instr.get('id'),\n                    value: instr.get('id'),\n                    type: instr.get('instrumentTypeID'),\n                };\n            })\n          });\n        this.set(\"loading\", false);\n        this.set(\"instruments\", newInstr)\n    }.on('init'),\n    allInstruments: Ember.computed.filter('model.instruments', function(instrument) {\n        return true;\n    }),\n\n    // instruments: Ember.computed.map('allInstruments', function(instrument) {\n    //     return {\n    //         title: instrument.get('id'),\n    //         value: instrument.get('id'),\n    //         type: instrument.get('instrumentTypeID'),\n    //     };\n    // }),\n\n    instrumentChanged: observer('inst_id', function() {\n        this.set('instType', this.get('model').instrument.instrumentTypeID);\n        this.set('id',this.get('inst_id'));\n    }),\n\n    instrumentChanged: observer('inst_id', function() {\n        let model = this.get(\"model\");\n        let instrument = model.instrument\n    \n        if(instrument !=null ){\n            this.set('instType', instrument.instrumentTypeID);\n            this.set('id',instrument.id);\n        }\n    }),\n\n    // for gateway alerts:\n    allGateways: Ember.computed.filter('model.instruments', function(instrument) {\n        return true;\n    }),\n\n    gateways: Ember.computed.map('allGateways', function(gateway) {\n        return {\n            title: gateway.get('id'),\n            value: gateway.get('id'),\n            type: gateway.get('gatewayTypeID'),\n        };\n    }),\n\n    gatewayChanged: observer('gwId', function() {\n        this.set('gwType', this.get('model').gateway.gatewayTypeID);\n        this.set('gwId',this.get('gw_id'));\n    }),\n\n    gatewayChanged: observer('gw_id', function() {\n        let model = this.get(\"model\");\n        let gateway = model.instrument\n    \n        if(gateway !=null ){\n            this.set('gwType', gateway.gatewayTypeID);\n            this.set('gwId',gateway.id);\n        }\n    }),\n\n    \n\n\n    breadCrumbs: computed({\n        get() {\n            let obj = [\n                {\n                    label: \"Dashboard\",\n                    path: 'index'\n                },\n                {\n                    label: \"Alerts\",\n                    path: 'alerts'\n                },\n                {\n                    label: 'Create Alert',\n                    path: 'create-alert',\n                }\n            ]\n        \n            return obj;\n        }\n    }),\n    actions: {\n        submit(id) {\n            if (id != null) {\n                this.transitionToRoute('edit-alert', id);\n            } else {\n                this.transitionToRoute('alerts');\n            }\n        },\n        setError(error,value) {\n            Ember.set(this, error, value);\n        },\n        setValue(property,value) {\n            Ember.set(this, property, value)\n        },\n        setID(inst){\n            console.log(inst);\n            //this.set(\"inst_id\", inst.value);\n            this.set(\"instType\", inst.type);\n            this.set(\"id\", inst.value);\n        },\n        // setID(gw){\n        //     console.log(gw);\n        //     //this.set(\"gw_id\", gw.value);\n        //     this.set(\"gwType\", gw.type);\n        //     this.set(\"id\", gw.value);\n        // },\n\n    }\n});\n","import Ember from 'ember';\nimport Controller from '@ember/controller';\nimport { computed, observer } from '@ember/object';\nimport { inject as service } from \"@ember/service\";\n\nexport default Ember.Controller.extend({\n    gwType: \"\",\n    id: \"\",\n    \n    isVisibleError: false,\n    duplicateError: false,\n    typeError: false,\n    fieldError: false,\n\n    allGateways: Ember.computed.filter('model.gateways', function(gateway) {\n        return true;\n    }),\n    gateways: Ember.computed.map('allGateways', function(gateway) {\n        return {\n            title: gateway.get('id'),\n            value: gateway.get('id'),\n            type: gateway.get('gatewayTypeID'),\n        };\n    }),\n\n    gatewayChanged: observer('gw_id', function() {\n        this.set('gwType', this.get('model').gateway.gatewayTypeID);\n        this.set('id',this.get('gw_id'));\n    }),\n\n    gatewayChanged: observer('gw_id', function() {\n        let model = this.get(\"model\");\n        let gateway = model.gateway\n    \n        if(gateway !=null ){\n            this.set('gwType', gateway.gatewayTypeID);\n            this.set('id',gateway.id);\n        }\n    }),\n\n    breadCrumbs: computed({\n        get() {\n            let obj = [\n                {\n                    label: \"Dashboard\",\n                    path: 'index'\n                },\n                {\n                    label: \"Alerts\",\n                    path: 'alerts'\n                },\n                {\n                    label: 'Create Alert',\n                    path: 'create-gateway-alert',\n                }\n            ]\n        \n            return obj;\n        }\n    }),\n    actions: {\n        submit(id) {\n            if (id != null) {\n                this.transitionToRoute('edit-gateway-alert', id);\n            } else {\n                this.transitionToRoute('alerts');\n            }\n        },\n        setError(error,value) {\n            Ember.set(this, error, value);\n        },\n        setValue(property,value) {\n            Ember.set(this, property, value)\n        },\n        setID(gw){\n            //console.log(gw);\n            //this.set(\"gw_id\", gw.value);\n            this.set(\"gwType\", gw.type);\n            this.set(\"id\", gw.value);\n        },\n    }\n});\n","import Controller from '@ember/controller';\nimport { computed } from '@ember/object';\nimport { inject as service } from \"@ember/service\";\n\nexport default class CreateGatewayController extends Controller {\n    @service store;\n    gatewayType = 0;\n    isVisibleError = false;\n    duplicateError = false;\n    typeError = false;\n    fieldError = false;\n\n    breadCrumbs = [\n        {\n            label: \"Dashboard\",\n            path: \"index\"\n        },\n        {\n            label: \"Gateways\",\n            path: 'gateway'\n        },\n        {\n            label: 'Create Gateway',\n            path: 'create-gateway',\n        }\n    ];\n\n    actions = {\n        choseForm(value) {\n            console.log(\"gateway type is \" + value);\n            Ember.set(this, 'gatewayTypes', value);\n        },\n        submit(id) {\n            if (id != null) {\n                this.transitionToRoute('edit-gateway', id);\n            } else {\n                this.transitionToRoute('gateway');\n            }\n        },\n        setError(error,value) {\n            Ember.set(this, error, value);\n        },\n    };\n}\n\n","import Controller from '@ember/controller';\nimport EmberObject, { computed } from '@ember/object';\nimport { inject as service } from \"@ember/service\";\nimport { tracked } from '@glimmer/tracking';\n\nexport default class CreateInstrumentController extends Controller {\n    @service store;\n    @tracked vendors = [];\n\n    instType = 0;\n    isVisibleError = false;\n    duplicateError = false;\n    typeError = false;\n    fieldError = false;\n\n    breadCrumbs = [\n        {\n            label: \"Dashboard\",\n            path: \"index\"\n        },\n        {\n            label: \"Instruments\",\n            path: 'instruments'\n        },\n        {\n            label: 'Create Instrument',\n            path: 'create-instrument',\n        }\n    ];\n\n    sortTypesByTitle(typesArray) {\n        return typesArray.sort((a, b) => {\n            if (a.title < b.title) return -1;\n            if (a.title > b.title) return 1;\n            return 0;\n        });\n    };\n\n    @computed('model')\n    get getInstrumentTypes() {\n        let types = this.model.instrumentTypes;\n        let newTypesArr = [];\n        types.forEach(element => {\n            if(element.id != \"3\"){ \n                newTypesArr.push(element)\n            };\n        });\n        newTypesArr = this.sortTypesByTitle(newTypesArr);\n        return newTypesArr;\n    }\n    \n    actions = {\n        choseForm(value) {\n            Ember.set(this, 'instType', value);\n            this.store.query('vendor', { instrument_type: value })\n                .then((vendors) => {\n                    // Do something with the fetched vendors\n                    this.vendors = vendors;\n            });\n  \n        },\n        submit(id) {\n            if (id != null) {\n                this.transitionToRoute('edit-instrument', id);\n            } else {\n                this.transitionToRoute('instruments');\n            }\n        },\n        setError(error,value) {\n            Ember.set(this, error, value);\n        },\n    };\n}\n\n// export default Ember.Controller.extend({\n//     instType: 0,\n//     id: \"\",\n//     store: Ember.inject.service(),\n    \n//     isVisibleError: false,\n//     duplicateError: false,\n//     typeError: false,\n//     fieldError: false,\n\n//     breadCrumbs: computed({\n//         get() {\n//             let obj = [\n//                 {\n//                     label: \"Instruments\",\n//                     path: 'instruments'\n//                 },\n//                 {\n//                     label: 'Create Instrument',\n//                     path: 'create-instrument',\n//                 }\n//             ]\n        \n//             return obj;\n//         }\n//     }),\n//     actions: {\n//         choseForm(value) {\n//             Ember.set(this, 'instType', value);\n//         },\n//         submit(id) {\n//             if (id != null) {\n//                 this.transitionToRoute('edit-instrument', id);\n//             } else {\n//                 this.transitionToRoute('instruments');\n//             }\n//         },\n//         setError(error,value) {\n//             Ember.set(this, error, value);\n//         }\n//     }\n// });\n","import Controller from '@ember/controller';\nimport { computed } from '@ember/object';\nimport { inject as service } from \"@ember/service\";\nimport { tracked } from '@glimmer/tracking';\n\nfunction resetNewLookupObject(_this) {\n    //console.log('reset');\n    _this.set('newLookupObject', {});\n    _this.set('name', \"\");\n    _this.set('type', \"\");\n    _this.set('value', \"\");\n}\n\nexport default class CreateInstrumentController extends Controller {\n\n\n    init() {\n        super.init(...arguments);\n        resetNewLookupObject(this);\n    }\n\n    @service store;\n    @tracked vendors = [];\n\n    lookupType = 0;\n    isVisibleError = false;\n    duplicateError = false;\n    typeError = false;\n    fieldError = false;\n    type = \"\";\n    breadCrumbs = [\n        {\n            label: \"Dashboard\",\n            path: \"index\"\n        },\n        {\n            label: \"Lookups\",\n            path: 'list-lookups'\n        },\n        {\n            label: 'Create Lookup',\n            path: 'create-lookup',\n        }\n    ];\n\n    actions = {\n        choseType(value) {\n            Ember.set(this, 'lookupType', value);\n        },\n        submit(id) {\n            if (id != null) {\n                this.transitionToRoute('edit-lookup', id);\n            } else {\n                this.transitionToRoute('list-lookups');\n            }\n        },\n\n        createLookup(object){\n\n            let _this = this;\n            let store = this.get('store');\n            let newLookupObject = this.get('newLookupObject');\n\n            newLookupObject.name = this.get('name');\n            newLookupObject.type = this.get('lookupType');\n            newLookupObject.value = this.get('value');\n            \n\n            if (! newLookupObject.name || !newLookupObject.type || !newLookupObject.value) {\n                alert(\"All fields are required\");\n                return;\n            }\n            console.log(\"newLookupObject::::::::::: \" + JSON.stringify(newLookupObject));\n            \n            let newLookup = null;\n            let dup = false;\n            \n            try {\n                newLookup = store.createRecord('lookup', newLookupObject);\n            } catch (err) {\n                this.setError('isVisibleError',true);\n                console.log(\"Error::::: \");\n                console.log(err.message);\n            }\n        \n            \n            // this.setError('authError', false);\n\n            // if (!error) {\n                \n            newLookup.save().then(function(results){\n                // console.log(dup);\n                if(results.id != null) {\n                    _this.get('submit')(results.id);\n                } else {\n                    this.setError('isVisibleError',true);\n                    error = true;\n                }\n            }).catch(function(reason) {             \n                console.log(\"REASON: \" + reason);  \n                // _this.setError('isVisibleError',true);\n                // _this.setError('authError',true);\n            }); \n            \n        },\n\n    };\n}\n\n","import Controller from '@ember/controller';\nimport { computed, observer } from '@ember/object';\n\nexport default Ember.Controller.extend({\n    breadCrumbs: computed('model',{\n        get() {\n            let alert = this.get('model').alert;\n            \n            let obj = [\n                {\n                    label: \"Dashboard\",\n                    path: 'index'\n                },    \n            {\n                label: \"Alerts\",\n            }];\n            \n            if (alert != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Alerts\",\n                        path: 'alerts'\n                    },\n                    {\n                        label: alert.get('id'),\n                        path: 'edit-alert',\n                        model: alert.get('id'),\n                    }\n                ]\n            }\n            return obj;\n        }\n    }),\n    instrumentTypeName: computed('', function() {\n        // console.log(this.get('model').alert.instrument.get('instrumentType').title);\n        this.set('instType', this.get('model').alert.instrument.get('instrumentType'));\n        this.set('id',this.get('alert_id'));\n        return 'test';\n    }),\n    actions: {\n        saved() {\n            this.transitionToRoute('alerts');\n        },\n        setError(error,value) {\n            Ember.set(this, error, value);\n        },\n    },\n})\n","import Controller from '@ember/controller';\nimport { computed, observer } from '@ember/object';\n\nexport default Ember.Controller.extend({\n    breadCrumbs: computed('model',{\n        get() {\n            let alert = this.get('model').alert;\n            \n            let obj = [\n                {\n                    label: \"Dashboard\",\n                    path: 'index'\n                },    \n            {\n                label: \"Alerts\",\n            }];\n            \n            if (alert != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Alerts\",\n                        path: 'alerts'\n                    },\n                    {\n                        label: alert.get('id'),\n                        path: 'edit-gateway-alert',\n                        model: alert.get('id'),\n                    }\n                ]\n            }\n            return obj;\n        }\n    }),\n    gatewayTypeName: computed('', function() {\n        // console.log(this.get('model').alert.instrument.get('instrumentType').title);\n        this.set('gwType', this.get('model').alert.instrument.get('gwType'));\n        this.set('id',this.get('alert_id'));\n        return 'test';\n    }),\n    actions: {\n        saved() {\n            this.transitionToRoute('alerts');\n        },\n        setError(error,value) {\n            Ember.set(this, error, value);\n        },\n    },\n})\n","import Controller from '@ember/controller';\nimport { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default Ember.Controller.extend({\n    session: service(),\n    queryParams: ['parentGateway'],\n\n    init() {\n        this._super(...arguments);\n        // Check if there's a parentGateway in the query params\n        const queryParamParentGateway = this.parentGateway;\n        if (queryParamParentGateway) {\n            // If so, save it to localStorage\n            window.localStorage.setItem('parentGateway', queryParamParentGateway);\n        } else {\n            // If not, try to load it from localStorage\n            const storedParentGateway = window.localStorage.getItem('parentGateway');\n            if (storedParentGateway) {\n                // If found, set it to the controller's property\n                this.set('parentGateway', storedParentGateway);\n            }\n        }\n    },\n    parentGateway: computed({\n        get() {\n            return this._parentGateway;\n        },\n        set(key, value) {\n            // Save to localStorage whenever it's updated\n            window.localStorage.setItem('parentGateway', value);\n            this._parentGateway = value;\n            return value;\n        }\n    }),\n    \n    breadCrumbs: computed('model',{\n        get() {\n        let gateway = this.get('model').gateway;\n        \n        let obj = [{\n            label: \"Gateway\",\n        }];\n\n            if (gateway != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Gateway\",\n                        path: 'gateway'\n                    },\n                    {\n                        label: gateway.get('id'),\n                        path: 'edit-gateway',\n                        model: gateway.get('id'),\n                    }\n                ]\n            }\n            return obj;\n        }\n    }),\n    \n    gatewayTypeLabel: Ember.computed('model.gateway.gatewayType', function() {\n        // console.log(\"Model:\")\n        let modelTemp = this.get('model')\n\n        // console.log('model: ')\n        // console.log(this.parentGateway)\n\n        let gatewayType = this.get('model.gateway.gatewayType');\n        // console.log(\"gatewayType::: \" + gatewayType.title);\n        if(gatewayType == null){\n            return \"Gateway\";\n        }\n        if( gatewayType.title == 'Blu900' ) {\n            return \"Node\";\n        }\n        return 'Gateway';\n    }),\n\n    hasGraphs: computed('', {\n        get() {\n            if (this.getPerms() != undefined){\n                return ('graphing' in this.getPerms() && this.getPerms()['graphing'] == true);\n            }\n        }\n    }),\n    hasAlerts: computed('', {\n        get() {\n            if (this.getPerms() != undefined){\n                return ('alerts' in this.getPerms() && this.getPerms()['alerts'] == true);\n            }\n        }\n    }),\n    getPerms: function() {\n        let perms = null;\n        try{\n            perms = this.session.data.authenticated.modules;\n        } catch {}\n        return perms;\n    },\n    actions: {\n        viewData(id) {\n            this.transitionToRoute('raw-gateway-data', id);\n        },\n        tGraph(id, chart) {\n            this.transitionToRoute('temporal-gateway-graphs.temporal-gateway-graph', id, { queryParams: { \"chart\":chart, \"start_timestamp\": null, \"end_timestamp\": null }});\n        },\n        saveToLocalStorage() {\n          // 'this.parentGateway' is the value you want to store\n          window.localStorage.setItem('parentGateway', this.parentGateway);\n        },   \n        loadFromLocalStorage() {\n            let parentGateway = window.localStorage.getItem('parentGateway');\n            if (parentGateway) {\n              this.set('parentGateway', parentGateway);\n            }\n        }\n    }\n});\n","import Controller from '@ember/controller';\nimport { computed } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default Ember.Controller.extend({\n    session: service(),\n    breadCrumbs: computed('model',{\n        get() {\n            let instrument = this.get('model').instrument;\n            \n            let obj = [{\n                label: \"Instruments\",\n            }];\n            \n            if (instrument != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Instruments\",\n                        path: 'instruments'\n                    },\n                    {\n                        label: instrument.get('id'),\n                        path: 'edit-instrument',\n                        model: instrument.get('id'),\n                    }\n                ]\n            }\n            return obj;\n        }\n    }),\n    hasGraphs: computed('', {\n        get() {\n            if (this.getPerms() != undefined){\n                return ('graphing' in this.getPerms() && this.getPerms()['graphing'] == true);\n            }\n        }\n    }),\n    hasAlerts: computed('', {\n        get() {\n            if (this.getPerms() != undefined){\n                return ('alerts' in this.getPerms() && this.getPerms()['alerts'] == true);\n            }\n        }\n    }),\n    getPerms: function() {\n        let perms = null;\n        try{\n            perms = this.session.data.authenticated.modules;\n        } catch {}\n        return perms;\n    },\n    ports: Ember.computed('instrument', function() {\n        let channelsNum = null;\n        try{\n            channelsNum = this.get('model').instrument.channelsNum;\n            channelsNum = parseInt(channelsNum/2);\n        } catch (ex) {\n            channelsNum = 1;\n\n        }\n        \n        let numberOfPorts = [];\n        for(let channel = 1 ; channel <= channelsNum; channel++){\n            numberOfPorts.push({\"channel\": channel, \"title\": \"Port: \" + channel, route:\"edit-instrument\"});\n        }\n        console.log(JSON.stringify(numberOfPorts));\n        //this.ports = numberOfPorts;\n        return numberOfPorts;\n    }),    \n\n    actions: {\n        selectProperty(value){\n            let inst = this.get('model').instrument;\n            let prop = inst.get('vwproperty').toArray()[0];\n            console.log(\"prop::: \" + prop.get('port'));\n            let model = this.get('vwModels').findBy('id', this.get('selectedModel'));\n            let vendor = this.get('vwVendors').findBy('id', this.get('selectedVendor'));\n            let serial = this.get('serial');\n        },\n\n        viewData(id) {\n            this.transitionToRoute('raw-data', id);\n        },\n        tGraph(id, chart) {\n            this.transitionToRoute('temporal-graphs.temporal-graph', id, chart);\n        },\n        sGraph(id, chart) {\n            this.transitionToRoute('spatial-graphs.spatial-graph', id, chart);\n        },\n        fGraph(id, chart) {\n            this.transitionToRoute('frequency-graphs.frequency-graph', id, chart);\n        },\n    }\n});\n","import Controller from '@ember/controller';\nimport { computed, observer } from '@ember/object';\n\nexport default Ember.Controller.extend({\n    breadCrumbs: computed('model',{\n        get() {\n            let alert = this.get('model').alert;\n            \n            let obj = [\n                {\n                    label: \"Dashboard\",\n                    path: 'index'\n                },    \n            {\n                label: \"Alerts\",\n            }];\n            \n            if (alert != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Alerts\",\n                        path: 'alerts'\n                    },\n                    {\n                        label: alert.get('id'),\n                        path: 'edit-alert',\n                        model: alert.get('id'),\n                    }\n                ]\n            }\n            return obj;\n        }\n    }),\n    instrumentTypeName: computed('', function() {\n        // console.log(this.get('model').alert.instrument.get('instrumentType').title);\n        this.set('instType', this.get('model').alert.instrument.get('instrumentType'));\n        this.set('id',this.get('alert_id'));\n        return 'test';\n    }),\n    actions: {\n        saved() {\n            this.transitionToRoute('alerts');\n        },\n        setError(error,value) {\n            Ember.set(this, error, value);\n        },\n    },\n})\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    xyRangeObj:{},\n    router: Ember.inject.service(),\n    instrumentId: null,\n    instrumentType: null,\n    instrumentTypeId: null,\n    name: null,\n    location: null,\n    level: null,\n    borehole: null,\n    project: null,\n    modelName: null,\n    activeInstrumentMeta: null,\n    frequencyGraphController: Ember.inject.controller(\"frequency-graphs/frequency-graph\"),\n    //eventType: null,\n    //blastType: null,\n    //seismicType: null,\n    chartDataValueName: null,\n    frequency: null,\n    chartData: null,\n    chart: null,\n    chartDataPoints: null,\n    adjust_scales: false,\n    auto_scale: true,\n    x_min: null,\n    x_max: null,\n    x_min_old: null,\n    x_max_old: null,\n    x_min_auto: null,\n    x_max_auto: null,\n    y_min: null,\n    y_max: null,\n    y_min_old: null,\n    y_max_old: null,\n    y_min_auto: null,\n    y_max_auto: null,\n    auto_scale_2: true,\n    y_min_2: null,\n    y_max_2: null,\n    y_min_old_2: null,\n    y_max_old_2: null,\n    y_min_auto_2: null,\n    y_max_auto_2: null,\n    lastClick: null,\n    instrumentAnchors: {},\n    instrumentAnchorsSorting: ['number'],\n    chart_type: null,\n    log_frequency: false,\n    display_records: null,\n\n    breadCrumbs: Ember.computed(\"instrumentId\", {\n        get() {\n            let chart = this.get('chartDataValueName');\n            let mName = this.get('modelName');\n            let instID = this.get('instrumentId');\n            let instrument = this.get('content').instrument;\n            let chart_type = this.get('chart_type');\n            if(chart_type != null) {\n                chart = chart_type.toUpperCase();\n            }\n            \n            let obj = null\n            // console.log(\"chart::: \"  + chart)\n            if (instrument != null && instID == null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Instruments\",\n                        path: 'instruments'\n                    },\n                    {\n                        label: instrument.query,\n                        path: 'edit-instrument',\n                        model: instrument.query,\n                    }\n                ]\n            }\n\n            if (instID != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Instruments\",\n                        path: 'instruments'\n                    },\n                    {\n                        label: instID,\n                        path: 'edit-instrument',\n                        model: instID,\n                    },\n                    {\n                        label: chart + \" vs. Frequency\"  + \" Graph\",\n                        path: \"frequency-graphs.frequency-graph\",\n                        model: instID,\n                        model: mName\n                    },\n                ];\n            }\n            return obj;\n        }\n    }),\n\n    chartChanged: Ember.observer('chart', function() {\n        // console.log(\"chartChanged triggered!!\")\n        //Adapter for advanced filter\n        let xyRangeValues={}; \n        var chart = this.get('chart');\n        var yDomain = chart.yAxis.scale().domain();\n        var xDomain = chart.xAxis.scale().domain();\n        this.set('x_min_auto',xDomain[0].toFixed(2));\n        this.set('x_max_auto',xDomain[1].toFixed(2));\n        this.set('x_min',xDomain[0].toFixed(2));\n        this.set('x_max',xDomain[1].toFixed(2));\n        this.set('x_min_old',null);\n        this.set('x_max_old',null);\n\n        this.set('y_min_auto',yDomain[0].toFixed(2));\n        this.set('y_max_auto',yDomain[1].toFixed(2));\n        this.set('y_min',yDomain[0].toFixed(2));\n        this.set('y_max',yDomain[1].toFixed(2));\n        this.set('y_min_old',null);\n        this.set('y_max_old',null);\n        /*         \n        var domain = chart.y2Axis.scale().domain();\n        this.set('y_min_auto_2',domain[0].toFixed(1));\n        this.set('y_max_auto_2',domain[1].toFixed(1));\n        this.set('y_min_2',domain[0].toFixed(1));\n        this.set('y_max_2',domain[1].toFixed(1));\n        this.set('y_min_old_2',null);\n        this.set('y_max_old_2',null);\n        */    \n    }),\n\n    xValueChanged: Ember.observer('x_min','x_max', function() {\n        var chart = this.get('chart');\n        chart.xDomain([this.get('x_min'),this.get('x_max')]);\n        try{\n            chart.update();\n        }\n        catch(error){\n            console.error(\"There is a timing issue with the valueChanged observer. This tends to fix itself afterloading.\");\n            console.error(error)\n        }\n    }),\n    valueChanged: Ember.observer('y_min','y_max', function() {\n        var chart = this.get('chart');\n        //var points = this.get('chartDataPoints');\n        //console.log(\"custom axis\");\n        chart.yDomain([this.get('y_min'),this.get('y_max')]);\n        //chart.yScale(10);\n        try{\n            chart.update();\n        }\n        catch(error){\n            console.error(\"There is a timing issue with the valueChanged observer. This tends to fix itself afterloading.\");\n            console.error(error)\n        }\n    }),\n\n    autoScaleChanged: Ember.observer('auto_scale', function() {\n        if (this.auto_scale) {\n            this.set('y_min_old', this.y_min);\n            this.set('y_max_old', this.y_max);\n            this.set('y_min',this.get('y_min_auto'));\n            this.set('y_max',this.get('y_max_auto'));\n            this.set('x_min_old', this.x_min);\n            this.set('x_max_old', this.x_max);\n            this.set('x_min',this.get('x_min_auto'));\n            this.set('x_max',this.get('x_max_auto'));\n        } else {\n            if (this.get('y_min_old') != null) {\n                this.set('y_min', this.y_min_old);\n                this.set('y_max',this.y_max_old);    \n            }\n            if (this.get('x_min_old') != null) {\n                this.set('x_min', this.x_min_old);\n                this.set('x_max',this.x_max_old);    \n            }\n        }\n    }),\n\n/*     valueChanged2: Ember.observer('y_min_2','y_max_2', function() {\n        var chart = this.get('chart');\n        //var points = this.get('chartDataPoints');\n        //console.log(\"custom axis\");\n        chart.yDomain2([this.get('y_min_2'),this.get('y_max_2')]);\n        //chart.yScale(10);\n        chart.update();\n    }),\n\n    autoScaleChanged2: Ember.observer('auto_scale_2', function() {\n        if (this.auto_scale_2) {\n            this.set('y_min_old_2', this.y_min_2);\n            this.set('y_max_old_2', this.y_max_2);\n            this.set('y_min_2',this.get('y_min_auto_2'));\n            this.set('y_max_2',this.get('y_max_auto_2'));\n        } else {\n            if (this.get('y_min_old_2') != null) {\n                this.set('y_min_2', this.y_min_old_2);\n                this.set('y_max_2',this.y_max_old_2);    \n            }\n        }\n    }),\n */\n    // isThermo: Ember.computed('instrumentType', function() {\n    //     //console.log(this.instrumentType);\n    //     if (this.instrumentType === 'Thermostring') {\n    //         return true;\n    //     }\n    //     return false;\n    // }),\n    // isWire: Ember.computed('instrumentType', function() {\n    //     //console.log(this.instrumentType);\n    //     return (this.instrumentType === 'Wire');\n    // }),\n\n    getInstrumentObject: function() {\n        return this.get(\"instruments\");\n    },\n    displayData: Ember.computed('instrumentId', function() {\n        if (this.instrumentId !== null) {\n            return true;\n        } else {\n            return false;\n        }\n    }),\n\n    details: Ember.computed('name', 'project', 'location', 'level', 'borehole', 'instrumentId', function() {\n        var detailString = \"\";\n        let projectId = this.get('project'); // Assuming project has an 'id' field\n        let projectName = this.get('project.name'); // Assuming project has a 'name' field\n        \n        let levelId = this.get('level.id'); // Assuming level has an 'id' field\n        let levelName = this.get('level.name'); // Assuming level has a 'name' field\n        let badCodes = ['null', 'undefined', ''];\n        \n        if (this.instrumentId !== null) {\n            if (!badCodes.includes(projectName) && projectName != null && projectName != undefined) {\n                // console.log(\"::::::::::::in projectId\")\n                detailString += projectName + ' / ';\n            }\n            \n            if ( !badCodes.includes(this.get('location')) ) {\n                // console.log(\"::::::::::::in location\")\n                detailString += this.get('location') + ' / ';\n            }\n            \n            if (!badCodes.includes(levelName) && levelName != null && levelName != undefined) {\n                // console.log(\"::::::::::::in levelId\")\n                detailString += levelName + ' / ';\n            }\n            \n            if (!badCodes.includes(this.get('borehole')) ) {\n                // console.log(\"::::::::::::in borehole\")\n                detailString += this.get('borehole') + ' / ';\n            }\n                \n            if (detailString !== \"\" && detailString != 'Details:  /') {\n                detailString = detailString.substr(0, detailString.length - 3);\n            }\n        }\n        // console.log(\"::::::::::::Detail String: \" + detailString)\n        return detailString;\n    }),\n\n    bluVibe: Ember.computed('instrumentType', function() {\n        if(this.instrumentType==='BluVibe') {\n            return true;\n        }\n        return false;\n    }),\n    //--------------------------------------\n\n    instrumentAnchorsSorted: Ember.computed.sort('instrumentAnchors', 'instrumentAnchorsSorting'),\n    refHeadPosition: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['ref-head-position'];\n    }),\n    rawData: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['raw'];\n    }),\n    timeRef: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['zeroed'];\n    }),\n    flipSigns: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['flip-signs'];\n    }),\n    allInstruments: Ember.computed.filter('model.instruments', function(instrument) {\n        //return true;\n        if (instrument.get('anchorCount') > 0) {\n            return true;\n        }\n    }),\n    instruments: Ember.computed.map('allInstruments', function(instrument) {\n        return {\n            title: instrument.get('id'),\n            value: instrument.get('id')\n        };\n    }),\n    // needed for filtered select list to be able to set active instrument on page reload\n    initialInstrumentSelection: Ember.computed('instruments', 'instrumentId', function () {\n\n        var id = this.get('instrumentId');\n        \n        if(id != null) {\n            writeCookie('instrumentId', id, 0.02);\n        }\n\n        return this.get('instruments').findBy('title', this.get('instrumentId'));\n    }),\n    actions: {\n\n        updateNav(licence) {\n            let modules = licence.modules;\n            if(licence.isValid) {\n                if(licence.withinLimit) {\n                    if(!modules.temporal) {\n                        document.getElementById(\"temp-link\").style.display = \"none\";\n                        document.getElementById(\"licence-error-module\").style.display = \"block\";\n                    } else {\n                        document.getElementById(\"temp-link\").style.display = \"block\";\n                    }\n                    if(!modules.spatial) {\n                        document.getElementById(\"spat-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"spat-link\").style.display = \"block\";\n                    }\n                    if(!modules.frequency) {\n                        document.getElementById(\"freq-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"freq-link\").style.display = \"block\";\n                    }\n                    if(!modules.alerts) {\n                        document.getElementById(\"alert-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"alert-link\").style.display = \"block\";\n                    }\n        \n                    document.getElementById(\"licence-error-instruments\").style.display = \"none\";\n                } else {\n                    document.getElementById(\"licence-error-instruments\").style.display = \"block\";\n                }    \n                document.getElementById(\"licence-error-expired\").style.display = \"none\";\n            } else {\n                document.getElementById(\"licence-error-expired\").style.display = \"block\";\n            }\n        },\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            }\n        },\n        toggleProperty(property) {\n            this.get('frequencyGraphController').send('toggleProperty', property);\n        },\n        toggleLocalProperty(property) {\n            if ( this.get(property) === null ) {\n                this.set(property, true);\n            } else if(this.get(property) === false ) {\n                this.set(property, true);\n            } else {\n                this.set(property, null);\n            }\n        },\n        onUpdateTransitionTo(selection) {\n            // console.log(\"selection: \" + selection.value)\n            if (this.get('modelName') == null || this.get('modelName') == '') {\n                this.set('modelName', 'displacement-values');\n            }\n            this.RouterService.transitionTo('frequency-graphs.frequency-graph', selection.value, this.get('modelName'));\n        },\n        setChart(chart) {\n            this.set('chart',chart);\n        },\n        setData(data) {\n            this.set('chartDataPoints', data);\n        },\n        selectTemps() {\n            let lastClick = this.get('lastClick');\n            if (lastClick === null || lastClick !== \"temp\") {\n                let chart = this.get('chart');\n                let points = this.get('chartDataPoints');\n                if (chart !== null) {\n                    for (let ctr = 0; ctr < points.length - 2; ctr++) {\n                        if (ctr % 2 === 0) {\n                            if (!points[ctr + 1].disabled) {\n                                points[ctr].disabled = false;\n                                points[ctr].userDisabled = false;\n                            }\n                        } else {\n                            points[ctr].disabled = true;\n                            points[ctr].userDisabled = true;\n                        }\n                    }\n                    chart.update();\n                }\n                this.set('lastClick', 'temp');\n            }\n        },\n        selectReadings() {\n            let lastClick = this.get('lastClick');\n            if (lastClick === null || lastClick !== \"vals\") {\n                let chart = this.get('chart');\n                let points = this.get('chartDataPoints');\n                if (chart !== null) {\n                    for (let ctr = points.length - 2; ctr >= 0; ctr--) {\n                        if (ctr % 2 === 0) {\n                            points[ctr].disabled = true;\n                            points[ctr].userDisabled = true;\n                        } else {\n                            if (!points[ctr - 1].disabled) {\n                                points[ctr].disabled = false;\n                                points[ctr].userDisabled = false;\n                            }\n                        }\n                    }\n                    chart.update();\n                }\n                this.set('lastClick', 'vals');\n            }\n        }\n    },\n    activate: function() {\n        var id = this.get('instrumentId');\n        var inst = null;\n\n        if(id == null) {\n            id = readCookie('instrumentId');\n            if(id !== \"\") {\n                Ember.run.scheduleOnce('afterRender', this, function() {\n                    //console.log(\"running re-load\");\n                    this.RouterService.transitionTo('frequency-graphs.frequency-graph', id, this.get('modelName'));\n                    });\n            }\n        } else {\n            writeCookie('instrumentId', id, 1);\n        }\n    }\n});\n\nfunction writeCookie(name,value,days) {\n    var date, expires;\n    if (days) {\n        date = new Date();\n        date.setTime(date.getTime()+(days*24*60*60*1000));\n        expires = \"; expires=\" + date.toGMTString();\n            }else{\n        expires = \"\";\n    }\n    document.cookie = name + \"=\" + value + expires + \"; path=/\";\n}\n\nfunction readCookie(name) {\n    var i, c, ca, nameEQ = name + \"=\";\n    ca = document.cookie.split(';');\n    for(i=0;i < ca.length;i++) {\n        c = ca[i];\n        while (c.charAt(0)===' ') {\n            c = c.substring(1,c.length);\n        }\n        if (c.indexOf(nameEQ) === 0) {\n            return c.substring(nameEQ.length,c.length);\n        }\n    }\n    return '';\n}\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    queryParams: [\n        'start_timestamp',\n        'end_timestamp',\n        'num_points_requested',\n        'ref_head_position',\n        'ref_anchor',\n        'zeroed',\n        'flip_signs',\n        'event_type',\n        'blast_type',\n        'seismic_type',\n        'frequency',\n        'chart_type',\n        'display_records',\n        'raw',\n    ],\n    start_timestamp: null,\n    end_timestamp: null,\n    num_points_requested: 300,\n    ref_head_position: \"\",\n    ref_anchor: \"0\",\n    zeroed: true,\n    modelName: null,\n    flip_signs: null,\n    //event_type: null,\n    //blast_type: null,\n    //seismic_type: null,\n    frequency: null,\n    chart: null,\n    chart_type: 'frequency',\n    display_records: 1,\n    raw: false,\n    actions: {\n        setData(data) {\n            this.send('setDataR',data);\n        },\n        setChart(chart) {\n            this.send('setChartR',chart);\n        },\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            }\n        },\n        getQueryParams(variable) {\n            return this.get(variable);\n        },\n        toggleProperty(property) {\n            if ( this.get(property) === null ) {\n                this.set(property, true);\n            } else if(this.get(property) === false ) {\n                this.set(property, true);\n            } else {\n                this.set(property, false);\n            }\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    page_size: 20,\n    page: 1,\n    search: null,\n    breadCrumbs: [\n        {\n            label: \"Dashboard\",\n            path: 'index'\n        },\n        {\n        label: \"Gateway\",\n        path: 'gateway'\n    }],\n    actions: {\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        refreshRoute() {\n            // Trigger the action in the route\n            this.send('refreshModel');\n        },\n        \n    }\n});\n","import Ember from 'ember';\nimport { on } from '@ember/object/evented';\n\nexport default Ember.Controller.extend({\n    _my_init: on('init', function() {\n        Ember.run.scheduleOnce('afterRender', this, function() {\n            //console.log(this.get('model'));\n        });\n    }),\n    store: Ember.inject.service(),\n    queryParams: ['page', 'page_size', 'ordering', 'search', 'searchTgt'],\n    page_size: 20,\n    instrumentsMeta: null,\n    ordering: null,\n    search: null,\n    searchTgt: null,\n    page: 1,\n    lat: 40.574706,\n    lng: -112.178131,\n    zoom: 12,\n    mapBounds: Ember.computed(function() {\n        return [[40.574706, -112.178131],[40.492465, -112.099509]];\n    }),\n    actions: {\n        sortByA(property) {\n            this.set('ordering', \"a:\" + property);\n        },\n        sortByI(property) {\n            this.set('ordering', \"i:\" + property);\n        },\n        sortByG(property) {\n            this.set('ordering', \"g:\" + property);\n            // console.log(\"Property::: \" + property)\n        },\n    }\n})\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    page_size: 20,\n    page: 1,\n    search: null,\n    breadCrumbs: [\n        {\n            label: \"Dashboard\",\n            path: 'index'\n        },\n        {\n        label: \"Instruments\",\n        path: 'instruments'\n    }],\n    actions: {\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n    }\n});\n","import Controller from '@ember/controller';\nimport { inject as service } from '@ember/service';\nimport { action } from \"@ember/object\";\nimport { tracked } from \"@glimmer/tracking\";\n\nexport default class KeysController extends Controller{\n    isRowDeleteConfirmationDialog = {};\n\n    @action\n    updateActive(theModel) {\n        let valid = {};\n        let active = {};\n        let ctr = 0;\n        let tooltip = {};\n\n        theModel.licenceKeys.forEach(function(theItem){\n            valid[theItem.id] = theItem.isValidKey;\n            let count = theItem.numInst;\n            let modules = theItem.modules;\n            tooltip[theItem.id] = \"\";\n            active[theItem.id] = false;\n            //console.log(modules);\n            for (var key in modules) {\n                var type = typeof modules[key];\n                if(type === \"boolean\") {\n                    if(modules[key]) {\n                        active[theItem.id] = true;\n                        tooltip[theItem.id] += capitalizeFirstLetter(key) + \"\\n\";\n                    }\n                } else {\n                    for (var key2 in modules[key]) {\n                        if(modules[key][key2]) {\n                            active[theItem.id] = true;\n                            tooltip[theItem.id] += capitalizeFirstLetter(key2) + \" \" + capitalizeFirstLetter(key) + \"\\n\";\n                        }\n                    }\n                }\n            }\n        });\n        this.set('activeKeys',valid);\n        this.set('activeModules',active);\n        this.set('tooltip',tooltip);\n    }\n\n    @action\n    remove(model, object) {\n        let _this = this;\n        let _store = this.get('store');\n        object.deleteRecord();\n\n        object.save().then(function(){                    \n            object.unloadRecord();\n        }).catch(function(reason){\n            let status = reason.errors[0].status;\n\n            if (status == 403) {\n                errBox.hidden = false;\n            };\n        });        \n    }\n\n    @action\n    toggleRowDeleteConfirmationDialog(id) {\n        let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n        Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row    \n    }\n}\n\nfunction capitalizeFirstLetter(string) {\n    return string.charAt(0).toUpperCase() + string.slice(1);\n}\n","import Controller from '@ember/controller';\nimport { inject as service } from '@ember/service';\nimport { action } from \"@ember/object\";\nimport { tracked } from \"@glimmer/tracking\";\n\n\nexport default class ListLookupController extends Controller{\n\n    @service router;  \n    @service session;\n\n\n    isRowDeleteConfirmationDialog = {};\n    lookups = [];    \n    classNameBindings = ['editingId:active-cell-values-inline-edit'];\n    // isEditing = false;\n    rdcd = {}\n    \n    editingId = null;\n\n\n    @action\n    startEditing(lookupId, lookup) {\n        console.log(\"startEditing: editingId: \" + lookupId);\n        this.set('editingId',lookupId);\n    }\n    \n    @action\n    stopEditing(lookupId) {\n        console.log(\"stopEditing: editingId: \" + lookupId);\n        this.set('editingId',null);\n    }\n        \n\n    licenceIsValid = Ember.computed('',function() {\n        let valid = false;\n        try {\n            valid = this.session.data.authenticated.isValid;\n        } catch {}\n        return valid;\n    });\n    \n    setRDCD(value) {\n        let rdcd = this.get('isRowDeleteConfirmationDialog');\n        rdcd[value[0]] = value[1];\n        console.log(this.rdcd);\n\n        this.set('isRowDeleteConfirmationDialog', rdcd);\n        this.notifyPropertyChange('isRowDeleteConfirmationDialog');\n    };\n\n    @action\n    createLookup() {\n        console.log(\"create lookup\");\n        this.router.transitionTo('create-lookup');  // Directly use service\n    }\n    \n    @action\n    updateActive(model) {    \n        model.lookups.forEach(function(item){\n            console.log(\"Item: \" + JSON.stringify(item));\n        });\n    }\n\n    @action\n    toggleRowDeleteConfirmationDialog(id){\n        let list = this.get('isRowDeleteConfirmationDialog');\n        let value = list[id] ? false : true;\n        this.setRDCD([id,value]);\n        //this.set('isRowDeleteConfirmationDialog', list); //update isVisibleRowDetails variable for each single row\n        //this.notifyPropertyChange('isRowDeleteConfirmationDialog');\n    }\n    \n    @action \n    save(lookupId, lookup){\n        let _this = this;\n        let _store = this.get('store');\n        lookup.save().then(function(){\n            console.log(\"Saved\")\n            _this.set('editingId', null);\n        }).catch(function(reason){\n            _this.set('editingId', null);\n            let status = reason.errors[0].status;\n            console.log(\"status: \" + status);\n            if (status == 403){\n                errBox.hidden = false;\n            }\n        });\n    }\n\n    @action\n    remove(object) {\n        console.log(\"removing record:\")\n        let _this = this;\n        let _store = this.get('store');\n        object.deleteRecord();\n\n        object.save().then(function(){                    \n            object.unloadRecord();\n        }).catch(function(reason){\n            let status = reason.errors[0].status;\n            console.log(\"status: \" + status);\n            if (status == 403) {\n                errBox.hidden = false;\n            };\n        });        \n    }\n}\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    page_size: 20,\n    page: 1,\n    search: null,\n    breadCrumbs: [\n        {\n            label: \"Dashboard\",\n            path: 'index'\n        },\n        {\n        label: \"Log Viewer\",\n        path: 'log-viewer'\n    }],\n    actions: {\n        sortBy(property) {\n            this.set('ordering', property);\n        },\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        refreshRoute() {\n            // Trigger the action in the route\n            this.send('refreshModel');\n        },\n    }\n});\n","// app/controllers/login.js\nimport Controller from '@ember/controller';\nimport { inject as service } from '@ember/service';\nimport { action } from \"@ember/object\";\nimport { tracked } from \"@glimmer/tracking\";\n\nexport default class LoginController extends Controller {\n  @tracked errorMessage;\n  @tracked username;\n  @tracked password;\n\n  @service session;\n\n  loading = false;\n\n  @action\n  dothing() {\n    //let model = this.get('model');\n    //console.log('pew');\n\n  }\n\n  @action\n  async authenticate(e) {\n    e.preventDefault();\n    let { identification, password } = this;\n    this.errorMessage = \"\";\n    //console.log('clicked');\n    try {\n      await this.session.authenticate('authenticator:myauth', [identification,  password]);\n    } catch(error) {\n      //console.log('error');\n      this.errorMessage = error.error || error;\n    }\n\n    if (this.session.isAuthenticated) {\n      this.set('loading', true);\n      this.session.handleAuthentication();\n    }\n  }\n\n  @action\n  updateIdentification(e) {\n    this.identification = e.target.value;\n  }\n\n  @action\n  updatePassword(e) {\n    this.password = e.target.value;\n  }\n}\n\n\n// export default Controller.extend({\n//   errorMessage: tracked(),\n//   session: service(),\n \n//   actions: {\n//     async authenticate(e) {\n//       e.preventDefault();\n//       let { identification, password } = this.getProperties('identification', 'password');\n//       this.get('session').authenticate('authenticator:oauth2', identification, password).catch((reason) => {\n//         this.set('errorMessage', reason.error || reason);\n//       });\n\n//       if (this.get('session').isAuthenticated) {\n//         console.log(\"success!\");\n//       }\n//     }\n//   }\n// });\n","import Controller from '@ember/controller';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class ApplicationController extends Controller {\n  @tracked tasks = [];\n\n  addTask(taskName) {\n    this.tasks.pushObject({\n      name: taskName,\n      percentage: 0\n    });\n  }\n\n  updateTask(taskName, percentage) {\n    let task = this.tasks.findBy('name', taskName);\n    if (task) {\n      task.percentage = percentage;\n    }\n  }\n\n  removeTask(taskName) {\n    let task = this.tasks.findBy('name', taskName);\n    if (task) {\n      this.tasks.removeObject(task);\n    }\n  }\n\n  async updateTaskStatus(taskId) {\n    let response = await fetch(`/api/task-status/${taskId}`);\n    let { percentage, status } = await response.json();\n    \n    // Assuming you have a method to update the task percentage\n    this.updateTask(taskId, percentage);\n    \n    if (status !== 'completed') {\n      // If the task is not completed, poll again after a delay\n      setTimeout(() => this.updateTaskStatus(taskId), 2000);\n    }\n  }\n\n\n}\n\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    isVisibleExportDataForm: false,\n    isVisibleImportDataForm: false,\n    displacementValuesMeta: null,\n    permissionError: false,\n    linear: false,\n    calib: false,\n    depth: false,\n    port_number:1,\n    \n    breadCrumbs: Ember.computed('model', {\n        get() {\n            let instrument = this.get('model').instrument;\n            \n            let obj = null\n\n            if (instrument != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Instruments\",\n                        path: 'instruments'\n                    },\n                    {\n                        label: instrument.id,\n                        path: 'edit-instrument',\n                        model: instrument.id,\n                    },\n                    {\n                        label: \"Raw Data\",\n                        path: 'raw-data',\n                        model: instrument.id,\n                    }\n                ]\n            }\n            return obj;\n        }\n    }),\n    hasPorts: Ember.computed('instrument', function() {\n        let channelsNum = this.get('model').instrument.channelsNum;\n        channelsNum = parseInt(channelsNum/2);\n        let hasPorts = false;\n        if(channelsNum > 1){\n            hasPorts = true;\n        } else {\n            hasPorts = false;\n        }\n        return hasPorts;\n    }),\n    ports: Ember.computed('instrument', function() {\n        let channelsNum = this.get('model').instrument.channelsNum;\n        channelsNum = parseInt(channelsNum/2);\n        let numberOfPorts = [];\n        for(let channel = 1 ; channel <= channelsNum; channel++){\n            numberOfPorts.push({\"channel\": channel});\n        }\n        // console.log(JSON.stringify(numberOfPorts));\n        return numberOfPorts;\n    }),    \n    linearData: Ember.computed('displacementValuesMeta', function() {\n        let linear = this.get('displacementValuesMeta')['linear'];\n        return linear;\n    }),\n    calibData: Ember.computed('displacementValuesMeta', function() {\n        let calib = this.get('displacementValuesMeta')['calib'];\n        return calib;\n    }),\n    depthData: Ember.computed('displacementValuesMeta', function() {\n        let depth = this.get('displacementValuesMeta')['depth'];\n        return depth;\n    }),\n    isWire: Ember.computed('model', function(instrument) {\n        let prop = this.get('model').instrument.get('instrumentType');\n        return prop.get(\"title\") === 'Wire';\n    }),\n    actions: {\n\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        toggleDataType(property) {\n            if (property == \"raw\"){\n                this.set(\"linear\", false);\n                this.set(\"calib\", false);\n                this.set(\"depth\", false);\n            } else if (property == \"linear\") {\n                this.set(\"linear\", true);\n                this.set(\"calib\", false);\n                this.set(\"depth\", false);\n            } else if (property == \"calib\") {\n                this.set(\"linear\", false);\n                this.set(\"calib\", true);\n                this.set(\"depth\", false);\n            } else {\n                this.set(\"linear\", false);\n                this.set(\"calib\", false);\n                this.set(\"depth\", true);\n            }\n        },\n        toggleProperty(property) {\n            // console.log(property);\n            // console.log(this.get(property));\n            if ( !this.get(property) ) {\n                this.set(property, true);\n            } else {\n                this.set(property, false);\n            }\n            //console.log(this.get(property));\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    queryParams: ['raw_parent_gateway'],\n\n    isVisibleExportDataForm: false,\n    isVisibleImportDataForm: false,\n    gatewayValuesMeta: null,\n    permissionError: false,\n    linear: false,\n    calib: false,\n    depth: false,\n    raw_parent_gateway: null,\n\n    breadCrumbs: Ember.computed('model', {\n        get() {\n            console.log(\"::::::::::::::::\")\n            let gateway = this.get('model').gateway;\n\n            let obj = null\n\n            if (gateway != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Gateway\",\n                        path: 'gateway'\n                    },\n                    {\n                        label: gateway.id,\n                        path: 'edit-gateway',\n                        model: gateway.id,\n                    },\n                    {\n                        label: \"Raw Data\",\n                        path: 'raw-gateway-data',\n                        model: gateway.id,\n                    }\n                ]\n            }\n            return obj;\n        }\n    }),\n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        toggleProperty(property) {\n            // console.log(property);\n            // console.log(this.get(property));\n            if ( !this.get(property) ) {\n                this.set(property, true);\n            } else {\n                this.set(property, false);\n            }\n            //console.log(this.get(property));\n        }\n    }\n});\n","import Ember from 'ember';\nimport { on } from '@ember/object/evented';\n\nexport default Ember.Controller.extend({\n\n    _my_init: on('init', function() {\n        Ember.run.scheduleOnce('afterRender', this, function() {\n            //this.send('updateNav',this.get('model').licence.content[0]._data);\n        });\n    }),\n    queryParams: ['page', 'page_size', 'ordering', 'search'],\n    page_size: 20,\n    eventsMeta: null,\n    ordering: null,\n    search: null,\n    isVisibleImportDataForm: null,\n    isVisibleRowDetails: {},\n    isRowDeleteConfirmationDialog: {},\n    isVisibleCreateNewForm: false,\n    permissionError: false,\n    \n    breadCrumbs: [\n        {\n            label: \"Dashboard\",\n            path: 'index'\n        },\n        {\n            label: \"Seismic Events\",\n            path: 'seismic-events'\n        },\n        \n    ],\n    \n    actions: {\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        vewRowDetails(id){\n            let curVal = this.get('isVisibleRowDetails')[id] ? false : true;\n            Ember.set(this.get('isVisibleRowDetails'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        toggleRowDeleteConfirmationDialog(id){\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        toggleProperty(property) {\n            //console.log('toggle property: ' + property);\n            if ( !this.get(property) ) {\n                this.set(property, true);\n            } else {\n                this.set(property, null);\n            }\n        },\n        remove(model, object){\n            let _this = this\n            object.deleteRecord();\n            object.get('isDeleted');\n            object.save().then(function(){\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                model.removeObject(object);\n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.send('updateProperty','permissionError', true);\n                }\n            });\n        },\n        sortBy(property) {\n            this.set('ordering', property);\n        }\n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    loading: false,\n    router: Ember.inject.service(),\n    authorized: Ember.computed('',function() {\n        let settings = this.get('model');\n        let auth = false;\n        settings.forEach(element => {\n            if (element['title'] == \"GOOGLE_API\") {\n                //console.log(element['value']);\n                if (element['value'] == 1) {\n                    //console.log('true');\n                    auth = true;\n                }\n            }\n        });\n        return auth;\n    }),\n    timeZones: [\n        {\n            id: 'Africa/Abidjan',\n            title: 'Africa/Abidjan'\n        },\n        {\n            id: 'Africa/Accra',\n            title: 'Africa/Accra'\n        },\n        {\n            id: 'Africa/Addis_Ababa',\n            title: 'Africa/Addis_Ababa'\n        },\n        {\n            id: 'Africa/Algiers',\n            title: 'Africa/Algiers'\n        },\n        {\n            id: 'Africa/Asmara',\n            title: 'Africa/Asmara'\n        },\n        {\n            id: 'Africa/Asmera',\n            title: 'Africa/Asmera'\n        },\n        {\n            id: 'Africa/Bamako',\n            title: 'Africa/Bamako'\n        },\n        {\n            id: 'Africa/Bangui',\n            title: 'Africa/Bangui'\n        },\n        {\n            id: 'Africa/Banjul',\n            title: 'Africa/Banjul'\n        },\n        {\n            id: 'Africa/Bissau',\n            title: 'Africa/Bissau'\n        },\n        {\n            id: 'Africa/Blantyre',\n            title: 'Africa/Blantyre'\n        },\n        {\n            id: 'Africa/Brazzaville',\n            title: 'Africa/Brazzaville'\n        },\n        {\n            id: 'Africa/Bujumbura',\n            title: 'Africa/Bujumbura'\n        },\n        {\n            id: 'Africa/Cairo',\n            title: 'Africa/Cairo'\n        },\n        {\n            id: 'Africa/Casablanca',\n            title: 'Africa/Casablanca'\n        },\n        {\n            id: 'Africa/Ceuta',\n            title: 'Africa/Ceuta'\n        },\n        {\n            id: 'Africa/Conakry',\n            title: 'Africa/Conakry'\n        },\n        {\n            id: 'Africa/Dakar',\n            title: 'Africa/Dakar'\n        },\n        {\n            id: 'Africa/Dar_es_Salaam',\n            title: 'Africa/Dar_es_Salaam'\n        },\n        {\n            id: 'Africa/Djibouti',\n            title: 'Africa/Djibouti'\n        },\n        {\n            id: 'Africa/Douala',\n            title: 'Africa/Douala'\n        },\n        {\n            id: 'Africa/El_Aaiun',\n            title: 'Africa/El_Aaiun'\n        },\n        {\n            id: 'Africa/Freetown',\n            title: 'Africa/Freetown'\n        },\n        {\n            id: 'Africa/Gaborone',\n            title: 'Africa/Gaborone'\n        },\n        {\n            id: 'Africa/Harare',\n            title: 'Africa/Harare'\n        },\n        {\n            id: 'Africa/Johannesburg',\n            title: 'Africa/Johannesburg'\n        },\n        {\n            id: 'Africa/Juba',\n            title: 'Africa/Juba'\n        },\n        {\n            id: 'Africa/Kampala',\n            title: 'Africa/Kampala'\n        },\n        {\n            id: 'Africa/Khartoum',\n            title: 'Africa/Khartoum'\n        },\n        {\n            id: 'Africa/Kigali',\n            title: 'Africa/Kigali'\n        },\n        {\n            id: 'Africa/Kinshasa',\n            title: 'Africa/Kinshasa'\n        },\n        {\n            id: 'Africa/Lagos',\n            title: 'Africa/Lagos'\n        },\n        {\n            id: 'Africa/Libreville',\n            title: 'Africa/Libreville'\n        },\n        {\n            id: 'Africa/Lome',\n            title: 'Africa/Lome'\n        },\n        {\n            id: 'Africa/Luanda',\n            title: 'Africa/Luanda'\n        },\n        {\n            id: 'Africa/Lubumbashi',\n            title: 'Africa/Lubumbashi'\n        },\n        {\n            id: 'Africa/Lusaka',\n            title: 'Africa/Lusaka'\n        },\n        {\n            id: 'Africa/Malabo',\n            title: 'Africa/Malabo'\n        },\n        {\n            id: 'Africa/Maputo',\n            title: 'Africa/Maputo'\n        },\n        {\n            id: 'Africa/Maseru',\n            title: 'Africa/Maseru'\n        },\n        {\n            id: 'Africa/Mbabane',\n            title: 'Africa/Mbabane'\n        },\n        {\n            id: 'Africa/Mogadishu',\n            title: 'Africa/Mogadishu'\n        },\n        {\n            id: 'Africa/Monrovia',\n            title: 'Africa/Monrovia'\n        },\n        {\n            id: 'Africa/Nairobi',\n            title: 'Africa/Nairobi'\n        },\n        {\n            id: 'Africa/Ndjamena',\n            title: 'Africa/Ndjamena'\n        },\n        {\n            id: 'Africa/Niamey',\n            title: 'Africa/Niamey'\n        },\n        {\n            id: 'Africa/Nouakchott',\n            title: 'Africa/Nouakchott'\n        },\n        {\n            id: 'Africa/Ouagadougou',\n            title: 'Africa/Ouagadougou'\n        },\n        {\n            id: 'Africa/Porto-Novo',\n            title: 'Africa/Porto-Novo'\n        },\n        {\n            id: 'Africa/Sao_Tome',\n            title: 'Africa/Sao_Tome'\n        },\n        {\n            id: 'Africa/Timbuktu',\n            title: 'Africa/Timbuktu'\n        },\n        {\n            id: 'Africa/Tripoli',\n            title: 'Africa/Tripoli'\n        },\n        {\n            id: 'Africa/Tunis',\n            title: 'Africa/Tunis'\n        },\n        {\n            id: 'Africa/Windhoek',\n            title: 'Africa/Windhoek'\n        },\n        {\n            id: 'America/Adak',\n            title: 'America/Adak'\n        },\n        {\n            id: 'America/Anchorage',\n            title: 'America/Anchorage'\n        },\n        {\n            id: 'America/Anguilla',\n            title: 'America/Anguilla'\n        },\n        {\n            id: 'America/Antigua',\n            title: 'America/Antigua'\n        },\n        {\n            id: 'America/Araguaina',\n            title: 'America/Araguaina'\n        },\n        {\n            id: 'America/Argentina/Buenos_Aires',\n            title: 'America/Argentina/Buenos_Aires'\n        },\n        {\n            id: 'America/Argentina/Catamarca',\n            title: 'America/Argentina/Catamarca'\n        },\n        {\n            id: 'America/Argentina/ComodRivadavia',\n            title: 'America/Argentina/ComodRivadavia'\n        },\n        {\n            id: 'America/Argentina/Cordoba',\n            title: 'America/Argentina/Cordoba'\n        },\n        {\n            id: 'America/Argentina/Jujuy',\n            title: 'America/Argentina/Jujuy'\n        },\n        {\n            id: 'America/Argentina/La_Rioja',\n            title: 'America/Argentina/La_Rioja'\n        },\n        {\n            id: 'America/Argentina/Mendoza',\n            title: 'America/Argentina/Mendoza'\n        },\n        {\n            id: 'America/Argentina/Rio_Gallegos',\n            title: 'America/Argentina/Rio_Gallegos'\n        },\n        {\n            id: 'America/Argentina/Salta',\n            title: 'America/Argentina/Salta'\n        },\n        {\n            id: 'America/Argentina/San_Juan',\n            title: 'America/Argentina/San_Juan'\n        },\n        {\n            id: 'America/Argentina/San_Luis',\n            title: 'America/Argentina/San_Luis'\n        },\n        {\n            id: 'America/Argentina/Tucuman',\n            title: 'America/Argentina/Tucuman'\n        },\n        {\n            id: 'America/Argentina/Ushuaia',\n            title: 'America/Argentina/Ushuaia'\n        },\n        {\n            id: 'America/Aruba',\n            title: 'America/Aruba'\n        },\n        {\n            id: 'America/Asuncion',\n            title: 'America/Asuncion'\n        },\n        {\n            id: 'America/Atikokan',\n            title: 'America/Atikokan'\n        },\n        {\n            id: 'America/Atka',\n            title: 'America/Atka'\n        },\n        {\n            id: 'America/Bahia',\n            title: 'America/Bahia'\n        },\n        {\n            id: 'America/Bahia_Banderas',\n            title: 'America/Bahia_Banderas'\n        },\n        {\n            id: 'America/Barbados',\n            title: 'America/Barbados'\n        },\n        {\n            id: 'America/Belem',\n            title: 'America/Belem'\n        },\n        {\n            id: 'America/Belize',\n            title: 'America/Belize'\n        },\n        {\n            id: 'America/Blanc-Sablon',\n            title: 'America/Blanc-Sablon'\n        },\n        {\n            id: 'America/Boa_Vista',\n            title: 'America/Boa_Vista'\n        },\n        {\n            id: 'America/Bogota',\n            title: 'America/Bogota'\n        },\n        {\n            id: 'America/Boise',\n            title: 'America/Boise'\n        },\n        {\n            id: 'America/Buenos_Aires',\n            title: 'America/Buenos_Aires'\n        },\n        {\n            id: 'America/Cambridge_Bay',\n            title: 'America/Cambridge_Bay'\n        },\n        {\n            id: 'America/Campo_Grande',\n            title: 'America/Campo_Grande'\n        },\n        {\n            id: 'America/Cancun',\n            title: 'America/Cancun'\n        },\n        {\n            id: 'America/Caracas',\n            title: 'America/Caracas'\n        },\n        {\n            id: 'America/Catamarca',\n            title: 'America/Catamarca'\n        },\n        {\n            id: 'America/Cayenne',\n            title: 'America/Cayenne'\n        },\n        {\n            id: 'America/Cayman',\n            title: 'America/Cayman'\n        },\n        {\n            id: 'America/Chicago',\n            title: 'America/Chicago'\n        },\n        {\n            id: 'America/Chihuahua',\n            title: 'America/Chihuahua'\n        },\n        {\n            id: 'America/Coral_Harbour',\n            title: 'America/Coral_Harbour'\n        },\n        {\n            id: 'America/Cordoba',\n            title: 'America/Cordoba'\n        },\n        {\n            id: 'America/Costa_Rica',\n            title: 'America/Costa_Rica'\n        },\n        {\n            id: 'America/Creston',\n            title: 'America/Creston'\n        },\n        {\n            id: 'America/Cuiaba',\n            title: 'America/Cuiaba'\n        },\n        {\n            id: 'America/Curacao',\n            title: 'America/Curacao'\n        },\n        {\n            id: 'America/Danmarkshavn',\n            title: 'America/Danmarkshavn'\n        },\n        {\n            id: 'America/Dawson',\n            title: 'America/Dawson'\n        },\n        {\n            id: 'America/Dawson_Creek',\n            title: 'America/Dawson_Creek'\n        },\n        {\n            id: 'America/Denver',\n            title: 'America/Denver'\n        },\n        {\n            id: 'America/Detroit',\n            title: 'America/Detroit'\n        },\n        {\n            id: 'America/Dominica',\n            title: 'America/Dominica'\n        },\n        {\n            id: 'America/Edmonton',\n            title: 'America/Edmonton'\n        },\n        {\n            id: 'America/Eirunepe',\n            title: 'America/Eirunepe'\n        },\n        {\n            id: 'America/El_Salvador',\n            title: 'America/El_Salvador'\n        },\n        {\n            id: 'America/Ensenada',\n            title: 'America/Ensenada'\n        },\n        {\n            id: 'America/Fort_Nelson',\n            title: 'America/Fort_Nelson'\n        },\n        {\n            id: 'America/Fort_Wayne',\n            title: 'America/Fort_Wayne'\n        },\n        {\n            id: 'America/Fortaleza',\n            title: 'America/Fortaleza'\n        },\n        {\n            id: 'America/Glace_Bay',\n            title: 'America/Glace_Bay'\n        },\n        {\n            id: 'America/Godthab',\n            title: 'America/Godthab'\n        },\n        {\n            id: 'America/Goose_Bay',\n            title: 'America/Goose_Bay'\n        },\n        {\n            id: 'America/Grand_Turk',\n            title: 'America/Grand_Turk'\n        },\n        {\n            id: 'America/Grenada',\n            title: 'America/Grenada'\n        },\n        {\n            id: 'America/Guadeloupe',\n            title: 'America/Guadeloupe'\n        },\n        {\n            id: 'America/Guatemala',\n            title: 'America/Guatemala'\n        },\n        {\n            id: 'America/Guayaquil',\n            title: 'America/Guayaquil'\n        },\n        {\n            id: 'America/Guyana',\n            title: 'America/Guyana'\n        },\n        {\n            id: 'America/Halifax',\n            title: 'America/Halifax'\n        },\n        {\n            id: 'America/Havana',\n            title: 'America/Havana'\n        },\n        {\n            id: 'America/Hermosillo',\n            title: 'America/Hermosillo'\n        },\n        {\n            id: 'America/Indiana/Indianapolis',\n            title: 'America/Indiana/Indianapolis'\n        },\n        {\n            id: 'America/Indiana/Knox',\n            title: 'America/Indiana/Knox'\n        },\n        {\n            id: 'America/Indiana/Marengo',\n            title: 'America/Indiana/Marengo'\n        },\n        {\n            id: 'America/Indiana/Petersburg',\n            title: 'America/Indiana/Petersburg'\n        },\n        {\n            id: 'America/Indiana/Tell_City',\n            title: 'America/Indiana/Tell_City'\n        },\n        {\n            id: 'America/Indiana/Vevay',\n            title: 'America/Indiana/Vevay'\n        },\n        {\n            id: 'America/Indiana/Vincennes',\n            title: 'America/Indiana/Vincennes'\n        },\n        {\n            id: 'America/Indiana/Winamac',\n            title: 'America/Indiana/Winamac'\n        },\n        {\n            id: 'America/Indianapolis',\n            title: 'America/Indianapolis'\n        },\n        {\n            id: 'America/Inuvik',\n            title: 'America/Inuvik'\n        },\n        {\n            id: 'America/Iqaluit',\n            title: 'America/Iqaluit'\n        },\n        {\n            id: 'America/Jamaica',\n            title: 'America/Jamaica'\n        },\n        {\n            id: 'America/Jujuy',\n            title: 'America/Jujuy'\n        },\n        {\n            id: 'America/Juneau',\n            title: 'America/Juneau'\n        },\n        {\n            id: 'America/Kentucky/Louisville',\n            title: 'America/Kentucky/Louisville'\n        },\n        {\n            id: 'America/Kentucky/Monticello',\n            title: 'America/Kentucky/Monticello'\n        },\n        {\n            id: 'America/Knox_IN',\n            title: 'America/Knox_IN'\n        },\n        {\n            id: 'America/Kralendijk',\n            title: 'America/Kralendijk'\n        },\n        {\n            id: 'America/La_Paz',\n            title: 'America/La_Paz'\n        },\n        {\n            id: 'America/Lima',\n            title: 'America/Lima'\n        },\n        {\n            id: 'America/Los_Angeles',\n            title: 'America/Los_Angeles'\n        },\n        {\n            id: 'America/Louisville',\n            title: 'America/Louisville'\n        },\n        {\n            id: 'America/Lower_Princes',\n            title: 'America/Lower_Princes'\n        },\n        {\n            id: 'America/Maceio',\n            title: 'America/Maceio'\n        },\n        {\n            id: 'America/Managua',\n            title: 'America/Managua'\n        },\n        {\n            id: 'America/Manaus',\n            title: 'America/Manaus'\n        },\n        {\n            id: 'America/Marigot',\n            title: 'America/Marigot'\n        },\n        {\n            id: 'America/Martinique',\n            title: 'America/Martinique'\n        },\n        {\n            id: 'America/Matamoros',\n            title: 'America/Matamoros'\n        },\n        {\n            id: 'America/Mazatlan',\n            title: 'America/Mazatlan'\n        },\n        {\n            id: 'America/Mendoza',\n            title: 'America/Mendoza'\n        },\n        {\n            id: 'America/Menominee',\n            title: 'America/Menominee'\n        },\n        {\n            id: 'America/Merida',\n            title: 'America/Merida'\n        },\n        {\n            id: 'America/Metlakatla',\n            title: 'America/Metlakatla'\n        },\n        {\n            id: 'America/Mexico_City',\n            title: 'America/Mexico_City'\n        },\n        {\n            id: 'America/Miquelon',\n            title: 'America/Miquelon'\n        },\n        {\n            id: 'America/Moncton',\n            title: 'America/Moncton'\n        },\n        {\n            id: 'America/Monterrey',\n            title: 'America/Monterrey'\n        },\n        {\n            id: 'America/Montevideo',\n            title: 'America/Montevideo'\n        },\n        {\n            id: 'America/Montreal',\n            title: 'America/Montreal'\n        },\n        {\n            id: 'America/Montserrat',\n            title: 'America/Montserrat'\n        },\n        {\n            id: 'America/Nassau',\n            title: 'America/Nassau'\n        },\n        {\n            id: 'America/New_York',\n            title: 'America/New_York'\n        },\n        {\n            id: 'America/Nipigon',\n            title: 'America/Nipigon'\n        },\n        {\n            id: 'America/Nome',\n            title: 'America/Nome'\n        },\n        {\n            id: 'America/Noronha',\n            title: 'America/Noronha'\n        },\n        {\n            id: 'America/North_Dakota/Beulah',\n            title: 'America/North_Dakota/Beulah'\n        },\n        {\n            id: 'America/North_Dakota/Center',\n            title: 'America/North_Dakota/Center'\n        },\n        {\n            id: 'America/North_Dakota/New_Salem',\n            title: 'America/North_Dakota/New_Salem'\n        },\n        {\n            id: 'America/Ojinaga',\n            title: 'America/Ojinaga'\n        },\n        {\n            id: 'America/Panama',\n            title: 'America/Panama'\n        },\n        {\n            id: 'America/Pangnirtung',\n            title: 'America/Pangnirtung'\n        },\n        {\n            id: 'America/Paramaribo',\n            title: 'America/Paramaribo'\n        },\n        {\n            id: 'America/Phoenix',\n            title: 'America/Phoenix'\n        },\n        {\n            id: 'America/Port-au-Prince',\n            title: 'America/Port-au-Prince'\n        },\n        {\n            id: 'America/Port_of_Spain',\n            title: 'America/Port_of_Spain'\n        },\n        {\n            id: 'America/Porto_Acre',\n            title: 'America/Porto_Acre'\n        },\n        {\n            id: 'America/Porto_Velho',\n            title: 'America/Porto_Velho'\n        },\n        {\n            id: 'America/Puerto_Rico',\n            title: 'America/Puerto_Rico'\n        },\n        {\n            id: 'America/Punta_Arenas',\n            title: 'America/Punta_Arenas'\n        },\n        {\n            id: 'America/Rainy_River',\n            title: 'America/Rainy_River'\n        },\n        {\n            id: 'America/Rankin_Inlet',\n            title: 'America/Rankin_Inlet'\n        },\n        {\n            id: 'America/Recife',\n            title: 'America/Recife'\n        },\n        {\n            id: 'America/Regina',\n            title: 'America/Regina'\n        },\n        {\n            id: 'America/Resolute',\n            title: 'America/Resolute'\n        },\n        {\n            id: 'America/Rio_Branco',\n            title: 'America/Rio_Branco'\n        },\n        {\n            id: 'America/Rosario',\n            title: 'America/Rosario'\n        },\n        {\n            id: 'America/Santa_Isabel',\n            title: 'America/Santa_Isabel'\n        },\n        {\n            id: 'America/Santarem',\n            title: 'America/Santarem'\n        },\n        {\n            id: 'America/Santiago',\n            title: 'America/Santiago'\n        },\n        {\n            id: 'America/Santo_Domingo',\n            title: 'America/Santo_Domingo'\n        },\n        {\n            id: 'America/Sao_Paulo',\n            title: 'America/Sao_Paulo'\n        },\n        {\n            id: 'America/Scoresbysund',\n            title: 'America/Scoresbysund'\n        },\n        {\n            id: 'America/Shiprock',\n            title: 'America/Shiprock'\n        },\n        {\n            id: 'America/Sitka',\n            title: 'America/Sitka'\n        },\n        {\n            id: 'America/St_Barthelemy',\n            title: 'America/St_Barthelemy'\n        },\n        {\n            id: 'America/St_Johns',\n            title: 'America/St_Johns'\n        },\n        {\n            id: 'America/St_Kitts',\n            title: 'America/St_Kitts'\n        },\n        {\n            id: 'America/St_Lucia',\n            title: 'America/St_Lucia'\n        },\n        {\n            id: 'America/St_Thomas',\n            title: 'America/St_Thomas'\n        },\n        {\n            id: 'America/St_Vincent',\n            title: 'America/St_Vincent'\n        },\n        {\n            id: 'America/Swift_Current',\n            title: 'America/Swift_Current'\n        },\n        {\n            id: 'America/Tegucigalpa',\n            title: 'America/Tegucigalpa'\n        },\n        {\n            id: 'America/Thule',\n            title: 'America/Thule'\n        },\n        {\n            id: 'America/Thunder_Bay',\n            title: 'America/Thunder_Bay'\n        },\n        {\n            id: 'America/Tijuana',\n            title: 'America/Tijuana'\n        },\n        {\n            id: 'America/Toronto',\n            title: 'America/Toronto'\n        },\n        {\n            id: 'America/Tortola',\n            title: 'America/Tortola'\n        },\n        {\n            id: 'America/Vancouver',\n            title: 'America/Vancouver'\n        },\n        {\n            id: 'America/Virgin',\n            title: 'America/Virgin'\n        },\n        {\n            id: 'America/Whitehorse',\n            title: 'America/Whitehorse'\n        },\n        {\n            id: 'America/Winnipeg',\n            title: 'America/Winnipeg'\n        },\n        {\n            id: 'America/Yakutat',\n            title: 'America/Yakutat'\n        },\n        {\n            id: 'America/Yellowknife',\n            title: 'America/Yellowknife'\n        },\n        {\n            id: 'Antarctica/Casey',\n            title: 'Antarctica/Casey'\n        },\n        {\n            id: 'Antarctica/Davis',\n            title: 'Antarctica/Davis'\n        },\n        {\n            id: 'Antarctica/DumontDUrville',\n            title: 'Antarctica/DumontDUrville'\n        },\n        {\n            id: 'Antarctica/Macquarie',\n            title: 'Antarctica/Macquarie'\n        },\n        {\n            id: 'Antarctica/Mawson',\n            title: 'Antarctica/Mawson'\n        },\n        {\n            id: 'Antarctica/McMurdo',\n            title: 'Antarctica/McMurdo'\n        },\n        {\n            id: 'Antarctica/Palmer',\n            title: 'Antarctica/Palmer'\n        },\n        {\n            id: 'Antarctica/Rothera',\n            title: 'Antarctica/Rothera'\n        },\n        {\n            id: 'Antarctica/South_Pole',\n            title: 'Antarctica/South_Pole'\n        },\n        {\n            id: 'Antarctica/Syowa',\n            title: 'Antarctica/Syowa'\n        },\n        {\n            id: 'Antarctica/Troll',\n            title: 'Antarctica/Troll'\n        },\n        {\n            id: 'Antarctica/Vostok',\n            title: 'Antarctica/Vostok'\n        },\n        {\n            id: 'Arctic/Longyearbyen',\n            title: 'Arctic/Longyearbyen'\n        },\n        {\n            id: 'Asia/Aden',\n            title: 'Asia/Aden'\n        },\n        {\n            id: 'Asia/Almaty',\n            title: 'Asia/Almaty'\n        },\n        {\n            id: 'Asia/Amman',\n            title: 'Asia/Amman'\n        },\n        {\n            id: 'Asia/Anadyr',\n            title: 'Asia/Anadyr'\n        },\n        {\n            id: 'Asia/Aqtau',\n            title: 'Asia/Aqtau'\n        },\n        {\n            id: 'Asia/Aqtobe',\n            title: 'Asia/Aqtobe'\n        },\n        {\n            id: 'Asia/Ashgabat',\n            title: 'Asia/Ashgabat'\n        },\n        {\n            id: 'Asia/Ashkhabad',\n            title: 'Asia/Ashkhabad'\n        },\n        {\n            id: 'Asia/Atyrau',\n            title: 'Asia/Atyrau'\n        },\n        {\n            id: 'Asia/Baghdad',\n            title: 'Asia/Baghdad'\n        },\n        {\n            id: 'Asia/Bahrain',\n            title: 'Asia/Bahrain'\n        },\n        {\n            id: 'Asia/Baku',\n            title: 'Asia/Baku'\n        },\n        {\n            id: 'Asia/Bangkok',\n            title: 'Asia/Bangkok'\n        },\n        {\n            id: 'Asia/Barnaul',\n            title: 'Asia/Barnaul'\n        },\n        {\n            id: 'Asia/Beirut',\n            title: 'Asia/Beirut'\n        },\n        {\n            id: 'Asia/Bishkek',\n            title: 'Asia/Bishkek'\n        },\n        {\n            id: 'Asia/Brunei',\n            title: 'Asia/Brunei'\n        },\n        {\n            id: 'Asia/Calcutta',\n            title: 'Asia/Calcutta'\n        },\n        {\n            id: 'Asia/Chita',\n            title: 'Asia/Chita'\n        },\n        {\n            id: 'Asia/Choibalsan',\n            title: 'Asia/Choibalsan'\n        },\n        {\n            id: 'Asia/Chongqing',\n            title: 'Asia/Chongqing'\n        },\n        {\n            id: 'Asia/Chungking',\n            title: 'Asia/Chungking'\n        },\n        {\n            id: 'Asia/Colombo',\n            title: 'Asia/Colombo'\n        },\n        {\n            id: 'Asia/Dacca',\n            title: 'Asia/Dacca'\n        },\n        {\n            id: 'Asia/Damascus',\n            title: 'Asia/Damascus'\n        },\n        {\n            id: 'Asia/Dhaka',\n            title: 'Asia/Dhaka'\n        },\n        {\n            id: 'Asia/Dili',\n            title: 'Asia/Dili'\n        },\n        {\n            id: 'Asia/Dubai',\n            title: 'Asia/Dubai'\n        },\n        {\n            id: 'Asia/Dushanbe',\n            title: 'Asia/Dushanbe'\n        },\n        {\n            id: 'Asia/Famagusta',\n            title: 'Asia/Famagusta'\n        },\n        {\n            id: 'Asia/Gaza',\n            title: 'Asia/Gaza'\n        },\n        {\n            id: 'Asia/Harbin',\n            title: 'Asia/Harbin'\n        },\n        {\n            id: 'Asia/Hebron',\n            title: 'Asia/Hebron'\n        },\n        {\n            id: 'Asia/Ho_Chi_Minh',\n            title: 'Asia/Ho_Chi_Minh'\n        },\n        {\n            id: 'Asia/Hong_Kong',\n            title: 'Asia/Hong_Kong'\n        },\n        {\n            id: 'Asia/Hovd',\n            title: 'Asia/Hovd'\n        },\n        {\n            id: 'Asia/Irkutsk',\n            title: 'Asia/Irkutsk'\n        },\n        {\n            id: 'Asia/Istanbul',\n            title: 'Asia/Istanbul'\n        },\n        {\n            id: 'Asia/Jakarta',\n            title: 'Asia/Jakarta'\n        },\n        {\n            id: 'Asia/Jayapura',\n            title: 'Asia/Jayapura'\n        },\n        {\n            id: 'Asia/Jerusalem',\n            title: 'Asia/Jerusalem'\n        },\n        {\n            id: 'Asia/Kabul',\n            title: 'Asia/Kabul'\n        },\n        {\n            id: 'Asia/Kamchatka',\n            title: 'Asia/Kamchatka'\n        },\n        {\n            id: 'Asia/Karachi',\n            title: 'Asia/Karachi'\n        },\n        {\n            id: 'Asia/Kashgar',\n            title: 'Asia/Kashgar'\n        },\n        {\n            id: 'Asia/Kathmandu',\n            title: 'Asia/Kathmandu'\n        },\n        {\n            id: 'Asia/Katmandu',\n            title: 'Asia/Katmandu'\n        },\n        {\n            id: 'Asia/Khandyga',\n            title: 'Asia/Khandyga'\n        },\n        {\n            id: 'Asia/Kolkata',\n            title: 'Asia/Kolkata'\n        },\n        {\n            id: 'Asia/Krasnoyarsk',\n            title: 'Asia/Krasnoyarsk'\n        },\n        {\n            id: 'Asia/Kuala_Lumpur',\n            title: 'Asia/Kuala_Lumpur'\n        },\n        {\n            id: 'Asia/Kuching',\n            title: 'Asia/Kuching'\n        },\n        {\n            id: 'Asia/Kuwait',\n            title: 'Asia/Kuwait'\n        },\n        {\n            id: 'Asia/Macao',\n            title: 'Asia/Macao'\n        },\n        {\n            id: 'Asia/Macau',\n            title: 'Asia/Macau'\n        },\n        {\n            id: 'Asia/Magadan',\n            title: 'Asia/Magadan'\n        },\n        {\n            id: 'Asia/Makassar',\n            title: 'Asia/Makassar'\n        },\n        {\n            id: 'Asia/Manila',\n            title: 'Asia/Manila'\n        },\n        {\n            id: 'Asia/Muscat',\n            title: 'Asia/Muscat'\n        },\n        {\n            id: 'Asia/Nicosia',\n            title: 'Asia/Nicosia'\n        },\n        {\n            id: 'Asia/Novokuznetsk',\n            title: 'Asia/Novokuznetsk'\n        },\n        {\n            id: 'Asia/Novosibirsk',\n            title: 'Asia/Novosibirsk'\n        },\n        {\n            id: 'Asia/Omsk',\n            title: 'Asia/Omsk'\n        },\n        {\n            id: 'Asia/Oral',\n            title: 'Asia/Oral'\n        },\n        {\n            id: 'Asia/Phnom_Penh',\n            title: 'Asia/Phnom_Penh'\n        },\n        {\n            id: 'Asia/Pontianak',\n            title: 'Asia/Pontianak'\n        },\n        {\n            id: 'Asia/Pyongyang',\n            title: 'Asia/Pyongyang'\n        },\n        {\n            id: 'Asia/Qatar',\n            title: 'Asia/Qatar'\n        },\n        {\n            id: 'Asia/Qyzylorda',\n            title: 'Asia/Qyzylorda'\n        },\n        {\n            id: 'Asia/Rangoon',\n            title: 'Asia/Rangoon'\n        },\n        {\n            id: 'Asia/Riyadh',\n            title: 'Asia/Riyadh'\n        },\n        {\n            id: 'Asia/Saigon',\n            title: 'Asia/Saigon'\n        },\n        {\n            id: 'Asia/Sakhalin',\n            title: 'Asia/Sakhalin'\n        },\n        {\n            id: 'Asia/Samarkand',\n            title: 'Asia/Samarkand'\n        },\n        {\n            id: 'Asia/Seoul',\n            title: 'Asia/Seoul'\n        },\n        {\n            id: 'Asia/Shanghai',\n            title: 'Asia/Shanghai'\n        },\n        {\n            id: 'Asia/Singapore',\n            title: 'Asia/Singapore'\n        },\n        {\n            id: 'Asia/Srednekolymsk',\n            title: 'Asia/Srednekolymsk'\n        },\n        {\n            id: 'Asia/Taipei',\n            title: 'Asia/Taipei'\n        },\n        {\n            id: 'Asia/Tashkent',\n            title: 'Asia/Tashkent'\n        },\n        {\n            id: 'Asia/Tbilisi',\n            title: 'Asia/Tbilisi'\n        },\n        {\n            id: 'Asia/Tehran',\n            title: 'Asia/Tehran'\n        },\n        {\n            id: 'Asia/Tel_Aviv',\n            title: 'Asia/Tel_Aviv'\n        },\n        {\n            id: 'Asia/Thimbu',\n            title: 'Asia/Thimbu'\n        },\n        {\n            id: 'Asia/Thimphu',\n            title: 'Asia/Thimphu'\n        },\n        {\n            id: 'Asia/Tokyo',\n            title: 'Asia/Tokyo'\n        },\n        {\n            id: 'Asia/Tomsk',\n            title: 'Asia/Tomsk'\n        },\n        {\n            id: 'Asia/Ujung_Pandang',\n            title: 'Asia/Ujung_Pandang'\n        },\n        {\n            id: 'Asia/Ulaanbaatar',\n            title: 'Asia/Ulaanbaatar'\n        },\n        {\n            id: 'Asia/Ulan_Bator',\n            title: 'Asia/Ulan_Bator'\n        },\n        {\n            id: 'Asia/Urumqi',\n            title: 'Asia/Urumqi'\n        },\n        {\n            id: 'Asia/Ust-Nera',\n            title: 'Asia/Ust-Nera'\n        },\n        {\n            id: 'Asia/Vientiane',\n            title: 'Asia/Vientiane'\n        },\n        {\n            id: 'Asia/Vladivostok',\n            title: 'Asia/Vladivostok'\n        },\n        {\n            id: 'Asia/Yakutsk',\n            title: 'Asia/Yakutsk'\n        },\n        {\n            id: 'Asia/Yangon',\n            title: 'Asia/Yangon'\n        },\n        {\n            id: 'Asia/Yekaterinburg',\n            title: 'Asia/Yekaterinburg'\n        },\n        {\n            id: 'Asia/Yerevan',\n            title: 'Asia/Yerevan'\n        },\n        {\n            id: 'Atlantic/Azores',\n            title: 'Atlantic/Azores'\n        },\n        {\n            id: 'Atlantic/Bermuda',\n            title: 'Atlantic/Bermuda'\n        },\n        {\n            id: 'Atlantic/Canary',\n            title: 'Atlantic/Canary'\n        },\n        {\n            id: 'Atlantic/Cape_Verde',\n            title: 'Atlantic/Cape_Verde'\n        },\n        {\n            id: 'Atlantic/Faeroe',\n            title: 'Atlantic/Faeroe'\n        },\n        {\n            id: 'Atlantic/Faroe',\n            title: 'Atlantic/Faroe'\n        },\n        {\n            id: 'Atlantic/Jan_Mayen',\n            title: 'Atlantic/Jan_Mayen'\n        },\n        {\n            id: 'Atlantic/Madeira',\n            title: 'Atlantic/Madeira'\n        },\n        {\n            id: 'Atlantic/Reykjavik',\n            title: 'Atlantic/Reykjavik'\n        },\n        {\n            id: 'Atlantic/South_Georgia',\n            title: 'Atlantic/South_Georgia'\n        },\n        {\n            id: 'Atlantic/St_Helena',\n            title: 'Atlantic/St_Helena'\n        },\n        {\n            id: 'Atlantic/Stanley',\n            title: 'Atlantic/Stanley'\n        },\n        {\n            id: 'Australia/ACT',\n            title: 'Australia/ACT'\n        },\n        {\n            id: 'Australia/Adelaide',\n            title: 'Australia/Adelaide'\n        },\n        {\n            id: 'Australia/Brisbane',\n            title: 'Australia/Brisbane'\n        },\n        {\n            id: 'Australia/Broken_Hill',\n            title: 'Australia/Broken_Hill'\n        },\n        {\n            id: 'Australia/Canberra',\n            title: 'Australia/Canberra'\n        },\n        {\n            id: 'Australia/Currie',\n            title: 'Australia/Currie'\n        },\n        {\n            id: 'Australia/Darwin',\n            title: 'Australia/Darwin'\n        },\n        {\n            id: 'Australia/Eucla',\n            title: 'Australia/Eucla'\n        },\n        {\n            id: 'Australia/Hobart',\n            title: 'Australia/Hobart'\n        },\n        {\n            id: 'Australia/LHI',\n            title: 'Australia/LHI'\n        },\n        {\n            id: 'Australia/Lindeman',\n            title: 'Australia/Lindeman'\n        },\n        {\n            id: 'Australia/Lord_Howe',\n            title: 'Australia/Lord_Howe'\n        },\n        {\n            id: 'Australia/Melbourne',\n            title: 'Australia/Melbourne'\n        },\n        {\n            id: 'Australia/NSW',\n            title: 'Australia/NSW'\n        },\n        {\n            id: 'Australia/North',\n            title: 'Australia/North'\n        },\n        {\n            id: 'Australia/Perth',\n            title: 'Australia/Perth'\n        },\n        {\n            id: 'Australia/Queensland',\n            title: 'Australia/Queensland'\n        },\n        {\n            id: 'Australia/South',\n            title: 'Australia/South'\n        },\n        {\n            id: 'Australia/Sydney',\n            title: 'Australia/Sydney'\n        },\n        {\n            id: 'Australia/Tasmania',\n            title: 'Australia/Tasmania'\n        },\n        {\n            id: 'Australia/Victoria',\n            title: 'Australia/Victoria'\n        },\n        {\n            id: 'Australia/West',\n            title: 'Australia/West'\n        },\n        {\n            id: 'Australia/Yancowinna',\n            title: 'Australia/Yancowinna'\n        },\n        {\n            id: 'Brazil/Acre',\n            title: 'Brazil/Acre'\n        },\n        {\n            id: 'Brazil/DeNoronha',\n            title: 'Brazil/DeNoronha'\n        },\n        {\n            id: 'Brazil/East',\n            title: 'Brazil/East'\n        },\n        {\n            id: 'Brazil/West',\n            title: 'Brazil/West'\n        },\n        {\n            id: 'CET',\n            title: 'CET'\n        },\n        {\n            id: 'CST6CDT',\n            title: 'CST6CDT'\n        },\n        {\n            id: 'Canada/Atlantic',\n            title: 'Canada/Atlantic'\n        },\n        {\n            id: 'Canada/Central',\n            title: 'Canada/Central'\n        },\n        {\n            id: 'Canada/East-Saskatchewan',\n            title: 'Canada/East-Saskatchewan'\n        },\n        {\n            id: 'Canada/Eastern',\n            title: 'Canada/Eastern'\n        },\n        {\n            id: 'Canada/Mountain',\n            title: 'Canada/Mountain'\n        },\n        {\n            id: 'Canada/Newfoundland',\n            title: 'Canada/Newfoundland'\n        },\n        {\n            id: 'Canada/Pacific',\n            title: 'Canada/Pacific'\n        },\n        {\n            id: 'Canada/Saskatchewan',\n            title: 'Canada/Saskatchewan'\n        },\n        {\n            id: 'Canada/Yukon',\n            title: 'Canada/Yukon'\n        },\n        {\n            id: 'Chile/Continental',\n            title: 'Chile/Continental'\n        },\n        {\n            id: 'Chile/EasterIsland',\n            title: 'Chile/EasterIsland'\n        },\n        {\n            id: 'Cuba',\n            title: 'Cuba'\n        },\n        {\n            id: 'EET',\n            title: 'EET'\n        },\n        {\n            id: 'EST',\n            title: 'EST'\n        },\n        {\n            id: 'EST5EDT',\n            title: 'EST5EDT'\n        },\n        {\n            id: 'Egypt',\n            title: 'Egypt'\n        },\n        {\n            id: 'Eire',\n            title: 'Eire'\n        },\n        {\n            id: 'Etc/GMT',\n            title: 'Etc/GMT'\n        },\n        {\n            id: 'Etc/GMT+0',\n            title: 'Etc/GMT+0'\n        },\n        {\n            id: 'Etc/GMT+1',\n            title: 'Etc/GMT+1'\n        },\n        {\n            id: 'Etc/GMT+10',\n            title: 'Etc/GMT+10'\n        },\n        {\n            id: 'Etc/GMT+11',\n            title: 'Etc/GMT+11'\n        },\n        {\n            id: 'Etc/GMT+12',\n            title: 'Etc/GMT+12'\n        },\n        {\n            id: 'Etc/GMT+2',\n            title: 'Etc/GMT+2'\n        },\n        {\n            id: 'Etc/GMT+3',\n            title: 'Etc/GMT+3'\n        },\n        {\n            id: 'Etc/GMT+4',\n            title: 'Etc/GMT+4'\n        },\n        {\n            id: 'Etc/GMT+5',\n            title: 'Etc/GMT+5'\n        },\n        {\n            id: 'Etc/GMT+6',\n            title: 'Etc/GMT+6'\n        },\n        {\n            id: 'Etc/GMT+7',\n            title: 'Etc/GMT+7'\n        },\n        {\n            id: 'Etc/GMT+8',\n            title: 'Etc/GMT+8'\n        },\n        {\n            id: 'Etc/GMT+9',\n            title: 'Etc/GMT+9'\n        },\n        {\n            id: 'Etc/GMT-0',\n            title: 'Etc/GMT-0'\n        },\n        {\n            id: 'Etc/GMT-1',\n            title: 'Etc/GMT-1'\n        },\n        {\n            id: 'Etc/GMT-10',\n            title: 'Etc/GMT-10'\n        },\n        {\n            id: 'Etc/GMT-11',\n            title: 'Etc/GMT-11'\n        },\n        {\n            id: 'Etc/GMT-12',\n            title: 'Etc/GMT-12'\n        },\n        {\n            id: 'Etc/GMT-13',\n            title: 'Etc/GMT-13'\n        },\n        {\n            id: 'Etc/GMT-14',\n            title: 'Etc/GMT-14'\n        },\n        {\n            id: 'Etc/GMT-2',\n            title: 'Etc/GMT-2'\n        },\n        {\n            id: 'Etc/GMT-3',\n            title: 'Etc/GMT-3'\n        },\n        {\n            id: 'Etc/GMT-4',\n            title: 'Etc/GMT-4'\n        },\n        {\n            id: 'Etc/GMT-5',\n            title: 'Etc/GMT-5'\n        },\n        {\n            id: 'Etc/GMT-6',\n            title: 'Etc/GMT-6'\n        },\n        {\n            id: 'Etc/GMT-7',\n            title: 'Etc/GMT-7'\n        },\n        {\n            id: 'Etc/GMT-8',\n            title: 'Etc/GMT-8'\n        },\n        {\n            id: 'Etc/GMT-9',\n            title: 'Etc/GMT-9'\n        },\n        {\n            id: 'Etc/GMT0',\n            title: 'Etc/GMT0'\n        },\n        {\n            id: 'Etc/Greenwich',\n            title: 'Etc/Greenwich'\n        },\n        {\n            id: 'Etc/UCT',\n            title: 'Etc/UCT'\n        },\n        {\n            id: 'Etc/UTC',\n            title: 'Etc/UTC'\n        },\n        {\n            id: 'Etc/Universal',\n            title: 'Etc/Universal'\n        },\n        {\n            id: 'Etc/Zulu',\n            title: 'Etc/Zulu'\n        },\n        {\n            id: 'Europe/Amsterdam',\n            title: 'Europe/Amsterdam'\n        },\n        {\n            id: 'Europe/Andorra',\n            title: 'Europe/Andorra'\n        },\n        {\n            id: 'Europe/Astrakhan',\n            title: 'Europe/Astrakhan'\n        },\n        {\n            id: 'Europe/Athens',\n            title: 'Europe/Athens'\n        },\n        {\n            id: 'Europe/Belfast',\n            title: 'Europe/Belfast'\n        },\n        {\n            id: 'Europe/Belgrade',\n            title: 'Europe/Belgrade'\n        },\n        {\n            id: 'Europe/Berlin',\n            title: 'Europe/Berlin'\n        },\n        {\n            id: 'Europe/Bratislava',\n            title: 'Europe/Bratislava'\n        },\n        {\n            id: 'Europe/Brussels',\n            title: 'Europe/Brussels'\n        },\n        {\n            id: 'Europe/Bucharest',\n            title: 'Europe/Bucharest'\n        },\n        {\n            id: 'Europe/Budapest',\n            title: 'Europe/Budapest'\n        },\n        {\n            id: 'Europe/Busingen',\n            title: 'Europe/Busingen'\n        },\n        {\n            id: 'Europe/Chisinau',\n            title: 'Europe/Chisinau'\n        },\n        {\n            id: 'Europe/Copenhagen',\n            title: 'Europe/Copenhagen'\n        },\n        {\n            id: 'Europe/Dublin',\n            title: 'Europe/Dublin'\n        },\n        {\n            id: 'Europe/Gibraltar',\n            title: 'Europe/Gibraltar'\n        },\n        {\n            id: 'Europe/Guernsey',\n            title: 'Europe/Guernsey'\n        },\n        {\n            id: 'Europe/Helsinki',\n            title: 'Europe/Helsinki'\n        },\n        {\n            id: 'Europe/Isle_of_Man',\n            title: 'Europe/Isle_of_Man'\n        },\n        {\n            id: 'Europe/Istanbul',\n            title: 'Europe/Istanbul'\n        },\n        {\n            id: 'Europe/Jersey',\n            title: 'Europe/Jersey'\n        },\n        {\n            id: 'Europe/Kaliningrad',\n            title: 'Europe/Kaliningrad'\n        },\n        {\n            id: 'Europe/Kiev',\n            title: 'Europe/Kiev'\n        },\n        {\n            id: 'Europe/Kirov',\n            title: 'Europe/Kirov'\n        },\n        {\n            id: 'Europe/Lisbon',\n            title: 'Europe/Lisbon'\n        },\n        {\n            id: 'Europe/Ljubljana',\n            title: 'Europe/Ljubljana'\n        },\n        {\n            id: 'Europe/London',\n            title: 'Europe/London'\n        },\n        {\n            id: 'Europe/Luxembourg',\n            title: 'Europe/Luxembourg'\n        },\n        {\n            id: 'Europe/Madrid',\n            title: 'Europe/Madrid'\n        },\n        {\n            id: 'Europe/Malta',\n            title: 'Europe/Malta'\n        },\n        {\n            id: 'Europe/Mariehamn',\n            title: 'Europe/Mariehamn'\n        },\n        {\n            id: 'Europe/Minsk',\n            title: 'Europe/Minsk'\n        },\n        {\n            id: 'Europe/Monaco',\n            title: 'Europe/Monaco'\n        },\n        {\n            id: 'Europe/Moscow',\n            title: 'Europe/Moscow'\n        },\n        {\n            id: 'Europe/Nicosia',\n            title: 'Europe/Nicosia'\n        },\n        {\n            id: 'Europe/Oslo',\n            title: 'Europe/Oslo'\n        },\n        {\n            id: 'Europe/Paris',\n            title: 'Europe/Paris'\n        },\n        {\n            id: 'Europe/Podgorica',\n            title: 'Europe/Podgorica'\n        },\n        {\n            id: 'Europe/Prague',\n            title: 'Europe/Prague'\n        },\n        {\n            id: 'Europe/Riga',\n            title: 'Europe/Riga'\n        },\n        {\n            id: 'Europe/Rome',\n            title: 'Europe/Rome'\n        },\n        {\n            id: 'Europe/Samara',\n            title: 'Europe/Samara'\n        },\n        {\n            id: 'Europe/San_Marino',\n            title: 'Europe/San_Marino'\n        },\n        {\n            id: 'Europe/Sarajevo',\n            title: 'Europe/Sarajevo'\n        },\n        {\n            id: 'Europe/Saratov',\n            title: 'Europe/Saratov'\n        },\n        {\n            id: 'Europe/Simferopol',\n            title: 'Europe/Simferopol'\n        },\n        {\n            id: 'Europe/Skopje',\n            title: 'Europe/Skopje'\n        },\n        {\n            id: 'Europe/Sofia',\n            title: 'Europe/Sofia'\n        },\n        {\n            id: 'Europe/Stockholm',\n            title: 'Europe/Stockholm'\n        },\n        {\n            id: 'Europe/Tallinn',\n            title: 'Europe/Tallinn'\n        },\n        {\n            id: 'Europe/Tirane',\n            title: 'Europe/Tirane'\n        },\n        {\n            id: 'Europe/Tiraspol',\n            title: 'Europe/Tiraspol'\n        },\n        {\n            id: 'Europe/Ulyanovsk',\n            title: 'Europe/Ulyanovsk'\n        },\n        {\n            id: 'Europe/Uzhgorod',\n            title: 'Europe/Uzhgorod'\n        },\n        {\n            id: 'Europe/Vaduz',\n            title: 'Europe/Vaduz'\n        },\n        {\n            id: 'Europe/Vatican',\n            title: 'Europe/Vatican'\n        },\n        {\n            id: 'Europe/Vienna',\n            title: 'Europe/Vienna'\n        },\n        {\n            id: 'Europe/Vilnius',\n            title: 'Europe/Vilnius'\n        },\n        {\n            id: 'Europe/Volgograd',\n            title: 'Europe/Volgograd'\n        },\n        {\n            id: 'Europe/Warsaw',\n            title: 'Europe/Warsaw'\n        },\n        {\n            id: 'Europe/Zagreb',\n            title: 'Europe/Zagreb'\n        },\n        {\n            id: 'Europe/Zaporozhye',\n            title: 'Europe/Zaporozhye'\n        },\n        {\n            id: 'Europe/Zurich',\n            title: 'Europe/Zurich'\n        },\n        {\n            id: 'GB',\n            title: 'GB'\n        },\n        {\n            id: 'GB-Eire',\n            title: 'GB-Eire'\n        },\n        {\n            id: 'GMT',\n            title: 'GMT'\n        },\n        {\n            id: 'GMT+0',\n            title: 'GMT+0'\n        },\n        {\n            id: 'GMT-0',\n            title: 'GMT-0'\n        },\n        {\n            id: 'GMT0',\n            title: 'GMT0'\n        },\n        {\n            id: 'Greenwich',\n            title: 'Greenwich'\n        },\n        {\n            id: 'HST',\n            title: 'HST'\n        },\n        {\n            id: 'Hongkong',\n            title: 'Hongkong'\n        },\n        {\n            id: 'Iceland',\n            title: 'Iceland'\n        },\n        {\n            id: 'Indian/Antananarivo',\n            title: 'Indian/Antananarivo'\n        },\n        {\n            id: 'Indian/Chagos',\n            title: 'Indian/Chagos'\n        },\n        {\n            id: 'Indian/Christmas',\n            title: 'Indian/Christmas'\n        },\n        {\n            id: 'Indian/Cocos',\n            title: 'Indian/Cocos'\n        },\n        {\n            id: 'Indian/Comoro',\n            title: 'Indian/Comoro'\n        },\n        {\n            id: 'Indian/Kerguelen',\n            title: 'Indian/Kerguelen'\n        },\n        {\n            id: 'Indian/Mahe',\n            title: 'Indian/Mahe'\n        },\n        {\n            id: 'Indian/Maldives',\n            title: 'Indian/Maldives'\n        },\n        {\n            id: 'Indian/Mauritius',\n            title: 'Indian/Mauritius'\n        },\n        {\n            id: 'Indian/Mayotte',\n            title: 'Indian/Mayotte'\n        },\n        {\n            id: 'Indian/Reunion',\n            title: 'Indian/Reunion'\n        },\n        {\n            id: 'Iran',\n            title: 'Iran'\n        },\n        {\n            id: 'Israel',\n            title: 'Israel'\n        },\n        {\n            id: 'Jamaica',\n            title: 'Jamaica'\n        },\n        {\n            id: 'Japan',\n            title: 'Japan'\n        },\n        {\n            id: 'Kwajalein',\n            title: 'Kwajalein'\n        },\n        {\n            id: 'Libya',\n            title: 'Libya'\n        },\n        {\n            id: 'MET',\n            title: 'MET'\n        },\n        {\n            id: 'MST',\n            title: 'MST'\n        },\n        {\n            id: 'MST7MDT',\n            title: 'MST7MDT'\n        },\n        {\n            id: 'Mexico/BajaNorte',\n            title: 'Mexico/BajaNorte'\n        },\n        {\n            id: 'Mexico/BajaSur',\n            title: 'Mexico/BajaSur'\n        },\n        {\n            id: 'Mexico/General',\n            title: 'Mexico/General'\n        },\n        {\n            id: 'NZ',\n            title: 'NZ'\n        },\n        {\n            id: 'NZ-CHAT',\n            title: 'NZ-CHAT'\n        },\n        {\n            id: 'Navajo',\n            title: 'Navajo'\n        },\n        {\n            id: 'PRC',\n            title: 'PRC'\n        },\n        {\n            id: 'PST8PDT',\n            title: 'PST8PDT'\n        },\n        {\n            id: 'Pacific/Apia',\n            title: 'Pacific/Apia'\n        },\n        {\n            id: 'Pacific/Auckland',\n            title: 'Pacific/Auckland'\n        },\n        {\n            id: 'Pacific/Bougainville',\n            title: 'Pacific/Bougainville'\n        },\n        {\n            id: 'Pacific/Chatham',\n            title: 'Pacific/Chatham'\n        },\n        {\n            id: 'Pacific/Chuuk',\n            title: 'Pacific/Chuuk'\n        },\n        {\n            id: 'Pacific/Easter',\n            title: 'Pacific/Easter'\n        },\n        {\n            id: 'Pacific/Efate',\n            title: 'Pacific/Efate'\n        },\n        {\n            id: 'Pacific/Enderbury',\n            title: 'Pacific/Enderbury'\n        },\n        {\n            id: 'Pacific/Fakaofo',\n            title: 'Pacific/Fakaofo'\n        },\n        {\n            id: 'Pacific/Fiji',\n            title: 'Pacific/Fiji'\n        },\n        {\n            id: 'Pacific/Funafuti',\n            title: 'Pacific/Funafuti'\n        },\n        {\n            id: 'Pacific/Galapagos',\n            title: 'Pacific/Galapagos'\n        },\n        {\n            id: 'Pacific/Gambier',\n            title: 'Pacific/Gambier'\n        },\n        {\n            id: 'Pacific/Guadalcanal',\n            title: 'Pacific/Guadalcanal'\n        },\n        {\n            id: 'Pacific/Guam',\n            title: 'Pacific/Guam'\n        },\n        {\n            id: 'Pacific/Honolulu',\n            title: 'Pacific/Honolulu'\n        },\n        {\n            id: 'Pacific/Johnston',\n            title: 'Pacific/Johnston'\n        },\n        {\n            id: 'Pacific/Kiritimati',\n            title: 'Pacific/Kiritimati'\n        },\n        {\n            id: 'Pacific/Kosrae',\n            title: 'Pacific/Kosrae'\n        },\n        {\n            id: 'Pacific/Kwajalein',\n            title: 'Pacific/Kwajalein'\n        },\n        {\n            id: 'Pacific/Majuro',\n            title: 'Pacific/Majuro'\n        },\n        {\n            id: 'Pacific/Marquesas',\n            title: 'Pacific/Marquesas'\n        },\n        {\n            id: 'Pacific/Midway',\n            title: 'Pacific/Midway'\n        },\n        {\n            id: 'Pacific/Nauru',\n            title: 'Pacific/Nauru'\n        },\n        {\n            id: 'Pacific/Niue',\n            title: 'Pacific/Niue'\n        },\n        {\n            id: 'Pacific/Norfolk',\n            title: 'Pacific/Norfolk'\n        },\n        {\n            id: 'Pacific/Noumea',\n            title: 'Pacific/Noumea'\n        },\n        {\n            id: 'Pacific/Pago_Pago',\n            title: 'Pacific/Pago_Pago'\n        },\n        {\n            id: 'Pacific/Palau',\n            title: 'Pacific/Palau'\n        },\n        {\n            id: 'Pacific/Pitcairn',\n            title: 'Pacific/Pitcairn'\n        },\n        {\n            id: 'Pacific/Pohnpei',\n            title: 'Pacific/Pohnpei'\n        },\n        {\n            id: 'Pacific/Ponape',\n            title: 'Pacific/Ponape'\n        },\n        {\n            id: 'Pacific/Port_Moresby',\n            title: 'Pacific/Port_Moresby'\n        },\n        {\n            id: 'Pacific/Rarotonga',\n            title: 'Pacific/Rarotonga'\n        },\n        {\n            id: 'Pacific/Saipan',\n            title: 'Pacific/Saipan'\n        },\n        {\n            id: 'Pacific/Samoa',\n            title: 'Pacific/Samoa'\n        },\n        {\n            id: 'Pacific/Tahiti',\n            title: 'Pacific/Tahiti'\n        },\n        {\n            id: 'Pacific/Tarawa',\n            title: 'Pacific/Tarawa'\n        },\n        {\n            id: 'Pacific/Tongatapu',\n            title: 'Pacific/Tongatapu'\n        },\n        {\n            id: 'Pacific/Truk',\n            title: 'Pacific/Truk'\n        },\n        {\n            id: 'Pacific/Wake',\n            title: 'Pacific/Wake'\n        },\n        {\n            id: 'Pacific/Wallis',\n            title: 'Pacific/Wallis'\n        },\n        {\n            id: 'Pacific/Yap',\n            title: 'Pacific/Yap'\n        },\n        {\n            id: 'Poland',\n            title: 'Poland'\n        },\n        {\n            id: 'Portugal',\n            title: 'Portugal'\n        },\n        {\n            id: 'ROC',\n            title: 'ROC'\n        },\n        {\n            id: 'ROK',\n            title: 'ROK'\n        },\n        {\n            id: 'Singapore',\n            title: 'Singapore'\n        },\n        {\n            id: 'Turkey',\n            title: 'Turkey'\n        },\n        {\n            id: 'UCT',\n            title: 'UCT'\n        },\n        {\n            id: 'US/Alaska',\n            title: 'US/Alaska'\n        },\n        {\n            id: 'US/Aleutian',\n            title: 'US/Aleutian'\n        },\n        {\n            id: 'US/Arizona',\n            title: 'US/Arizona'\n        },\n        {\n            id: 'US/Central',\n            title: 'US/Central'\n        },\n        {\n            id: 'US/East-Indiana',\n            title: 'US/East-Indiana'\n        },\n        {\n            id: 'US/Eastern',\n            title: 'US/Eastern'\n        },\n        {\n            id: 'US/Hawaii',\n            title: 'US/Hawaii'\n        },\n        {\n            id: 'US/Indiana-Starke',\n            title: 'US/Indiana-Starke'\n        },\n        {\n            id: 'US/Michigan',\n            title: 'US/Michigan'\n        },\n        {\n            id: 'US/Mountain',\n            title: 'US/Mountain'\n        },\n        {\n            id: 'US/Pacific',\n            title: 'US/Pacific'\n        },\n        {\n            id: 'US/Pacific-New',\n            title: 'US/Pacific-New'\n        },\n        {\n            id: 'US/Samoa',\n            title: 'US/Samoa'\n        },\n        {\n            id: 'UTC',\n            title: 'UTC'\n        },\n        {\n            id: 'Universal',\n            title: 'Universal'\n        },\n        {\n            id: 'W-SU',\n            title: 'W-SU'\n        },\n        {\n            id: 'WET',\n            title: 'WET'\n        },\n        {\n            id: 'Zulu',\n            title: 'Zulu'\n        }\n    ],\n    resetLoading: function(){\n        this.set(\"loading\", false);\n    },\n    actions: {\n        onClickLog(){\n            console.log(\"Click Logs\");\n            this.set('loading', true);\n            this.router.transitionTo(\"log-viewer\");\n            // this.set('loading', false);\n        }\n    },\n    activate: function() {\n        console.log(\"activated!!!\");    \n    }\n});\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    _my_init: function() {\n        Ember.run.scheduleOnce('afterRender', this, function() {\n            //this.send('updateNav',this.get('model').licence.content[0]._data);\n        });\n    }.on('init'),\n    instrumentId: null,\n    instrumentType: null,\n    instrumentTypeId: null,\n    name: null,\n    location: null,\n    level: null,\n    project: null,\n    borehole: null,\n    modelName: '',\n    activeInstrumentMeta: null,\n    spatialGraphController: Ember.inject.controller(\"spatial-graphs/spatial-graph\"),\n    eventType: null,\n    blastType: null,\n    seismicType: null,\n    chartDataValueName: null,\n    chartData: null,\n    instrumentAnchors: {},\n    instrumentAnchorsSorting: ['number'],\n    vendor: null,\n    breadCrumbs: Ember.computed(\"instrumentId\", {\n        get() {\n            let chart = this.get('chartDataValueName');\n            let mName = this.get('modelName');\n            let instID = this.get('instrumentId');\n            let instrument = this.get('content').instrument;\n            \n            let obj = null\n\n            if (instrument != null && instID == null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Instruments\",\n                        path: 'instruments'\n                    },\n                    {\n                        label: instrument.query,\n                        path: 'edit-instrument',\n                        model: instrument.query,\n                    }\n                ]\n            }\n            if (instID != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Instruments\",\n                        path: 'instruments'\n                    },\n                    {\n                        label: instID,\n                        path: 'edit-instrument',\n                        model: instID,\n                    },\n                    {\n                        label: \"Spatial \" + chart + \" Graph\",\n                        path: \"spatial-graphs.spatial-graph\",\n                        model: instID,\n                        model: mName\n                    },\n                ];\n            }\n            return obj;\n        }\n    }),\n    vendor: Ember.computed('instrumentId', function() {\n        let id = this.get('instrumentId');\n        let vendor = null;\n        if (id !== null) {\n            vendor = this.store.peekRecord('instrument', id).get('vendor');\n        }\n        return vendor;\n    }),\n\n    isThermo: Ember.computed('instrumentType', function() {\n        //console.log(this.instrumentType);\n        if (this.instrumentType === 'Thermostring') {\n            return true;\n        }\n        return false;\n    }),\n    isRebar: Ember.computed('instrumentType', function() {\n        if (this.instrumentType === 'dRebarv2') {\n            return true;\n        }\n        return false;\n    }),\n    \n    displayData: Ember.computed('instrumentId', function() {\n        if (this.instrumentId !== null) {\n            return true;\n        } else {\n            return false;\n        }\n    }),\n\n    details: Ember.computed('name', 'project', 'location', 'level', 'borehole', 'instrumentId', function() {\n        var detailString = \"\";\n        let projectId = this.get('project'); // Assuming project has an 'id' field\n        let projectName = this.get('project.name'); // Assuming project has a 'name' field\n        \n        let levelId = this.get('level.id'); // Assuming level has an 'id' field\n        let levelName = this.get('level.name'); // Assuming level has a 'name' field\n        let badCodes = ['null', 'undefined', ''];\n        \n        if (this.instrumentId !== null) {\n            if (!badCodes.includes(projectName) && projectName != null && projectName != undefined) {\n                // console.log(\"::::::::::::in projectId\")\n                detailString += projectName + ' / ';\n            }\n            \n            if ( !badCodes.includes(this.get('location')) ) {\n                // console.log(\"::::::::::::in location\")\n                detailString += this.get('location') + ' / ';\n            }\n            \n            if (!badCodes.includes(levelName) && levelName != null && levelName != undefined) {\n                // console.log(\"::::::::::::in levelId\")\n                detailString += levelName + ' / ';\n            }\n            \n            if (!badCodes.includes(this.get('borehole')) ) {\n                // console.log(\"::::::::::::in borehole\")\n                detailString += this.get('borehole') + ' / ';\n            }\n                \n            if (detailString !== \"\" && detailString != 'Details:  /') {\n                detailString = detailString.substr(0, detailString.length - 3);\n            }\n        }\n        return detailString;\n    }),\n\n    isAdictMDT: Ember.computed('instrumentType', function() {\n\n        if(this.instrumentType.toLowerCase() === 'adict' && this.vendor.vendorType.includes('MDT')) {\n            return true;\n        }\n        return false;\n    }),            \n    instrumentAnchorsSorted: Ember.computed.sort('instrumentAnchors', 'instrumentAnchorsSorting'),\n\n    instrumentAnchorsForAdictMDT: Ember.computed('instrumentAnchors', function() {\n        let instrumentAnchors = this.instrumentAnchorsSorted;\n        \n        // Check if there are anchors to remove\n        if (instrumentAnchors.length > 0) {\n            instrumentAnchors.pop(); // Remove the last anchor\n        }\n        return instrumentAnchors;\n    }),\n\n    allInstruments: Ember.computed.filter('model.instruments', function(instrument) {\n        if (instrument.get('anchorCount') > 0) {\n            return true;\n        }\n    }),\n    refHeadPosition: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['ref-head-position'];\n    }),\n    timeRef: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['zeroed'];\n    }),\n    flipSigns: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['flip-signs'];\n    }),\n    instruments: Ember.computed.map('allInstruments', function(instrument) {\n        return {\n            title: instrument.get('id'),\n            value: instrument.get('id')\n        };\n    }),\n    frequencySelect: '10',\n    groupTime: false,\n    groupWindow: true,\n    // needed for filtered select list to be able to set active instrument on page reload\n    initialInstrumentSelection: Ember.computed('instruments', 'instrumentId', function () {\n\n        var id = this.get('instrumentId');\n        \n        if(id !== null) {\n            writeCookie('instrumentId', id, 0.02);\n        }\n        \n        return this.get('instruments').findBy('title', this.get('instrumentId'));\n    }),\n    actions: {\n        updateNav(licence) {\n            let modules = licence.modules;\n            if(licence.isValid) {\n                if(licence.withinLimit) {\n                    if(!modules.temporal) {\n                        document.getElementById(\"temp-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"temp-link\").style.display = \"block\";\n                    }\n                    if(!modules.spatial) {\n                        document.getElementById(\"licence-error-module\").style.display = \"block\";\n                        document.getElementById(\"spat-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"spat-link\").style.display = \"block\";\n                    }\n                    if(!modules.frequency) {\n                        document.getElementById(\"freq-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"freq-link\").style.display = \"block\";\n                    }    \n                    if(!modules.alerts) {\n                        document.getElementById(\"alert-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"alert-link\").style.display = \"block\";\n                    }\n                    document.getElementById(\"licence-error-instruments\").style.display = \"none\";\n                } else {\n                    document.getElementById(\"licence-error-instruments\").style.display = \"block\";\n                }\n                document.getElementById(\"licence-error-expired\").style.display = \"none\";\n            } else {\n                document.getElementById(\"licence-error-expired\").style.display = \"block\";\n            }\n        },\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            }\n        },\n        toggleProperty(property) {\n            this.get('spatialGraphController').send('toggleProperty', property);\n        },\n        updateActivefrequency(query) {\n            if (query.frequency) {\n                this.set('frequencySelect', query.frequency.capitalize());\n            } else if (query.frequency_num) {\n                this.set('frequencySelect', query.frequency_num);\n            } else if (query.events_only) {\n                this.set('frequencySelect', 'Events only');\n            }\n        },\n        updateGroupMode(query) {\n            if (query.group_window==='true') {\n                var freq = this.get('frequencySelect');\n                this.set('groupWindow', true);\n                this.set('groupTime', false);\n            } else if (query.group_time==='true') {\n                var freq = this.get('frequencySelect');\n                this.set('groupWindow', false);\n                this.set('groupTime', true);\n            } else {\n                this.set('groupTime', false);\n                this.set('groupWindow', true);\n                //this.set('frequencySelect', 10);\n            }\n        },\n        onUpdateTransitionTo(selection) {\n            if (this.get('modelName') === null) {\n                this.set('modelName', 'displacement-values');\n            }\n\n            let typeID = selection.value.substr(selection.value.length === 9 ? 5 : 6, 1);\n            let modelName = this.get('modelName');\n            // dRebarv2?\n            let isRebarGraph = (modelName === 'axial-strain-values' || modelName === 'bending-strain-values' || modelName === 'axial-displacement-values');\n            if (typeID === \"3\" || typeID === \"17\") { //isrebar\n                if (!isRebarGraph && modelName !== 'load-values') {\n                    this.set('modelName', 'axial-displacement-values');\n                }\n            } else {\n                // dRebarv2?\n                if (isRebarGraph) {\n                    this.set('modelName', 'displacement-values');\n                }\n            }\n            this.RouterService.transitionTo('spatial-graphs.spatial-graph', selection.value, this.get('modelName'));\n        }\n    },\n    setChart(chart) {\n        this.set('chart',chart);\n    },\n    setData(data) {\n        this.set('chartDataPoints', data);\n    },\n    activate: function() {\n        //static var blah = \"\";\n        var id = this.get('instrumentId');\n        var inst = null;\n\n        //console.log(blah);\n\n        //console.log(\"before cookies: \" + id);\n        if(id === null) {\n            id = readCookie('instrumentId');\n            //inst = this.get('instruments').findBy('title', id);\n            //window.location.href = \"/spatial-graph/\" + id + \"/displacement-values\";\n\n            //console.log(\"after cookies: \" + id);\n            if(id !== \"\") {\n                Ember.run.scheduleOnce('afterRender', this, function() {\n                    //console.log(\"running re-load\");\n                    this.RouterService.transitionTo('spatial-graphs.spatial-graph', id, this.get('modelName'));\n                    });        \n            }\n\n        } else {\n            writeCookie('instrumentId', id, 1);\n        }\n    }\n});\n\nfunction writeCookie(name,value,days) {\n    var date, expires;\n    if (days) {\n        date = new Date();\n        date.setTime(date.getTime()+(days*24*60*60*1000));\n        expires = \"; expires=\" + date.toGMTString();\n            }else{\n        expires = \"\";\n    }\n    document.cookie = name + \"=\" + value + expires + \"; path=/\";\n}\n\nfunction readCookie(name) {\n    var i, c, ca, nameEQ = name + \"=\";\n    ca = document.cookie.split(';');\n    for(i=0;i < ca.length;i++) {\n        c = ca[i];\n        while (c.charAt(0)===' ') {\n            c = c.substring(1,c.length);\n        }\n        if (c.indexOf(nameEQ) === 0) {\n            return c.substring(nameEQ.length,c.length);\n        }\n    }\n    return '';\n}\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    queryParams: [\n        'start_timestamp',\n        'end_timestamp',\n        'num_points_requested',\n        'ref_head_position',\n        'ref_anchor',\n        'zeroed',\n        'flip_signs',\n        'event_type',\n        'blast_type',\n        'seismic_type',\n        'frequency',\n        'frequency_num',\n        'events_only',\n        'group_time',\n        'group_window',\n        'side'\n    ],\n    start_timestamp: null,\n    end_timestamp: null,\n    num_points_requested: 20,\n    ref_head_position: \"\",\n    ref_anchor: \"0\",\n    zeroed: true,\n    modelName: null,\n    flip_signs: null,\n    event_type: null,\n    blast_type: null,\n    seismic_type: null,\n    frequency: null,\n    frequency_num: 10,\n    events_only: null,\n    group_time: null,\n    group_window: null,\n    side:\"A\",\n    actions: {\n        setData(data) {\n            this.send('setDataR',data);\n        },\n        setChart(chart) {\n            this.send('setChartR',chart);\n        },\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            }\n        },\n        getQueryParams(variable) {\n            return this.get(variable);\n        },\n        toggleProperty(property) {\n            if ( this.get(property) === null ) {\n                this.set(property, true);\n            } else if(this.get(property) === false ) {\n                this.set(property, true);\n            }  else {\n                this.set(property, false);\n            }\n        }\n    }\n});\n","import Ember from 'ember';\nimport { capitalize } from '@ember/string';\n\nexport default Ember.Controller.extend({\n    queryParams: ['parentGateway'],\n    _my_init: function() {\n        Ember.run.scheduleOnce('afterRender', this, function() {\n            //this.send('updateNav',this.get('model').licence.content[0]._data);\n        });\n    }.on('init'),\n    gatewayId: null,\n    gatewayType: null,\n    gatewayTypeId: null,\n    name: null,\n    location: null,\n    level: null,\n    project: null,\n    modelName: '',\n    activeGatewayMeta: null,\n    temporalGatewayGraphController: Ember.inject.controller(\"temporal-gateway-graphs/temporal-gateway-graph\"),\n    chartDataValueName: null,\n    chartData: null,\n    chart: null,\n    chartDataPoints: null,\n    adjust_scales: false,\n    auto_scale: true,\n    y_min: null,\n    y_max: null,\n    y_min_old: null,\n    y_max_old: null,\n    y_min_auto: null,\n    y_max_auto: null,\n    auto_scale_2: true,\n    y_min_2: null,\n    y_max_2: null,\n    y_min_old_2: null,\n    y_max_old_2: null,\n    y_min_auto_2: null,\n    y_max_auto_2: null,\n    lastClick: null,\n    gatewayAnchors: {},\n    gatewayAnchorsSorting: ['number'],\n    depthChecked: '',\n    chart_type: null,\n    display_records: null,\n    left_axis_field: null,\n    right_axis_field: null,\n    port: null,\n    chart_parent_gateway: null,\n    parentGateway: null,\n\n    rawChecked: Ember.computed('depthChecked', function() {\n        if (this.get('depthChecked') == '')\n            return 'Checked'\n        else\n            return ''\n    }),\n\n    breadCrumbs: Ember.computed(\"gatewayId\", {\n        get() {\n            let badCodes = ['null', 'undefined', ''];\n            let chart = this.get('chartDataValueName');\n            let mName = this.get('modelName');\n            let gateway = this.get('content').gateway;\n            let gatewayID = gateway.id;\n            let parentGateway = this.get('chart_parent_gateway');\n            // if parentGateway is valid\n            if( !badCodes.includes(this.get('parentGateway')) )\n                parentGateway = this.get('parentGateway');\n            \n            // console.log(\"parentGateway::: \" + parentGateway);\n            let obj = null\n            \n            //chart = this.get('chart_type');\n\n            if (gateway != null && gatewayID == null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Gateway\",\n                        path: 'gateway'\n                    },\n                    {\n                        label: gateway.query,\n                        path: 'edit-gateway',\n                        model: gateway.query,\n                    }\n                ]\n            }\n\n            if (gatewayID != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Gateways\",\n                        path: 'gateway'\n                    },\n                    {\n                        label: gatewayID,\n                        path: 'edit-gateway',\n                        model: gatewayID,\n                        queryParams: {\n                            parentGateway: this.parentGateway // Include the parentGateway in the queryParams\n                        }\n                    },\n                    {\n                        label: \"Temporal \" + chart + \" Graph\",\n                        path: \"temporal-gateway-graphs.temporal-gateway-graph\",\n                        // model: gatewayID,\n                        model: mName == ''? \"voltage-values\": mName,\n                    },\n                ];\n            }\n            return obj;\n        }\n    }),\n\n    chartChanged: Ember.observer('chart', function() {\n        var chart = this.get('chart');\n        var domain = chart.y1Axis.scale().domain();\n        this.set('y_min',toFixed(domain[0],2));\n        this.set('y_max',toFixed(domain[1],2));\n        this.set('y_min_old',null);\n        this.set('y_max_old',null);\n        var domain = chart.y2Axis.scale().domain();\n        this.set('y_min_2',toFixed(domain[0],2));\n        this.set('y_max_2',toFixed(domain[1],2));\n        this.set('y_min_old_2',null);\n        this.set('y_max_old_2',null);\n        this.send('disableTemp');\n        this.set('auto_scale',true);\n        this.set('auto_scale_2',true);\n    }),\n    valueChanged: Ember.observer('y_min','y_max', function() {\n        var chart = this.get('chart');\n        if (!this.auto_scale) {\n            chart.yDomain1([this.get('y_min'),this.get('y_max')]);\n        }\n        chart.update();\n    }),\n\n    autoScaleChanged: Ember.observer('auto_scale', function() {\n        // console.log(\"autoScaleChanged::: \" + this.get('auto_scale'));\n\n        var chart = this.get('chart');\n        if (this.auto_scale) {\n            this.set('y_min_old', this.y_min);\n            this.set('y_max_old', this.y_max);\n\n            chart.yDomain1(null,null);\n            chart.update();\n\n            var domain = chart.y1Axis.scale().domain();\n            this.set('y_min',toFixed(domain[0],2));\n            this.set('y_max',toFixed(domain[1],2));\n                //chart.yScale = this.get('test');\n        } else {\n            if (this.get('y_min_old') !== null) {\n                this.set('y_min', this.y_min_old);\n                this.set('y_max',this.y_max_old);\n            }\n            chart.yDomain1([this.get('y_min'),this.get('y_max')]);\n            chart.update();\n        }\n    }),\n\n    valueChanged2: Ember.observer('y_min_2','y_max_2', function() {\n        var chart = this.get('chart');\n        if (!this.auto_scale_2) {\n            chart.yDomain2([this.get('y_min_2'),this.get('y_max_2')]);\n            chart.update();\n        }\n    }),\n    autoScaleChanged2: Ember.observer('auto_scale_2', function() {\n        var chart = this.get('chart');\n        if (this.auto_scale_2) {\n            this.set('y_min_old_2', this.y_min_2);\n            this.set('y_max_old_2', this.y_max_2);\n\n            chart.yDomain2(null,null);\n            chart.update();\n\n            var domain = chart.y2Axis.scale().domain();\n            this.set('y_min_2',toFixed(domain[0],2));\n            this.set('y_max_2',toFixed(domain[1],2));\n        } else {\n            if (this.get('y_min_old_2') !== null) {\n                this.set('y_min_2', this.y_min_old_2);\n                this.set('y_max_2', this.y_max_old_2);\n            }\n            chart.yDomain2([this.get('y_min_2'),this.get('y_max_2')]);\n            chart.update();\n        }\n    }),\n\n    window_value: Ember.computed('window', function() {\n        if (this.window === '60') {\n            return '1 Hour';\n        }\n        if (this.window === '480') {\n            return '8 Hours';\n        }\n        if (this.window === '1440') {\n            return '24 Hours';\n        }\n    }),\n\n    displayData: Ember.computed('gatewayId', function() {\n        if (this.gatewayId !== null) {\n            return true;\n        } else {\n            return false;\n        }\n    }),\n\n    details: Ember.computed('name', 'project', 'location', 'level', 'gatewayId', function() {\n        var detailString = \"\";\n        if (this.gatewayId !== null) {\n            if (this.project !== null && this.project !== \"\") {\n                detailString += this.project + ' / '; }\n            if (this.location !== null && this.location !== \"\") {\n                detailString += this.location + ' / '; }\n            if (this.level !== null && this.level !== \"\") {\n                detailString += this.level + ' / '; }\n            if (detailString !== \"\") {\n                detailString = detailString.substring(0,detailString.length - 3);\n            }\n        }\n        return detailString;\n    }),\n\n    temperatureIsValid: Ember.computed('gatewayType', function() {\n        return false;\n    }),\n\n    gatewayAnchorsSorted: Ember.computed.sort('gatewayAnchors', 'gatewayAnchorsSorting'),\n    depthData: Ember.computed('gatewayValuesMeta', function() {\n        let depth = this.get('gatewayValuesMeta')['depth'];\n        return depth;\n    }),\n    timeRef: Ember.computed('activeGatewayMeta', function () {\n        return this.get('activeGatewayMeta')['zeroed'];\n    }),\n    allGateway: Ember.computed.filter('model.gateway', function(gateway) {\n        if (gateway.get('anchorCount') > 0) {\n            return true;\n        }\n    }),\n    gateway: Ember.computed.map('allGateway', function(gateway) {\n        return {\n            title: gateway.get('id'),\n            value: gateway.get('id')\n        };\n    }),\n\n    initialGatewaySelection: Ember.computed('gateway', 'gatewayId', function () {\n\n        var id = this.get('gatewayId');\n\n        if(id !== null) {\n            writeCookie('gatewayId', id, 0.02);\n        }\n\n        return this.get('gateway').findBy('title', this.get('gatewayId'));\n    }),\n    actions: {\n        selectAxis(gatewayId, modelName){\n           //console.log(\"Select Axis::: \")\n           //console.log(\"Select Axis::: \"+ this.get('right_axis_field'));\n           //console.log(\"Select Axis::: \"+ this.get('left_axis_field'));\n           //console.log(\"Select Axis::: \"+ gatewayId);\n           //console.log(\"Select Axis::: \"+ modelName);           \n            //this.get('router').transitionTo('temporal-gateway-graphs.temporal-gateway-graph', id, 'voltage-values');\n\n            // code to save or sendAction\n            // e.g. let selectedOption = this.get('selectedOption')\n            // this.sendAction('submit', selectedOption)\n        },\n        setDepth(value) {\n            this.set('depthChecked', value == true ? 'Checked' : '');\n        },\n        updateNav(licence) {\n            // this.get('temporalGraphController').send('setController', this);\n            let modules = licence.modules;\n            if(licence.isValid) {\n                if(licence.withinLimit) {\n                    if(!modules.temporal) {\n                        document.getElementById(\"temp-link\").style.display = \"none\";\n                        document.getElementById(\"licence-error-module\").style.display = \"block\";\n                    } else {\n                        document.getElementById(\"temp-link\").style.display = \"block\";\n                    }\n                    if(!modules.spatial) {\n                        document.getElementById(\"spat-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"spat-link\").style.display = \"block\";\n                    }\n                    if(!modules.frequency) {\n                        document.getElementById(\"freq-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"freq-link\").style.display = \"block\";\n                    }\n                    if(!modules.alerts) {\n                        document.getElementById(\"alert-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"alert-link\").style.display = \"block\";\n                    }\n\n                    document.getElementById(\"licence-error-instruments\").style.display = \"none\";\n                } else {\n                    document.getElementById(\"licence-error-instruments\").style.display = \"block\";\n                }\n                document.getElementById(\"licence-error-expired\").style.display = \"none\";\n            } else {\n                document.getElementById(\"licence-error-expired\").style.display = \"block\";\n            }\n        },\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            }\n        },\n        toggleDataType(property) {\n            this.get('temporalGraphController').send('toggleDataType', property);\n        },\n        toggleProperty(property) {\n            this.get('temporalGraphController').send('toggleProperty', property);\n        },\n        toggleLocalProperty(property) {\n            let propValue = false;\n            if ( this.get(property) === null ) {\n                propValue = true;\n            } else if(this.get(property) === false ) {\n                propValue = true;\n            }\n            this.set(property, propValue);\n        },\n        updateLocalProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        onUpdateTransitionTo(selection) {\n           //console.log(\"temporalcontroller: selection: \" + selection.value)\n            if (this.get('modelName') === null || this.get('modelName') == '') {\n                \n                this.set('modelName', 'gateway-value');\n            }\n\n            this.tra('temporal-gateway-graphs.temporal-gateway-graph', selection.value, this.get('modelName'));\n        },        \n        setChart(chart) {\n            this.set('chart',chart);\n        },\n        setData(data) {\n            this.set('chartDataPoints', data);\n        },\n        disableTemp() {\n            let chart = this.get('chart');\n            let points = this.get('chartDataPoints');\n            if (chart !== null) {\n                points.forEach(function(element) {\n                    if (element.yAxis === 2) {\n                        element.disabled = true;\n                        element.userDisabled = true;\n                        //chart.update();\n                    }\n                });\n            }\n        },\n        saveImage() {\n            //console.log(\"SAVE SCREEN\");\n            html2canvas(document.querySelector(\"#capture\"), { allowTaint: true, foreignObjectRendering: true,\n                onrendered: function (canvas) {\n                    let downloadLink = document.createElement('a');\n                    downloadLink.setAttribute('download', 'CanvasAsImage.png');\n                    canvas.toBlob(function(blob) {\n                        let url = URL.createObjectURL(blob);\n                        downloadLink.setAttribute('href', url);\n                        downloadLink.click();\n                      });\n                }\n            });\n        },\n        selectTemps() {\n            let lastClick = this.get('lastClick');\n            if (lastClick === null || lastClick !== \"temp\") {\n                let chart = this.get('chart');\n                let points = this.get('chartDataPoints');\n                if (chart !== null) {\n                    for (let ctr = 0; ctr < points.length - 2; ctr++) {\n                        if (ctr % 2 === 0) {\n                            if (!points[ctr + 1].disabled) {\n                                points[ctr].disabled = false;\n                                points[ctr].userDisabled = false;\n                            }\n                        } else {\n                            points[ctr].disabled = true;\n                            points[ctr].userDisabled = true;\n                        }\n                    }\n                    chart.update();\n                }\n                this.set('lastClick', 'temp');\n            }\n        },\n        selectReadings() {\n            let lastClick = this.get('lastClick');\n            if (lastClick === null || lastClick !== \"vals\") {\n                let chart = this.get('chart');\n                let points = this.get('chartDataPoints');\n                if (chart !== null) {\n                    for (let ctr = points.length - 2; ctr >= 0; ctr--) {\n                        if (ctr % 2 === 0) {\n                            points[ctr].disabled = true;\n                            points[ctr].userDisabled = true;\n                        } else {\n                            if (!points[ctr - 1].disabled) {\n                                points[ctr].disabled = false;\n                                points[ctr].userDisabled = false;\n                            }\n                        }\n                    }\n                    chart.update();\n                }\n                this.set('lastClick', 'vals');\n            }\n        }\n    },\n    activate: function() {\n        var id = this.get('gatewayId');\n\n        if(id === null) {\n            id = readCookie('gatewayId');\n            if(id !== \"\") {\n                Ember.run.scheduleOnce('afterRender', this, function() {\n                    //console.log(\"running re-load\");\n                    this.transitionToRoute('temporal-gateway-graphs.temporal-gateway-graph', id, this.get('modelName'));\n                    });\n            }\n        } else {\n            writeCookie('gatewayId', id, 1);\n        }\n    }\n});\n\nfunction toFixed(value, numDecimals) {\n    var roundVal = Math.pow(10, numDecimals);\n    var answer = 0;\n    if (value > 0) {\n        answer = Math.ceil(value * roundVal) / roundVal;\n    } else {\n        answer = Math.floor(value * roundVal) / roundVal;\n    }\n    return answer;\n}\n\nfunction writeCookie(name,value,days) {\n    var date, expires;\n    if (days) {\n        date = new Date();\n        date.setTime(date.getTime()+(days*24*60*60*1000));\n        expires = \"; expires=\" + date.toGMTString();\n            }else{\n        expires = \"\";\n    }\n    document.cookie = name + \"=\" + value + expires + \"; path=/\";\n}\n\nfunction readCookie(name) {\n    var i, c, ca, nameEQ = name + \"=\";\n    ca = document.cookie.split(';');\n    for(i=0;i < ca.length;i++) {\n        c = ca[i];\n        while (c.charAt(0)===' ') {\n            c = c.substring(1,c.length);\n        }\n        if (c.indexOf(nameEQ) === 0) {\n            return c.substring(nameEQ.length,c.length);\n        }\n    }\n    return '';\n}\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    queryParams: [\n        'start_timestamp',\n        'end_timestamp',\n        'num_points_requested',\n        'ref_anchor',\n        'zeroed',\n        'depth',\n        'window',\n        'chart_type',\n        'display_records',\n        'right_axis_field',\n        'left_axis_field',\n        'port',\n        'chart_parent_gateway',\n    \n    ],\n    start_timestamp: null,\n    end_timestamp: null,\n    num_points_requested: 300,\n    ref_anchor: \"0\",\n    zeroed: true,\n    depth: false,\n    modelName: null,\n    window: 480,\n    chart: null,\n    chart_type: null,\n    display_records: 100,\n    right_axis_field: null,\n    left_axis_field: null,\n    port:1,\n    chart_parent_gateway:null,\n    \n    temporalGraphsController: Ember.inject.controller(\"temporal-gateway-graphs\"),\n    \n    depthObserver: Ember.observer('depth', function() {\n        this.get('temporalGraphsController').send('setDepth', this.get('depth'));\n    }),\n\n    actions: {\n        toggleDataType(property) {\n            if (property == \"raw\"){\n               this.set(\"depth\", false);\n            } else {\n               this.set(\"depth\", true);\n            }\n        },\n        setData(data) {\n            this.send('setDataR',data);\n        },\n        setChart(chart) {\n            this.send('setChartR',chart);\n        },\n        updateWindow(window) {\n            this.set('window', window);\n        },\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            }\n        },\n        getQueryParams(variable) {\n            return this.get(variable);\n        },\n        toggleProperty(property) {\n            let propValue = false;\n            if ( this.get(property) === null ) {\n                propValue = true;\n            } else if(this.get(property) === false ) {\n                propValue = true;\n            }\n            this.set(property, propValue);\n        }\n    }\n});\n","import Ember from 'ember';\n// import html2canvas from 'html2canvas';\nimport { inject as service } from '@ember/service';\nimport compareAnchors from '../helpers/compare-anchors';\n\nexport default Ember.Controller.extend({\n\n    willDestroy() {\n        // Call the super implementation to make sure the hook is called in parent classes\n        this._super(...arguments);\n        // console.log(\"willDestroy:::::::::::::::::\");\n        let activeInstrumentMeta = this.get('activeInstrumentMeta');\n        if (activeInstrumentMeta) {\n            Ember.set(activeInstrumentMeta, 'flip-signs', false);\n        }\n    },\n    init() {\n        this._super(...arguments);\n        // this.defaultAnchorNumber = this.instrumentAnchorsSorted[0] && this.instrumentAnchorsSorted[0].number;\n    },\n    _my_init: function() {\n    }.on('init'),\n    instrumentId: null,\n    instrumentType: null,\n    instrumentTypeId: null,\n    name: null,\n    location: null,\n    level: null,\n    borehole: null,\n    project: null,\n    modelName: '',\n    activeInstrumentMeta: null,\n    temporalGraphController: Ember.inject.controller(\"temporal-graphs/temporal-graph\"),\n    eventType: null,\n    blastType: null,\n    seismicType: null,\n    chartDataValueName: null,\n    chartData: null,\n    frequency: null,\n    tiltMode: null,\n    chart: null,\n    chartDataPoints: null,\n    adjust_scales: false,\n    zeroed: true,\n    auto_scale: true,\n    y_min: null,\n    y_max: null,\n    y_min_old: null,\n    y_max_old: null,\n    y_min_auto: null,\n    y_max_auto: null,\n    auto_scale_2: true,\n    y_min_2: null,\n    y_max_2: null,\n    y_min_old_2: null,\n    y_max_old_2: null,\n    y_min_auto_2: null,\n    y_max_auto_2: null,\n    lastClick: null,\n    instrumentAnchors: {},\n    instrumentAnchorsSorting: ['number'],\n    test: null,\n    zeroed: true,\n    linearChecked: '',\n    calibChecked: 'Checked',\n    depthChecked: '',\n    tiltZUp: 0,\n    chart_type: null,\n    display_records: null,\n    previousAnchor: 0,\n    router: Ember.inject.service(),\n    vendor: null,\n    port:1,\n    selectedAnchor:0,\n    shouldRerender: false,\n\n    instrument: Ember.computed(function() {\n        \n        let instrument = this.content.instrument;\n\n        if (instrument !== null) {\n            return instrument;\n        }\n        return null;\n    }),\n    getAnchor: Ember.computed('previousAnchor', function() {\n        // console.log(\"previousAnchor::: \" + this.get(\"previousAnchor\"));\n        return this.get(\"previousAnchor\");\n    }),\n\n    instrumentType: Ember.computed(function() {\n        let instrument = this.get('instrument');\n        let instrumentType = instrument.instrumentType;\n        let instrumentTypeTitle = instrumentType.title;\n        return instrumentTypeTitle;\n    }),\n    \n    getInstrumentTypeToLower() {    \n        return this.get('instrumentType').toLowerCase();\n    },\n\n    isDPPC: Ember.computed('instrumentId', function() {\n        let instrumentType = this.getInstrumentTypeToLower();\n        let isDPPC = false;\n        if (instrumentType != null && instrumentType != 'undefined' && instrumentType === 'dppc') {\n            isDPPC = true;\n        }\n        // console.log(\"isDPPC::: \" + isDPPC);\n        // console.log(\"PORT:::::::::: \" + this.get('port'));\n        return isDPPC;\n    }),\n\n    rawChecked: Ember.computed('linearChecked', 'calibChecked', 'depthChecked', function() {\n        if (this.get('linearChecked') == '' && this.get('calibChecked') == '' && this.get('depthChecked') == '')\n            return 'Checked'\n        else\n            return ''\n    }),\n    vendor: Ember.computed('instrumentId', function() {\n        \n        let id = this.get('instrumentId');\n        let vendor = null;\n        if (id !== null) {\n            vendor = this.store.peekRecord('instrument', id).get('vendor');\n        }\n        return vendor;\n    }),\n    breadCrumbs: Ember.computed(\"instrumentId\", {\n        get() {\n            let chart = this.get('chartDataValueName');\n            let mName = this.get('modelName');\n            // console.log(\"mName::: \" + mName + \"\");\n            let instID = this.get('instrumentId');\n            let instrument = this.get('content').instrument;\n            let obj = null\n\n            if (instrument != null && instID == null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Instruments\",\n                        path: 'instruments'\n                    },\n                    {\n                        label: instrument.query,\n                        path: 'edit-instrument',\n                        model: instrument.query,\n                    }\n                ]\n            }\n\n            if (instID != null) {\n                obj = [\n                    {\n                        label: \"Dashboard\",\n                        path: 'index'\n                    },\n                    {\n                        label: \"Instruments\",\n                        path: 'instruments'\n                    },\n                    {\n                        label: instID,\n                        path: 'edit-instrument',\n                        model: instID,\n                    },\n                    {\n                        label: \"Temporal \" + chart + \" Graph\",\n                        path: \"temporal-graphs.temporal-graph\",\n                        model: instID,\n                        model: mName\n                    },\n                ];\n            }\n            return obj;\n        }\n    }),\n    chartChanged: Ember.observer('chart', function() {\n        var chart = this.get('chart');\n        var domain = chart.y1Axis.scale().domain();\n        this.set('y_min',toFixed(domain[0],2));\n        this.set('y_max',toFixed(domain[1],2));\n        this.set('y_min_old',null);\n        this.set('y_max_old',null);\n        var domain = chart.y2Axis.scale().domain();\n        this.set('y_min_2',toFixed(domain[0],2));\n        this.set('y_max_2',toFixed(domain[1],2));\n        this.set('y_min_old_2',null);\n        this.set('y_max_old_2',null);\n        this.send('disableTemp');\n        this.set('auto_scale',true);\n        this.set('auto_scale_2',true);\n    }),\n    valueChanged: Ember.observer('y_min','y_max', function() {\n        var chart = this.get('chart');\n        if (!this.auto_scale) {\n            chart.yDomain1([this.get('y_min'),this.get('y_max')]);\n        }\n        chart.update();\n    }),\n    // valueChanged: Ember.observer('y_min','y_max', function() {\n    //     if (! this.get(\"bluVibeEvent\")){\n    //         var chart = this.get('chart');\n    //         if (!this.auto_scale) {\n    //             chart.yDomain1([this.get('y_min'),this.get('y_max')]);\n    //         }\n    //         chart.update();\n    //     }\n    // }),\n\n    autoScaleChanged: Ember.observer('auto_scale', function() {\n        // console.log(\"autoScaleChanged::: \" + this.get('auto_scale'));\n        var chart = this.get('chart');\n        if (this.auto_scale) {\n            this.set('y_min_old', this.y_min);\n            this.set('y_max_old', this.y_max);\n\n            chart.yDomain1(null,null);\n            chart.update();\n\n            var domain = chart.y1Axis.scale().domain();\n            this.set('y_min',toFixed(domain[0],2));\n            this.set('y_max',toFixed(domain[1],2));\n                //chart.yScale = this.get('test');\n        } else {\n            if (this.get('y_min_old') !== null) {\n                this.set('y_min', this.y_min_old);\n                this.set('y_max',this.y_max_old);    \n            }\n            chart.yDomain1([this.get('y_min'),this.get('y_max')]);\n            chart.update();\n        }\n    }),\n\n    valueChanged2: Ember.observer('y_min_2','y_max_2', function() {\n        var chart = this.get('chart');\n        if (!this.auto_scale_2) {\n            chart.yDomain2([this.get('y_min_2'),this.get('y_max_2')]);\n            chart.update();\n        }\n    }),\n\n    autoScaleChanged2: Ember.observer('auto_scale_2', function() {\n        var chart = this.get('chart');\n        if (this.auto_scale_2) {\n            this.set('y_min_old_2', this.y_min_2);\n            this.set('y_max_old_2', this.y_max_2);\n\n            chart.yDomain2(null,null);\n            chart.update();\n\n            var domain = chart.y2Axis.scale().domain();\n            this.set('y_min_2',toFixed(domain[0],2));\n            this.set('y_max_2',toFixed(domain[1],2));\n        } else {\n            if (this.get('y_min_old_2') !== null) {\n                this.set('y_min_2', this.y_min_old_2);\n                this.set('y_max_2', this.y_max_old_2);    \n            }\n            chart.yDomain2([this.get('y_min_2'),this.get('y_max_2')]);\n            chart.update();\n        }\n    }),\n\n    isVelocityGraph: Ember.computed('modelName', function() {\n        if (this.modelName === 'velocity-values' || this.modelName === 'acceleration-values')\n            return true;\n        return false;\n    }),\n\n    bluVibeEvent: Ember.computed('eventType', function() {\n        //console.log(this.eventType);\n        if(this.eventType === null || this.eventType === 'bluvibe') {\n            if(this.chart_type === null){\n                this.chart_type = 'frequency';\n            }\n            return true;\n        }\n        return false;\n    }),\n    // bluVibeEvent: Ember.computed('eventType', function() {\n    //     if(this.eventType === null || this.eventType === 'bluvibe') {\n    //         if(this.chart_type === null){\n    //             this.chart_type = 'frequency';\n    //         }\n    //         return true;\n    //     }\n    //     return false;\n    // }),\n\n    window_value: Ember.computed('window', function() {\n        if (this.window === '60') {\n            return '1 Hour';\n        }\n        if (this.window === '480') {\n            return '8 Hours';\n        }\n        if (this.window === '1440') {\n            return '24 Hours';\n        }\n    }),\n\n    typeSelect: Ember.computed('instrumentType', function() {\n        //console.log(this.instrumentType);\n        switch(this.instrumentType) {\n            case 'dExto':\n                return 'pack';\n                break;\n            default:\n                return 'pack';\n        }\n        // if (this.instrumentType === 'Thermostring') {\n        //     return true;\n        // }\n        // return false;\n    }),\n    isThermo: Ember.computed('instrumentType', function() {\n        //console.log(this.instrumentType);\n        if (this.instrumentType === 'Thermostring') {\n            return true;\n        }\n        return false;\n    }),\n    isPiezo: Ember.computed('instrumentType', function() {\n        // console.log(\"instrumentType :::::::::::::::::::::::::::::::: \" + this.instrumentType);\n        if (this.instrumentType === 'Piezo') {\n            return true;\n        }\n        return false;\n    }),\n    isWire: Ember.computed('instrumentType', function() {\n        //console.log(this.instrumentType);\n        return (this.instrumentType === 'Wire');\n    }),\n\n    displayData: Ember.computed('instrumentId', function() {\n        if (this.instrumentId !== null) {\n            return true;\n        } else {\n            return false;\n        }\n    }),\n\n    details: Ember.computed('name', 'project', 'location', 'level', 'borehole', 'instrumentId', function() {\n        var detailString = \"\";\n        let projectId = this.get('project'); // Assuming project has an 'id' field\n        let projectName = this.get('project.name'); // Assuming project has a 'name' field\n        \n        let levelId = this.get('level.id'); // Assuming level has an 'id' field\n        let levelName = this.get('level.name'); // Assuming level has a 'name' field\n        let badCodes = ['null', 'undefined', ''];\n        \n        if (this.instrumentId !== null) {\n            if (!badCodes.includes(projectName) && projectName != null && projectName != undefined) {\n                // console.log(\"::::::::::::in projectId\")\n                detailString += projectName + ' / ';\n            }\n            \n            if ( !badCodes.includes(this.get('location')) ) {\n                // console.log(\"::::::::::::in location\")\n                detailString += this.get('location') + ' / ';\n            }\n            \n            if (!badCodes.includes(levelName) && levelName != null && levelName != undefined) {\n                // console.log(\"::::::::::::in levelId\")\n                detailString += levelName + ' / ';\n            }\n            \n            if (!badCodes.includes(this.get('borehole')) ) {\n                // console.log(\"::::::::::::in borehole\")\n                detailString += this.get('borehole') + ' / ';\n            }\n                \n            if (detailString !== \"\" && detailString != 'Details:  /') {\n                detailString = detailString.substr(0, detailString.length - 3);\n            }\n        }\n        return detailString;\n    }),\n    \n    //--------------------------------------\n    displacementIsValid: Ember.computed('instrumentType', function() {\n        //console.log(this.get('instrumentType'));\n        if (this.instrumentType==='BluVibe') {\n            return false;\n        }\n        return true;\n    }),\n    axialDisplacementIsValid: Ember.computed('instrumentType', function() {\n        // dRebarv2?\n        //console.log(this.instrumentType);\n        return this.instrumentType === 'dRebar';\n    }),\n    velocityIsValid: Ember.computed('chartData', function() {\n        if (this.chartData !== null) {\n            if (this.chartData.temporalVelocityName !== null) {\n                return true;\n            }\n        }\n        return false;\n    }),\n    accelerationIsValid: Ember.computed('chartData', function() {\n        if (this.chartData !== null) {\n            if (this.chartData.temporalAccelerationName !== null) {\n                return true;\n            }\n        }\n        return false;\n    }),\n    strainIsValid: Ember.computed('chartData', function() {\n        if (this.chartData !== null) {\n            if (this.chartData.temporalStrainName !== null) {\n                return true;\n            }\n        }\n        return false;\n    }),\n    strainRateIsValid: Ember.computed('chartData', function() {\n        if (this.chartData !== null) {\n            if (this.chartData.temporalStrainRateName !== null) {\n                return true;\n            }\n        }\n        return false;\n    }),\n    axialIsValid:  Ember.computed('instrumentType', function() {\n        // dRebarv2?\n        if(this.instrumentType === 'dRebar') {\n            return true;\n        }\n        return false;\n\n    }),\n    bendingIsValid: Ember.computed('instrumentType', function() {\n        // dRebarv2?\n        if(this.instrumentType === 'dRebar') {\n            return true;\n        }\n        return false;\n\n    }),\n    loadIsValid: Ember.computed('chartData', function() {\n        if (this.chartData !== null) {\n            if (this.chartData.temporalLoadName !== null) {\n                return true;\n            }\n        }\n        return false;\n    }),\n    temperatureIsValid: Ember.computed('instrumentType', function() {\n        if(this.instrumentType === 'Thermostring' || this.instrumentType === 'BluVibe') {\n            return false;\n        }\n        return true;\n    }),\n    bluVibe: Ember.computed('instrumentType', function() {\n        if(this.instrumentType === 'BluVibe') {\n            return true;\n        }\n        return false;\n    }),\n    isAdictMDT: Ember.computed('instrumentType', function() {\n        try{\n            if(this.instrumentType.toLowerCase() === 'adict' && this.vendor.vendorType.includes('MDT')) {\n                return true;\n            }    \n        } catch (e) {\n            console.log(e);\n            console.log(\"Vendor Not Set: isAcictMDT in termporal-graphs.js controller\");\n        }\n        return false;\n    }),            \n\n    instSelectedAnchor: Ember.computed('instrument.selectedAnchor', function() {\n        let selectedAnchor = this.get('instrument.selectedAnchor');\n        // console.log(\"selected anchor::: \" + selectedAnchor);\n        this.set('selectedAnchor', selectedAnchor);\n        return selectedAnchor;\n    }),\n\n    instrumentAnchorsSorted: Ember.computed.sort('instrumentAnchors', 'instrumentAnchorsSorting'),\n\n    instrumentAnchorsForAdictMDT: Ember.computed('instrumentAnchors', function() {\n        let instrumentAnchors = this.get(\"instrumentAnchorsSorted\");\n        let instrument = this.get('instrument');\n        // console.log(\"instrumentAnchorsForAdictMDT::: \" + instrument.id);        \n        // Check if there are anchors to remove\n        if (instrumentAnchors.length > 0) {\n            instrumentAnchors.pop(); // Remove the last anchor\n        }\n        return instrumentAnchors;\n    }),\n    \n    refHeadPosition: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['ref-head-position'];\n    }),\n    linearData: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['linear'];\n    }),\n    calibData: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['calib'];\n    }),\n    depthData: Ember.computed('displacementValuesMeta', function() {\n        let depth = this.get('displacementValuesMeta')['depth'];\n        return depth;\n    }),\n    timeRef: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['zeroed'];\n    }),\n    flipSigns: Ember.computed('activeInstrumentMeta', function () {\n        return this.get('activeInstrumentMeta')['flip-signs'];\n    }),\n    \n    allInstruments: Ember.computed.filter('model.instruments', function(instrument) {\n        //return true;\n        if (instrument.get('anchorCount') > 0) {\n            return true;\n        }\n    }),\n    instruments: Ember.computed.map('allInstruments', function(instrument) {\n        return {\n            title: instrument.get('id'),\n            value: instrument.get('id')\n        };\n    }),\n    // vibes: Ember.computed.map('model.vibes', function(vibe) {\n    //     return {\n    //         title: vibe.get('id'),\n    //         value: vibe.get('id')\n    //     };\n    // }),\n    // vibeSelection: Ember.computed('vibeId', 'vibes', function() {\n    //     var id = this.get('vibeId');\n    //     return this.get('vibes').findBy('id', id);\n    // }),\n    // needed for filtered select list to be able to set active instrument on page reload\n    initialInstrumentSelection: Ember.computed('instruments', 'instrumentId', function () {\n\n        var id = this.get('instrumentId');\n        \n        if(id !== null) {\n            writeCookie('instrumentId', id, 0.02);\n        }\n\n        return this.get('instruments').findBy('title', this.get('instrumentId'));\n    }),\n    randomValue: null, // Initialize to null or any default value\n    actions: {\n        setRandomValue() {\n            const randomValue = Math.floor(Math.random() * 7); // Generate a random number between 0 and 6\n            console.log(\"randomValue: \" + randomValue);\n            this.set('randomValue', randomValue);\n            this.set('selectedAnchor', randomValue);\n        },   \n        updatePort(newPortValue) {\n            // Get the current value of 'port'\n            const currentPortValue = this.get('port');\n      \n            // Set the new value of 'port'\n            this.set('port', newPortValue);\n      \n            // Optionally, you can refresh the URL to reflect the updated query parameter\n            this.send('refresh');\n        },\n\n        resetZoom: function(instrumentId, modelName, start_timestamp, end_timestamp) {\n            this.router.transitionTo('temporal-graphs.temporal-graph', this.instrumentId, this.modelName, { queryParams: { start_timestamp: null, end_timestamp: null } });\n            \n            // this.router.transitionTo('temporal-graphs.temporal-graph', instrumentId, modelName, (start_timestamp=null, end_timestamp=null));\n        // this.RouterService.transitionTo('temporal-graphs.temporal-graph', id, this.get('modelName'));\n        },\n\n        handleAnchorSelection(selectedAnchor, event ) {\n            let instrument = this.get('instrument');\n            this.set('selectedAnchor', selectedAnchor);\n            \n            // console.log(\"selectedAnchor: \" + selectedAnchor);\n            instrument.selectedAnchor = selectedAnchor;\n            instrument.save();\n            \n            let previousAnchor = this.get(\"previousAnchor\");\n            // console.log(\"selectedAnchor: \" + selectedAnchor);\n            // console.log(\"previousAnchor: \" + previousAnchor);\n            if( selectedAnchor != null && selectedAnchor != '0' ) {\n                // Update the ref_anchor value if needed\n                // console.log(\"selectedAnchor: \" + selectedAnchor);\n                // console.log(\"Flipping Signs::::::::::: true\" );\n                \n                this.set('flipSigns', true);\n                this.flipSigns = true;\n            } else {\n                // console.log(\"Flipping Signs::::::::::: false\" );\n                this.set('flipSigns', false);\n                this.flipSigns = false;\n            }\n\n            this.set(\"previousAnchor\", selectedAnchor);        \n        },\n        \n        setDepth(value) {\n            this.set('depthChecked', value == true ? 'Checked' : '');\n        },\n        setLinear(value) {\n            this.set('linearChecked', value == true ? 'Checked' : '');\n        },\n        setCalib(value) {\n            this.set('calibChecked', value == true ? 'Checked' : '');\n        },\n        updateNav(licence) {\n            // this.get('temporalGraphController').send('setController', this);\n            let modules = licence.modules;\n            if(licence.isValid) {\n                if(licence.withinLimit) {\n                    if(!modules.temporal) {\n                        document.getElementById(\"temp-link\").style.display = \"none\";\n                        document.getElementById(\"licence-error-module\").style.display = \"block\";\n                    } else {\n                        document.getElementById(\"temp-link\").style.display = \"block\";\n                    }\n                    if(!modules.spatial) {\n                        document.getElementById(\"spat-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"spat-link\").style.display = \"block\";\n                    }\n                    if(!modules.frequency) {\n                        document.getElementById(\"freq-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"freq-link\").style.display = \"block\";\n                    }\n                    if(!modules.alerts) {\n                        document.getElementById(\"alert-link\").style.display = \"none\";\n                    } else {\n                        document.getElementById(\"alert-link\").style.display = \"block\";\n                    }\n        \n                    document.getElementById(\"licence-error-instruments\").style.display = \"none\";\n                } else {\n                    document.getElementById(\"licence-error-instruments\").style.display = \"block\";\n                }    \n                document.getElementById(\"licence-error-expired\").style.display = \"none\";\n            } else {\n                document.getElementById(\"licence-error-expired\").style.display = \"block\";\n            }\n        },\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            }\n        },\n        toggleDataType(property) {\n            this.get('temporalGraphController').send('toggleDataType', property);\n        },\n        toggleProperty(property) {\n            this.get('temporalGraphController').send('toggleProperty', property);\n            this[property] = !this[property];\n        },\n        toggleZeroedGraph(){\n            this.router.transitionTo('temporal-graphs.temporal-graph', this.instrumentId, this.modelName, { queryParams: { zeroed: this.zeroed } });\n        },\n        toggleLocalProperty(property) {\n            console.log(\"Clicked adjust scales\")\n            let propValue = false;\n            if ( this.get(property) === null ) {\n                propValue = true;\n            } else if(this.get(property) === false ) {\n                propValue = true; \n            }\n            this.set(property, propValue);\n        },\n\n        updateLocalProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        onUpdateTransitionTo(selection) {\n            // console.log(\"temporalcontroller: selection: \" + selection.value)\n            if (this.get('modelName') === null || this.get('modelName') == '') {\n                this.set('modelName', 'displacement-values');\n            }\n            this.RouterService.transitionTo('temporal-graphs.temporal-graph', selection.value, this.get('modelName'));\n        },\n        onUpdateTransitionToVibe(selection) {\n            //console.log(this.get('queryParams'));\n            this.get('temporalGraphController').send('updateVibe', selection.value);\n        },\n        setChart(chart) {\n            this.set('chart',chart);\n        },\n        setData(data) {\n            this.set('chartDataPoints', data);\n        },\n        disableTemp() {\n            let chart = this.get('chart');\n            let points = this.get('chartDataPoints');\n            if (chart !== null) {\n                points.forEach(function(element) {\n                    if (element.yAxis === 2) {\n                        element.disabled = true;\n                        element.userDisabled = true;\n                        //chart.update();\n                    }\n                });\n            }\n        },\n        saveImage() {\n            html2canvas(document.querySelector(\"#capture\"), { \n                allowTaint: true, \n                foreignObjectRendering: true\n            }).then(canvas => {\n                let downloadLink = document.createElement('a');\n                downloadLink.setAttribute('download', 'CanvasAsImage.png');\n                canvas.toBlob(function(blob) {\n                    let url = URL.createObjectURL(blob);\n                    downloadLink.setAttribute('href', url);\n                    downloadLink.click();\n                });\n            });\n        },\n        selectTemps() {\n            let lastClick = this.get('lastClick');\n            if (lastClick === null || lastClick !== \"temp\") {\n                let chart = this.get('chart');\n                let points = this.get('chartDataPoints');\n                if (chart !== null) {\n                    for (let ctr = 0; ctr < points.length - 2; ctr++) {\n                        if (ctr % 2 === 0) {\n                            if (!points[ctr + 1].disabled) {\n                                points[ctr].disabled = false;\n                                points[ctr].userDisabled = false;\n                            }\n                        } else {\n                            points[ctr].disabled = true;\n                            points[ctr].userDisabled = true;\n                        }\n                    }\n                    chart.update();\n                }\n                this.set('lastClick', 'temp');\n            }\n        },\n        selectReadings() {\n            let lastClick = this.get('lastClick');\n            if (lastClick === null || lastClick !== \"vals\") {\n                let chart = this.get('chart');\n                let points = this.get('chartDataPoints');\n                if (chart !== null) {\n                    for (let ctr = points.length - 2; ctr >= 0; ctr--) {\n                        if (ctr % 2 === 0) {\n                            points[ctr].disabled = true;\n                            points[ctr].userDisabled = true;\n                        } else {\n                            if (!points[ctr - 1].disabled) {\n                                points[ctr].disabled = false;\n                                points[ctr].userDisabled = false;\n                            }\n                        }\n                    }\n                    chart.update();\n                }\n                this.set('lastClick', 'vals');\n            }\n        }\n    },\n    activate: function() {\n        var id = this.get('instrumentId');\n        var inst = null;\n\n        if(id === null) {\n            id = readCookie('instrumentId');\n            if(id !== \"\") {\n                Ember.run.scheduleOnce('afterRender', this, function() {\n                    //console.log(\"running re-load\");\n                    this.RouterService.transitionTo('temporal-graphs.temporal-graph', id, this.get('modelName'));\n                    });\n            }\n        } else {\n            writeCookie('instrumentId', id, 1);\n        }\n    }\n});\n\nfunction toFixed(value, numDecimals) {\n    var roundVal = Math.pow(10, numDecimals);\n    var answer = 0;\n    if (value > 0) {\n        answer = Math.ceil(value * roundVal) / roundVal;\n    } else {\n        answer = Math.floor(value * roundVal) / roundVal;\n    }\n    return answer;\n}\n\nfunction writeCookie(name,value,days) {\n    var date, expires;\n    if (days) {\n        date = new Date();\n        date.setTime(date.getTime()+(days*24*60*60*1000));\n        expires = \"; expires=\" + date.toGMTString();\n            }else{\n        expires = \"\";\n    }\n    document.cookie = name + \"=\" + value + expires + \"; path=/\";\n}\n\nfunction readCookie(name) {\n    var i, c, ca, nameEQ = name + \"=\";\n    ca = document.cookie.split(';');\n    for(i=0;i < ca.length;i++) {\n        c = ca[i];\n        while (c.charAt(0)===' ') {\n            c = c.substring(1,c.length);\n        }\n        if (c.indexOf(nameEQ) === 0) {\n            return c.substring(nameEQ.length,c.length);\n        }\n    }\n    return '';\n}\n","import Ember from 'ember';\n\nexport default Ember.Controller.extend({\n    queryParams: [\n        'start_timestamp',\n        'end_timestamp',\n        'num_points_requested',\n        'ref_head_position',\n        'ref_anchor',\n        'zeroed',\n        'linear',\n        'calib',\n        'depth',\n        'flip_signs',\n        'event_type',\n        'blast_type',\n        'window',\n        'seismic_type',\n        'frequency',\n        'chart_type',\n        \"display_records\",\n        \"port\",\n        \"selectedAnchor\",\n    ],\n    start_timestamp: null,\n    end_timestamp: null,\n    num_points_requested: 300,\n    ref_head_position: \"\",\n    ref_anchor: \"0\",\n    zeroed: true,\n    linear: false,\n    calib: true,\n    depth: false,\n    modelName: null,\n    flip_signs: null,\n    event_type: null,\n    blast_type: null,\n    tiltMode: null,\n    window: 480,\n    seismic_type: null,\n    frequency: null,\n    chart: null,\n    chart_type: null,\n    display_records: 100,\n    port:1,\n    selectedAnchor: 0,\n\n    temporalGraphsController: Ember.inject.controller(\"temporal-graphs\"),\n\n    linearObserver: Ember.observer('linear', function() {\n        this.get('temporalGraphsController').send('setLinear', this.get('linear'));\n    }), \n\n    calibObserver: Ember.observer('calib', function() {\n        this.get('temporalGraphsController').send('setCalib', this.get('calib'));\n    }),\n\n    depthObserver: Ember.observer('depth', function() {\n        this.get('temporalGraphsController').send('setDepth', this.get('depth'));\n    }),\n\n    actions: {\n        toggleDataType(property) {\n            // console.log(\"PROPERTY::::::::::::::::::: \" + property);\n            if (property == \"raw\"){\n                this.set(\"linear\", false);\n                this.set(\"calib\", false);\n                this.set(\"depth\", false);\n            } else if (property == \"linear\") {\n                this.set(\"linear\", true);\n                this.set(\"calib\", false);\n                this.set(\"depth\", false);\n            } else if (property == \"calib\") {\n                this.set(\"linear\", false);\n                this.set(\"calib\", true);\n                this.set(\"depth\", false);\n            } else {\n                this.set(\"linear\", false);\n                this.set(\"calib\", false);\n                this.set(\"depth\", true);                \n            }\n        },\n        setData(data) {\n            this.send('setDataR',data);\n        },\n        setChart(chart) {\n            this.send('setChartR',chart);\n        },\n        updateVibe(vibeID) {\n            //this.set('vibe_id', vibeID);\n        },\n        updateWindow(window) {\n            this.set('window', window);\n        },\n        updateProperties(propertyNames = [], propertyValues = []) {\n            const _this = this;\n            if (propertyNames.length > 0 && propertyValues.length > 0 && propertyNames.length === propertyValues.length) {\n                propertyNames.forEach( function(propertyName, i) {\n                    _this.set(propertyName, propertyValues[i]);\n                });\n            }\n        },\n        getQueryParams(variable) {\n            return this.get(variable);\n        },\n        toggleProperty(property) {\n            let propValue = false;\n            if ( this.get(property) === null ) {\n                propValue = true;\n            } else if(this.get(property) === false ) {\n                propValue = true; \n            }\n            this.set(property, propValue);\n        },\n        queryParamsDidChange(changes, from, to) {\n            if('selectedAnchor' in changes){\n                this.selectedAnchor = changes.selectedAnchor;\n            }\n          }\n        \n\n    }\n});\n","import Ember from 'ember';\nimport { on } from '@ember/object/evented';\n\nexport default Ember.Controller.extend({\n    _my_init: on('init', function() {\n        Ember.run.scheduleOnce('afterRender', this, function() {\n            //this.send('updateNav',this.get('model').licence.content[0]._data);\n        });\n    }),\n    headerTitles: Ember.computed('instrument', function() {\n        let titles = ['Channel', 'Trigger','Frequency','Aplitude','PPV','PPA','Duration','Channel', 'Trigger','Frequency','Aplitude','PPV','PPA','Duration','Channel', 'Trigger','Frequency','Aplitude','PPV','PPA','Duration','Channel', 'Trigger','Frequency','Aplitude','PPV','PPA','Duration'];\n        return titles;\n    }),\n    queryParams: ['page', 'page_size', 'ordering', 'search'],\n    page_size: 20,\n    eventsMeta: null,\n    ordering: null,\n    search: null,\n    isVisibleRowDetails: {},\n    isRowDeleteConfirmationDialog: {},\n    isVisibleCreateNewForm: false,\n    permissionError: false,\n\n    breadCrumbs: [\n        {\n            label: \"Dashboard\",\n            path: 'index'\n        },\n        {\n            label: \"Vibration Events\",\n            path: 'vibration-events'\n        },\n        \n    ],\n\n    actions: {\n        // updateNav(licence) {\n        //     let modules = licence.modules;\n        //     if(licence.isValid) {\n        //         if(licence.withinLimit) {\n        //             if(!modules.temporal) {\n        //                 document.getElementById(\"temp-link\").style.display = \"none\";\n        //             } else {\n        //                 document.getElementById(\"temp-link\").style.display = \"block\";\n        //             }\n        //             if(!modules.spatial) {\n        //                 document.getElementById(\"spat-link\").style.display = \"none\";\n        //             } else {\n        //                 document.getElementById(\"spat-link\").style.display = \"block\";\n        //             }\n        //             if(!modules.frequency) {\n        //                 document.getElementById(\"freq-link\").style.display = \"none\";\n        //             } else {\n        //                 document.getElementById(\"freq-link\").style.display = \"block\";\n        //             }\n        //             if(!modules.alerts) {\n        //                 document.getElementById(\"alert-link\").style.display = \"none\";\n        //             } else {\n        //                 document.getElementById(\"alert-link\").style.display = \"block\";\n        //             }        \n        //             document.getElementById(\"licence-error-instruments\").style.display = \"none\";\n        //         } else {\n        //             document.getElementById(\"licence-error-instruments\").style.display = \"block\";\n        //         }\n        //         document.getElementById(\"licence-error-expired\").style.display = \"none\";\n        //     } else {\n        //         document.getElementById(\"add-new\").style.display = \"none\";\n        //         document.getElementById(\"licence-error-expired\").style.display = \"block\";\n        //     }\n        //     document.getElementById(\"licence-error-module\").style.display = \"none\";\n        // },\n        updateProperty(propertyName, propertyValue) {\n            this.set(propertyName, propertyValue);\n        },\n        vewRowDetails(id){\n            let curVal = this.get('isVisibleRowDetails')[id] ? false : true;\n            Ember.set(this.get('isVisibleRowDetails'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        toggleRowDeleteConfirmationDialog(id){\n            let curVal = this.get('isRowDeleteConfirmationDialog')[id] ? false : true;\n            Ember.set(this.get('isRowDeleteConfirmationDialog'), id, curVal); //update isVisibleRowDetails variable for each single row\n        },\n        remove(model, object){\n            let _this = this;\n            object.deleteRecord();\n            object.get('isDeleted');\n            object.save().then(function(){\n                // deal with records that just were created\n                // relates to the way I add new records to model https://github.com/emberjs/data/issues/3313\n                model.removeObject(object);\n            })\n            .catch(function(reason){\n                if (reason.errors[0].status == 403) {\n                    _this.send('updateProperty', 'permissionError', true);\n                }\n            });\n        },\n        sortBy(property) {\n            this.set('ordering', property);\n        }\n    }\n});\n","define(\"geotechnical-data-platform-new/data-adapter\", [\"exports\", \"@ember-data/debug\"], function (_exports, _debug) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _debug.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/-element\", [\"exports\", \"ember-element-helper/helpers/-element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _element.default;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport function activeClass([val]) {\n    if (val) {\n        return 'active';\n    }\n}\n\nexport default Ember.Helper.helper(activeClass);\n","import { helper } from '@ember/component/helper';\n\nexport default helper(function alertGetId([alertRow]) {\n  let gw = alertRow.get(\"gateway\")\n  let gwId = gw.get(\"id\");\n  return gwId;\n});","define(\"geotechnical-data-platform-new/helpers/and\", [\"exports\", \"ember-truth-helpers/helpers/and\"], function (_exports, _and) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _and.default;\n    }\n  });\n  Object.defineProperty(_exports, \"and\", {\n    enumerable: true,\n    get: function () {\n      return _and.and;\n    }\n  });\n});\n","import { helper } from '@ember/component/helper';\nimport config from '../config/environment';\nimport { shaRegExp, versionRegExp, versionExtendedRegExp } from 'ember-cli-app-version/utils/regexp';\n\nexport function appVersion(_, hash = {}) {\n  const version = config.APP.version;\n  // e.g. 1.0.0-alpha.1+4jds75hf\n\n  // Allow use of 'hideSha' and 'hideVersion' For backwards compatibility\n  let versionOnly = hash.versionOnly || hash.hideSha;\n  let shaOnly = hash.shaOnly || hash.hideVersion;\n\n  let match = null;\n\n  if (versionOnly) {\n    if (hash.showExtended) {\n      match = version.match(versionExtendedRegExp); // 1.0.0-alpha.1\n    }\n    // Fallback to just version\n    if (!match) {\n      match = version.match(versionRegExp); // 1.0.0\n    }\n  }\n\n  if (shaOnly) {\n    match = version.match(shaRegExp); // 4jds75hf\n  }\n\n  return match ? match[0] : version;\n}\n\nexport default helper(appVersion);\n","import Ember from 'ember';\n\nexport function arrayAt(params) {\n    // console.log(\"arrayAt:\" + params);\n    const arr = params[0];\n    const index = params[1];\n    // console.log(\"arr:\" + arr);\n    // console.log(\"index:\" + index);\n    if(arr == undefined){\n        return [];\n    }else{\n        // console.log(\"arr[index]:\");\n        // console.log(arr[index].anchorDistances);\n        return arr[index].anchorDistances;\n    }\n}\n\nexport default Ember.Helper.helper(arrayAt);\n","define(\"geotechnical-data-platform-new/helpers/bs-contains\", [\"exports\", \"ember-bootstrap/helpers/bs-contains\"], function (_exports, _bsContains) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsContains.default;\n    }\n  });\n  Object.defineProperty(_exports, \"bsContains\", {\n    enumerable: true,\n    get: function () {\n      return _bsContains.bsContains;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/bs-default\", [\"exports\", \"ember-bootstrap/helpers/bs-default\"], function (_exports, _bsDefault) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsDefault.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/bs-eq\", [\"exports\", \"ember-bootstrap/helpers/bs-eq\"], function (_exports, _bsEq) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsEq.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/bs-noop\", [\"exports\", \"ember-bootstrap/helpers/bs-noop\"], function (_exports, _bsNoop) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsNoop.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/bs-size-class\", [\"exports\", \"ember-bootstrap/helpers/bs-size-class\"], function (_exports, _bsSizeClass) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsSizeClass.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/bs-type-class\", [\"exports\", \"ember-bootstrap/helpers/bs-type-class\"], function (_exports, _bsTypeClass) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _bsTypeClass.default;\n    }\n  });\n});\n","import { helper } from '@ember/component/helper';\n\nexport function buttonclass([anchor, ref_anchor = 0] /*, hash*/) {\n\n    // Use the String constructor to ensure both values are strings.\n    anchor = String(anchor);\n    ref_anchor = String(ref_anchor);\n    // console.log(\"::::::::::::::::::::::::::: anchor.number: \" + anchor + \"   ref_anchor: \" + ref_anchor);\n\n  if (anchor === ref_anchor) {\n    // console.log(\":::::::::::::::::::::::::::Found match: anchor.number: \" + anchor + \"   ref_anchor: \" + ref_anchor);\n    return 'btn btn-outline-primary nowrap active';\n}\n\n  return 'btn btn-outline-primary nowrap';\n}\n\nexport default helper(buttonclass);\n","define(\"geotechnical-data-platform-new/helpers/cancel-all\", [\"exports\", \"ember-concurrency/helpers/cancel-all\"], function (_exports, _cancelAll) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _cancelAll.default;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport default Ember.Helper.helper(function([refAnchor, anchorNumber]) {\n  let result = refAnchor.toString() === anchorNumber.toString();\n  console.log(`**************refAnchor: ${refAnchor}, anchorNumber: ${anchorNumber}, result: ${result}`);\n  return result;\n});\n","import { helper } from '@ember/component/helper';\nimport moment from 'moment';\n\nexport default helper(function currentDate(params/*, hash*/) {\n    return moment().format(params[0]);\n});\n","define(\"geotechnical-data-platform-new/helpers/did-insert\", [\"exports\", \"ember-render-helpers/helpers/did-insert\"], function (_exports, _didInsert) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _didInsert.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/did-update\", [\"exports\", \"ember-render-helpers/helpers/did-update\"], function (_exports, _didUpdate) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _didUpdate.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/div-icon\", [\"exports\", \"ember-leaflet/helpers/div-icon\"], function (_exports, _divIcon) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _divIcon.default;\n    }\n  });\n  Object.defineProperty(_exports, \"divIcon\", {\n    enumerable: true,\n    get: function () {\n      return _divIcon.divIcon;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/element\", [\"exports\", \"ember-element-helper/helpers/element\"], function (_exports, _element) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _element.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/ember-leaflet-assign-to\", [\"exports\", \"ember-leaflet/helpers/ember-leaflet-assign-to\"], function (_exports, _emberLeafletAssignTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberLeafletAssignTo.default;\n    }\n  });\n  Object.defineProperty(_exports, \"emberLeafletAssignTo\", {\n    enumerable: true,\n    get: function () {\n      return _emberLeafletAssignTo.emberLeafletAssignTo;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/ember-leaflet-eq\", [\"exports\", \"ember-leaflet/helpers/ember-leaflet-eq\"], function (_exports, _emberLeafletEq) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberLeafletEq.default;\n    }\n  });\n  Object.defineProperty(_exports, \"emberLeafletEq\", {\n    enumerable: true,\n    get: function () {\n      return _emberLeafletEq.emberLeafletEq;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/ember-leaflet-hash\", [\"exports\", \"ember-leaflet/helpers/ember-leaflet-hash\"], function (_exports, _emberLeafletHash) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberLeafletHash.default;\n    }\n  });\n  Object.defineProperty(_exports, \"emberLeafletHash\", {\n    enumerable: true,\n    get: function () {\n      return _emberLeafletHash.emberLeafletHash;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/ember-leaflet-or\", [\"exports\", \"ember-leaflet/helpers/ember-leaflet-or\"], function (_exports, _emberLeafletOr) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberLeafletOr.default;\n    }\n  });\n  Object.defineProperty(_exports, \"emberLeafletOr\", {\n    enumerable: true,\n    get: function () {\n      return _emberLeafletOr.emberLeafletOr;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/ensure-safe-component\", [\"exports\", \"@embroider/util\"], function (_exports, _util) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _util.EnsureSafeComponentHelper;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/eq\", [\"exports\", \"ember-truth-helpers/helpers/equal\"], function (_exports, _equal) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _equal.default;\n    }\n  });\n  Object.defineProperty(_exports, \"equal\", {\n    enumerable: true,\n    get: function () {\n      return _equal.equal;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport function formatNumber(params) {\n    return parseFloat(params[0]).toFixed(params[1]);\n}\n\nexport default Ember.Helper.helper(formatNumber);\n","import Ember from 'ember';\n\nexport function getArrayElement(params/*, hash*/) {\n  if (params[0] && typeof params[1] !== undefined) {\n        let index = params[1];\n        return params[0][ index ];\n    }\n}\n\nexport default Ember.Helper.helper(getArrayElement);\n","import Ember from 'ember';\n\nexport function getArrayValue(array, idx) {\n  try {\n    // console.log(array);\n    // console.log(idx);\n    return array[idx];\n  } catch {\n    return false;\n  }\n}\n \n\nexport default Ember.Helper.helper(getArrayValue);\n","define(\"geotechnical-data-platform-new/helpers/gt\", [\"exports\", \"ember-truth-helpers/helpers/gt\"], function (_exports, _gt) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _gt.default;\n    }\n  });\n  Object.defineProperty(_exports, \"gt\", {\n    enumerable: true,\n    get: function () {\n      return _gt.gt;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/gte\", [\"exports\", \"ember-truth-helpers/helpers/gte\"], function (_exports, _gte) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _gte.default;\n    }\n  });\n  Object.defineProperty(_exports, \"gte\", {\n    enumerable: true,\n    get: function () {\n      return _gte.gte;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/icon\", [\"exports\", \"ember-leaflet/helpers/icon\"], function (_exports, _icon) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _icon.default;\n    }\n  });\n  Object.defineProperty(_exports, \"icon\", {\n    enumerable: true,\n    get: function () {\n      return _icon.icon;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport function ifEmptyStringOrNull(params/*, hash*/) {\n    if (typeof params[0] !== undefined) {\n        if (params[0] === null || params[0] === '' || params[0] === ' ') {\n            return true;\n        }\n    }\n}\n\nexport default Ember.Helper.helper(ifEmptyStringOrNull);\n","define(\"geotechnical-data-platform-new/helpers/ignore-children\", [\"exports\", \"ember-modal-dialog/helpers/ignore-children\"], function (_exports, _ignoreChildren) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _ignoreChildren.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/is-after\", [\"exports\", \"ember-moment/helpers/is-after\"], function (_exports, _isAfter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _isAfter.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/is-array\", [\"exports\", \"ember-truth-helpers/helpers/is-array\"], function (_exports, _isArray) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _isArray.default;\n    }\n  });\n  Object.defineProperty(_exports, \"isArray\", {\n    enumerable: true,\n    get: function () {\n      return _isArray.isArray;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/is-before\", [\"exports\", \"ember-moment/helpers/is-before\"], function (_exports, _isBefore) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _isBefore.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/is-between\", [\"exports\", \"ember-moment/helpers/is-between\"], function (_exports, _isBetween) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _isBetween.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/is-empty\", [\"exports\", \"ember-truth-helpers/helpers/is-empty\"], function (_exports, _isEmpty) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _isEmpty.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/is-equal\", [\"exports\", \"ember-truth-helpers/helpers/is-equal\"], function (_exports, _isEqual) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _isEqual.default;\n    }\n  });\n  Object.defineProperty(_exports, \"isEqual\", {\n    enumerable: true,\n    get: function () {\n      return _isEqual.isEqual;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport function isGreaterThan(params) {\n    if (params[0] && params[1]) {\n        return params[0] > params[1];\n    }\n}\n\nexport default Ember.Helper.helper(isGreaterThan);\n","import Ember from 'ember';\n\nexport function isInstrumentAnchorsSet([instrumentAnchors]) {\n\n    let instrumentAnchorsDistances = instrumentAnchors.map(function(obj){\n        return obj.get('distance') !== '' && obj.get('distance') !== null;\n    });\n\n    if (instrumentAnchorsDistances.indexOf(false) > -1 || instrumentAnchorsDistances.length === 0) {\n        return false;\n    } else {\n        return true;\n    }\n}\n\nexport default Ember.Helper.helper(isInstrumentAnchorsSet);\n","define(\"geotechnical-data-platform-new/helpers/is-same-or-after\", [\"exports\", \"ember-moment/helpers/is-same-or-after\"], function (_exports, _isSameOrAfter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _isSameOrAfter.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/is-same-or-before\", [\"exports\", \"ember-moment/helpers/is-same-or-before\"], function (_exports, _isSameOrBefore) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _isSameOrBefore.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/is-same\", [\"exports\", \"ember-moment/helpers/is-same\"], function (_exports, _isSame) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _isSame.default;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport function isStrokeLengthRequiredAndSet(instrument) {    \n\n    let type = instrument[0].get('instrumentTypeID');\n    let stroke = instrument[0].get('strokeLength');\n\n    //console.log(stroke);\n\n    switch(type) {\n        case 1:\n        case 2:\n        case 4:\n        case 5:\n            if (stroke === null || stroke === 0) {\n                return false;\n            } else {\n                return true;\n            }\n            break;\n        default:\n            return true;\n    }\n}\n\nexport default Ember.Helper.helper(isStrokeLengthRequiredAndSet);\n","define(\"geotechnical-data-platform-new/helpers/lat-lng-bounds\", [\"exports\", \"ember-leaflet/helpers/lat-lng-bounds\"], function (_exports, _latLngBounds) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _latLngBounds.default;\n    }\n  });\n  Object.defineProperty(_exports, \"latLngBounds\", {\n    enumerable: true,\n    get: function () {\n      return _latLngBounds.latLngBounds;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/loc\", [\"exports\", \"@ember/string/helpers/loc\"], function (_exports, _loc) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _loc.default;\n    }\n  });\n  Object.defineProperty(_exports, \"loc\", {\n    enumerable: true,\n    get: function () {\n      return _loc.loc;\n    }\n  });\n});\n","import { helper } from '@ember/component/helper';\n\nexport function logger([obj]) {\n    console.log(\"LOGGING START::::::::::::::::::::::\")\n    console.log(obj);\n    console.log(\"LOGGING END ::::::::::::::::::::::\")\n    return ''; // Helpers must return a value to be rendered, but we don't want to render anything\n}\n\nexport default helper(logger);","define(\"geotechnical-data-platform-new/helpers/lt\", [\"exports\", \"ember-truth-helpers/helpers/lt\"], function (_exports, _lt) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _lt.default;\n    }\n  });\n  Object.defineProperty(_exports, \"lt\", {\n    enumerable: true,\n    get: function () {\n      return _lt.lt;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/lte\", [\"exports\", \"ember-truth-helpers/helpers/lte\"], function (_exports, _lte) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _lte.default;\n    }\n  });\n  Object.defineProperty(_exports, \"lte\", {\n    enumerable: true,\n    get: function () {\n      return _lte.lte;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-add\", [\"exports\", \"ember-moment/helpers/moment-add\"], function (_exports, _momentAdd) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentAdd.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-calendar\", [\"exports\", \"ember-moment/helpers/moment-calendar\"], function (_exports, _momentCalendar) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentCalendar.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-diff\", [\"exports\", \"ember-moment/helpers/moment-diff\"], function (_exports, _momentDiff) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentDiff.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-duration\", [\"exports\", \"ember-moment/helpers/moment-duration\"], function (_exports, _momentDuration) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentDuration.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-format\", [\"exports\", \"ember-moment/helpers/moment-format\"], function (_exports, _momentFormat) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentFormat.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-from-now\", [\"exports\", \"ember-moment/helpers/moment-from-now\"], function (_exports, _momentFromNow) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentFromNow.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-from\", [\"exports\", \"ember-moment/helpers/moment-from\"], function (_exports, _momentFrom) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentFrom.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-subtract\", [\"exports\", \"ember-moment/helpers/moment-subtract\"], function (_exports, _momentSubtract) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentSubtract.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-to-date\", [\"exports\", \"ember-moment/helpers/moment-to-date\"], function (_exports, _momentToDate) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentToDate.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-to-now\", [\"exports\", \"ember-moment/helpers/moment-to-now\"], function (_exports, _momentToNow) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentToNow.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-to\", [\"exports\", \"ember-moment/helpers/moment-to\"], function (_exports, _momentTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _momentTo.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment-unix\", [\"exports\", \"ember-moment/helpers/unix\"], function (_exports, _unix) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _unix.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/moment\", [\"exports\", \"ember-moment/helpers/moment\"], function (_exports, _moment) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _moment.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/not-eq\", [\"exports\", \"ember-truth-helpers/helpers/not-equal\"], function (_exports, _notEqual) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _notEqual.default;\n    }\n  });\n  Object.defineProperty(_exports, \"notEqualHelper\", {\n    enumerable: true,\n    get: function () {\n      return _notEqual.notEqualHelper;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/not\", [\"exports\", \"ember-truth-helpers/helpers/not\"], function (_exports, _not) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _not.default;\n    }\n  });\n  Object.defineProperty(_exports, \"not\", {\n    enumerable: true,\n    get: function () {\n      return _not.not;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/now\", [\"exports\", \"ember-moment/helpers/now\"], function (_exports, _now) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _now.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/on-document\", [\"exports\", \"ember-on-helper/helpers/on-document\"], function (_exports, _onDocument) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _onDocument.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/on-window\", [\"exports\", \"ember-on-helper/helpers/on-window\"], function (_exports, _onWindow) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _onWindow.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/on\", [\"exports\", \"ember-on-helper/helpers/on\"], function (_exports, _on) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _on.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/or\", [\"exports\", \"ember-truth-helpers/helpers/or\"], function (_exports, _or) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _or.default;\n    }\n  });\n  Object.defineProperty(_exports, \"or\", {\n    enumerable: true,\n    get: function () {\n      return _or.or;\n    }\n  });\n});\n","import pageTitle from 'ember-page-title/helpers/page-title';\n\nexport default pageTitle;\n","import { helper } from '@ember/component/helper';\n\nexport function parseint(params/*, hash*/) {\n  return parseInt(params[0]);\n}\n\nexport default helper(parseint);\n\n","define(\"geotechnical-data-platform-new/helpers/perform\", [\"exports\", \"ember-concurrency/helpers/perform\"], function (_exports, _perform) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _perform.default;\n    }\n  });\n});\n","import pluralize from 'ember-inflector/lib/helpers/pluralize';\nexport default pluralize;\n","define(\"geotechnical-data-platform-new/helpers/point\", [\"exports\", \"ember-leaflet/helpers/point\"], function (_exports, _point) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _point.default;\n    }\n  });\n  Object.defineProperty(_exports, \"point\", {\n    enumerable: true,\n    get: function () {\n      return _point.point;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport function range(values) {\n    var start = values[0];\n    var count = values[1];\n  \n    var ret = [];\n    for(var i = 0; i < count; i++) {\n      ret.push(i+start);\n    }\n    return ret;\n}\n\nexport default Ember.Helper.helper(range);\n","define(\"geotechnical-data-platform-new/helpers/ref-to\", [\"exports\", \"ember-ref-bucket/helpers/ref-to\"], function (_exports, _refTo) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _refTo.default;\n    }\n  });\n  Object.defineProperty(_exports, \"refTo\", {\n    enumerable: true,\n    get: function () {\n      return _refTo.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/searchable-select-get\", [\"exports\", \"ember-searchable-select/helpers/searchable-select-get\"], function (_exports, _searchableSelectGet) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _searchableSelectGet.default;\n    }\n  });\n  Object.defineProperty(_exports, \"searchableSelectGet\", {\n    enumerable: true,\n    get: function () {\n      return _searchableSelectGet.searchableSelectGet;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/searchable-select-highlight-match\", [\"exports\", \"ember-searchable-select/helpers/searchable-select-highlight-match\"], function (_exports, _searchableSelectHighlightMatch) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _searchableSelectHighlightMatch.default;\n    }\n  });\n  Object.defineProperty(_exports, \"searchableSelectHighlightMatch\", {\n    enumerable: true,\n    get: function () {\n      return _searchableSelectHighlightMatch.searchableSelectHighlightMatch;\n    }\n  });\n});\n","import singularize from 'ember-inflector/lib/helpers/singularize';\nexport default singularize;\n","export function sum(params) {\n    return params.reduce((a, b) => {\n      return a + b;\n    });\n  };\n  \n  export default Ember.Helper.helper(sum);\n  ","define(\"geotechnical-data-platform-new/helpers/task\", [\"exports\", \"ember-concurrency/helpers/task\"], function (_exports, _task) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _task.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/unix\", [\"exports\", \"ember-moment/helpers/unix\"], function (_exports, _unix) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _unix.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/utc\", [\"exports\", \"ember-moment/helpers/utc\"], function (_exports, _utc) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _utc.default;\n    }\n  });\n  Object.defineProperty(_exports, \"utc\", {\n    enumerable: true,\n    get: function () {\n      return _utc.utc;\n    }\n  });\n});\n","import Ember from 'ember';\n\nexport function validateDExto(params) {\n    /**\n     * key value displacementObj.values instr @instrument displacementObj structure\n     */\n    let key = params[0];\n    let value = params[1];\n    let displacementObj = params[5];\n    let data = params[2];\n    let tempData = data;\n    data = data.slice(1);\n    let refInstrument = params[3]; //This is each children exto \n    let masterInstrument = params[4]; //This is the multiDExto Insstrument Obj\n    // console.log(\"displacementObj::::\", displacementObj);\n    // console.log(\"refInstrument::::\", refInstrument);\n    // console.log(\"masterInstrument::::\", masterInstrument);\n    let masterDataArray = [];\n    let channels = \"\"\n    let currentInstrIndex = -1\n    let i =0\n    for(const instr_position_index of ['1', '2', '3', '4', '5']){\n        // console.log(\"instr_position_index::::\", instr_position_index)\n\n\n        let instrumenPositionObj = masterInstrument['instrumentPosition'+instr_position_index]\n        if(instrumenPositionObj != null){\n\n            if(instrumenPositionObj.id == refInstrument.instrumentID){\n                currentInstrIndex = Number(instr_position_index);\n            }\n\n            let subExtoID = refInstrument.instrumentID\n    \n            //extract the number of channels \n            if(subExtoID.length == 9){\n                channels = subExtoID[4]\n    \n            }else{\n                channels = subExtoID.slice(4,6)\n            }\n            // console.log(\"This instrument has \", channels, \" channels\");\n            //With the number of channels, build the data array for each instrumentPositionObj\n            let slaveDataArray = [];\n            slaveDataArray.push(0.0);\n            while(i < data.length){\n                if(slaveDataArray.length == channels){\n                    break;\n                }else{\n                    slaveDataArray.push(data[i]);\n                }\n                i++;\n            }\n            masterDataArray.push(slaveDataArray)\n\n            // console.log(\"data array for ::::\", refInstrument.instrumentID, \" with \", channels, \" number of channels. it's data array is:::::\", slaveDataArray)\n\n        }        \n        // console.log(\"masterDataArray::::\", masterDataArray);\n\n        \n    }\n\n    if(key < channels){\n        // console.log(\"currentInstrIndex::::\", currentInstrIndex,\" key::::\", key);\n        // console.log(\"masterDataArray::::\", masterDataArray);\n        return masterDataArray[currentInstrIndex - 1][key];\n    }\n    \n}\n\nexport default Ember.Helper.helper(validateDExto);\n","import Ember from 'ember';\n\nexport function validateInitialChannels(params) {\n    const channelString = 'ch' + params[0];\n    \n    const referenceAnchorObj = params[1];\n    // console.log(\"channelString:\");\n    // console.log(channelString);\n    // console.log(\"referenceAnchorObj:\");\n    // console.log(referenceAnchorObj);\n    \n    if (channelString in referenceAnchorObj){\n        return true;\n    }else{\n        return false;\n    }\n}\n\nexport default Ember.Helper.helper(validateInitialChannels);\n","define(\"geotechnical-data-platform-new/helpers/will-destroy\", [\"exports\", \"ember-render-helpers/helpers/will-destroy\"], function (_exports, _willDestroy) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _willDestroy.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/helpers/xor\", [\"exports\", \"ember-truth-helpers/helpers/xor\"], function (_exports, _xor) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _xor.default;\n    }\n  });\n  Object.defineProperty(_exports, \"xor\", {\n    enumerable: true,\n    get: function () {\n      return _xor.xor;\n    }\n  });\n});\n","import initializerFactory from 'ember-cli-app-version/initializer-factory';\nimport config from '../config/environment';\n\nlet name, version;\nif (config.APP) {\n  name = config.APP.name;\n  version = config.APP.version;\n}\n\nexport default {\n  name: 'App Version',\n  initialize: initializerFactory(name, version)\n};\n","export default {\n  name: \"ember-breadcrumbs\",\n  initialize: function() {\n    let application = arguments[1] || arguments[0];\n    application.inject(\"component:bread-crumbs\", \"router\", \"router:main\");\n    application.inject(\"component:bread-crumbs\", \"routerService\", \"service:router\");\n  }\n};\n","import ContainerDebugAdapter from 'ember-resolver/resolvers/classic/container-debug-adapter';\n\nexport default {\n  name: 'container-debug-adapter',\n\n  initialize() {\n    let app = arguments[1] || arguments[0];\n\n    app.register('container-debug-adapter:main', ContainerDebugAdapter);\n    app.inject('container-debug-adapter:main', 'namespace', 'application:main');\n  }\n};\n","define(\"geotechnical-data-platform-new/initializers/ember-data-data-adapter\", [\"exports\", \"@ember-data/debug/setup\"], function (_exports, _setup) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _setup.default;\n    }\n  });\n});\n","import 'ember-data';\n\nimport setupContainer from 'ember-data/setup-container';\n\n/*\n  This code initializes EmberData in an Ember application.\n\n  It ensures that the `store` service is automatically injected\n  as the `store` property on all routes and controllers.\n*/\nexport default {\n  name: 'ember-data',\n  initialize: setupContainer,\n};\n","import ENV from '../config/environment';\nimport Configuration from 'ember-simple-auth/configuration';\nimport setupSession from 'ember-simple-auth/initializers/setup-session';\nimport setupSessionService from 'ember-simple-auth/initializers/setup-session-service';\nimport setupSessionRestoration from 'ember-simple-auth/initializers/setup-session-restoration';\n\nexport default {\n  name: 'ember-simple-auth',\n\n  initialize(registry) {\n    const config = ENV['ember-simple-auth'] || {};\n    config.rootURL = ENV.rootURL || ENV.baseURL;\n    Configuration.load(config);\n\n    setupSession(registry);\n    setupSessionService(registry);\n    setupSessionRestoration(registry);\n  }\n};\n","import Ember from 'ember';\nimport config from '../config/environment';\n\nexport function initialize() {\n  var application = arguments[1] || arguments[0];\n  if (config.exportApplicationGlobal !== false) {\n    var theGlobal;\n    if (typeof window !== 'undefined') {\n        theGlobal = window;\n    } else if (typeof global !== 'undefined') {\n        theGlobal = global\n    } else if (typeof self !== 'undefined') {\n        theGlobal = self;\n    } else {\n       // no reasonable global, just bail\n       return;\n    }\n\n    var value = config.exportApplicationGlobal;\n    var globalName;\n\n    if (typeof value === 'string') {\n      globalName = value;\n    } else {\n      globalName = Ember.String.classify(config.modulePrefix);\n    }\n\n    if (!theGlobal[globalName]) {\n      theGlobal[globalName] = application;\n\n      application.reopen({\n        willDestroy: function() {\n          this._super.apply(this, arguments);\n          delete theGlobal[globalName];\n        }\n      });\n    }\n  }\n}\n\nexport default {\n  name: 'export-application-global',\n\n  initialize: initialize\n};\n","define(\"geotechnical-data-platform-new/initializers/leaflet-assets\", [\"exports\", \"ember-leaflet/initializers/leaflet-assets\"], function (_exports, _leafletAssets) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _leafletAssets.default;\n    }\n  });\n  Object.defineProperty(_exports, \"initialize\", {\n    enumerable: true,\n    get: function () {\n      return _leafletAssets.initialize;\n    }\n  });\n});\n","import ENV from '../config/environment';\nimport Config from 'ember-bootstrap/config';\n\nexport function initialize(/* container, application */) {\n  Config.load(ENV['ember-bootstrap'] || {});\n}\n\nexport default {\n  name: 'load-bootstrap-config',\n  initialize,\n};\n","import initialize from 'ember-modal-dialog/instance-initializers/add-modals-container';\n\nexport default {\n  name: 'add-modals-container',\n  initialize,\n};\n","/* exists only for things that historically used \"after\" or \"before\" */\nexport default {\n  name: 'ember-data',\n  initialize() {},\n};\n","// This is only needed for backwards compatibility and will be removed in the\n// next major release of ember-simple-auth. Unfortunately, there is no way to\n// deprecate this without hooking into Ember's internals…\nexport default {\n  name: 'ember-simple-auth',\n\n  initialize() {}\n};\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    selectedCh: DS.attr('string'),\n    alert: DS.belongsTo('alert')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    active: DS.attr('number'),\n    inactive: DS.attr('number'),\n    total: DS.attr('number'),\n    alert: DS.attr('number')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    isPerm: DS.attr('boolean'),\n    isActive: DS.attr('boolean'),\n    isTriggered: DS.attr('boolean'),\n    isHandled: DS.attr('boolean'),\n    repeats: DS.attr('boolean'),\n    repeatWindow: DS.attr('number'),\n    initTriggerStamp: DS.attr(),\n    handleStamp: DS.attr(),\n    metric: DS.attr('string'),\n    direction: DS.attr('string'),\n    value: DS.attr('number'),\n    severity: DS.attr('string'),\n    response: DS.attr('string'),\n    target: DS.attr('string'),\n    inverted: DS.attr('boolean'),\n    refAnchor: DS.attr('string'),\n    message: DS.attr('string'),\n    windowType: DS.attr('string'),\n    windowLength: DS.attr('number'),\n    method: DS.attr('string'),\n    creator: DS.attr('string'),\n    creationDate: DS.attr(),\n    timeReference: DS.attr(),\n    lastStamp: DS.attr(),\n    instrument: DS.belongsTo('instrument', {async: true}),\n    gateway: DS.belongsTo('gateway', {async: false}),\n    anchors: DS.hasMany('alertAnchor', {async: false})\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    number: DS.attr('number'),\n    distance: DS.attr('number'),\n    instrument: DS.belongsTo('instrument')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    timestamp: DS.attr('string', {defaultValue: \"\"}),\n    location: DS.attr('string', {defaultValue: \"\"}),\n    east: DS.attr('number', {defaultValue: null}),\n    north: DS.attr('number', {defaultValue: null}),\n    depth: DS.attr('number', {defaultValue: null}),\n    comments: DS.attr('string', {defaultValue: \"\"}),\n    isVisible: DS.attr('boolean', {defaultValue: true}),\n    delay: DS.attr('string', {defaultValue: 0}),\n    \n    // level: DS.attr('string', {defaultValue: \"\"}),\n    level: DS.belongsTo('lookup', {async: true}),\n    project: DS.belongsTo('lookup', {async: true}),\n    \n    stope: DS.attr('string', {defaultValue: \"\"}),\n    tonnes: DS.attr('number', {defaultValue: 0}),\n    size: DS.attr('number', null),\n    blastType: DS.belongsTo('blast-type', { async: false })\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    title: DS.attr(),\n    blastEvent: DS.hasMany('blast-event')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    instrument: DS.attr('string'),\n    hasTemp: DS.attr('boolean'),\n    units: DS.attr('string'),\n    temporalDisplacementName: DS.attr('string'),\n    temporalVelocityName: DS.attr(),\n    temporalAccelerationName: DS.attr(),\n    temporalStrainName: DS.attr(),\n    temporalStrainRateName: DS.attr(),\n    temporalLoadName: DS.attr(),\n    spatialDisplacementName: DS.attr(),\n    spatialVelocityName: DS.attr(),\n    spatialAccelerationName: DS.attr(),\n    spatialStrainName: DS.attr(),\n    spatialStrainRateName: DS.attr(),\n    spatialLoadName: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    frequency: DS.attr(),\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    frequency: DS.attr(),\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\n\nexport default DS.Model.extend({\n  parentGateway: DS.belongsTo('gateway', { async: true, inverse: null}),\n  childGateway: DS.belongsTo('gateway', { async: true, inverse: null }),\n  isCurrent: DS.attr('boolean'),\n});","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    intervalValue: DS.attr('number'),\n    intervalName: DS.attr('string'),\n    intervalGroupName: DS.attr('string'),\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    active: DS.attr('number'),\n    inactive: DS.attr('number'),\n    total: DS.attr('number'),\n    alert: DS.attr('number')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    title: DS.attr('string'),\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend( {\n\n  // Add other attributes that match your Django model fields\n  // @belongsTo('gateway', { inverse: 'children' }) parentGateway;\n  // @hasMany('gateway', { inverse: 'parentGateway' }) children;\n  // Define the parentGateway relationship first with undefined inverse\n\n  parentGateway: DS.belongsTo('gateway', { inverse: undefined, async: false }),\n  // Define the children relationship afterward with the correct inverse\n  children: DS.hasMany('gateway', { inverse: 'parentGateway', async: true }),\n  // Set the inverse for parentGateway to match children\n  parentGateway: DS.belongsTo('gateway', { inverse: 'children', async: false }),\n\n  name: DS.attr('text'),\n  gatewayType: DS.belongsTo('gateway-type', {async: false}),\n  project: DS.attr('text'),\n  location: DS.attr('text'),\n  depth: DS.attr('number'),\n  level: DS.attr('text'),\n  installDate: DS.attr(),\n  installedBy: DS.attr('text'),\n  purpose: DS.attr('text'),\n  notes: DS.attr('text'),\n  alerts: DS.hasMany('alert', {async: true, inverse: 'gateway' }),\n  gatewayTypeID: DS.attr(),\n  active: DS.attr('boolean'),\n\n  // childRelations: DS.hasMany('gateway-child-relation', { async: true, inverse: null }),\n  // parentRelations: DS.hasMany('gateway-child-relation', { async: true, inverse: null }),\n  \n  gatewayReadInterval: DS.belongsTo('gateway-interval', {async: false, inverse: null}),\n  gatewayUploadInterval: DS.belongsTo('gateway-interval', {async: false, inverse: null}),\n  gatewayMeshCycleInterval: DS.belongsTo('gateway-interval', {async: false, inverse: null}),\n  gatewayTransmissionPowerInterval: DS.belongsTo('gateway-interval', {async: false, inverse: null}),\n  \n  currentParent: DS.attr('string'),\n\n  targetUrl: DS.attr('text'),\n  lteBand: DS.attr('text'), \n  uploadStatus: DS.attr('boolean'),\n  apn: DS.attr('text'),\n  parentGatewayId: DS.attr(),\n  meshID: DS.attr('number'),\n  hasChildren: DS.attr('boolean'),\n  \n})\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    title: DS.attr('string')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    active: DS.attr('number'),\n    inactive: DS.attr('number'),\n    total: DS.attr('number'),\n    alert: DS.attr('number')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    title: DS.attr('string'),\n    base_unit: DS.attr('string'),\n    vendor: DS.belongsTo('vendor', {async: false}),\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    channelsNum: DS.attr(),\n    portsNum: DS.attr(),\n    name: DS.attr('text'),\n    zeroTimestamp: DS.attr(),\n    location: DS.attr('text'),\n    east: DS.attr('number'),\n    north: DS.attr('number'),\n    depth: DS.attr('number'),\n    azimuth: DS.attr('text'),\n    dip: DS.attr('text'),\n    // project: DS.attr('text'),\n    // level: DS.attr('text'),\n    project: DS.belongsTo('lookup', {async: true}),\n    level: DS.belongsTo('lookup', {async: true}),\n    borehole: DS.attr('text'),\n    installDate: DS.attr(),\n    installedBy: DS.attr('text'),\n    purpose: DS.attr('text'),\n    notes: DS.attr('text'),\n    anchorCount: DS.attr('digits'),\n    anchors: DS.hasMany('anchor', {async: true}),\n    vwproperty: DS.hasMany('vwproperty', {async: false}),\n    headAt: DS.belongsTo('head-at', {async: false}),\n    instrumentType: DS.belongsTo('instrument-type', {async: false}),\n    alerts: DS.hasMany('alert', {async: false}),\n    instrumentTypeID: DS.attr(),\n    instrumentStiffness: DS.attr('digits'),\n    instrumentLength: DS.attr('digits'),\n    strokeLength: DS.attr('digits'),\n    baseLength: DS.attr('digits'),\n    headExclusionLength: DS.attr('digits'),\n    gaugeLength: DS.attr('digits'),\n    referenceAnchor: DS.attr('text'),\n    bulbed: DS.attr('boolean'),\n    plated: DS.attr('boolean'),\n    stacked: DS.attr('boolean'),\n    active: DS.attr('boolean'),\n    elasticLimitPct: DS.attr('digits'),\n    plasticLimitPct: DS.attr('digits'),\n    ultimateLimitPct: DS.attr('digits'),\n    elasticLimitFce: DS.attr('digits'),\n    plasticLimitFce: DS.attr('digits'),\n    ultimateLimitFce: DS.attr('digits'),\n    youngsModulus: DS.attr('digits'),\n    crossSectionalArea: DS.attr('digits'),\n    boltDiameter: DS.attr('digits'),\n    selectedAnchor: DS.attr('number'),\n    calculatedElasticLimitForce: Ember.computed('elasticLimitPct', 'instrumentStiffness', function() {\n        let elf = 0; //this.get('elasticLimitFce');\n        elf = this.axialStiffness * this.elasticLimitPct;  \n        this.elasticLimitFce = elf.toFixed(2);\n        console.log(\"axialStiffness::: \" + this.axialStiffness);\n        console.log(\"elasticLimitPct::: \" + this.elasticLimitPct);\n        this.elasticLimitFce = elf.toFixed(2);\n                \n        return elf.toFixed(2)\n    }),\n    vendor: DS.belongsTo('vendor', {async: false}),\n\n    axialStiffness: Ember.computed(function() {\n        \n        if(this.crossSectionalArea == null || this.crossSectionalArea == undefined || this.crossSectionalArea == 0){\n            return 0.0; //this.crossSectionalArea = 285.00;\n        }\n        if(this.youngsModulus == null || this.youngsModulus == undefined || this.youngsModulus == 0){\n            this.youngsModulus = 200.00;\n        }\n        let stiffness = ( (this.youngsModulus * this.crossSectionalArea)/100).toFixed(2);\n\n        console.log(\"stiffness Youngs Modulus::: \" + this.youngsModulus);\n        console.log(\"stiffness CrossSection::: \" + this.crossSectionalArea);\n        console.log(\"stiffness: \" + stiffness);\n        // this.elasticLimitFce = stiffness * this.youngsModulus;\n        return stiffness;\n    }),\n    //This bullcrap, why? check Vlok email. \n    instrumentPosition1: DS.belongsTo('instrument', { async: false, inverse: null }),\n    instrumentPosition2: DS.belongsTo('instrument', { async: false, inverse: null }),\n    instrumentPosition3: DS.belongsTo('instrument', { async: false, inverse: null }),\n    instrumentPosition4: DS.belongsTo('instrument', { async: false, inverse: null }),\n    instrumentPosition5: DS.belongsTo('instrument', { async: false, inverse: null }),\n    \n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    isValidKey: DS.attr('boolean'),\n    startDate: DS.attr('string'),\n    endDate: DS.attr('string'),\n    numInst: DS.attr('number'),\n    softwareVersion: DS.attr('string'),\n    companyName: DS.attr('string'),\n    modules: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    isValid: DS.attr('boolean'),\n    withinLimit: DS.attr('boolean'),\n    companyName: DS.attr('string'),\n    modules: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","// app/models/log-viewer.js\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\nexport default class LogViewerModel extends Model {\n  @attr('date') creationDatetime;\n  @belongsTo('lookup', { async: false }) errorType;\n  @attr('string') deviceType;\n  @attr('string') deviceId;\n  @attr('string') message;\n}\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n  name: DS.attr('string'),\n  type: DS.attr('string'),\n  value: DS.attr('string')\n\n});","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    title: DS.attr('string'),\n    symbol: DS.attr('string'),\n    unit: DS.attr('string')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    title: DS.attr('string'),\n    isRequired: DS.attr('boolean'),\n    defaultValue: DS.attr('string'),\n    value: DS.attr('string'),\n    valueType: DS.attr('string')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    timestamp: DS.attr('string', {defaultValue: \"\"}),\n    location: DS.attr('string', {defaultValue: \"\"}),\n    east: DS.attr('number', {defaultValue: null}),\n    north: DS.attr('number', {defaultValue: null}),\n    depth: DS.attr('number', {defaultValue: null}),\n    comments: DS.attr('string', {defaultValue: \"\"}),\n    isVisible: DS.attr('boolean', {defaultValue: true}),\n    momentMagnitude: DS.attr('number', {defaultValue: 0}),\n    seismicMoment: DS.attr('number', {defaultValue: 0}),\n    sourceRadius: DS.attr('number', {defaultValue: 0}),\n    peakParticleVelocity: DS.attr('number', {defaultValue: 0}),\n    peakParticleAcceleration: DS.attr('number', {defaultValue: 0}),\n    energy: DS.attr('number', {defaultValue: 0}),\n    size: DS.attr('number', null),\n    seismicType: DS.belongsTo('seismic-type', { async: false })\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    title: DS.attr(),\n    seismicEvent: DS.hasMany('seismic-event')\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\n//for temperature in gateway health readings.\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","// app/models/vendor.js\nimport Model, { attr, belongsTo } from '@ember-data/model';\n\nexport default class VendorModel extends Model {\n  @attr('string') name;\n  @attr('string') instrumentTitle;\n  @belongsTo('instrument-type', { async: false }) instrumentType;\n  @attr('string') vendorType;\n  @attr('boolean') selected;\n}\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    timestamp: DS.attr('string', {defaultValue: \"\"}),\n    instrument: DS.attr('string', {defaultValue: \"\"}),\n    ch1: DS.attr('number', {defaultValue: null}),\n    trigger01: DS.attr('number', {defaultValue: null}),    \n    frequency01: DS.attr('number', {defaultValue: null}),\n    amplitude01: DS.attr('number', {defaultValue: null}),\n    ppv01: DS.attr('number', {defaultValue: null}),\n    ppa01: DS.attr('number', {defaultValue: null}),\n    duration01: DS.attr('number', {defaultValue: null}),\n    ch2: DS.attr('number', {defaultValue: null}),\n    trigger02: DS.attr('number', {defaultValue: null}),    \n    frequency02: DS.attr('number', {defaultValue: null}),\n    amplitude02: DS.attr('number', {defaultValue: null}),\n    ppv02: DS.attr('number', {defaultValue: null}),\n    ppa02: DS.attr('number', {defaultValue: null}),\n    duration02: DS.attr('number', {defaultValue: null}),\n    ch3: DS.attr('number', {defaultValue: null}),\n    trigger03: DS.attr('number', {defaultValue: null}),    \n    frequency03: DS.attr('number', {defaultValue: null}),\n    amplitude03: DS.attr('number', {defaultValue: null}),\n    ppv03: DS.attr('number', {defaultValue: null}),\n    ppa03: DS.attr('number', {defaultValue: null}),\n    duration03: DS.attr('number', {defaultValue: null}),\n    ch4: DS.attr('number', {defaultValue: null}),\n    trigger04: DS.attr('number', {defaultValue: null}),    \n    frequency04: DS.attr('number', {defaultValue: null}),\n    amplitude04: DS.attr('number', {defaultValue: null}),\n    ppv04: DS.attr('number', {defaultValue: null}),\n    ppa04: DS.attr('number', {defaultValue: null}),\n    duration04: DS.attr('number', {defaultValue: null}),\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    values: DS.attr()\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    modelName: DS.attr(),\n    vwproperty: DS.hasMany('vwproperty', {async: false}),\n    vwvendor: DS.belongsTo('vwvendor', {async: false})\n});\n","import DS from 'ember-data';\nimport { tracked } from '@glimmer/tracking';\n\nexport default DS.Model.extend({\n    port: DS.attr('number'),\n    tempChan: DS.attr(),\n    serial: DS.attr(),\n    calcCoef1: DS.attr('number'),\n    calcCoef2: DS.attr('number'),\n    calcCoef3: DS.attr('number'),\n    calcCoef4: DS.attr('number'),\n    calcCoef5: DS.attr('number'),\n    calcCoef6: DS.attr('number'),\n    calcCoef7: DS.attr('number'),\n    calcCoef8: DS.attr('number'),\n    instrument: DS.belongsTo('instrument', {async: false}),\n    vwmodel: DS.belongsTo('vwmodel', {async: false}),\n\n    // Non-persistent properties\n    vendor: tracked({}),\n    modelTypes: tracked([]),\n});\n","import DS from 'ember-data';\n\nexport default DS.Model.extend({\n    vendorName: DS.attr(),\n    vwmodel: DS.hasMany('vwmodel', {async: false})\n});\n","define(\"geotechnical-data-platform-new/modifiers/create-ref\", [\"exports\", \"ember-ref-bucket/modifiers/create-ref\"], function (_exports, _createRef) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _createRef.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/modifiers/did-insert\", [\"exports\", \"@ember/render-modifiers/modifiers/did-insert\"], function (_exports, _didInsert) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _didInsert.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/modifiers/did-update\", [\"exports\", \"@ember/render-modifiers/modifiers/did-update\"], function (_exports, _didUpdate) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _didUpdate.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/modifiers/focus-trap\", [\"exports\", \"ember-focus-trap/modifiers/focus-trap\"], function (_exports, _focusTrap) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _focusTrap.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/modifiers/style\", [\"exports\", \"ember-style-modifier/modifiers/style\"], function (_exports, _style) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _style.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/modifiers/will-destroy\", [\"exports\", \"@ember/render-modifiers/modifiers/will-destroy\"], function (_exports, _willDestroy) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _willDestroy.default;\n    }\n  });\n});\n","import EmberRouter from '@ember/routing/router';\nimport config from './config/environment';\n\nexport default class Router extends EmberRouter {\n  location = config.locationType;\n  rootURL = config.rootURL;\n}\n\nRouter.map(function () {\n  this.route('login');\n  this.route('index', { path: '/' });\n  this.route('instruments');\n  this.route('create-instrument');\n  this.route('edit-instrument', { path: '/instrument/:instrument_id' });\n  this.route('gateway');\n  this.route('create-gateway');\n  this.route('edit-gateway', { path: '/gateway/:gateway_id' });\n  \n  this.route('log-viewer');\n\n  this.route('raw-gateway-data', { path: '/gateway/:gateway_id/raw-gateway-data' });\n  this.route('settings');\n  this.route('create-alert');\n  this.route('create-gateway-alert');\n  this.route('edit-alert', { path: '/alert/:alert_id' });\n  this.route('edit-gateway-alert', { path: '/gateway-alert/:alert_id' });\n  this.route('alerts');\n  this.route('seismic-events');\n  this.route('blast-events');\n  this.route('vibration-events');\n  this.route('keys');\n  this.route('list-lookups');\n  this.route('create-lookup');\n  \n\n  this.route('raw-data', { path: '/instrument/:instrument_id/raw-data' });\n\n  this.route('temporal-gateway-graphs', { path: '/gateway/:gateway_id/temporal-gateway-graph'}, function() {\n    this.route('temporal-gateway-graph', { path: '/:model_name' });\n  });\n\n  this.route('temporal-graphs', { path: '/instrument/:instrument_id/temporal-graph'}, function() {\n    this.route('temporal-graph', { path: '/:model_name' });\n  });\n\n  this.route('spatial-graphs', { path: '/instrument/:instrument_id/spatial-graph'}, function() {\n    this.route('spatial-graph', { path: '/:model_name' });\n  });\n\n  this.route('frequency-graphs', { path: '/instrument/:instrument_id/frequency-graph'}, function() {\n    this.route('frequency-graph', { path: '/:model_name' });\n  });\n});\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class AuthenticatedRoute extends Route {\n  @service session;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class AlertsRoute extends Route.extend({\n  queryParams: {\n    page: {\n        refreshModel: true\n    },\n    page_size: {\n        refreshModel: true\n    },\n    ordering: {\n        refreshModel: true\n    },\n    search: {\n        refreshModel: true\n    }\n  },\n  afterModel: function(resolvedModel) {\n    let pageSize = resolvedModel.alerts.query.page_size,\n        alertMeta = resolvedModel.alerts.meta,\n        alertsController = this.controllerFor('alerts')\n    ;\n\n    alertsController.send('updateProperty', 'pageSize', pageSize);\n    alertsController.send('updateProperty', 'alertMeta', alertMeta);\n    //instrumentsController.send('updateTypeList',resolvedModel);\n  },\n\n}) {\n  @service session;\n  @service router;\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    console.log(\"Perms\");\n    console.log(this.getPerms());\n    let perms = this.getPerms();\n    if (((perms != undefined) && !('alerts' in perms)) || ((perms != undefined) && (perms['alerts'] == false))) {\n      this.get('router').transitionTo('instruments');\n    }\n  };\n\n  getPerms = function() {\n    let perms = null;\n    try{\n      perms = this.session.data.authenticated.modules;\n    } catch {}\n    return perms;\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      \n      let alerts = _this.get('store').query('alert', {\n        ...params,\n        instrument_isnull: false\n      });\n\n      // let gatewayAlerts = _this.get('store').query('alert', {\n      //   ...params,\n      //   gateway_isnull: false\n      // });\n\n\n      let stats = _this.get('store').queryRecord('alert-stat',{});\n      let types = _this.store.findAll('instrument-type');\n      let gateway_types = _this.store.findAll('gateway-type');\n\n      alerts.then(function(alerts){\n        stats.then(function(stats){\n          types.then(function(types){\n            gateway_types.then(function(gateway_types){\n              resolve({\n                alerts:alerts,\n                stats:stats,\n                types:types,\n                gateway_types:gateway_types\n              });\n            })                    \n          })    \n        })\n      });\n\n      // alerts.then(function(alerts){\n      //   gatewayAlerts.then(function(gatewayAlerts){\n      //     stats.then(function(stats){\n      //       types.then(function(types){\n      //         gateway_types.then(function(gateway_types){\n      //           resolve({\n      //             alerts:alerts,\n      //             gatewayAlerts:gatewayAlerts,\n      //             stats:stats,\n      //             types:types,\n      //             gateway_types:gateway_types\n      //           });\n      //         })                    \n      //       })    \n      //     })\n      //   })\n      // });\n    });\n  }\n}\n","import Route from '@ember/routing/route';\n//import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin';\n \n//export default Route.extend(ApplicationRouteMixin);\nexport default Route.extend();\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class BlastEventRoute extends Route {\n  @service session;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n        let blast = _this.get('store').findAll('blast', params);\n\n        blast.then(function(blast){\n            resolve({\n              blast:blast,\n            });\n        });\n    });\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class BlastsRoute extends Route.extend({\n    queryParams: {\n        page: {\n            refreshModel: true\n        },\n        page_size: {\n            refreshModel: true\n        },\n        ordering: {\n            refreshModel: true\n        },\n        search: {\n            refreshModel: true\n        }\n    },\n    model(params) {\n        // let levelLookupList = _this.store.query('lookup', { name: 'level' });\n        // let projectLookupList = _this.store.query('lookup', { name: 'project' });\n  \n        return Ember.RSVP.hash({\n            blastEvents: this.get('store').query('blast-event', params),\n            blastTypes: this.get('store').findAll('blast-type'),\n            levelLookupList: this.store.query('lookup', { name: 'level' }),\n            projectLookupList: this.store.query('lookup', { name: 'project' })\n          \n            //licence: this.get('store').findAll('licence')\n        });\n    },\n    afterModel: function(resolvedModel) {\n        let pageSize = resolvedModel.blastEvents.query.page_size,\n            eventsMeta = resolvedModel.blastEvents.meta,\n            blastEventsController = this.controllerFor('blast-events')\n        ;\n\n        blastEventsController.send('updateProperty', 'pageSize', pageSize);\n        blastEventsController.send('updateProperty', 'eventsMeta', eventsMeta);\n    }\n}) {\n    @service session;\n\n    beforeModel(transition) {\n      this.session.requireAuthentication(transition, 'login');\n    };\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class CreateAlertRoute extends Route.extend({\n  queryParams: {\n    inst_id: {\n        refreshModel: false\n    },\n  },\n  session: service(),\n  router: service(),\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    let perms = this.getPerms();\n    if (((perms != undefined) && !('alerts' in perms)) || ((perms != undefined) && (perms['alerts'] == false))) {\n\n      this.get('router').transitionTo('instruments');\n    }\n  },\n\n  getPerms: function() {\n    let perms = null;\n    try{\n      perms = this.session.data.authenticated.modules;\n    } catch {}\n    return perms;\n  },\n\n  model(params) {\n    const _this = this;\n    if (params.inst_id) {\n      //console.log(\"yes\");\n      return new Ember.RSVP.Promise(function(resolve, reject){\n        let instrument = _this.get('store').findRecord('instrument', params.inst_id),\n        instrumentTypes = _this.store.findAll('instrument-type');\n        //headAts = _this.store.findAll('head-at');\n  \n        instrumentTypes.then(function(instrumentTypes){\n          instrument.then(function(instrument){\n            //headAts.then(function(headAts){\n              resolve({\n                instrument:instrument,\n                instrumentTypes:instrumentTypes,\n                //headAts:headAts,\n              });\n            //});\n          });\n        });\n      });\n    } else {\n      //console.log(\"no\");\n      return;\n\n\n      \n      // return new Ember.RSVP.Promise(function(resolve, reject){\n      //   let instruments = _this.store.query('instrument', {small: 'false', exclude: 15}) //Exclude BluVibe from device list\n      //   let instrumentTypes = _this.store.findAll('instrument-type');\n      //   //headAts = _this.store.findAll('head-at');\n  \n      //   instrumentTypes.then(function(instrumentTypes){\n      //     instruments.then(function(instruments){\n      //       //headAts.then(function(headAts){\n      //         resolve({\n      //           instruments:instruments,\n      //           instrumentTypes:instrumentTypes,\n      //           //headAts:headAts,\n      //         });\n      //       //});\n      //     });\n      //   });\n      // });\n    }\n  }, \n}) {}","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class CreateAlertRoute extends Route.extend({\n  queryParams: {\n    gw_id: {\n        refreshModel: false\n    },\n  },\n  session: service(),\n  router: service(),\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    let perms = this.getPerms();\n    if (((perms != undefined) && !('alerts' in perms)) || ((perms != undefined) && (perms['alerts'] == false))) {\n\n      this.get('router').transitionTo('gateway');\n    }\n  },\n\n  getPerms: function() {\n    let perms = null;\n    try{\n      perms = this.session.data.authenticated.modules;\n    } catch {}\n    return perms;\n  },\n\n  model(params) {\n    const _this = this;\n    if (params.inst_id) {\n      //console.log(\"yes\");\n      return new Ember.RSVP.Promise(function(resolve, reject){\n        let gateways = _this.get('store').findRecord('gateway', params.gw_id),\n        gatewayTypes = _this.store.findAll('gateway-type');\n  \n        gatewayTypes.then(function(gatewayTypes){\n          gateways.then(function(gateways){\n            resolve({\n              gateways:gateways,\n              gatewayTypes:gatewayTypes,\n            });\n          });\n        });\n      });\n    } else {\n      //console.log(\"no\");\n      return new Ember.RSVP.Promise(function(resolve, reject){\n        let gateways = _this.store.query('gateway', {small: 'false'}) \n        let gatewayTypes = _this.store.findAll('gateway-type');\n        \n        gatewayTypes.then(function(gatewayTypes){\n          gateways.then(function(gateways){\n            resolve({\n              gateways:gateways,\n              gatewayTypes:gatewayTypes,\n            });\n          });\n        });\n      });\n    }\n  }, \n}) {}","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class CreateGatewayRoute extends Route {\n  @service session;\n  @service router;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    let perms = this.getPerms();\n    if (((perms != undefined) && !('alerts' in perms)) || ((perms != undefined) && (perms['alerts'] == false))) {\n\n      console.log(\"Perms1::: \" + JSON.stringify(perms));\n      this.get('router').transitionTo('gateway');\n    }\n  };\n  afterModel(model) {\n    let types = model.gatewayTypes;\n    types.content.sort(compare);\n  };\n  getPerms = function() {\n    let perms = null;\n    try{\n      perms = this.session.data.authenticated.modules;\n    } catch {}\n    return perms;\n  };\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      let gateways = _this.store.query('gateway', {small: 'false'})\n      let gatewayTypes = _this.store.findAll('gateway-type');\n      \n      gateways.then(function(gateways){\n        gatewayTypes.then(function(gatewayTypes){\n          resolve({\n            gateways:gateways,\n            gatewayTypes:gatewayTypes\n          });\n        });\n      });\n    });\n  }\n}\n\nfunction compare( a, b ) {\n  if (parseInt(a.id) < parseInt(b.id) ) {\n    return -1;\n  }\n  if (parseInt(a.id) > parseInt(b.id) ) {\n    return 1;\n  }\n  return 0;\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class CreateInstrumentRoute extends Route {\n  @service session;\n  @service router;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    let perms = this.getPerms();\n    if (((perms != undefined) && !('alerts' in perms)) || ((perms != undefined) && (perms['alerts'] == false))) {\n\n      this.get('router').transitionTo('instruments');\n    }\n  };\n  afterModel(model) {\n    let types = model.instrumentTypes;\n    types.content.sort(compare);\n  };\n  getPerms = function() {\n    let perms = null;\n    try{\n      perms = this.session.data.authenticated.modules;\n    } catch {}\n    return perms;\n  };\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise( function(resolve, reject){\n      let instrument = {};\n      let vendors = _this.store.findAll('vendor');\n      let instrumentTypes = _this.store.findAll('instrument-type');\n      let vwVendors = _this.store.findAll('vwvendor');\n      let vwModels = _this.store.findAll('vwmodel');\n      let headAts = _this.store.findAll('head-at');\n      let levelLookupList = _this.store.query('lookup', { name: 'level' });\n      let projectLookupList = _this.store.query('lookup', { name: 'project' });\n\n      // let instruments = await _this.store.query('instrument', {small: 'false', search: 'dExto'}) //Exclude BluVibe from device list\n      // let projectLookupList = _this.store.query('lookup', {filter:{type:'project'}});\n      // let levelLookupList = _this.store.query('lookup', {filter:{type:'level'}});\n\n      \n      instrumentTypes.then(function(instrumentTypes){\n        vendors.then(function(vendors){\n          headAts.then(function(headAts){\n            vwVendors.then(function(vwVendors){\n              vwModels.then(function(vwModels){\n                projectLookupList.then(function(projectLookupList){\n                  levelLookupList.then(function(levelLookupList){\n                    resolve({\n                      instrumentTypes:instrumentTypes,\n                      vendors:vendors,\n                      headAts:headAts,\n                      vwVendors:vwVendors,\n                      vwModels:vwModels,\n                      projectLookupList: projectLookupList,\n                      levelLookupList: levelLookupList\n                    });\n                  })\n                })\n              })\n            })\n          })\n        });\n      });\n    });\n  }\n}\n\nfunction compare( a, b ) {\n  if (parseInt(a.id) < parseInt(b.id) ) {\n    return -1;\n  }\n  if (parseInt(a.id) > parseInt(b.id) ) {\n    return 1;\n  }\n  return 0;\n}","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class CreateLookupRoute extends Route {\n  @service session;\n  @service router;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    let perms = this.getPerms();\n    if (((perms != undefined) && !('alerts' in perms)) || ((perms != undefined) && (perms['alerts'] == false))) {\n\n      this.get('router').transitionTo('instruments');\n    }\n  };\n\n  afterModel(model) {};\n  \n  getPerms = function() {\n    let perms = null;\n    try{\n      perms = this.session.data.authenticated.modules;\n    } catch {}\n    return perms;\n  };\n  \n  async model(params) {\n    const _this = this;\n\n    const lookups = await _this.store.findAll('lookup');\n    // Extract all the names\n    let counter = 1;\n \n    const allNamesWithIds = [];\n    const seenNames = new Set();\n    \n    lookups.forEach(lookup => {\n      const name = lookup.get('name');\n      if (!seenNames.has(name)) {\n        seenNames.add(name);\n        allNamesWithIds.push({\n          id: counter++,\n          name: name\n        });\n      }\n    });\n \n    \n    // Filter unique names\n    const uniqueNames = [...new Set(allNamesWithIds)];\n\n    console.log(\"UniqueNames:::: \" + JSON.stringify(uniqueNames))\n    return {\n      uniqueNames\n    };\n  \n  } //end of model\n\n  \n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class EditAlertRoute extends Route {\n  @service session;\n  @service router;\n  \n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    let perms = this.getPerms();\n    if (((perms != undefined) && !('alerts' in perms)) || ((perms != undefined) && (perms['alerts'] == false))) {\n\n      this.get('router').transitionTo('instruments');\n    }\n  };\n\n  getPerms = function() {\n    let perms = null;\n    try{\n      perms = this.session.data.authenticated.modules;\n    } catch {}\n    return perms;\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      //let instrument = _this.get('store').findRecord('instrument', params.instrument_id),\n      let instrumentTypes = _this.store.findAll('instrument-type');\n      let alert = _this.get('store').findRecord('alert', params.alert_id, {\n        include: 'instrument',\n        reload: true,\n      });\n      \n\n      alert.then(function(alert){\n        instrumentTypes.then(function(instrumentTypes){\n          resolve({\n            alert:alert,\n            instrumentTypes:instrumentTypes,\n          });\n        });\n      });\n    })\n  }\n}\n\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class EditGatewayAlertRoute extends Route {\n  @service session;\n  @service router;\n  \n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    let perms = this.getPerms();\n    if (((perms != undefined) && !('alerts' in perms)) || ((perms != undefined) && (perms['alerts'] == false))) {\n\n      this.get('router').transitionTo('gateway');\n    }\n  };\n\n  getPerms = function() {\n    let perms = null;\n    try{\n      perms = this.session.data.authenticated.modules;\n    } catch {}\n    return perms;\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      //let instrument = _this.get('store').findRecord('instrument', params.instrument_id),\n      let gatewayTypes = _this.store.findAll('gateway-type');\n\n      let alert = _this.get('store').findRecord('alert', params.alert_id,{\n        ...params,\n        include: 'gateway',\n        gateway_isnull: false,\n        reload: true,\n      });\n      \n      // let alert = _this.get('store').findRecord('alert', params.alert_id, {\n      //   include: 'gateway',\n\n      //   reload: true,\n      // });\n      \n\n      alert.then(function(alert){\n        gatewayTypes.then(function(gatewayTypes){\n          resolve({\n            alert:alert,\n            gatewayTypes:gatewayTypes,\n          });\n        });\n      });\n    })\n  }\n}\n\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class EditGatewayRoute extends Route {\n  @service session;\n\n\n  queryParams = {\n    parentGateway: {\n      refreshModel: true  // This makes sure the model hook is called again if the query param changes\n    }\n  };\n    \n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n  };\n \n  model(params) {\n    localStorage.setItem('parentGateway', this.parentGateway);     \n    \n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      let gateways = _this.store.query('gateway', {small: 'false'});\n\n      let gateway = _this.get('store').findRecord('gateway', params.gateway_id);\n      let gatewayTypes = _this.store.findAll('gateway-type');\n      \n      // let alerts = _this.store.findAll('alert', { 'search': params.gateway_id });\n      \n      // let alerts = _this.store.query('alert', { 'gateway_id': params.gateway_id });\n\n      let alerts = _this.get('store').query('alert', {\n        ...params,\n        search: params.gateway_id,\n        gateway_isnull: false\n      });\n\n\n      let gatewayReadingIntervals = _this.store.findAll('gateway-interval')\n      .then(function(intervalResult){\n          let intervalReadings = intervalResult.filter(function(interval){\n          if(interval.intervalGroupName == \"instrument_reading_interval\")\n            return  interval;\n        });\n        return intervalReadings;\n      });\n      \n      let gatewayUploadIntervals = _this.store.findAll('gateway-interval')\n      .then(function(intervalResult){\n          let intervalUploads = intervalResult.filter(function(interval){\n            if(interval.intervalGroupName == \"upload_interval\")\n              return  interval;\n        });\n        return intervalUploads;\n      });\n\n      let gatewayMeshCycleIntervals = _this.store.findAll('gateway-interval')\n      .then(function(intervalResult){\n          let intervalUploads = intervalResult.filter(function(interval){\n            if(interval.intervalGroupName == \"mesh_cycle\")\n              return  interval;\n        });\n        return intervalUploads;\n      });\n\n      let gatewayRadioPowerLevelIntervals = _this.store.findAll('gateway-interval')\n      .then(function(intervalResult){\n          let intervalUploads = intervalResult.filter(function(interval){\n            if(interval.intervalGroupName == \"radio_transmission_power_level\")\n              return  interval;\n        });\n        return intervalUploads;\n      });\n\n      \n      gateway.then(function(gateway){\n        gateways.then(function(gateways){\n          alerts.then(function(alerts){\n            gatewayTypes.then(function(gatewayTypes){\n              gatewayReadingIntervals.then(function(gatewayReadingIntervals){\n                gatewayUploadIntervals.then(function(gatewayUploadIntervals){\n                  gatewayMeshCycleIntervals.then(function(gatewayMeshCycleIntervals){\n                    gatewayRadioPowerLevelIntervals.then(function(gatewayRadioPowerLevelIntervals){\n                    resolve({\n                      gateways:gateways,\n                      gateway:gateway,\n                      gatewayTypes:gatewayTypes,\n                      alerts:alerts,\n                      gatewayReadingIntervals:gatewayReadingIntervals,\n                      gatewayUploadIntervals:gatewayUploadIntervals,\n                      gatewayMeshCycleIntervals:gatewayMeshCycleIntervals,\n                      gatewayRadioPowerLevelIntervals:gatewayRadioPowerLevelIntervals\n                    });\n                    });\n                  });\n                });\n              });\n            });\n          });\n        });\n      });\n    });\n  }\n} \n\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class EditInstrumentRoute extends Route {\n  @service session;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      let instrument = _this.get('store').findRecord('instrument', params.instrument_id);\n\n      let instrumentTypes = _this.store.findAll('instrument-type'),\n      vendors = _this.store.findAll('vendor'),\n      \n      headAts = _this.store.findAll('head-at'),\n      alerts = _this.store.findAll('alert', { 'search': params.instrument_id });\n      let vwVendors = _this.store.findAll('vwvendor');\n      let vwModels = _this.store.findAll('vwmodel');\n\n      let levelLookupList = _this.store.query('lookup', { name: 'level' });\n      let projectLookupList = _this.store.query('lookup', { name: 'project' });\n\n\n        instrument.then(function(instrument){\n          headAts.then(function(headAts){\n            alerts.then(function(alerts){\n              vwModels.then(function(vwModels){  \n                vwVendors.then(function(vwVendors){\n                instrumentTypes.then(function(instrumentTypes){\n                  vendors.then(function(vendors){\n                    projectLookupList.then(function(projectLookupList){\n                      levelLookupList.then(function(levelLookupList){\n                        resolve({\n                          instrument:instrument,\n                          instrumentTypes:instrumentTypes,\n                          headAts:headAts,\n                          vwVendors:vwVendors,\n                          vwModels:vwModels,\n                          alerts:alerts,\n                          vendors:vendors,\n                          projectLookupList: projectLookupList,\n                          levelLookupList: levelLookupList\n                        });  \n                      });\n                    });\n                  });\n                });\n              });\n            });\n          });\n        });\n      });\n    });\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class FrequencyGraphsRoute extends Route.extend({\n    model(params) {\n        let a = this.get('store');\n\n        return Ember.RSVP.hash({\n            instrument: this.get('store').queryRecord('instrument', {instrument_id: params.instrument_id}),\n        });\n    },\n    setupController: function(controller, model) {\n        //in this case the model is an instrument\n        this.controllerFor('frequency-graphs').set(\"content\",model);\n        this.controllerFor('frequency-graphs').activate();\n    }\n}) {\n    @service session;\n    @service router;\n\n    beforeModel(transition) {\n        this.session.requireAuthentication(transition, 'login');\n        let perms = this.getPerms();\n        if (!('graphing' in perms) || perms['graphing']==false) {\n          this.get('router').transitionTo('instruments');\n        }\n      };\n    \n      getPerms = function() {\n        let perms = null;\n        try{\n          perms = this.session.data.authenticated.modules;\n        } catch {}\n        return perms;\n      };\n  }\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\n\nexport default Ember.Route.extend({\n    queryParams: {\n        start_timestamp: {\n            refreshModel: true\n        },\n        end_timestamp: {\n            refreshModel: true\n        },\n        num_points_requested: {\n            refreshModel: true\n        },\n        ref_head_position: {\n            refreshModel: true\n        },\n        ref_anchor: {\n            refreshModel: true\n        },\n        zeroed: {\n            refreshModel: true\n        },\n        raw: {\n            refreshModel: true\n        },\n        flip_signs: {\n            refreshModel: true\n        },\n        event_type: {\n            refreshModel: true\n        },\n        blast_type: {\n            refreshModel: true\n        },\n        seismic_type: {\n            refreshModel: true\n        },\n        frequency: {\n            refreshModel: true\n        },\n        display_records: {\n          refreshModel: true\n        },\n        chart_type: {\n            refreshModel: true\n        },\n        advancedYAxisUnit:{\n            refreshModel: true\n        },\n        advancedStartDate: {\n            refreshModel: true\n        },\n        advancedEndDate: {\n            refreshModel: true\n        },\n        advancedYLeftMax:{\n            refreshModel: true\n        },\n        advancedYLeftMin:{\n            refreshModel: true\n        },\n        advancedYRightMax:{\n            refreshModel: true\n        },\n        advancedYRightMin:{\n            refreshModel: true\n        },\n        advancedXMax:{\n            refreshModel: true\n        },\n        advancedXMin:{\n            refreshModel: true\n        }\n    },\n    model(params) {\n        const _this = this;\n        let page_size = (params.event_type)? 80 : 40;\n        let routeParams = this.paramsFor('frequency-graphs');\n        params.instrument_id = routeParams.instrument_id;\n        \n        \n        // declare default empty promises in case if blase of seismic events are disabled\n        let seismicEvents = new Ember.RSVP.Promise(function(resolve, reject){\n          // succeed\n          resolve(false);\n          // or reject\n          reject();\n        });\n\n        let blastEvents = new Ember.RSVP.Promise(function(resolve, reject){\n          // succeed\n          resolve(false);\n          // or reject\n          reject();\n        });\n\n        return new Ember.RSVP.Promise(function(resolve, reject){    \n            // Resolve zoomData model first, get start_timestamp and end_timestap values to be able to limit events to these boundaries\n            let zoomDataQueryParams = Ember.copy(params);\n            zoomDataQueryParams.num_points_requested = 1;\n            _this.store.query(singularize(zoomDataQueryParams.model_name),  zoomDataQueryParams, null, zoomDataQueryParams.instrument_id,  null).then(function(zoomData){\n                // let closestZeroTimestamp = \"\";\n                let closestZeroTimestamp = zoomData.meta['closest-zero-timestamp'];\n                let zoomDataStartTimestamp = zoomData.meta['start-timestamp'];\n                let zoomDataEndTimestamp = zoomData.meta['end-timestamp'];\n\n                // get closest_zero_timestamp (the date when an instrument was initialized) of zoomData query and use it as start_timestamp if no other start_timestamp query parameter is specified\n                if (!zoomData.query.start_timestamp) {\n                    params.start_timestamp = zoomData.meta['closest-zero-timestamp'];\n                }\n               \n                let typeID = params.instrument_id.substr(params.instrument_id.length === 9 ? 5 : 6, 1);\n                let prevModel = params.model_name;\n\n                // second call to the same endpoint required because I can only fetch closest_zero_timestamp value from the previous API call\n                // let zoomDataSecondCall = _this.store.query(singularize(params.model_name),  params, null, params.instrument_id,  null);\n\n                //let zoomTempData = _this.store.query(Ember.String.singularize('temperature-value'),  params, null, params.instrument_id,  null);\n                let temperatureParams = Ember.copy(params);\n                temperatureParams.ref_anchor = \"0\";\n                temperatureParams.flip_signs = null;\n                temperatureParams.model_name = \"displacement-values\";\n\n                // let zoomTempData = _this.store.query(\"temperature-value\", temperatureParams, null, params.instrument_id, null);\n\n                // third call should only be called after the first find is completed\n                // let fullRangeData = _this.get('store').query(Ember.String.singularize(params.model_name), {model_name: params.model_name, instrument_id: params.instrument_id, num_points_requested: 300, ref_head_position: params.ref_head_position, ref_anchor: params.ref_anchor, zeroed: params.zeroed, flip_signs: params.flip_signs});\n                // let fullRangeData = _this.get('store').query(singularize(params.model_name), {model_name: params.model_name, instrument_id: params.instrument_id, start_timestamp: closestZeroTimestamp, num_points_requested: 300, ref_head_position: params.ref_head_position, ref_anchor: params.ref_anchor, zeroed: params.zeroed, raw: params.raw, flip_signs: params.flip_signs});\n\n                //let fullRangeTempData = _this.get('store').query(\"temperature-value\", {model_name: params.model_name, instrument_id: params.instrument_id, start_timestamp: closestZeroTimestamp, num_points_requested: 300, ref_head_position: params.ref_head_position, ref_anchor: params.ref_anchor, zeroed: false});\n                // fetch an instrument to be able to get anchor distances and other useful info from the instrument\n                //let instrument = _this.get('store').findRecord('instrument', params.instrument_id, { include: 'anchors' } );\n                console.log(\"Instrument: \" + params.instrument_id);\n                let instrument = _this.store.queryRecord('instrument', { instrument_id: params.instrument_id } );\n\n                let graphs = _this.store.findAll('chart');\n/* \n                // if blast events are requested\n                if (!params.event_type || params.event_type === \"blast\") {\n                    blastEvents = _this.store.query('blast-event', {page_size: page_size, ordering: \"-tonnes\", is_visible: true, blast_type: params.blast_type, start_timestamp: zoomDataStartTimestamp, end_timestamp: zoomDataEndTimestamp});\n                }\n                // if promise events are requested\n                if (!params.event_type || params.event_type === \"seismic\") {\n                    seismicEvents = _this.store.query('seismic-event', {page_size: page_size, ordering: \"-moment_magnitude\", is_visible: true, seismic_type: params.seismic_type, start_timestamp: zoomDataStartTimestamp, end_timestamp: zoomDataEndTimestamp});\n                } */\n\n                //wait for all promises to fulfil and then return resolved promis\n                graphs.then(function(graphs) {\n                    instrument.then(function(instrument){\n                        // zoomDataSecondCall.then(function(zoomDataSecondCall){\n                            // fullRangeData.then(function(fullRangeData){\n                                //seismicEvents.then(function(seismicEvents){\n                                    //blastEvents.then(function(blastEvents){\n                                        // zoomTempData.then(function(zoomTempData){\n                                            //fullRangeTempData.then(function(fullRangeTempData) {\n                                                resolve({\n                                                    graphs:graphs,\n                                                    instrument:instrument,\n                                                    zoomData:zoomData,\n                                                    //fullRangeData:fullRangeData,\n                                                    //seismicEvents:seismicEvents,\n                                                    //blastEvents:blastEvents,\n                                                    // zoomTempData:zoomTempData,\n                                                    //fullRangeTempData:fullRangeTempData\n                                                //});        \n                                            });\n                                        // });\n                                    //});\n                                //});\n                            // });\n                        // });\n                    });\n                });\n            });\n        });\n    },\n    afterModel: function(resolvedModel) {\n        // console.log(\"in afterModel - routes/frequency-graphs/frequency-graph.js\")\n        let frequencyGraphsController = this.controllerFor('frequency-graphs');\n\n        frequencyGraphsController.send('updateProperties', ['instrumentId'], [resolvedModel.zoomData.query.instrument_id]);\n        frequencyGraphsController.send('updateProperties', ['instrumentType'], [resolvedModel.instrument.get('instrumentType').get('title')]);\n        frequencyGraphsController.send('updateProperties', ['name'], [resolvedModel.instrument.get('name')]);\n        frequencyGraphsController.send('updateProperties', ['location'], [resolvedModel.instrument.get('location')]);\n        frequencyGraphsController.send('updateProperties', ['level'], [resolvedModel.instrument.get('level')]);\n        frequencyGraphsController.send('updateProperties', ['borehole'], [resolvedModel.instrument.get('borehole')]);\n        frequencyGraphsController.send('updateProperties', ['project'], [resolvedModel.instrument.get('project')]);\n        frequencyGraphsController.send('updateProperties', ['model_name'], [resolvedModel.zoomData.query.model_name]);\n        frequencyGraphsController.send('updateProperties', ['activeInstrumentMeta'], [resolvedModel.zoomData.meta]);\n        //frequencyGraphsController.send('updateProperties', ['eventType'], [resolvedModel.zoomData.query.event_type]);\n        //frequencyGraphsController.send('updateProperties', ['blastType'], [resolvedModel.zoomData.query.blast_type]);\n        //frequencyGraphsController.send('updateProperties', ['seismicType'], [resolvedModel.zoomData.query.seismic_type]);\n        frequencyGraphsController.send('updateProperties', ['frequency'], [resolvedModel.zoomData.query.frequency]);\n        //TODO::: check to see if this property is the same as in the temporal route file. \n        //frequencyGraphsController.send('updateProperties', ['chart_type'], [resolvedModel.zoomData.query.chart_type]);\n        //console.log(\"modelName::: \" + resolvedModel.zoomData.query.chart_type);\n        \n        //get pretty chart name if chart has multiple parts to it\n        let obj = resolvedModel.graphs.content;\n        let type = resolvedModel.instrument.get('instrumentTypeID').toString();\n        //get the chart data for the instrument\n        obj.forEach(function(item) {\n            if(item.id === type) {\n                obj = item;\n                return;\n            }\n        });\n        \n        let name = '';\n        name = resolvedModel.zoomData.query.model_name;\n        // console.log(\"chartName:::: \" + name);\n        switch(name) {\n            case 'vibration-event':\n                name = \"PPV vs Frequency\";\n                break;\n            case 'vibration-ppa':\n                name = \"PPA vs Frequency\";\n                break;\n            default:\n                break;\n        }\n\n        let chartName = name;\n        // let chartNameL = chartName.substring(0, chartName.indexOf('-')).capitalize();\n        // let chartNameR = chartName.substring(chartName.indexOf('-') + 1).capitalize();\n        // if(chartNameL !== \"\") {\n        //     chartName = chartNameL + \" \" + chartNameR;\n        // }\n        frequencyGraphsController.send('updateProperties', ['modelName'], [resolvedModel.zoomData.query.model_name]);\n        frequencyGraphsController.send('updateProperties', ['chartData'], [obj]);\n        frequencyGraphsController.send('updateProperties', ['chartDataValueName'], [chartName]);\n        frequencyGraphsController.send('updateProperties', ['instrumentAnchors'], [resolvedModel.instrument.get('anchors')]);\n        frequencyGraphsController.send('updateProperties', ['chart_type'], [resolvedModel.zoomData.query.chart_type]);\n        frequencyGraphsController.send('updateProperties', ['display_records'], [resolvedModel.zoomData.query.display_records]);\n    },\n    actions: {\n        setDataR(data) {\n            let frequencyGraphsController = this.controllerFor('frequency-graphs');\n\n            frequencyGraphsController.send('setData',data);\n        },\n        setChartR(chart) {\n            let frequencyGraphsController = this.controllerFor('frequency-graphs');\n\n            frequencyGraphsController.send('setChart',chart);\n        },\n        willTransition() {\n            let frequencyGraphsController = this.controllerFor('frequency-graphs');\n            frequencyGraphsController.send('updateProperties', ['instrumentId'], [null]);\n            //frequencyGraphsController.send('updateProperties', ['eventType'], [null]);\n            //frequencyGraphsController.send('updateProperties', ['blastType'], [null]);\n            //frequencyGraphsController.send('updateProperties', ['seismicType'], [null]);\n        }\n    }\n});\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class GatewayAlertsRoute extends Route.extend({\n  queryParams: {\n    page: {\n        refreshModel: true\n    },\n    page_size: {\n        refreshModel: true\n    },\n    ordering: {\n        refreshModel: true\n    },\n    search: {\n        refreshModel: true\n    }\n  },\n  afterModel: function(resolvedModel) {\n    let gatewayPageSize = resolvedModel.gatewayAlerts.query.page_size,\n        gatewayAlertMeta = resolvedModel.gatewayAlerts.meta,\n        alertsController = this.controllerFor('alerts')\n    ;\n\n    alertsController.send('updateProperty', 'gatewayPageSize', gatewayPageSize);\n    alertsController.send('updateProperty', 'gatewayAlertMeta', gatewayAlertMeta);\n  },\n\n}) {\n  @service session;\n  @service router;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    let perms = this.getPerms();\n    if (((perms != undefined) && !('alerts' in perms)) || ((perms != undefined) && (perms['alerts'] == false))) {\n\n      this.get('router').transitionTo('gateways');\n    }\n  };\n\n  getPerms = function() {\n    let perms = null;\n    try{\n      perms = this.session.data.authenticated.modules;\n    } catch {}\n    return perms;\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      // let gatewayAlerts = _this.get('store').query('alert', params);\n      // let stats = _this.get('store').queryRecord('alert-stat',{});\n      let gatewayAlerts = _this.get('store').query('alert', {\n        ...params,\n        gateway__isnull: false,\n      });\n      let types = _this.store.findAll('gateway-type');\n\n      gatewayAlerts.then(function(gatewayAlerts){\n          types.then(function(types){\n            resolve({\n              alerts:alerts,\n              types:types,\n          });    \n        })\n      });\n    });\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class GatewayRoute extends Route.extend({\n  queryParams: {\n    page: {\n        refreshModel: true\n    },\n    page_size: {\n        refreshModel: true\n    },\n    ordering: {\n        refreshModel: true\n    },\n    search: {\n        refreshModel: true\n    }\n  },\n\n  actions: {\n    refreshModel() {\n      this.refresh();\n    }\n  },\n\n  afterModel: function(resolvedModel, transition) {\n    console.log(resolvedModel);\n    let pageSize = resolvedModel.gateway.query.page_size,\n        gatewayMeta = resolvedModel.gateway.meta,\n        gatewayController = this.controllerFor('gateway')\n    ;\n\n    this.session.store.refreshLicence();\n\n    gatewayController.send('updateProperty', 'pageSize', pageSize);\n    gatewayController.send('updateProperty', 'gatewayMeta', gatewayMeta);\n},\n\n}) {\n  @service session;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n    // Clear the parentGateway from localStorage\n    window.localStorage.removeItem('parentGateway');\n    console.log('CLEARING LOCALSTORAGE')\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      params.parent_gateway = 'null';\n\n      // let gateway = _this.get('store').query('gateway', { gateway_id: params.gateway_id, parent_gateway: 'null' });\n      console.log(params)\n      let gateway = _this.get('store').query('gateway', params);\n      let gatewayStats = _this.get('store').queryRecord('gateway-stat',{});\n\n      gateway.then(function(gateway){\n        resolve({\n          gateway:gateway,\n          gatewayStats:gatewayStats,\n        });\n      });\n    });\n  };\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class IndexRoute extends Route {\n    queryParams = {\n        page: {\n            refreshModel: true\n        },\n        page_size: {\n            refreshModel: true\n        },\n        ordering: {\n            refreshModel: true\n        },\n        search: {\n            refreshModel: true\n        },\n        searchTgt: {\n            refreshModel: true\n        }\n    };\n\n    @service session;\n\n    beforeModel(transition) {\n      this.session.requireAuthentication(transition, 'login');\n    };\n\n    model(params) {\n        const _this = this;\n  \n        return new Ember.RSVP.Promise(function(resolve, reject){\n            //console.log(\"router\");\n            let alertsParams = {}\n            _this.queryParams.ordering;\n            if (params.ordering != null) {\n                let test = params.ordering.slice(1,2)\n                if (test == \":\") {\n                    let opt = params.ordering.slice(0,1);\n                    params.ordering = params.ordering.slice(2);\n                    if (opt == 'a') {\n                        //console.log('alert');\n                        alertsParams.ordering = params.ordering;\n                        params.ordering = null;\n                        //console.log(alertsParams.ordering);\n                    } else if (opt == 'i') {\n                        //console.log('instrument');\n                        console.log(params.ordering);\n                    } else {\n                        //console.log('niether');\n                    }\n                }\n            }\n\n            alertsParams.page_size = 5\n            if (alertsParams == null)\n                alertsParams.ordering = '-is_triggered,-is_active,instrument'\n\n            if(params.searchTgt==\"alert\")\n                alertsParams.search = params.search\n\n            let alerts = _this.get('store').query('alert', alertsParams);\n\n            //console.log(alertsParam);\n            //c/onsole.log(alerts);\n\n            params.page_size = 20\n\n            if (params.ordering == null)\n                params.ordering = 'id'\n            if(params.searchTgt != \"inst\" && params.searchTgt != \"gateway\")\n                params.search = \"\"\n\n\n            let instruments = _this.get('store').query('instrument', params);\n            let alertStats = _this.get('store').queryRecord('alert-stat',{});\n            let instrumentStats = _this.get('store').queryRecord('instrument-stat',{});\n            let gateway = _this.get('store').query('gateway', params);\n            let gatewayStats = _this.get('store').queryRecord('gateway-stat',{});\n\n            let levelLookupList = _this.store.query('lookup', { name: 'level' });\n            let projectLookupList = _this.store.query('lookup', { name: 'project' });\n      \n            if(params.searchTgt != null) {\n                if(params.searchTgt == \"alert\") {\n                    alerts = _this.get('store').query('alert', alertsParams);\n                    instruments = _this.get('store').query('instrument',params);\n                    gateway = _this.get('store').query('gateway', params);\n                } else if (params.searchTgt == \"inst\") {\n                    alerts = _this.get('store').query('alert',alertsParams);\n                    instruments = _this.get('store').query('instrument', params);\n                    gateway = _this.get('store').query('gateway', params);\n                } else if (params.searchTgt == \"gateway\") {\n                    // not sure why this is an if statement???\n                    alerts = _this.get('store').query('alert',alertsParams);\n                    instruments = _this.get('store').query('instrument',params);\n                    gateway = _this.get('store').query('gateway', params);\n                }\n            }\n\n            alerts.then(function(alerts){\n                instruments.then(function(instruments){\n                    alertStats.then(function(stats){\n                        gateway.then(function(gateway){\n                            gatewayStats.then(function(gatewayStats){\n                                levelLookupList.then(function(levelLookupList){\n                                    projectLookupList.then(function(projectLookupList){\n                                        resolve({\n                                            alerts:alerts,\n                                            instruments:instruments,\n                                            stats:stats,\n                                            instrumentStats: instrumentStats,\n                                            gateway: gateway,\n                                            gatewayStats: gatewayStats,\n                                            levelLookupList:levelLookupList,\n                                            projectLookupList:projectLookupList\n                                        });\n                                    });\n                                });\n                            });\n                        });\n                    });\n                });\n            });//end of alerts\n    \n        });\n    }\n\n    afterModel = function(resolvedModel) {\n        //console.log(resolvedModel.stats);\n        //console.log(resolvedModel);\n        this.session.store.refreshLicence();\n    }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class InstrumentsRoute extends Route.extend({\n  queryParams: {\n    page: {\n        refreshModel: true\n    },\n    page_size: {\n        refreshModel: true\n    },\n    ordering: {\n        refreshModel: true\n    },\n    search: {\n        refreshModel: true\n    }\n  },\n  \n  afterModel: function(resolvedModel, transition) {\n    let pageSize = resolvedModel.instruments.query.page_size,\n        instrumentMeta = resolvedModel.instruments.meta,\n        instrumentsController = this.controllerFor('instruments')\n    ;\n\n    this.session.store.refreshLicence();\n\n    instrumentsController.send('updateProperty', 'pageSize', pageSize);\n    instrumentsController.send('updateProperty', 'instrumentMeta', instrumentMeta);\n    //instrumentsController.send('updateTypeList',resolvedModel);\n},\n\n}) {\n  @service session;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n        let instruments = _this.get('store').query('instrument', params);\n        let instrumentStats = _this.get('store').queryRecord('instrument-stat',{});\n        let levelLookupList = _this.store.query('lookup', { name: 'level' });\n        let projectLookupList = _this.store.query('lookup', { name: 'project' });\n\n        instruments.then(function(instruments){\n          // instrumentStats.then(function(instrumentStats){\n            levelLookupList.then(function(levelLookupList){\n              projectLookupList.then(function(projectLookupList){\n                resolve({\n                  instruments:instruments,\n                  instrumentStats:instrumentStats,\n                  levelLookupList:levelLookupList,\n                  projectLookupList:projectLookupList,\n                });\n              });\n            });      \n          // });\n        });//end instruments\n    });\n  };\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class KeysRoute extends Route {\n    @service session;\n    \n    beforeModel(transition) {\n        this.session.requireAuthentication(transition, 'login');\n    };\n\n    model(params) {\n        const _this = this;\n        return new Ember.RSVP.Promise(function(resolve,reject){\n            let licenceKeys = _this.get('store').query('licence-key', params);\n\n            licenceKeys.then(function(licenceKeys){\n                resolve({\n                    licenceKeys:licenceKeys,\n                });\n            });\n        });\n    };\n\n    afterModel(resolvedModel, transition) {\n        this.controllerFor('keys').send('updateActive', resolvedModel);\n        this.session.store.refreshLicence();\n    };\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class KeysRoute extends Route {\n    @service session;\n    \n    beforeModel(transition) {\n        this.session.requireAuthentication(transition, 'login');\n    };\n\n    model(params) {\n        const _this = this;\n        return new Ember.RSVP.Promise(function(resolve,reject){\n            \n            let lookups = _this.store.findAll('lookup');  // fetch all records \n        \n            \n\n            lookups.then(function(lookups){\n                resolve({\n                    lookups:lookups,\n                });\n            });\n        });\n    };\n\n    afterModel(resolvedModel, transition) {\n        this.controllerFor('list-lookups').send('updateActive', resolvedModel);\n        this.session.store.refreshLicence();\n    };\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class LogViewerRoute extends Route.extend({\n\n  queryParams: {\n    page: {\n        refreshModel: true\n    },\n    page_size: {\n        refreshModel: true\n    },\n    ordering: {\n        refreshModel: true\n    },\n    search: {\n        refreshModel: true\n    },\n    startDate: {\n      refreshModel: true\n    },\n    endDate: {\n      refreshModel: true\n    }\n  },\n      \n  actions: {\n    refreshModel() {\n      this.refresh();\n    }\n  },\n\n  afterModel: function(resolvedModel, transition) {\n    \n    let pageSize = resolvedModel.logViewer.query.page_size,\n        logViewerMeta = resolvedModel.logViewer.meta,\n        logViewerController = this.controllerFor('log-viewer')\n    ;\n\n    this.session.store.refreshLicence();\n\n    logViewerController.send('updateProperty', 'pageSize', pageSize);\n    logViewerController.send('updateProperty', 'logViewerMeta', logViewerMeta);\n},\n\n}) {\n  @service session;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n  };\n\n  model(params) {\n    const _this = this;\n \n    return new Ember.RSVP.Promise(function(resolve,reject){\n            \n      let errorTypeLookups = _this.store.query('lookup', { name: 'error_type' });\n      let logViewer = _this.get('store').query('log-viewer', params);\n\n      let logViewerStats = _this.get('store').queryRecord('gateway-stat',{});\n\n      logViewer.then(function(logViewer){        \n        errorTypeLookups.then(function(errorTypeLookups){\n          logViewerStats.then(function(logViewerStats){\n            resolve({\n              logViewer: logViewer,\n              errorTypeLookups:errorTypeLookups,\n              logViewerStats: logViewerStats,\n            });\n          })\n        })\n      });\n    });\n  }\n}\n","// app/routes/login.js\nimport Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class LoginRoute extends Route {\n  @service session;\n\n  beforeModel(transition) {\n    if(transition.from == null)\n      transition = \"/\"\n    this.session.prohibitAuthentication(transition);\n  }\n}","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\nimport {copy, Copyable} from 'ember-copy'\n\nexport default class RawDataRoute extends Route {\n  resetController(controller, isExiting, transition) {\n    if (isExiting) {\n      console.log(\"resetController::::raw-data router::::::::::\");\n\n      controller.set('page', 1);\n      controller.set('page_size', 20);\n      controller.set('paginate_from_zero', false);\n      controller.set('port', 1);\n      controller.set('linear', false);\n      controller.set('calib', false);\n      controller.set('depth', false);\n      controller.set('port_number', 1);\n    }\n  }\n  @service session;\n\n  queryParams = {\n    page: {\n      refreshModel: true\n    },\n    page_size: {\n      refreshModel: true\n    },\n    paginate_from_zero: {\n      refreshModel: true\n    },\n    port: {\n      refreshModel: true\n    },\n    linear: {\n      refreshModel: true\n    },\n    calib: {\n      refreshModel: true\n    },\n    depth: {\n      refreshModel: true\n    },\n    port_number: {\n      refreshModel: true\n    },\n    advancedDateTimeFormat:{\n        refreshModel: true\n    },\n    advancedYAxisUnit:{\n        refreshModel: true\n    },\n    advancedStartDate: {\n        refreshModel: true\n    },\n    advancedEndDate: {\n        refreshModel: true\n    },\n    advancedYLeftMax:{\n        refreshModel: true\n    },\n    advancedYLeftMin:{\n        refreshModel: true\n    },\n    advancedYRightMax:{\n        refreshModel: true\n    },\n    advancedYRightMin:{\n        refreshModel: true\n    },\n    advancedXMax:{\n        refreshModel: true\n    },\n    advancedXMin:{\n        refreshModel: true\n    }    \n  }\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      \n      //params.id = params.instrument_id;\n\n      // console.log(\"params::::::::::::::::: \" + JSON.stringify(params) );\n\n      let instrument = _this.get('store').findRecord('instrument', params.instrument_id);\n\n      if (!params.page_size) {\n        params.page_size = 20;\n      }\n      // console.log(\"Params.page-size: \" + params.page_size);\n\n      let displacementValuesParams = copy(params);\n      displacementValuesParams.model_name = 'displacement-values';\n      displacementValuesParams.originator = 'raw-data';\n      displacementValuesParams.port = params.port;\n\n      if(!displacementValuesParams.port_number){\n        displacementValuesParams.port_number = 1;\n      }\n\n      if(!displacementValuesParams.port){\n        displacementValuesParams.port = 1;\n        params.port = 1;\n      }\n\n      // console.log(\"displacementValuesParams:::: \" + JSON.stringify(displacementValuesParams));\n      let temperatureValuesParams = copy(params);\n      temperatureValuesParams.model_name = 'temperature-values';\n\n      let displacementValues = _this.store.query('displacement-value', displacementValuesParams, null, displacementValuesParams.instrument_id,  null);\n      let temperatureValues = _this.store.query('temperature-value', temperatureValuesParams, null, temperatureValuesParams.instrument_id,  null);\n\n      // let rawData = _this.get('store').findAll('displacement-value', params);\n      let instrumentTypes = _this.store.findAll('instrument-type');\n      instrument.then(function(instrument){\n        instrumentTypes.then(function(instrumentTypes){\n          displacementValues.then(function(displacementValues){\n            temperatureValues.then(function(temperatureValues){\n              resolve({\n                instrument:instrument,\n                instrumentTypes:instrumentTypes,\n                displacementValues:displacementValues,\n                temperatureValues:temperatureValues,\n              });\n            });\n          });\n        });\n      });\n    });\n  };\n\n  afterModel(resolvedModel, transition) {\n\n\n    let rawDataValuesController = this.controllerFor('raw-data');\n    rawDataValuesController.send('updateProperty', 'instrumentId', resolvedModel.instrument.id);\n    rawDataValuesController.send('updateProperty', 'instrumentType', resolvedModel.instrument.get('instrumentType').get('title'));\n    rawDataValuesController.send('updateProperty', 'pageSize', resolvedModel.displacementValues.query.page_size);\n    rawDataValuesController.send('updateProperty', 'displacementValuesMeta', resolvedModel.displacementValues.meta);\n    rawDataValuesController.send('updateProperty', 'port_number', resolvedModel.port_number);\n    rawDataValuesController.send('updateProperty', 'port', resolvedModel.port);\n  };\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\nimport {copy, Copyable} from 'ember-copy'\n\nexport default class RawGatewayDataRoute extends Route {\n  @service session;\n\n  queryParams = {\n    page: {\n      refreshModel: true\n    },\n    page_size: {\n      refreshModel: true\n    },\n    paginate_from_zero: {\n      refreshModel: true\n    },\n    raw_parent_gateway: {\n      refreshModel: true\n    },\n  }\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n      // console.log(\":::::::::::::::::::::::::\");\n      let gateway = _this.get('store').findRecord('gateway', params.gateway_id);\n      if (!params.page_size) {\n        params.page_size = 20;\n      }\n      //console.log(\"Params.page-size: \" + params.page_size);\n\n      let gatewayValuesParams = copy(params);\n      gatewayValuesParams.model_name = 'gateway-value';\n      // let temperatureValuesParams = copy(params);\n      // temperatureValuesParams.model_name = 'temperature-gateway-value';\n\n      console.log(\"Params::::  \" + JSON.stringify(params));\n      // console.log(\"TempParams::::  \" + JSON.stringify(temperatureValuesParams));\n\n      let gatewayValues = _this.store.query('gateway-value', gatewayValuesParams, null, gatewayValuesParams.gateway_id,  null);\n      // let temperatureValues = _this.store.query('temperature-gateway-value', temperatureValuesParams, null, temperatureValuesParams.gateway_id,  null);\n      let gatewayTypes = _this.store.findAll('gateway-type');\n      gateway.then(function(gateway){       \n        gatewayTypes.then(function(gatewayTypes){\n          gatewayValues.then(function(gatewayValues){\n            //console.log(\"GatewayValues: \" + JSON.stringify(gatewayValues));\n            // temperatureValues.then(function(temperatureValues){\n              //console.log(\"TemperatureValues: \" + JSON.stringify(temperatureValues));\n              resolve({\n                gateway:gateway,\n                gatewayTypes:gatewayTypes,\n                gatewayValues:gatewayValues,\n                // temperatureValues:temperatureValues,\n              // });\n            });\n          });\n        });\n      });\n    });\n  };\n\n  afterModel(resolvedModel, transition) {\n    let rawDataValuesController = this.controllerFor('raw-gateway-data');\n    //console.log(\"TemperatureValues: \" + JSON.stringify(resolvedModel.temperatureValues));\n\n    rawDataValuesController.send('updateProperty', 'gatewayId', resolvedModel.gateway.id);\n    rawDataValuesController.send('updateProperty', 'gatewayType', resolvedModel.gateway.get('gatewayType').get('title'));\n    rawDataValuesController.send('updateProperty', 'pageSize', resolvedModel.gatewayValues.query.page_size);\n    rawDataValuesController.send('updateProperty', 'gatewayValuesMeta', resolvedModel.gatewayValues.meta);\n  };\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class SeismicEventRoute extends Route {\n  @service session;\n\n  beforeModel(transition) {\n    this.session.requireAuthentication(transition, 'login');\n  };\n\n  model(params) {\n    const _this = this;\n    return new Ember.RSVP.Promise(function(resolve, reject){\n        let seismic = _this.get('store').findAll('seismic', params);\n\n        seismic.then(function(seismic){\n            resolve({\n                seismic:seismic,\n            });\n        });\n    });\n  }\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class SeismicsRoute extends Route.extend({\n    queryParams: {\n        page: {\n            refreshModel: true\n        },\n        page_size: {\n            refreshModel: true\n        },\n        ordering: {\n            refreshModel: true\n        },\n        search: {\n            refreshModel: true\n        }\n    },\n    model(params) {\n        return Ember.RSVP.hash({\n            seismicEvents: this.get('store').query('seismic-event', params),\n            seismicTypes: this.get('store').findAll('seismic-type'),\n            //licence: this.get('store').findAll('licence'),\n        });\n    },\n    afterModel: function(resolvedModel) {\n        let pageSize = resolvedModel.seismicEvents.query.page_size,\n            eventsMeta = resolvedModel.seismicEvents.meta,\n            seismicEventsController = this.controllerFor('seismic-events')\n        ;\n\n        seismicEventsController.send('updateProperty', 'pageSize', pageSize);\n        seismicEventsController.send('updateProperty', 'eventsMeta', eventsMeta);\n    }\n}) {\n    @service session;\n\n    beforeModel(transition) {\n      this.session.requireAuthentication(transition, 'login');\n    };\n}","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\n//import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';\n\n//export default class InstrumentsRoute extends Route.extend(AuthenticatedRouteMixin, {\nexport default class SettingsRoute extends Route.extend({\n    model(params) {\n      return this.get('store').query('project-setting', params);\n    }\n  }) {\n    \n    @service session;\n\n    beforeModel(transition) {\n      this.controllerFor('settings').resetLoading();\n      this.session.requireAuthentication(transition, 'login');\n    };\n}\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class FrequencyGraphsRoute extends Route.extend({\n    model(params) {\n        return Ember.RSVP.hash({\n            //licence: this.get('store').findAll('licence'),\n            //instruments: this.get('store').query('instrument', {small: 'true', exclude: 15})\n            //instruments: this.get('store').query('instrument', {exclude: 15})\n            instrument: this.get('store').queryRecord('instrument', {instrument_id: params.instrument_id}),\n        });\n    },\n    setupController: function(controller, model) {\n        this.controllerFor('spatial-graphs').set(\"content\",model);\n        this.controllerFor('spatial-graphs').activate();\n    }\n}) {\n    @service session;\n\n    beforeModel(transition) {\n        this.session.requireAuthentication(transition, 'login');\n        let perms = this.getPerms();\n        if (!('graphing' in perms) || perms['graphing']==false) {\n          this.get('router').transitionTo('instruments');\n        }\n      };\n    \n      getPerms = function() {\n        let perms = null;\n        try{\n          perms = this.session.data.authenticated.modules;\n        } catch {}\n        return perms;\n      };\n  }\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\n\nexport default Ember.Route.extend({\n    queryParams: {\n        start_timestamp: {\n            refreshModel: true\n        },\n        end_timestamp: {\n            refreshModel: true\n        },\n        num_points_requested: {\n            refreshModel: true\n        },\n        ref_head_position: {\n            refreshModel: true\n        },\n        ref_anchor: {\n            refreshModel: true\n        },\n        zeroed: {\n            refreshModel: true\n        },\n        flip_signs: {\n            refreshModel: true\n        },\n        event_type: {\n            refreshModel: true\n        },\n        blast_type: {\n            refreshModel: true\n        },\n        seismic_type: {\n            refreshModel: true\n        },\n        frequency: {\n            refreshModel: true\n        },\n        frequency_num: {\n            refreshModel: true\n        },\n        events_only: {\n            refreshModel: true\n        },\n        group_time: {\n            refreshModel: true\n        },\n        group_window: {\n            refreshModel: true\n        },\n        progress_timestamps: {\n            refreshModel: true\n        },\n        side: {\n            refreshModel: true\n        }\n    },\n    model(params) {\n        const _this = this\n        const page_size = (params.event_type)? 80 : 40;\n        let routeParams = this.paramsFor('spatial-graphs');\n        params.instrument_id = routeParams.instrument_id;\n\n\n        // declare default empty promises in case if blase of seismic events are disabled\n        let seismicEvents = new Ember.RSVP.Promise(function(resolve, reject){\n          // succeed\n          resolve(false);\n          // or reject\n          reject();\n        });\n\n        let blastEvents = new Ember.RSVP.Promise(function(resolve, reject){\n          // succeed\n          resolve(false);\n          // or reject\n          reject();\n        });\n\n        return new Ember.RSVP.Promise(function(resolve, reject){\n\n            // Resolve zoomData model first, get start_timestamp and end_timestap values to be able to limit events to these boundaries\n            let zoomDataQueryParams = Ember.copy(params);\n                zoomDataQueryParams.num_points_requested = 1;\n            _this.store.query(singularize(zoomDataQueryParams.model_name),  zoomDataQueryParams, null, zoomDataQueryParams.instrument_id,  null).then(function(zoomData){\n\n                // let closestZeroTimestamp = \"\";\n                let closestZeroTimestamp = zoomData.meta['closest-zero-timestamp'];\n                let zoomDataStartTimestamp = zoomData.meta['start-timestamp'];\n                let zoomDataEndTimestamp = zoomData.meta['end-timestamp'];\n\n                // get closest_zero_timestamp (the date when an instrument was initialized) of zoomData query and use it as start_timestamp if no other start_timestamp query parameter is specified\n                if (!zoomData.query.start_timestamp) {\n                    params.start_timestamp = zoomData.meta['closest-zero-timestamp'];\n                }\n\n\n                let typeID = params.instrument_id.substr(params.instrument_id.length === 9 ? 5 : 6, 1);\n                let prevModel = params.model_name;\n                // let isRebarGraph = (params.model_name === 'axial-strain-values' || params.model_name === 'bending-strain-values' || params.model_name === 'axial-displacement-values');\n                // if (typeID === \"3\") { //if is rebar\n                //     if (!isRebarGraph && params.model_name !== 'load-values') {\n                //         params.model_name = 'axial-displacement-values';\n                //         window.history.replaceState({}, prevModel, '/spatial-graph/' + params.instrument_id + '/axial-displacement-values');\n                //     }\n                // } else { //if is not rebar\n                //     if (isRebarGraph) {\n                //             params.model_name = 'displacement-values';\n                //             window.history.replaceState({}, prevModel, '/spatial-graph/' + params.instrument_id + '/displacement-values');\n                //     }\n                // }\n\n                // second call to the same endpoint required because I can only fetch closest_zero_timestamp value from the previous API call\n                let zoomDataSecondCall = _this.store.query(singularize(params.model_name),  params, null, params.instrument_id,  null);\n\n                // third call should only be called after the first find is completed\n                // let fullRangeData = _this.get('store').query(Ember.String.singularize(params.model_name), {model_name: params.model_name, instrument_id: params.instrument_id, num_points_requested: 300, ref_head_position: params.ref_head_position, ref_anchor: params.ref_anchor, zeroed: params.zeroed, flip_signs: params.flip_signs});\n                //console.log(\"params.model_name:::: \" + params.model_name);\n                let fullRangeData = _this.get('store').query(singularize(params.model_name), {model_name: params.model_name, instrument_id: params.instrument_id, start_timestamp: closestZeroTimestamp, num_points_requested: 300, ref_head_position: params.ref_head_position, ref_anchor: params.ref_anchor, zeroed: params.zeroed, flip_signs: params.flip_signs});\n\n                // fetch an instrument to be able to get anchor distances and other useful info from the instrument\n                //let instrument = _this.get('store').findRecord('instrument', params.instrument_id, { include: 'anchors' } );\n                let instrument = _this.store.queryRecord('instrument', { instrument_id: params.instrument_id } );\n\n                let graphs = _this.get('store').findAll('chart');\n\n                // if blast events are requested\n                if (!params.event_type || params.event_type === \"blast\") {\n                    blastEvents = _this.store.query('blast-event', {page_size: page_size, is_visible: true, blast_type: params.blast_type, start_timestamp: zoomDataStartTimestamp, end_timestamp: zoomDataEndTimestamp});\n                }\n                // if promise events are requested\n                if (!params.event_type || params.event_type === \"seismic\") {\n                    seismicEvents = _this.store.query('seismic-event', {page_size: page_size, is_visible: true, seismic_type: params.seismic_type, start_timestamp: zoomDataStartTimestamp, end_timestamp: zoomDataEndTimestamp});\n                }\n\n                //wait for all promises to fulfil and then return resolved promis\n                graphs.then(function(graphs) {\n                    instrument.then(function(instrument){\n                        zoomDataSecondCall.then(function(zoomDataSecondCall){\n                            fullRangeData.then(function(fullRangeData){\n                                seismicEvents.then(function(seismicEvents){\n                                    blastEvents.then(function(blastEvents){\n                                        resolve({\n                                            graphs:graphs,\n                                            instrument:instrument,\n                                            zoomData:zoomDataSecondCall,\n                                            fullRangeData:fullRangeData,\n                                            seismicEvents:seismicEvents,\n                                            blastEvents:blastEvents\n                                        });\n                                    });\n                                });\n                            });\n                        });\n                    });\n                });\n            });\n        });\n\n    },\n    afterModel: function(resolvedModel) {\n        let spatialGraphsController = this.controllerFor('spatial-graphs');\n\n        spatialGraphsController.send('updateProperties', ['instrumentId'], [resolvedModel.zoomData.query.instrument_id]);\n        spatialGraphsController.send('updateProperties', ['instrumentType'], [resolvedModel.instrument.get('instrumentType').get('title')]);\n        spatialGraphsController.send('updateProperties', ['instrumentTypeId'], [resolvedModel.instrument.get('instrumentType').get('id')]);\n        spatialGraphsController.send('updateProperties', ['name'], [resolvedModel.instrument.get('name')]);\n        spatialGraphsController.send('updateProperties', ['location'], [resolvedModel.instrument.get('location')]);\n        spatialGraphsController.send('updateProperties', ['level'], [resolvedModel.instrument.get('level')]);\n        spatialGraphsController.send('updateProperties', ['borehole'], [resolvedModel.instrument.get('borehole')]);\n        spatialGraphsController.send('updateProperties', ['project'], [resolvedModel.instrument.get('project')]);\n\n        let mName = resolvedModel.zoomData.query.model_name;\n        let iName = resolvedModel.instrument.get('instrumentType').get('title');\n        //let isRebarGraph = (mName === 'axial-strain-values' || mName === 'bending-strain-values' || mName === 'axial-displacement-values');\n        // if(iName === 'dRebar') {\n        //     if(!isRebarGraph && mName !== 'load-values') {\n        //         resolvedModel.zoomData.query.model_name = 'axial-displacement-values';\n        //         window.history.replaceState({}, mName, '/spatial-graph/' + resolvedModel.instrument.get('id') + '/axial-displacement-values');\n        //     }\n        // } else {\n        //     if(isRebarGraph) {\n        //             resolvedModel.zoomData.query.model_name = 'displacement-values';\n        //             window.history.replaceState({}, mName, '/spatial-graph/' + resolvedModel.instrument.get('id') + '/displacement-values');\n        //     }\n        // }\n        \n        spatialGraphsController.send('updateProperties', ['modelName'], [resolvedModel.zoomData.query.model_name]);\n        spatialGraphsController.send('updateActivefrequency', resolvedModel.zoomData.query);\n        spatialGraphsController.send('updateGroupMode', resolvedModel.zoomData.query);\n        spatialGraphsController.send('updateProperties', ['activeInstrumentMeta'], [resolvedModel.zoomData.meta]);\n        spatialGraphsController.send('updateProperties', ['eventType'], [resolvedModel.zoomData.query.event_type]);\n        spatialGraphsController.send('updateProperties', ['blastType'], [resolvedModel.zoomData.query.blast_type]);\n        spatialGraphsController.send('updateProperties', ['seismicType'], [resolvedModel.zoomData.query.seismic_type]);\n\n        //get pretty chart name if chart has multiple parts to it\n        let obj = resolvedModel.graphs;\n        let type = resolvedModel.instrument.get('instrumentTypeID').toString();\n        //get the chart data for the instrument\n        obj.forEach(function(item) {\n            if(item.id === type) {\n                obj = item;\n                return;\n            }\n        });\n        \n        let name = '';\n        try {\n            name = resolvedModel.zoomData.query.model_name.substr(0, resolvedModel.zoomData.query.model_name.lastIndexOf('-'));\n        } catch (exception){\n            \n        }\n        console.log(\"NAME:::\" + name);\n\n        switch(name) {\n            case 'displacement':\n                name = obj.spatialDisplacementName;\n                break;\n            case 'velocity':\n                name = obj.spatialVelocityName;\n                break;\n            case 'acceleration':\n                name = obj.spatialAccelerationName;\n                break;\n            case 'strain':\n                name = obj.spatialStrainName;\n                break;\n            case 'strain_rate':\n                name = obj.spatialStrainRateName;\n                break;\n            case 'load':\n                name = obj.spatialLoadName;\n                break;\n            case 'axial_strain':\n                name = \"Axial-strain\";\n                break;\n            case 'bending_strain':\n                name = \"Bending-strain\";\n                break;\n            case 'temperature':\n                name = \"Temperature\";\n                break;\n            case 'axial_displacement':\n                name = \"Axial-displacement\";\n                break;\n            default:\n                break;\n        }\n        let chartName = name;\n        try {\n            let chartNameL = chartName.substr(0, chartName.indexOf('-')).capitalize();\n            let chartNameR = chartName.substr(chartName.indexOf('-') + 1).capitalize();\n            if(chartNameL !== \"\") {\n                chartName = chartNameL + \" \" + chartNameR;\n            }\n        } catch (exception) {}\n    \n        \n        spatialGraphsController.send('updateProperties', ['chartData'], [obj]);\n        spatialGraphsController.send('updateProperties', ['chartDataValueName'], [chartName]);\n        spatialGraphsController.send('updateProperties', ['instrumentAnchors'], [resolvedModel.instrument.get('anchors')]);\n    },\n    actions: {\n        setDataR(data) {\n            let temporalGraphsController = this.controllerFor('spatial-graphs');\n\n            temporalGraphsController.send('setData',data);\n        },\n        setChartR(chart) {\n            let temporalGraphsController = this.controllerFor('spatial-graphs');\n\n            temporalGraphsController.send('setChart',chart);\n        },\n        willTransition() {\n            let spatialGraphsController = this.controllerFor('spatial-graphs');\n\n            spatialGraphsController.send('updateProperties', ['instrumentId'], [null]);\n            spatialGraphsController.send('updateProperties', ['eventType'], [null]);\n            spatialGraphsController.send('updateProperties', ['blastType'], [null]);\n            spatialGraphsController.send('updateProperties', ['seismicType'], [null]);\n        }\n    }\n});\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class TemporalGatewayGraphsRoute extends Route.extend({\n    model(params) {\n        let a = this.get('store');\n        // console.log(\"\");\n        // console.log(\"temporal-gateway-graphs router: \" + JSON.stringify(params));\n        // console.log(\"\");\n        \n        return Ember.RSVP.hash({\n          gateway: this.get('store').queryRecord('gateway', {gateway_id: params.gateway_id}),\n        });\n    },\n      setupController: function(controller, model) {\n      //console.log(\"setupController::: \" + model);\n      this.controllerFor('temporal-gateway-graphs').set(\"content\",model);\n      this.controllerFor('temporal-gateway-graphs').activate();\n    }\n}) {\n    @service session;\n    @service router;\n\n    beforeModel(transition) {\n      this.session.requireAuthentication(transition, 'login');\n      let perms = this.getPerms();\n      if (!('graphing' in perms) || perms['graphing']==false) {\n        this.get('router').transitionTo('gateway');\n      }\n    };\n\n    getPerms = function() {\n      let perms = null;\n      try{\n        perms = this.session.data.authenticated.modules;\n      } catch {}\n      return perms;\n    };\n}\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\nimport { capitalize } from '@ember/string';\nimport {copy, Copyable} from 'ember-copy'\n\n\nexport default Ember.Route.extend({\n    queryParams: {\n        start_timestamp: {\n            refreshModel: true\n        },\n        end_timestamp: {\n            refreshModel: true\n        },\n        num_points_requested: {\n            refreshModel: true\n        },\n        ref_head_position: {\n            refreshModel: true\n        },\n        ref_anchor: {\n            refreshModel: true\n        },\n        zeroed: {\n            refreshModel: true\n        },\n        linear: {\n            refreshModel: true\n        },\n        calib: {\n            refreshModel: true\n        },\n        depth: {\n            refreshModel: true\n        },\n        flip_signs: {\n            refreshModel: true\n        },\n        event_type: {\n            refreshModel: true\n        },\n        blast_type: {\n            refreshModel: true\n        },\n        seismic_type: {\n            refreshModel: true\n        },\n        frequency: {\n            refreshModel: true\n        },\n        chart_parent_gateway: {\n            refreshModel: true\n        },\n        chart_type:{\n            refreshModel: true\n        },\n        window: {\n            refreshModel: true\n        },\n        display_records: {\n            refreshModel: true\n        },\n        // left_axis_field: {\n        //     refreshModel: true\n        // },\n        // right_axis_field: {\n        //     refreshModel: true\n        // },\n        // modelName:{\n        //   replace: true\n        // },\n    },\n    tiltMode: null,\n    tiltZUp: null,\n    model(params) {\n        const _this = this\n        let page_size = (params.event_type)? 80 : 40;\n        let routeParams = this.paramsFor('temporal-gateway-graphs');\n        params.gateway_id = routeParams.gateway_id;\n        // routeParams.chart_parent_gateway = params.chart_parent_gateway;\n\n        // console.log(\"routeParams:::\" + JSON.stringify(routeParams));\n        // console.log(\"Params:::\" + JSON.stringify(params));\n\n        return new Ember.RSVP.Promise(function(resolve, reject){\n            // Resolve zoomData model first, get start_timestamp and end_timestap values to be able to limit events to these boundaries\n            \n            let zoomDataQueryParams = copy(params);\n            zoomDataQueryParams.num_points_requested = 1;\n            \n            if(zoomDataQueryParams.left_axis_field == null){\n                zoomDataQueryParams.left_axis_field = \"Voltage\";\n            }\n            if(zoomDataQueryParams.right_axis_field == null){\n                zoomDataQueryParams.right_axis_field = \"RSSI\";\n            }\n            if(zoomDataQueryParams.chart_parent_gateway == null){\n\n                // console.log(\"SETTING chart_parent_gateway in temporal-gateway-graph.js routes\")\n                zoomDataQueryParams.chart_parent_gateway = routeParams.parentGateway;\n                // console.log('zoomDataQueryParams::: ' + JSON.stringify(zoomDataQueryParams));\n            }\n            // console.log(\"zoomDataQueryParams:::\" + JSON.stringify(zoomDataQueryParams));\n    \n            params.left_axis_field = zoomDataQueryParams.left_axis_field;\n            params.right_axis_field = zoomDataQueryParams.right_axis_field;\n            _this.set('left_axis_field', zoomDataQueryParams.left_axis_field);\n            _this.set('right_axis_field', zoomDataQueryParams.right_axis_field);\n            _this.set('chart_parent_gateway', zoomDataQueryParams.chart_parent_gateway);\n                        \n            _this.store.query(singularize(zoomDataQueryParams.model_name),  zoomDataQueryParams, null, zoomDataQueryParams.gateway_id,  null).then(function(zoomData){\n\n                // let closestZeroTimestamp = \"\";\n                let closestZeroTimestamp = zoomData.meta['closest-zero-timestamp'];\n                let zoomDataStartTimestamp = zoomData.meta['start-timestamp'];\n                let zoomDataEndTimestamp = zoomData.meta['end-timestamp'];\n\n                // get closest_zero_timestamp (the date when an gateway was initialized) of zoomData query and use it as start_timestamp if no other start_timestamp query parameter is specified\n                if (!zoomData.query.start_timestamp) {\n                    params.start_timestamp = zoomData.meta['closest-zero-timestamp'];\n                }\n                // let mName = params.model_name;\n                let gatewayID = params.gateway_id;\n                // second call to the same endpoint required because I can only fetch closest_zero_timestamp value from the previous API call\n               //console.log(\"1\");\n                let zoomDataSecondCall = _this.store.query(singularize(params.model_name),  params, null, params.gateway_id,  null);\n\n                //let zoomTempData = _this.store.query(Ember.String.singularize('temperature-value'),  params, null, params.gateway_id,  null);\n                // let temperatureParams = copy(params);\n                // temperatureParams.ref_anchor = \"0\";\n                // temperatureParams.flip_signs = params.flip_signs;\n                // temperatureParams.model_name = \"gateway-values\";\n\n                // let zoomTempData = _this.store.query(\"temperature-gateway-value\", temperatureParams, null, params.gateway_id, null);\n\n                // third call should only be called after the first find is completed\n                // let fullRangeData = _this.get('store').query(Ember.String.singularize(params.model_name), {model_name: params.model_name, gateway_id: params.gateway_id, num_points_requested: 300, ref_head_position: params.ref_head_position, ref_anchor: params.ref_anchor, zeroed: params.zeroed, flip_signs: params.flip_signs});\n                let fullRangeData;\n                fullRangeData = _this.store.query(singularize(params.model_name), {model_name: params.model_name, gateway_id: params.gateway_id, start_timestamp: closestZeroTimestamp, num_points_requested: 300, ref_head_position: params.ref_head_position, ref_anchor: params.ref_anchor, zeroed: params.zeroed, raw: params.raw, flip_signs: params.flip_signs, calib: true});\n                \n                // let fullRangeTempData = _this.get('store').query(\"temperature-value\", {model_name: params.model_name, gateway_id: params.gateway_id, start_timestamp: closestZeroTimestamp, num_points_requested: 300, ref_head_position: params.ref_head_position, ref_anchor: params.ref_anchor, zeroed: false});\n                // fetch an gateway to be able to get anchor distances and other useful info from the gateway\n                let gateway = _this.store.queryRecord('gateway', { gateway_id: params.gateway_id } );\n               //console.log(\"count 2\");\n               //console.log(\"Gateway: \" + params.gateway_id);\n                //let gateway = _this.store.queryRecord('gateway', { gateway_id: params.gateway_id } );\n\n                let graphs = _this.store.findAll('chart');\n\n\n                //wait for all promises to fulfil and then return resolved promise\n                graphs.then(function(graphs) {\n                    gateway.then(function(gateway){\n                        zoomDataSecondCall.then(function(zoomDataSecondCall){\n                            fullRangeData.then(function(fullRangeData){\n                                // zoomTempData.then(function(zoomTempData){\n                                    resolve({\n                                        graphs:graphs,\n                                        gateway:gateway,\n                                        zoomData:zoomDataSecondCall,\n                                        fullRangeData:fullRangeData,\n                                        // zoomTempData:zoomTempData,\n                                    // });\n                                });\n                            });\n                        });\n                    });\n                });\n            });\n        });\n    },\n    afterModel: function(resolvedModel) {\n       //console.log(\"in afterModel - routes/temporal-gateway-graphs/temporal-gateway-graph.js\")\n        let temporalGraphsController = this.controllerFor('temporal-gateway-graphs');\n\n        //temporalGraphsController.send('updateProperties', ['model_name'], [resolvedModel.zoomData.query.model_name]);\n\n        temporalGraphsController.send('updateProperties', ['gatewayId'], [resolvedModel.zoomData.query.gateway_id]);\n        temporalGraphsController.send('updateProperties', ['gatewayType'], [resolvedModel.gateway.get('gatewayType').get('title')]);\n        temporalGraphsController.send('updateProperties', ['gatewayTypeId'], [resolvedModel.gateway.get('gatewayType').get('id')]);\n        temporalGraphsController.send('updateProperties', ['name'], [resolvedModel.gateway.get('name')]);\n        temporalGraphsController.send('updateProperties', ['location'], [resolvedModel.gateway.get('location')]);\n        temporalGraphsController.send('updateProperties', ['level'], [resolvedModel.gateway.level]);//get('level')]);\n        temporalGraphsController.send('updateProperties', ['borehole'], [resolvedModel.gateway.get('borehole')]);\n        temporalGraphsController.send('updateProperties', ['project'], [resolvedModel.gateway.get('project')]);\n        //temporalGraphsController.send('updateProperties', ['tiltMode'], [this.get('tiltMode')]);\n        temporalGraphsController.send('updateProperties', ['tiltZUp'], [this.get('tiltZUp')]);\n        \n        temporalGraphsController.send('updateProperties', ['left_axis_field'], [this.get('left_axis_field')]);\n        temporalGraphsController.send('updateProperties', ['right_axis_field'], [this.get('right_axis_field')]);\n        temporalGraphsController.send('updateProperties', ['chart_parent_gateway'], [this.get('chart_parent_gateway')]);\n        \n       //console.log(\"ModelName::: \" + resolvedModel.zoomData.query.model_name);\n        temporalGraphsController.send('updateProperties', ['modelName'], [resolvedModel.zoomData.query.model_name]);\n        temporalGraphsController.send('updateProperties', ['activeGatewayMeta'], [resolvedModel.zoomData.meta]);\n        temporalGraphsController.send('updateLocalProperty', 'activeGatewayMeta', resolvedModel.zoomData.meta);\n        temporalGraphsController.send('updateProperties', ['eventType'], [resolvedModel.zoomData.query.event_type]);\n        temporalGraphsController.send('updateProperties', ['blastType'], [resolvedModel.zoomData.query.blast_type]);\n        temporalGraphsController.send('updateProperties', ['display_records'], [resolvedModel.zoomData.query.display_records]);\n        temporalGraphsController.send('updateProperties', ['chart_type'], [resolvedModel.zoomData.query.chart_type]);\n\n        temporalGraphsController.send('updateProperties', ['seismicType'], [resolvedModel.zoomData.query.seismic_type]);\n        temporalGraphsController.send('updateProperties', ['frequency'], [resolvedModel.zoomData.query.frequency]);\n        temporalGraphsController.send('updateProperties', ['window'], [resolvedModel.zoomData.query.window]);\n        \n        //get pretty chart name if chart has multiple parts to it\n        let obj = resolvedModel.graphs;\n        let type = 18;//resolvedModel.gateway.get('gatewayTypeID').toString();\n        //get the chart data for the gateway\n        let newObj = [];\n        obj.forEach(function(item) {\n            if(item.id == type) {\n                newObj = item;\n                return;\n            }\n        });\n        //let graphs = resolvedModel.get('graphs');\n        \n        let name = '';\n        try {\n            name = resolvedModel.zoomData.query.model_name.substr(0, resolvedModel.zoomData.query.model_name.lastIndexOf('-'));\n           //console.log(\"name:::: \" + name);\n        } catch (exception) {\n\n        }\n        // console.log(\"chartName:::: \" + name);\n        switch(name) {\n            case 'voltage':\n                name = 'Voltage'; //newObj.temporalDisplacementName;\n                break;\n            case 'rssi':\n                name = 'RSSI';//newObj.temporalVelocityName;\n                break;\n            case 'readings':\n                name = 'Readings';\n                break;\n            case 'uptime':\n                name = 'Uptime';\n                break;\n            case 'reconnection':\n                name = \"Reconnections\";\n                break;\n            case 'uploads':\n                name = 'Uploads';\n                break;\n            case 'temp':\n                name = 'Temperature';\n                break;\n            case 'firmware':\n                name = 'Firmware';\n                break;\n\n            default:\n                name = 'Unknown';\n                break;\n        }\n\n        let chartName = capitalize(name);\n        let chartNameL = capitalize(chartName.substr(0, chartName.indexOf('-')));\n        let chartNameR = capitalize(chartName.substr(chartName.indexOf('-') + 1));\n        if(chartNameL !== \"\") {\n            chartName = chartNameL + \" \" + chartNameR;\n        }\n        // console.log(\"ChartName::::: \" + chartName);\n        \n        temporalGraphsController.send('updateProperties', ['chartData'], [newObj]);\n        temporalGraphsController.send('updateProperties', ['chartDataValueName'], [chartName]);\n        temporalGraphsController.send('updateProperties', ['gatewayAnchors'], [resolvedModel.gateway.get('anchors')]);\n    },\n    actions: {\n        setDataR(data) {\n            let temporalGraphsController = this.controllerFor('temporal-gateway-graphs');\n\n            temporalGraphsController.send('setData',data);\n        },\n        setChartR(chart) {\n            let temporalGraphsController = this.controllerFor('temporal-gateway-graphs');\n\n            temporalGraphsController.send('setChart',chart);\n        },\n        willTransition() {\n            let temporalGraphsController = this.controllerFor('temporal-gateway-graphs');\n\n            temporalGraphsController.send('updateProperties', ['gatewayId'], [null]);\n            temporalGraphsController.send('updateProperties', ['eventType'], [null]);\n            temporalGraphsController.send('updateProperties', ['blastType'], [null]);\n            temporalGraphsController.send('updateProperties', ['seismicType'], [null]);\n            temporalGraphsController.send('updateProperties', ['vibe_id'], [null]);\n            temporalGraphsController.send('updateProperties', ['chart_type'], [null]);\n            temporalGraphsController.send('updateProperties', ['display_records'], [null]);\n            temporalGraphsController.send('updateProperties', ['left_axis_field'], [null]);\n            temporalGraphsController.send('updateProperties', ['right_axis_field'], [null]);\n            temporalGraphsController.send('updateProperties', ['ref_anchor'], [null]);\n            temporalGraphsController.send('updateProperties', ['flip_signs'], [null]);     \n            temporalGraphsController.send('updateProperties', ['chart_parent_gateway'], [null]);     \n\n        }\n    }\n});\n\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class TemporalGraphsRoute extends Route.extend({\n\n    model(params) {\n        let a = this.get('store');\n        return Ember.RSVP.hash({\n          instrument: this.get('store').queryRecord('instrument', {instrument_id: params.instrument_id}),\n        });\n    },\n    setupController: function(controller, model) {\n      this.controllerFor('temporal-graphs').set(\"content\",model);\n      this.controllerFor('temporal-graphs').activate();\n      // console.log(\"setupController::: \" + model)\n    },\n    async resetController(controller, isExiting, transition) {\n      if (isExiting) {\n        try{\n          let instrument = controller.content.instrument;\n          // instrument.set('selectedAnchor', 0);\n          await instrument.save();\n\n        } catch(e) {\n          console.log(\"routes:::temporal-graphs:::resetController: Error: \" + e );\n        }\n      }\n    }\n}) {\n    @service session;\n    @service router;\n    \n    beforeModel(transition) {\n      this.session.requireAuthentication(transition, 'login');\n      let perms = this.getPerms();\n      if (!('graphing' in perms) || perms['graphing']==false) {\n        this.get('router').transitionTo('instruments');\n      }\n    };\n\n    getPerms = function() {\n      let perms = null;\n      try{\n        perms = this.session.data.authenticated.modules;\n      } catch {}\n      return perms;\n    };\n}\n","import Ember from 'ember';\nimport { singularize, pluralize } from 'ember-inflector';\n\nexport default Ember.Route.extend({\n\n\n    afterModel(model, transition) {\n        this._super(...arguments);\n        this.controller.set('selectedAnchor', model.instrument.selectedAnchor);        \n    },\n\n    queryParams: {\n        start_timestamp: {\n            refreshModel: true\n        },\n        end_timestamp: {\n            refreshModel: true\n        },\n        num_points_requested: {\n            refreshModel: true\n        },\n        ref_head_position: {\n            refreshModel: true\n        },\n        ref_anchor: {\n            refreshModel: true\n        },\n        zeroed: {\n            refreshModel: true\n        },\n        linear: {\n            refreshModel: true\n        },\n        calib: {\n            refreshModel: true\n        },\n        depth: {\n            refreshModel: true\n        },\n        flip_signs: {\n            refreshModel: true\n        },\n        event_type: {\n            refreshModel: true\n        },\n        blast_type: {\n            refreshModel: true\n        },\n        seismic_type: {\n            refreshModel: true\n        },\n        frequency: {\n            refreshModel: true\n        },\n        // vibe_id: {\n        //     refreshModel: true\n        // },\n        chart_type:{\n            refreshModel: true\n        },\n        window: {\n            refreshModel: true\n        },\n        display_records: {\n            refreshModel: true\n        },\n        port:{            \n            refreshModel: true,\n        },\n        selectedAnchor: {\n            refreshModel: true\n        },\n        advancedYAxisUnit:{\n            refreshModel: true\n        },\n        advancedStartDate: {\n            refreshModel: true\n        },\n        advancedEndDate: {\n            refreshModel: true\n        },\n        advancedYLeftMax:{\n            refreshModel: true\n        },\n        advancedYLeftMin:{\n            refreshModel: true\n        },\n        advancedYRightMax:{\n            refreshModel: true\n        },\n        advancedYRightMin:{\n            refreshModel: true\n        },\n        advancedXMax:{\n            refreshModel: true\n        },\n        advancedXMin:{\n            refreshModel: true\n        }\n    },\n    tiltMode: null,\n    tiltZUp: null,\n    selectedAnchor: 0,\n\n    resetController(controller, isExiting, transition) {\n        if (isExiting) {\n            // isExiting would be false if only the route's model was changing\n            controller.set('start_timestamp', null);\n            controller.set('end_timestamp', null);\n            controller.set('chart_type', null);\n            controller.set('display_records', null);   \n            controller.set('port', 1); \n            // controller.set('selectedAnchor', selectedAnchor);\n        }\n    },\n\n        \n    model(params) {\n        \n        // If port is not defined, default to 1\n        if (params.port) {\n            // Destructure the 'port' query parameter\n            const { port } = params;\n            // Now 'port' contains the value of the 'port' query parameter\n            \n            params.port = port;\n            \n        } else {\n            // Handle the case where 'port' query parameter is not defined\n            // You can set a default value or take other appropriate action\n            params.port = 1 // Default value if 'port' is not in the URL\n        }\n        // console.log(\"model(params):  Params: \" + JSON.stringify(params));\n\n        const _this = this\n        let page_size = (params.event_type)? 80 : 40;\n        let routeParams = this.paramsFor('temporal-graphs');\n        params.instrument_id = routeParams.instrument_id;\n        routeParams.port = params.port;\n        \n        // declare default empty promises in case if blase of seismic events are disabled\n        let seismicEvents = new Ember.RSVP.Promise(function(resolve, reject){\n          // succeed\n          resolve(false);\n          // or reject\n          reject();\n        });\n\n        let blastEvents = new Ember.RSVP.Promise(function(resolve, reject){\n          // succeed\n          resolve(false);\n          // or reject\n          reject();\n        });\n\n        let vibeEvents = new Ember.RSVP.Promise(function(resolve, reject){\n            resolve(false);\n            reject();\n        });\n\n        return new Ember.RSVP.Promise(function(resolve, reject){            \n            // Resolve zoomData model first, get start_timestamp and end_timestap values to be able to limit events to these boundaries\n            let zoomDataQueryParams = Ember.copy(params);\n            // console.log(\"zoomDataQueryParams::: \" + JSON.stringify(zoomDataQueryParams));\n            zoomDataQueryParams.num_points_requested = 1;\n            zoomDataQueryParams.SINGLE_QUERY = 'SINGLE_QUERY'\n            let zoomDataSecondCall;\n            let fullRangeData;\n            \n            _this.store.query(singularize(zoomDataQueryParams.model_name),  zoomDataQueryParams, null, zoomDataQueryParams.instrument_id,  null).then(function(zoomData){\n                \n                // let closestZeroTimestamp = \"\";\n                let closestZeroTimestamp = zoomData.meta['closest-zero-timestamp'];\n                let zoomDataStartTimestamp = zoomData.meta['start-timestamp'];\n                let zoomDataEndTimestamp = zoomData.meta['end-timestamp'];\n                \n                advancedYAxisUnit: params.advancedYAxisUnit\n                // get closest_zero_timestamp (the date when an instrument was initialized) of zoomData query and use it as start_timestamp if no other start_timestamp query parameter is specified\n                if (!zoomData.query.start_timestamp) {\n                    params.start_timestamp = zoomData.meta['closest-zero-timestamp'];\n                }\n                let mName = params.model_name;\n                // let instrumentID = params.instrument_id;\n                let isVibeGraph = (mName === 'event-ppv' || mName === 'event-ppa' || mName === 'event-frequency' || mName === 'cumulative-event-ppv' || mName === 'cumulative-event-ppa' || mName === 'cumulative-event-frequency');\n                \n\n                // second call to the same endpoint required because I can only fetch closest_zero_timestamp value from the previous API call\n                // console.log(\"zoomDataSecondCall::::::::::::::::::::: \" + JSON.stringify(params));\n                // zoomDataQueryParams.SINGLE_QUERY = null;\n                params.SECOND_QUERY = 'SECOND_QUERY';\n\n                zoomDataSecondCall = _this.store.query(singularize(params.model_name),  params, null, params.instrument_id,  null);\n                // let finalVal = _this.store.query(singularize('displacement-values'),  { page_size: -1, instrument_id: params.instrument_id }, null, params.instrument_id,  null).then(function(result) {\n                //     //record looks like this: [2.351,0,-2.256,1,2]\n                //     //shows tiltMode = 2 and tilt_z_up = 1\n                //     //_this.set('tiltMode', result.get('firstObject').values[4]);\n                //     _this.set('tiltZUp', result.get('firstObject').values[3]);\n                // }) //end of finalVal\n\n                \n                //let zoomTempData = _this.store.query(Ember.String.singularize('temperature-value'),  params, null, params.instrument_id,  null);\n                // params.SECOND_QUERY = null;\n\n                fullRangeData = _this.store.query(singularize(params.model_name), {model_name: params.model_name, \n                    instrument_id: params.instrument_id, \n                    start_timestamp: closestZeroTimestamp, \n                    num_points_requested: 300,\n                    ref_head_position: params.ref_head_position, \n                    ref_anchor: params.ref_anchor, \n                    zeroed: params.zeroed, \n                    raw: params.raw, \n                    flip_signs: params.flip_signs, \n                    calib: params.calib, \n                    linear: params.linear, \n                    depth: params.depth, \n                    port: params.port, \n                    FULLRANGE_DATA: true, \n                    advancedYAxisUnit: params.advancedYAxisUnit, \n                    advancedStartDate: params.advancedStartDate, \n                    advancedEndDate: params.advancedEndDate, \n                    advancedXMax: params.advancedXMax, \n                    advancedXMin: params.advancedXMin, \n                    advancedYLeftMax: params.advancedYLeftMax, \n                    advancedYLeftMin: params.advancedYLeftMin, \n                    advancedYRightMax: params.advancedYRightMax, \n                    advancedYRightMin: params.advancedYRightMin\n                });\n\n                let temperatureParams = Ember.copy(params);\n                temperatureParams.ref_anchor = \"0\";\n                temperatureParams.flip_signs = null;\n                temperatureParams.model_name = \"displacement-values\";\n\n                let zoomTempData = _this.store.query(\"temperature-value\", temperatureParams, null, params.instrument_id, null);\n                \n                //     fullRangeData = _this.store.query(singularize(params.model_name), {model_name: params.model_name, instrument_id: params.instrument_id, start_timestamp: closestZeroTimestamp, num_points_requested: 300, ref_head_position: params.ref_head_position, ref_anchor: params.ref_anchor, zeroed: params.zeroed, raw: params.raw, flip_signs: params.flip_signs, calib: params.calib, linear: params.linear, depth: params.depth, port: params.port, FULLRANGE_DATA: true, isFirst: params.isFirst});\n                \n                let instrument = _this.store.queryRecord('instrument', { instrument_id: params.instrument_id } );\n                // console.log(\"count 2\");\n                // console.log(\"Instrument: \" + params.instrument_id);\n                \n                let graphs = _this.store.findAll('chart');\n\n                // if blast events are requested\n                if (!params.event_type || params.event_type === \"blast\") {\n                    blastEvents = _this.store.query('blast-event', {page_size: page_size, is_visible: true, blast_type: params.blast_type, start_timestamp: zoomDataStartTimestamp, end_timestamp: zoomDataEndTimestamp, query_name: \"BLAST_EVENTS\"});\n                }\n                // if promise events are requested\n                if (!params.event_type || params.event_type === \"seismic\") {\n                    seismicEvents = _this.store.query('seismic-event', {page_size: page_size, is_visible: true, seismic_type: params.seismic_type, start_timestamp: zoomDataStartTimestamp, end_timestamp: zoomDataEndTimestamp});\n                }\n                let vibeEventParams = Ember.copy(params);\n                    \n                if (isVibeGraph) {\n                    // console.log(\"IN: isVibeGraph: \" + isVibeGraph);\n                    vibeEventParams.ref_anchor = \"0\";\n                    vibeEventParams.flip_signs = null;\n                    vibeEventParams.model_name = \"vibration-event\";\n                    vibeEventParams.event_type === \"bluvibe\"\n                    vibeEventParams.instrument_id = params.instrument_id;\n                    vibeEventParams.chart_type=\"frequency\";\n                    vibeEvents = _this.store.query('vibration-event', { page_size: page_size, is_visible: true, start_timestamp: zoomDataStartTimestamp, end_timestamp: zoomDataEndTimestamp});\n                }\n\n                if (!params.event_type || params.event_type === \"bluvibe\") {\n                    if (params.vibe_id) {\n                        let vibeEventParams = Ember.copy(params);\n                        vibeEventParams.ref_anchor = \"0\";\n                        vibeEventParams.flip_signs = null;\n                        vibeEventParams.model_name = \"displacement-values\";\n                        vibeEventParams.event_type === \"bluvibe\"\n                        vibeEventParams.instrument_id = params.instrument_id;\n                        vibeEventParams.chart_type=\"frequency\";\n                        // console.log(\"count 3\"); \n                        vibeEvents = _this.store.query(singularize(params.model_name), { page_size: page_size, is_visible: true, start_timestamp: zoomDataStartTimestamp, end_timestamp: zoomDataEndTimestamp});\n                        // console.log(\"count 4\"); \n                    }\n                }\n\n                //wait for all promises to fulfil and then return resolved promise\n                graphs.then(function(graphs) {\n                    instrument.then(function(instrument){\n                        zoomDataSecondCall.then(function(zoomDataSecondCall){\n                            fullRangeData.then(function(fullRangeData){\n                                seismicEvents.then(function(seismicEvents){\n                                    blastEvents.then(function(blastEvents){\n                                        vibeEvents.then(function(vibeEvents){\n                                            zoomTempData.then(function(zoomTempData){\n                                                //fullRangeTempData.then(function(fullRangeTempData) {\n                                                    resolve({\n                                                        graphs:graphs,\n                                                        instrument:instrument,\n                                                        zoomData:zoomDataSecondCall,\n                                                        fullRangeData:fullRangeData,\n                                                        seismicEvents:seismicEvents,\n                                                        blastEvents:blastEvents,\n                                                        zoomTempData:zoomTempData,\n                                                        vibeEvents:vibeEvents,\n                                                        //fullRangeTempData:fullRangeTempData,\n                                                        //tiltMode:_this.get('tiltMode'),\n                                                    // });\n                                                });\n                                            });\n                                        });\n                                    });\n                                });\n                            });\n                        });\n                    });\n                });\n            });\n        });\n    },\n    afterModel: function(resolvedModel) {\n        // console.log(\"in afterModel - routes/temporal-graphs/temporal-graph.js\")\n        let temporalGraphsController = this.controllerFor('temporal-graphs');\n\n        //temporalGraphsController.send('updateProperties', ['model_name'], [resolvedModel.zoomData.query.model_name]);\n\n        temporalGraphsController.send('updateProperties', ['instrumentId'], [resolvedModel.zoomData.query.instrument_id]);\n        temporalGraphsController.send('updateProperties', ['instrumentType'], [resolvedModel.instrument.get('instrumentType').get('title')]);\n        temporalGraphsController.send('updateProperties', ['instrumentTypeId'], [resolvedModel.instrument.get('instrumentType').get('id')]);\n        temporalGraphsController.send('updateProperties', ['name'], [resolvedModel.instrument.get('name')]);\n        temporalGraphsController.send('updateProperties', ['location'], [resolvedModel.instrument.get('location')]);\n        temporalGraphsController.send('updateProperties', ['level'], [resolvedModel.instrument.level]);//get('level')]);\n        temporalGraphsController.send('updateProperties', ['borehole'], [resolvedModel.instrument.get('borehole')]);\n        temporalGraphsController.send('updateProperties', ['project'], [resolvedModel.instrument.get('project')]);\n        //temporalGraphsController.send('updateProperties', ['tiltMode'], [this.get('tiltMode')]);\n        temporalGraphsController.send('updateProperties', ['tiltZUp'], [this.get('tiltZUp')]);\n\n        let mName = resolvedModel.zoomData.query.model_name;\n        //let iName = resolvedModel.instrument.get('instrumentType').get('title');\n        // console.log(\"routes:temporal-graphs:temporal-graph: mName::: \" + mName);\n        // let isVibeGraph = (mName === 'event-ppv' || mName === 'event-ppa' || mName === 'event-frequency' || mName === 'cumulative-event-ppv' || mName === 'cumulative-event-ppa' || mName === 'cumulative-event-frequency');\n        // if(iName === 'BluVibe') {\n        //     if(!isVibeGraph) {\n        //         resolvedModel.zoomData.query.model_name = 'event-ppv';\n        //         window.history.replaceState({}, mName, '/temporal-graphs/' + resolvedModel.instrument.get('id') + '/event-ppv');\n        //     }\n        // } else {\n        //     if(isVibeGraph) {\n        //             resolvedModel.zoomData.query.model_name = 'displacement-values';\n        //             window.history.replaceState({}, mName, '/temporal-graphs/' + resolvedModel.instrument.get('id') + '/displacement-values');\n        //     }\n        // }\n\n        temporalGraphsController.send('updateProperties', ['modelName'], [resolvedModel.zoomData.query.model_name]);\n        temporalGraphsController.send('updateProperties', ['activeInstrumentMeta'], [resolvedModel.zoomData.meta]);\n        temporalGraphsController.send('updateLocalProperty', 'activeInstrumentMeta', resolvedModel.zoomData.meta);\n        temporalGraphsController.send('updateProperties', ['eventType'], [resolvedModel.zoomData.query.event_type]);\n        temporalGraphsController.send('updateProperties', ['blastType'], [resolvedModel.zoomData.query.blast_type]);\n        temporalGraphsController.send('updateProperties', ['display_records'], [resolvedModel.zoomData.query.display_records]);\n        temporalGraphsController.send('updateProperties', ['chart_type'], [resolvedModel.zoomData.query.chart_type]);\n        temporalGraphsController.send('updateProperties', ['port'], [resolvedModel.zoomData.query.port]);\n\n        if (resolvedModel.vibeEvents) {\n            temporalGraphsController.send('updateProperties', ['vibeId'], [resolvedModel.vibeEvents.query.vibe_id]);\n        }\n        temporalGraphsController.send('updateProperties', ['seismicType'], [resolvedModel.zoomData.query.seismic_type]);\n        temporalGraphsController.send('updateProperties', ['frequency'], [resolvedModel.zoomData.query.frequency]);\n        temporalGraphsController.send('updateProperties', ['window'], [resolvedModel.zoomData.query.window]);\n        \n        //get pretty chart name if chart has multiple parts to it\n        let obj = resolvedModel.graphs;\n        let type = resolvedModel.instrument.get('instrumentTypeID').toString();\n        //get the chart data for the instrument\n        obj.forEach(function(item) {\n            if(item.id === type) {\n                obj = item;\n                return;\n            }\n        });\n        //let graphs = resolvedModel.get('graphs');\n        \n        let name = '';\n        try {\n            name = resolvedModel.zoomData.query.model_name.substr(0, resolvedModel.zoomData.query.model_name.lastIndexOf('-'));\n        } catch (exception) {\n\n        }\n        if (name===\"event\" || name === \"cumulative-event\") {\n            name = resolvedModel.zoomData.query.model_name;\n        }\n        // console.log(\"chartName:::: \" + name);\n        switch(name) {\n            case 'displacement':\n                name = obj.temporalDisplacementName;\n                if(name == null || name == undefined || name == \"\"){\n                    name = \"Displacement\";\n                }            \n                break;\n            case 'axial_displacement':\n                name = \"Axial-displacement\";\n                break;\n            case 'velocity':\n                name = obj.temporalVelocityName;\n                if(name == null || name == undefined || name == \"\")\n                    name = \"Velocity\";\n                break;\n            case 'acceleration':\n                // console.log(\"Name:::: \" + name);\n                if(name == null || name == undefined || name == \"\"){\n                    name = \"Acceleration\";\n                }else {\n                    if(name === 'acceleration') {\n                        name = \"Acceleration\";\n                    } else {\n                        name = \"mmH2O\"; //obj.temporalAccelerationName;\n                    }\n                }\n                break;\n            case 'strain':\n                name = obj.temporalStrainName;\n                if(name == null || name == undefined || name == \"\"){\n                    name = \"Strain\";\n                }            \n                break;\n            case 'strain_rate':\n                name = obj.temporalStrainRateName;\n                if(name == null || name == undefined || name == \"\"){\n                    name = \"Strain Rate\";\n                }            \n                break;\n            case 'load':\n                name = obj.temporalLoadName;\n                if(name == null || name == undefined || name == \"\"){\n                    name = \"Load\";\n                }            \n\n                break;\n            case 'axial_strain':\n                name = \"Axial-strain\";\n                break;\n            case 'bending_strain':\n                name = \"Bending-strain\";\n                break;\n            case 'temperature':\n                name = \"Temperature\";\n                break;\n            case 'event-frequency':\n                name = \"Event Frequency\";\n                break;\n            case 'event-ppv':\n                name = \"Event PPV\";\n                break;\n            case 'event-ppa':\n                name = \"Event PPA\";\n                break;\n            case 'cumulative-event-frequency':\n                name = \"Cumulative Frequency\";\n                break;\n            case 'cumulative-event-ppv':\n                name = \"Cumulative PPV\";\n                break;\n            case 'cumulative-event-ppa':\n                name = \"Cumulative PPA\";\n                break;\n            case 'vibration':\n                name = \"Frequency\"\n            default:\n                break;\n        }\n\n        //console.log(obj);\n        let chartName = name;\n        // console.log(\"chartName:::: \" + chartName);\n        let chartNameL = chartName.substring(0, chartName.indexOf('-')).capitalize();\n        let chartNameR = chartName.substring(chartName.indexOf('-') + 1).capitalize();\n        if(chartNameL !== \"\") {\n            chartName = chartNameL + \" \" + chartNameR;\n        }\n        \n        temporalGraphsController.send('updateProperties', ['chartData'], [obj]);\n        temporalGraphsController.send('updateProperties', ['finalVal'], resolvedModel.finalVal);\n        temporalGraphsController.send('updateProperties', ['chartDataValueName'], [chartName]);\n        temporalGraphsController.send('updateProperties', ['instrumentAnchors'], [resolvedModel.instrument.get('anchors')]);\n    },\n    actions: {\n        setDataR(data) {\n            let temporalGraphsController = this.controllerFor('temporal-graphs');\n\n            temporalGraphsController.send('setData',data);\n        },\n        setChartR(chart) {\n            let temporalGraphsController = this.controllerFor('temporal-graphs');\n\n            temporalGraphsController.send('setChart',chart);\n        },\n        willTransition() {\n            let temporalGraphsController = this.controllerFor('temporal-graphs');\n\n            temporalGraphsController.send('updateProperties', ['instrumentId'], [null]);\n            temporalGraphsController.send('updateProperties', ['eventType'], [null]);\n            temporalGraphsController.send('updateProperties', ['blastType'], [null]);\n            temporalGraphsController.send('updateProperties', ['seismicType'], [null]);\n            temporalGraphsController.send('updateProperties', ['vibe_id'], [null]);\n            temporalGraphsController.send('updateProperties', ['chart_type'], [null]);\n            temporalGraphsController.send('updateProperties', ['display_records'], [null]);\n            temporalGraphsController.send('updateProperties', ['ref_anchor'], [null]);\n            temporalGraphsController.send('updateProperties', ['start_timestamp'], [null]);\n            temporalGraphsController.send('updateProperties', ['end_timestamp'], [null]);\n            temporalGraphsController.send('updateProperties', ['port'], [1]);\n            \n            \n        }\n    }\n});\n\n","import Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class VibrationsRoute extends Route.extend({\n    queryParams: {\n        page: {\n            refreshModel: true\n        },\n        page_size: {\n            refreshModel: true\n        },\n        ordering: {\n            refreshModel: true\n        },\n        search: {\n            refreshModel: true\n        }\n    },\n    model(params) {\n        return Ember.RSVP.hash({\n            vibrationEvents: this.get('store').query('vibration-event', params),\n            //licence: this.get('store').findAll('licence')\n        });\n    },\n    afterModel: function(resolvedModel) {\n        let pageSize = resolvedModel.vibrationEvents.query.page_size,\n            eventsMeta = resolvedModel.vibrationEvents.meta,\n            vibeEventsController = this.controllerFor('vibration-events')\n        ;\n\n        vibeEventsController.send('updateProperty', 'pageSize', pageSize);\n        vibeEventsController.send('updateProperty', 'eventsMeta', eventsMeta);\n    }\n}) {\n    @service session;\n\n    beforeModel(transition) {\n      this.session.requireAuthentication(transition, 'login');\n    };\n}\n","define(\"geotechnical-data-platform-new/serializers/-default\", [\"exports\", \"@ember-data/serializer/json\"], function (_exports, _json) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _json.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/serializers/-json-api\", [\"exports\", \"@ember-data/serializer/json-api\"], function (_exports, _jsonApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _jsonApi.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/serializers/-rest\", [\"exports\", \"@ember-data/serializer/rest\"], function (_exports, _rest) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _rest.default;\n    }\n  });\n});\n","import JSONAPISerializer from '@ember-data/serializer/json-api';\n\nexport default class ApplicationSerializer extends JSONAPISerializer {\n}\n","define(\"geotechnical-data-platform-new/services/-ensure-registered\", [\"exports\", \"@embroider/util/services/ensure-registered\"], function (_exports, _ensureRegistered) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _ensureRegistered.default;\n    }\n  });\n});\n","import Service, { inject as service } from '@ember/service';\nimport AjaxService from 'ember-ajax/services/ajax';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\nimport { computed } from '@ember/object';\n\nexport default class CustomAjaxService extends AjaxService {\n  @service session;\n\n  host = `${ENV.API_PROTOCOL}${ENV.API_URL}:${ENV.API_PORT}`;\n\n  @computed('session.authToken')\n  get headers() {\n    let headers = {\n      'Authorization': `Basic ${this.session.data.authenticated['login']}`,\n    };\n    return headers;\n  }\n}","import CookiesService from 'ember-cookies/services/cookies';\n\nexport default CookiesService;\n","define(\"geotechnical-data-platform-new/services/ember-leaflet\", [\"exports\", \"ember-leaflet/services/ember-leaflet\"], function (_exports, _emberLeaflet) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberLeaflet.default;\n    }\n  });\n});\n","import { computed } from '@ember/object';\nimport Service from '@ember/service';\nimport ENV from '../config/environment';\nimport { getDestinationElementIdFromConfig } from 'ember-modal-dialog/utils/config-utils';\n\nfunction computedFromConfig(prop) {\n  return computed(function () {\n    return ENV['ember-modal-dialog'] && ENV['ember-modal-dialog'][prop];\n  });\n}\n\nexport default Service.extend({\n  hasEmberTether: computedFromConfig('hasEmberTether'),\n  hasLiquidWormhole: computedFromConfig('hasLiquidWormhole'),\n  hasLiquidTether: computedFromConfig('hasLiquidTether'),\n  destinationElementId: computed(function () {\n    return getDestinationElementIdFromConfig(ENV);\n  }),\n});\n","import Ember from 'ember';\nimport MomentService from 'ember-moment/services/moment';\nimport config from '../config/environment';\n\nconst { get } = Ember;\n\nexport default MomentService.extend({\n  defaultFormat: get(config, 'moment.outputFormat')\n});\n","define(\"geotechnical-data-platform-new/services/page-title-list\", [\"exports\", \"ember-page-title/services/page-title-list\"], function (_exports, _pageTitleList) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _pageTitleList.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/services/page-title\", [\"exports\", \"ember-page-title/services/page-title\"], function (_exports, _pageTitle) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _pageTitle.default;\n    }\n  });\n});\n","import SessionService from 'ember-simple-auth/services/session';\n\nexport default SessionService;\n","define(\"geotechnical-data-platform-new/services/store\", [\"exports\", \"ember-data/store\"], function (_exports, _store) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _store.default;\n    }\n  });\n});\n","import CookieStore from 'ember-simple-auth/session-stores/cookie';\nimport ENV from \"geotechnical-data-platform-new/config/environment\";\n\nexport default class ApplicationSessionStore extends CookieStore {\n\n    async refreshLicence() {\n        //console.log('refresh');\n        \n        let cookie = await this.restore();\n        \n        let url = ENV.API_PROTOCOL + ENV.API_URL + \":\" + ENV.API_PORT;\n        url += url.endsWith(\"/\") ? \"\" : \"/\"\n        url += \"licences/\"\n    \n        let response = await fetch(url, {\n            method: 'GET',\n            headers: {\n                'Content-Type': 'application/json',\n                'Authorization': 'Basic ' + cookie.authenticated.login\n            },\n        });\n        //console.log('auth');\n        if (response.ok) {\n            try {\n            let licence = await response.json();\n            licence = licence.data[0]\n            cookie.authenticated.isValid = licence.attributes['is-valid'];\n            cookie.authenticated.limit =  licence.attributes['within-limit'];\n            cookie.authenticated.modules = licence.attributes['modules'];\n\n            await this.persist(cookie);\n            } catch {}\n        }    \n    }\n}","export default Ember.HTMLBars.template({\"id\":\"d0rtqSoL\",\"block\":\"[[[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,0]],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,1],null,[[\\\"searchValue\\\",\\\"pageValue\\\"],[[33,2],[33,3]]]]],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Rows\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,4],null,[[\\\"page_size\\\",\\\"page_type\\\",\\\"model\\\"],[[33,5],\\\"alerts\\\",[30,1,[\\\"alerts\\\"]]]]]],[13],[13],[13],[10,0],[14,5,\\\"margin-top:2rem;\\\"],[14,0,\\\"col\\\"],[12],[1,[28,[35,6],null,[[\\\"model\\\"],[[30,1]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,7],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"alerts\\\",\\\"meta\\\"]],\\\"alerts\\\",[28,[37,8],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,9],null,[[\\\"alerts\\\",\\\"sortBy\\\",\\\"ordering\\\"],[[30,1,[\\\"alerts\\\"]],[28,[37,10],[[30,0],\\\"sortBy\\\"],null],[33,11]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,7],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"alerts\\\",\\\"meta\\\"]],\\\"alerts\\\",[28,[37,8],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[13]],[\\\"@model\\\"],false,[\\\"bread-crumbs\\\",\\\"filter-text-input-alert\\\",\\\"search\\\",\\\"page\\\",\\\"page-item-count\\\",\\\"page_size\\\",\\\"getTotalsAlerts\\\",\\\"pagination-links\\\",\\\"hash\\\",\\\"alerts-list\\\",\\\"action\\\",\\\"ordering\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/alerts.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"CD0QAVIa\",\"block\":\"[[[1,[28,[35,0],[\\\"VantagePoint\\\"],null]],[1,[34,1]],[46,[28,[37,3],null,null],null,null,null],[10,\\\"footer\\\"],[14,0,\\\"footer\\\"],[12],[10,0],[14,0,\\\"container-fluid\\\"],[12],[10,1],[14,0,\\\"text-muted\\\"],[12],[1,\\\"Copyright \\\"],[1,[28,[35,4],[\\\"Y\\\"],null]],[1,\\\" YieldPoint Inc. All rights reserved.\\\"],[13],[13],[13]],[],false,[\\\"page-title\\\",\\\"navbar\\\",\\\"component\\\",\\\"-outlet\\\",\\\"current-date\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/application.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"S343FLkK\",\"block\":\"[[[46,[28,[37,1],null,null],null,null,null],[10,0],[14,5,\\\"padding-top: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,2]],[10,0],[14,0,\\\"mt-1\\\"],[12],[41,[33,4],[[[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have sufficent permissions.\\\"],[13],[13],[13],[13]],[]],null],[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have sufficent permissions.\\\"],[13],[13],[13],[13],[10,\\\"h3\\\"],[12],[1,\\\"Events\\\"],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-3\\\"],[12],[1,[28,[35,5],null,[[\\\"searchValue\\\"],[[33,6]]]]],[13],[10,0],[14,0,\\\"col-sm-2\\\"],[12],[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Rows\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,7],null,[[\\\"page_size\\\",\\\"page_type\\\",\\\"model\\\"],[[33,8],\\\"blast-events\\\",[30,1,[\\\"blastEvents\\\"]]]]]],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,9],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"blastEvents\\\",\\\"meta\\\"]],\\\"blast-events\\\",[28,[37,10],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[1,[28,[35,11],null,[[\\\"blastEvents\\\",\\\"blastTypesSelectOptions\\\",\\\"blastTypesSelectOptionsKyes\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"vewRowDetails\\\",\\\"isVisibleCreateNewForm\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,12,[\\\"blastEvents\\\"]],[33,12,[\\\"blastTypes\\\"]],\\\"id,title\\\",[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[28,[37,13],[[30,0],\\\"vewRowDetails\\\"],null],[33,14],\\\"YYYY-MM-DD HH:mm:ss\\\",[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[1,[28,[35,15],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Timestamp\\\",\\\"timestamp\\\",[33,16],[28,[37,13],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,15],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Location\\\",\\\"location\\\",[33,16],[28,[37,13],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,15],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Delay\\\",\\\"delay\\\",[33,16],[28,[37,13],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,15],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Level\\\",\\\"level\\\",[33,16],[28,[37,13],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,15],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Project\\\",\\\"project\\\",[33,16],[28,[37,13],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,15],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Stope\\\",\\\"stope\\\",[33,16],[28,[37,13],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,15],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Tonnes\\\",\\\"tonnes\\\",[33,16],[28,[37,13],[[30,0],\\\"sortBy\\\"],null]]]]],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,13],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,17],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,19],[[28,[37,19],[[33,12,[\\\"blastEvents\\\"]]],null]],null],null,[[[10,\\\"tr\\\"],[15,0,[29,[[28,[37,20],[[28,[37,21],[[33,22],[30,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"timestamp\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"location\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"delay\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[28,[35,23],null,[[\\\"selectOptions\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\",\\\"width\\\"],[[30,1,[\\\"levelLookupList\\\"]],\\\"id,value\\\",[30,2,[\\\"level\\\"]],[30,2],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true,150]]]],[13],[10,\\\"td\\\"],[12],[1,[28,[35,23],null,[[\\\"selectOptions\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\",\\\"width\\\"],[[30,1,[\\\"projectLookupList\\\"]],\\\"id,value\\\",[30,2,[\\\"project\\\"]],[30,2],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true,150]]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"stope\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"tonnes\\\"]]],[13],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,13],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,17],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[11,1],[24,0,\\\"crud view\\\"],[4,[38,13],[[30,0],\\\"vewRowDetails\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,17],null,[[\\\"@icon\\\"],[\\\"eye\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,20],[[28,[37,21],[[33,24],[30,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"Delete it?\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"Are you sure?\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,13],[[30,0],\\\"remove\\\",[33,12,[\\\"blastEvents\\\"]],[30,2]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,13],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[13],[41,[28,[37,21],[[33,22],[30,2,[\\\"id\\\"]]],null],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"4\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"timestamp\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,25],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\"],[[30,2],\\\"timestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"location\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,26],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"location\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"coordinates\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,27],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\"],[[30,2],[30,2,[\\\"east\\\"]],[30,2,[\\\"north\\\"]],[30,2,[\\\"depth\\\"]]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"comments\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Comments:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,26],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"textarea\\\",\\\"comments\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"isVisible\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Is visible:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,28],null,[[\\\"object\\\",\\\"field\\\"],[[30,2],\\\"isVisible\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"delay\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Delay:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,29],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\"],[[30,2],\\\"delay\\\",\\\"HH:mm:ss\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"level\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,23],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,1,[\\\"levelLookupList\\\"]],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,2,[\\\"level\\\"]],[30,2],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"project\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,23],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,1,[\\\"projectLookupList\\\"]],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,2,[\\\"project\\\"]],[30,2],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"stope\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stope:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,26],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"stope\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"tonnes\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Tonnes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,26],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"tonnes\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"blastType\\\",\\\"title\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Blast type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,30],null,[[\\\"selectOptions\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\"],[[33,12,[\\\"blastTypes\\\"]],\\\"id,title\\\",[30,2,[\\\"blastType\\\"]],[30,2],\\\"title\\\",\\\"id\\\"]]]],[13],[13],[13],[13],[13],[13]],[]],null]],[2]],null],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,9],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"blastEvents\\\",\\\"meta\\\"]],\\\"blast-events\\\",[28,[37,10],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[10,0],[14,0,\\\"pb-1\\\"],[12],[13],[13]],[\\\"@model\\\",\\\"tableRow\\\"],false,[\\\"component\\\",\\\"-outlet\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"permissionError\\\",\\\"filter-text-input-events\\\",\\\"search\\\",\\\"page-item-count\\\",\\\"page_size\\\",\\\"pagination-links\\\",\\\"hash\\\",\\\"create-new-blast-event-form\\\",\\\"model\\\",\\\"action\\\",\\\"isVisibleCreateNewForm\\\",\\\"sortable-table-header\\\",\\\"ordering\\\",\\\"fa-icon\\\",\\\"each\\\",\\\"-track-array\\\",\\\"active-class\\\",\\\"get\\\",\\\"isVisibleRowDetails\\\",\\\"single-save-lookup\\\",\\\"isRowDeleteConfirmationDialog\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-input\\\",\\\"single-save-geo-input\\\",\\\"single-save-checkbox\\\",\\\"single-save-time-picker\\\",\\\"single-save-select\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/blast-events.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"qSCd1guo\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the newAlertObject.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,19]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"Hz\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"yZYnEGir\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectVendor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Vendor Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newInstrumentObjectVendor\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"vendorTypeChanged\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Select a Vendor Type\\\"],[13],[42,[28,[37,2],[[28,[37,2],[[30,1]],null]],null],null,[[[41,[30,2,[\\\"selected\\\"]],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[30,2,[\\\"id\\\"]]],[12],[1,[30,2,[\\\"instrumentTitle\\\"]]],[13]],[]],null],[41,[51,[30,2,[\\\"selected\\\"]]],[[[10,\\\"option\\\"],[15,2,[30,2,[\\\"id\\\"]]],[12],[1,[30,2,[\\\"instrumentTitle\\\"]]],[13]],[]],null]],[2]],null],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPotentiometer\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Stroke Length:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newInstrumentObjectPotentiometer\\\"],[15,2,[33,5,[\\\"strokeLength\\\"]]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"strokeLengthChanged\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,\\\"disabled\\\",[36,6]],[14,\\\"required\\\",\\\"\\\"],[12],[10,\\\"option\\\"],[15,2,null],[12],[1,\\\"Select a Stroke Length\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"31.75\\\"],[12],[1,\\\"31.75 mm (1.25 in)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"63.5\\\"],[12],[1,\\\"63.5 mm (2.5 in)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"127\\\"],[12],[1,\\\"127 mm (5 in)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"190.5\\\"],[12],[1,\\\"190.5 mm (7.5 in)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"254\\\"],[12],[1,\\\"254 mm (10 in)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"508\\\"],[12],[1,\\\"508 mm (20 in)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,8],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,0],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,9,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,8],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,4],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,0],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,9,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,10]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[15,\\\"disabled\\\",[36,6]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,11]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[15,\\\"disabled\\\",[36,6]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,5,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[15,\\\"disabled\\\",[36,6]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[41,[33,12],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectElasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"elasticLimitPct\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"elasticLimitPct\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectElasticLimitPct\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectUltimateLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"ultimateLimitPct\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"ultimateLimitPct\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectUltimateLimitPct\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjEctelasticLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"elasticLimitFce\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"elasticLimitFce\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjEctelasticLimitFce\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectUltimateLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,5,[\\\"ultimateLimitFce\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,7],[[33,5,[\\\"ultimateLimitFce\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectUltimateLimitFce\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13]],[]],null],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px; text-align:right;\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,\\\"button\\\"],[16,\\\"disabled\\\",[36,6]],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@vendors\\\",\\\"selectOption\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"each\\\",\\\"-track-array\\\",\\\"if\\\",\\\"unless\\\",\\\"newInstrumentObject\\\",\\\"formDisabled\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\",\\\"fieldVisible\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"VW6Gwzmm\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[36,2]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,7]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1,[\\\"label\\\"]]],[1,\\\" (mm)\\\"],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature (°C)\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,8],[[33,9]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,10],[[33,11]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,8],[[28,[37,12],[[33,13],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,14]],[15,1,[29,[\\\"df\\\",[36,15]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,8],[[33,14]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchorsLength\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"instrumentAnchors\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"mCoS+BXL\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response. For multiple recipients separate by a comma. \\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,14],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,15]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[44,[[28,[37,18],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[13],[1,\\\"  Step Displacement\\\"],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[13],[1,\\\"  Step Displacement\\\"],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[13],[1,\\\"  Step Displacement\\\"],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[12],[1,\\\"tit\\\"],[13]],[]],null]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"Hz\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Average\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"LhnyF4ds\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[41,[28,[37,4],[[33,5,[\\\"channelsNum\\\"]],2],null],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"sGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Spatial Graph\\\"],[13],[13]],[]],null]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,6],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,7],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,5,[\\\"id\\\"]],[33,5,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"width='100%'\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"width: 65%; vertical-align: top;\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem; width: 50%;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Vendor Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\",\\\"onSelectionChange\\\"],[[30,2],\\\"id,instrumentTitle\\\",[30,1,[\\\"vendor\\\"]],[30,1],\\\"instrumentTitle\\\",\\\"id\\\",\\\"instrumentTitle\\\",true,[28,[37,0],[[30,0],\\\"vendorTypeChanged\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"strokeLength\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Stroke Length:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"selectOptions\\\",\\\"selectOptionKey\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[33,10],\\\"options\\\",\\\"id,value\\\",[30,1],[30,1],\\\"strokeLength\\\",\\\"id\\\",\\\"strokeLength\\\",true]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,5],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,13],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],[33,5,[\\\"east\\\"]],[33,5,[\\\"north\\\"]],[33,5,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,4],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,14],null,[[\\\"object\\\",\\\"field\\\"],[[33,5],\\\"active\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,15],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,15],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[41,[33,16],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"elasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,17],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"update\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"elasticLimitPct\\\",[28,[37,0],[[30,0],\\\"updatePage\\\"],null],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"ultimateLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,17],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"ultimateLimitPct\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"elasticLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,17],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"update\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"elasticLimitFce\\\",[28,[37,0],[[30,0],\\\"updatePage\\\"],null],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"ultimateLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,17],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"ultimateLimitFce\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"instrumentStiffness\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stiffness (kN/%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,5],\\\"text\\\",\\\"instrumentStiffness\\\",false]]]],[13],[13]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,5,\\\"width: 100%; vertical-align: top;\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Nodes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,18],null,[[\\\"object\\\",\\\"headAt\\\",\\\"channelsNum\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[30,1,[\\\"anchors\\\"]],[33,5,[\\\"headAt\\\",\\\"id\\\"]],[33,5,[\\\"channelsNum\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@vendors\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"gt\\\",\\\"instrument\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"single-save-select\\\",\\\"single-save-select-non-model\\\",\\\"strokeLengthArray\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-checkbox\\\",\\\"single-save-datetime-picker\\\",\\\"fieldVisible\\\",\\\"single-save-input-numeric\\\",\\\"single-save-instrument-anchors\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"GCOGNQyD\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"FbqrcPDC\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"fhZG7raZ\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrument\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[33,9]],[[[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,11],[[28,[37,11],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3,[\\\"label\\\"]]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature (°C)\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,12],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,13],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13]],[]],[[[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,11],[[28,[37,11],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,4,[\\\"label\\\"]]],[13]],[4]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,12],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,13],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13]],[]]],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[30,1]],null]],null],null,[[[1,[28,[35,14],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,15],false,[30,5],[30,1],[30,7],\\\"text\\\",\\\"values\\\",[30,6],[52,[28,[37,16],[[30,8,[\\\"id\\\"]],[28,[37,17],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[5,6]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"adict/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"unless\\\",\\\"isMDT\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"XamV8/Me\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"mqfkFfpW\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n    \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"load-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Load\\\"]],[]]]]],[1,\\\"\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/temporal-CABLE-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"1CLcU4mo\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"acceleration-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Acceleration\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/temporal-MPBX-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"pygydO5n\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"acceleration-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Acceleration\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/adict/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"mdIEGSQU\",\"block\":\"[[[10,0],[12],[10,\\\"label\\\"],[15,\\\"onClick\\\",[28,[37,0],[[30,0],\\\"toggleVisibility\\\"],null]],[14,5,\\\"font-size: medium; color: #007bff; cursor: pointer; text-decoration: underline;\\\"],[12],[1,\\\"Advanced Filters\\\"],[13],[13],[41,[33,2],[[[10,0],[14,5,\\\"width:100%; margin-left: 15px; margin-bottom: 8px;\\\"],[12],[10,0],[14,5,\\\"margin-bottom: 15px;\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Date:\\\"],[13],[10,0],[14,5,\\\"margin-left: 15px;\\\"],[14,0,\\\"input-group\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"margin-right: 5px;\\\"],[12],[1,\\\"From:\\\"],[13],[10,\\\"input\\\"],[14,5,\\\"margin-right: 15px;\\\"],[15,2,[36,3]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateDateProperty\\\",\\\"startDate\\\"],null]],[14,1,\\\"startRangeDateComponent\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"margin-right: 5px;\\\"],[12],[1,\\\"To:\\\"],[13],[10,\\\"input\\\"],[14,5,\\\"margin-right: 15px;\\\"],[15,2,[36,4]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateDateProperty\\\",\\\"endDate\\\"],null]],[14,1,\\\"endRangeDateComponent\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[41,[33,5],[[[41,[33,6],[[[10,0],[14,5,\\\"margin-bottom: 15px; \\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Y-Axis Unit Converter:\\\"],[13],[10,0],[14,5,\\\"display:flex; flex-direction:row; margin-left: 15px;\\\"],[12],[1,[28,[35,7],null,[[\\\"id\\\",\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[\\\"m\\\",[28,[37,0],[[30,0],\\\"toggleYAxisUnit\\\",\\\"m\\\"],null],\\\"m\\\",[33,8]]]]],[10,0],[14,5,\\\"width: 10px\\\"],[12],[13],[1,[28,[35,7],null,[[\\\"id\\\",\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[\\\"mm\\\",[28,[37,0],[[30,0],\\\"toggleYAxisUnit\\\",\\\"mm\\\"],null],\\\"mm\\\",[33,9]]]]],[10,0],[14,5,\\\"width: 10px\\\"],[12],[13],[1,[28,[35,7],null,[[\\\"id\\\",\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[\\\"μm\\\",[28,[37,0],[[30,0],\\\"toggleYAxisUnit\\\",\\\"μm\\\"],null],\\\"μm\\\",[33,10]]]]],[10,0],[14,5,\\\"width: 10px\\\"],[12],[13],[1,[28,[35,7],null,[[\\\"id\\\",\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[\\\"ft\\\",[28,[37,0],[[30,0],\\\"toggleYAxisUnit\\\",\\\"ft\\\"],null],\\\"ft\\\",[33,11]]]]],[10,0],[14,5,\\\"width: 10px\\\"],[12],[13],[1,[28,[35,7],null,[[\\\"id\\\",\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[\\\"in\\\",[28,[37,0],[[30,0],\\\"toggleYAxisUnit\\\",\\\"in\\\"],null],\\\"in\\\",[33,12]]]]],[10,0],[14,5,\\\"width: 10px\\\"],[12],[13],[10,0],[12],[8,[39,13],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"RAW is untouched and not modified.\\\",\\\"top\\\"]],null],[1,[28,[35,7],null,[[\\\"id\\\",\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[\\\"RAW\\\",[28,[37,0],[[30,0],\\\"toggleYAxisUnit\\\",\\\"RAW\\\"],null],\\\"RAW\\\",[33,14]]]]],[13],[13],[13]],[]],null]],[]],null],[10,0],[14,5,\\\"margin-bottom: 15px;\\\"],[12],[10,0],[14,5,\\\"display:flex; flex-direction:row; margin-left: 15px;\\\"],[12],[41,[33,15],[[[10,0],[14,5,\\\"display:flex; flex-direction:column; margin-right:15px\\\"],[12],[10,0],[14,5,\\\"display:flex; flex-direction:row\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"min-width: 90px; margin:0px; align-self: center; margin-right: 10px\\\"],[12],[1,\\\"X-Min:\\\"],[13],[10,\\\"input\\\"],[14,5,\\\"max-width: 100px;\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,16],[[33,17]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,2,[36,17]],[14,1,\\\"x_min\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,5,\\\"display:flex; flex-direction:row\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"min-width: 90px; margin:0px; align-self: center; margin-right: 10px\\\"],[12],[1,\\\"X-Max:\\\"],[13],[10,\\\"input\\\"],[14,5,\\\"max-width: 100px;\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,16],[[33,18]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,2,[36,18]],[14,1,\\\"x_max\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13]],[]],null],[10,0],[14,5,\\\"display:flex; flex-direction:column; margin-right:15px\\\"],[12],[13],[41,[33,19],[[[10,0],[14,5,\\\"display:flex; flex-direction:column\\\"],[12],[10,0],[14,5,\\\"display:flex; flex-direction:row\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"min-width: 90px; margin:0px; align-self: center; margin-right: 10px\\\"],[12],[1,\\\"Y-Left-Min:\\\"],[13],[10,\\\"input\\\"],[14,5,\\\"max-width: 100px;\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,16],[[33,20]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,2,[36,20]],[14,1,\\\"y_left_min\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,5,\\\"display:flex; flex-direction:row\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"min-width: 90px; margin:0px; align-self: center; margin-right: 10px\\\"],[12],[1,\\\"Y-Left-Max:\\\"],[13],[10,\\\"input\\\"],[14,5,\\\"max-width: 100px;\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,16],[[33,21]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,2,[36,21]],[14,1,\\\"y_left_max\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13]],[]],null],[41,[33,22],[[[10,0],[14,5,\\\"display:flex; flex-direction:column\\\"],[12],[10,0],[14,5,\\\"display:flex; flex-direction:row\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"min-width: 90px; margin:0px; align-self: center; margin-right: 10px\\\"],[12],[1,\\\"Y-Right-Min:\\\"],[13],[10,\\\"input\\\"],[14,5,\\\"max-width: 100px;\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,16],[[33,23]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,2,[36,23]],[14,1,\\\"y_right_min\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,5,\\\"display:flex; flex-direction:row\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"min-width: 90px; margin:0px; align-self: center; margin-right: 10px\\\"],[12],[1,\\\"Y-Right-Max:\\\"],[13],[10,\\\"input\\\"],[14,5,\\\"max-width: 100px;\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,16],[[33,24]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,2,[36,24]],[14,1,\\\"y_right_max\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13]],[]],null],[13],[13],[10,0],[14,5,\\\"display:flex; flex-direction:row\\\"],[12],[10,1],[14,0,\\\"input-group-btn\\\"],[12],[11,\\\"button\\\"],[24,5,\\\"margin-right: 5px;\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,0],[[30,0],\\\"search\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Apply\\\"],[13],[11,\\\"button\\\"],[24,5,\\\"margin-right: 5px;\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,0],[[30,0],\\\"reset\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset\\\"],[13],[13],[41,[33,25],[[[10,0],[14,5,\\\"width: auto; margin-left: 10px; margin-bottom: 10px;\\\"],[14,0,\\\"pulse_loader \\\"],[12],[13]],[]],null],[13],[13]],[]],null]],[],false,[\\\"action\\\",\\\"if\\\",\\\"visibleAdvancedFilter\\\",\\\"startDate\\\",\\\"endDate\\\",\\\"displayYAxistUnit\\\",\\\"isInstrumentApproved\\\",\\\"radio-buttons\\\",\\\"meterValue\\\",\\\"millimeterValue\\\",\\\"microValue\\\",\\\"footValue\\\",\\\"inchValue\\\",\\\"bs-tooltip\\\",\\\"RAWValue\\\",\\\"requireXMaxMin\\\",\\\"mut\\\",\\\"xMin\\\",\\\"xMax\\\",\\\"requireYLeftMaxMin\\\",\\\"yLeftMin\\\",\\\"yLeftMax\\\",\\\"requireYRightMaxMin\\\",\\\"yRightMin\\\",\\\"yRightMax\\\",\\\"advancedSearchLoading\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/advanced-filter.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"crmA82ee\",\"block\":\"[[[41,[51,[30,1]],[[[10,\\\"td\\\"],[12],[6,[39,1],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,2,[\\\"instrument\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,2,[\\\"instrument\\\",\\\"id\\\"]]]],[]]]]],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"metric\\\"]],\\\"REL_DISP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],null],[41,[28,[37,4],[[30,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\">=\\\"],[13]],[]],null],[41,[28,[37,4],[[30,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"<=\\\"],[13]],[]],null],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"value\\\"]]],[13],[41,[28,[37,3],[[30,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Low\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"High\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"VP Display\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send Email\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send SMS Msg\\\"],[13]],[]],null],[41,[28,[37,3],[[30,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Trigger Alarm\\\"],[13]],[]],null],[41,[30,2,[\\\"isActive\\\"]],[[[41,[30,2,[\\\"isTriggered\\\"]],[[[10,\\\"td\\\"],[12],[1,\\\"ALERT\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Active\\\"],[13]],[]]]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Inactive\\\"],[13]],[]]],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,5],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,6,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,7],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,8],[[28,[37,9],[[33,10],[33,6,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"All associated data\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"will be deleted too!\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,5],[[30,0],\\\"remove\\\",[33,11,[\\\"instruments\\\"]],[33,6]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,5],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,6,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[10,\\\"td\\\"],[12],[6,[39,1],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-alert\\\",[30,2,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[8,[39,7],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null]],[]]]]],[13]],[\\\"@isInst\\\",\\\"@tableRow\\\"],false,[\\\"unless\\\",\\\"link-to\\\",\\\"if\\\",\\\"is-equal\\\",\\\"eq\\\",\\\"action\\\",\\\"tableRow\\\",\\\"fa-icon\\\",\\\"active-class\\\",\\\"get\\\",\\\"isRowDeleteConfirmationDialog\\\",\\\"model\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/alert-row.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"54+oixYO\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"alertListError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to delete an alert.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[33,1]],[[[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Instrument ID\\\",\\\"instrument.id\\\",[33,3],[30,1]]]]]],[]],null],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Metric\\\",\\\"metric\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Direction\\\",\\\"direction\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Value\\\",\\\"value\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Severity\\\",\\\"severity\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Response\\\",\\\"response\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Status\\\",\\\"isTriggered\\\",[33,3],[30,1]]]]],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,4],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[30,2]],null]],null],null,[[[41,[30,3,[\\\"isActive\\\"]],[[[41,[30,3,[\\\"isTriggered\\\"]],[[[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"tr\\\"],[14,0,\\\"alertLow\\\"],[12],[41,[51,[33,1]],[[[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[]]]]],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Abs. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"REL_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Rel. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Angular Velocity\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\">=\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"<=\\\"],[13]],[]],null],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"value\\\"]]],[13],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Low\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"High\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"VP Display\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send Email\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send SMS Msg\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Trigger Alarm\\\"],[13]],[]],null],[41,[30,3,[\\\"isActive\\\"]],[[[41,[30,3,[\\\"isTriggered\\\"]],[[[10,\\\"td\\\"],[12],[1,\\\"ALERT\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Active\\\"],[13]],[]]]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Inactive\\\"],[13]],[]]],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,12],[[28,[37,13],[[33,14],[30,3,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"All associated data\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"will be deleted too!\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,4],[[30,0],\\\"remove\\\",[33,15,[\\\"instruments\\\"]],[30,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-alert\\\",[30,3,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[8,[39,5],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null]],[]]]]],[13],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"tr\\\"],[14,0,\\\"alertMed\\\"],[12],[41,[51,[33,1]],[[[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[]]]]],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Abs. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"REL_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Rel. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Angular Velocity\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\">=\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"<=\\\"],[13]],[]],null],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"value\\\"]]],[13],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Low\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"High\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"VP Display\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send Email\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send SMS Msg\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Trigger Alarm\\\"],[13]],[]],null],[41,[30,3,[\\\"isActive\\\"]],[[[41,[30,3,[\\\"isTriggered\\\"]],[[[10,\\\"td\\\"],[12],[1,\\\"ALERT\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Active\\\"],[13]],[]]]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Inactive\\\"],[13]],[]]],[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-alert\\\",[30,3,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[8,[39,5],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null]],[]]]]],[13],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"tr\\\"],[14,0,\\\"alertHigh\\\"],[12],[41,[51,[33,1]],[[[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[]]]]],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Abs. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"REL_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Rel. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Angular Velocity\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\">=\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"<=\\\"],[13]],[]],null],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"value\\\"]]],[13],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Low\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"High\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"VP Display\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send Email\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send SMS Msg\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Trigger Alarm\\\"],[13]],[]],null],[41,[30,3,[\\\"isActive\\\"]],[[[41,[30,3,[\\\"isTriggered\\\"]],[[[10,\\\"td\\\"],[12],[1,\\\"ALERT\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Active\\\"],[13]],[]]]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Inactive\\\"],[13]],[]]],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,12],[[28,[37,13],[[33,14],[30,3,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"All associated data\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"will be deleted too!\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,4],[[30,0],\\\"remove\\\",[33,15,[\\\"instruments\\\"]],[30,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-alert\\\",[30,3,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[8,[39,5],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null]],[]]]]],[13],[13]],[]],null]],[]],[[[10,\\\"tr\\\"],[12],[41,[51,[33,1]],[[[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[]]]]],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Abs. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"REL_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Rel. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Angular Velocity\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\">=\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"<=\\\"],[13]],[]],null],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"value\\\"]]],[13],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Low\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"High\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"VP Display\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send Email\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send SMS Msg\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Trigger Alarm\\\"],[13]],[]],null],[41,[30,3,[\\\"isActive\\\"]],[[[41,[30,3,[\\\"isTriggered\\\"]],[[[10,\\\"td\\\"],[12],[1,\\\"ALERT\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Active\\\"],[13]],[]]]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Inactive\\\"],[13]],[]]],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,12],[[28,[37,13],[[33,14],[30,3,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"All associated data\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"will be deleted too!\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,4],[[30,0],\\\"remove\\\",[33,15,[\\\"instruments\\\"]],[30,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-alert\\\",[30,3,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[8,[39,5],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null]],[]]]]],[13],[13]],[]]]],[]],[[[10,\\\"tr\\\"],[14,0,\\\"inactive\\\"],[12],[41,[51,[33,1]],[[[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,3,[\\\"instrument\\\",\\\"id\\\"]]]],[]]]]],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Abs. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"REL_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Rel. Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[41,[28,[37,9],[[30,3,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]],\\\"Tilt\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Angular Velocity\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\">=\\\"],[13]],[]],null],[41,[28,[37,11],[[30,3,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"<=\\\"],[13]],[]],null],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"value\\\"]]],[13],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Low\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"High\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"VP Display\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send Email\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send SMS Msg\\\"],[13]],[]],null],[41,[28,[37,9],[[30,3,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Trigger Alarm\\\"],[13]],[]],null],[41,[30,3,[\\\"isActive\\\"]],[[[41,[30,3,[\\\"isTriggered\\\"]],[[[10,\\\"td\\\"],[12],[1,\\\"ALERT\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Active\\\"],[13]],[]]]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Inactive\\\"],[13]],[]]],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,12],[[28,[37,13],[[33,14],[30,3,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"All associated data\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"will be deleted too!\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,4],[[30,0],\\\"remove\\\",[33,15,[\\\"instruments\\\"]],[30,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-alert\\\",[30,3,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[8,[39,5],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null]],[]]]]],[13],[13]],[]]]],[3]],null],[13],[13]],[\\\"@sortBy\\\",\\\"@alerts\\\",\\\"tableRow\\\"],false,[\\\"unless\\\",\\\"isInst\\\",\\\"sortable-table-header\\\",\\\"ordering\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"each\\\",\\\"-track-array\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"eq\\\",\\\"active-class\\\",\\\"get\\\",\\\"isRowDeleteConfirmationDialog\\\",\\\"model\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/alerts-list.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"KegYu2MW\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the newAlertObject.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"newAlertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"newAlertRepeat\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,8],true],null],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"newAlertInvert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,19]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"repeats\\\",\\\"repeatWindow\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"xQxeD9CL\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"project\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"project\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectProject\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"level\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"level\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLevel\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"newGatewayObject\\\",\\\"action\\\",\\\"mut\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/create-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"pcltgGmG\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temp.\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temp.\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"anchorDistances\\\",\\\"action\\\",\\\"gateway\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"gatewayValueObjectValues\\\",\\\"get\\\",\\\"newGatewayValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/create-new-raw-gateway-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"7hhG6UfS\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"alertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"alertRepeat\\\"],[16,\\\"checked\\\",[33,2,[\\\"repeats\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"repeats\\\"]],true],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,10],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"alertInvert\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[44,[[28,[37,13],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,16]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Average\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,17]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"triggeredTimeText\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"WQ3eQQ50\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[12],[10,\\\"hr\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"project\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"level\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,6],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[13],[10,\\\"td\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Settings:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"meshID\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Mesh ID:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"6\\\"],[15,2,[33,5,[\\\"meshID\\\"]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"gatewayMeshCycleInterval\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Mesh Cycle:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"gatewayMeshCycleInterval\\\"],[15,\\\"onclick\\\",[28,[37,0],[[30,0],\\\"setGatewayInterval\\\"],[[\\\"value\\\"],[[33,7,[\\\"value\\\"]]]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,8],[[33,9],\\\"\\\"],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"-1\\\"],[12],[1,\\\"= \\\\\\\"Select a Mesh Cycle Interval\\\\\\\"\\\"],[13]],[]],null],[42,[28,[37,11],[[28,[37,11],[[30,2]],null]],null],null,[[[41,[28,[37,8],[[33,9],[30,3,[\\\"id\\\"]]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[30,3,[\\\"id\\\"]]]]],[12],[1,[30,3,[\\\"intervalName\\\"]]],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[30,3,[\\\"id\\\"]]]]],[12],[1,[30,3,[\\\"intervalName\\\"]]],[13]],[]]]],[3]],null],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"gatewayTransmissionPowerInterval\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Radio Tx Power:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"gatewayTransmissionPowerInterval\\\"],[15,\\\"onclick\\\",[28,[37,0],[[30,0],\\\"setGatewayInterval\\\"],[[\\\"value\\\"],[[33,7,[\\\"value\\\"]]]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[30,4]],null]],null],null,[[[41,[28,[37,8],[[33,12],[30,5,[\\\"id\\\"]]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[30,5,[\\\"id\\\"]]]]],[12],[1,[30,5,[\\\"intervalName\\\"]]],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[30,5,[\\\"id\\\"]]]]],[12],[1,[30,5,[\\\"intervalName\\\"]]],[13]],[]]]],[5]],null],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[41,[28,[37,8],[[30,1,[\\\"hasChildren\\\"]],true],null],[[[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Blu900 Nodes:\\\"],[13],[1,[28,[35,13],null,[[\\\"gatewayChildren\\\",\\\"gateway\\\"],[[30,1,[\\\"children\\\"]],[30,1]]]]],[13],[13]],[]],[[[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"td_details\\\"],[12],[10,1],[14,0,\\\"no-children\\\"],[12],[1,\\\"No Nodes Found        \\\"],[13],[13],[13]],[]]],[13]],[\\\"@gateway\\\",\\\"@gatewayMeshCycleIntervals\\\",\\\"selectOption\\\",\\\"@gatewayTransmissionPowerIntervals\\\",\\\"selectOption\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"single-save-input\\\",\\\"gateway\\\",\\\"single-save-datetime-picker\\\",\\\"target\\\",\\\"eq\\\",\\\"getMeshCycleIntervalID\\\",\\\"each\\\",\\\"-track-array\\\",\\\"getTransmissionPowerIntervalsID\\\",\\\"gateway-list-children\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/edit-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"RpNqA/TL\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/nvd3-temporal-gateway-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"bYVGSAfb\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings:\\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"anchorDistances\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"gatewayType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[1,[28,[35,11],null,[[\\\"gatewayId\\\",\\\"gateway\\\",\\\"gatewayType\\\",\\\"gatewayValueObject\\\",\\\"gatewayValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"setProp\\\",\\\"omitTemperature\\\"],[[30,2,[\\\"id\\\"]],[30,2],[30,2,[\\\"gatewayType\\\"]],[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[33,7],true]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@gatewayData\\\",\\\"@gateway\\\",\\\"anchor\\\",\\\"gatewayValue\\\",\\\"index\\\",\\\"@temperatureData\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"blu900gw/create-new-raw-gateway-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"getGatewayData\\\",\\\"single-save-gateway-inputs-array-table-row-cells\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/raw-gateway-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"TgKd0AM/\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware Version\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@left_axis_field\\\",\\\"ddm\\\",\\\"@right_axis_field\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/temporal-gateway-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"hzOkUOwp\",\"block\":\"[[],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/temporal-gateway-left-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"jNVWQGSj\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[1,\\\"      Temperature\\\\n    \\\"]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware Version\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Temperature\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"temp-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@right_axis_field\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"left_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900gw/temporal-gateway-right-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"IPnbYfCr\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the newAlertObject.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"newAlertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"newAlertRepeat\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,8],true],null],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"newAlertInvert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,19]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"repeats\\\",\\\"repeatWindow\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"tOEiwjTH\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"font-weight:bold !important;\\\"],[14,\\\"for\\\",\\\"newGatewayObjectParent\\\"],[12],[1,\\\"Parent Gateway: \\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,0],null,[[\\\"content\\\",\\\"id\\\",\\\"selected\\\",\\\"sortBy\\\",\\\"prompt\\\",\\\"searchPrompt\\\",\\\"isClearable\\\",\\\"on-change\\\"],[[33,1],\\\"gatewaySelect\\\",\\\"\\\",\\\"title\\\",\\\"Gateway ID\\\",\\\"Filter\\\",true,[28,[37,2],[[30,0],\\\"setID\\\"],null]]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"project\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"project\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectProject\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"level\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"level\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLevel\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[12],[1,\\\" \\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[12],[1,\\\" \\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[12],[1,\\\" \\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[12],[1,\\\" \\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,3,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,2],[[30,0],\\\"createGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"searchable-select\\\",\\\"gateways\\\",\\\"action\\\",\\\"newGatewayObject\\\",\\\"mut\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/create-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"bRjThhC+\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temp.\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temp.\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"anchorDistances\\\",\\\"action\\\",\\\"gateway\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"gatewayValueObjectValues\\\",\\\"get\\\",\\\"newGatewayValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/create-new-raw-gateway-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Z4C0TJhg\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"alertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"alertRepeat\\\"],[16,\\\"checked\\\",[33,2,[\\\"repeats\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"repeats\\\"]],true],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,10],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"alertInvert\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[44,[[28,[37,13],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,16]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Average\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,17]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"triggeredTimeText\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"FK9dbo2K\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]],[30,2]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]],[30,2]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[12],[10,\\\"hr\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"h5\\\"],[12],[10,\\\"label\\\"],[12],[1,[28,[35,4],[\\\"Selected Gateway: \\\",[30,2]],null]],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"cospan separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,5],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,5],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"project\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,5],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,5],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"level\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,5],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,5],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,5],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left; vertical-align: top;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"cospan separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"cospan separator\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"cospan separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Settings:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"meshID\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Mesh ID:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"6\\\"],[15,2,[33,6,[\\\"meshID\\\"]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"gatewayReadInterval\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Read Interval:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"gatewayReadInterval\\\"],[15,\\\"onclick\\\",[28,[37,0],[[30,0],\\\"setGatewayInterval\\\"],[[\\\"value\\\"],[[33,8,[\\\"value\\\"]]]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,10],[[28,[37,10],[[30,3]],null]],null],null,[[[41,[28,[37,11],[[33,12],[30,4,[\\\"id\\\"]]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[30,4,[\\\"id\\\"]]]]],[12],[1,[30,4,[\\\"intervalName\\\"]]],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[30,4,[\\\"id\\\"]]]]],[12],[1,[30,4,[\\\"intervalName\\\"]]],[13]],[]]]],[4]],null],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[41,[28,[37,11],[[30,1,[\\\"hasChildren\\\"]],true],null],[[[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[1,[28,[35,13],null,[[\\\"gateway\\\",\\\"sortBy\\\",\\\"ordering\\\"],[[30,1,[\\\"children\\\"]],[28,[37,0],[[30,0],\\\"sortBy\\\"],null],[33,14]]]]],[13]],[]],null],[13]],[\\\"@gateway\\\",\\\"@parentGateway\\\",\\\"@gatewayReadingIntervals\\\",\\\"selectOption\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"concat\\\",\\\"single-save-input\\\",\\\"gateway\\\",\\\"single-save-datetime-picker\\\",\\\"target\\\",\\\"each\\\",\\\"-track-array\\\",\\\"eq\\\",\\\"getGatewayReadIntervalID\\\",\\\"gateway-list\\\",\\\"ordering\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/edit-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"NHQeKuHj\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/nvd3-temporal-gateway-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Kn7X/Jdo\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings:\\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"anchorDistances\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"gatewayType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temp.\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[1,[28,[35,11],null,[[\\\"gatewayId\\\",\\\"gateway\\\",\\\"gatewayType\\\",\\\"gatewayValueObject\\\",\\\"gatewayValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"setProp\\\",\\\"omitTemperature\\\"],[[30,2,[\\\"id\\\"]],[30,2],[30,2,[\\\"gatewayType\\\"]],[30,4],[30,1],[33,12],\\\"text\\\",\\\"values\\\",[30,5],[33,7],true]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@gatewayData\\\",\\\"@gateway\\\",\\\"anchor\\\",\\\"gatewayValue\\\",\\\"index\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"blu900node/create-new-raw-gateway-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"getGatewayData\\\",\\\"single-save-gateway-inputs-array-table-row-cells\\\",\\\"filteredTemperatureData\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/raw-gateway-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"kp1Mu9K9\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"chart_parent_gateway\\\"],[null,null,\\\"Voltage\\\",[30,4],[30,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"chart_parent_gateway\\\"],[null,null,\\\"RSSI\\\",[30,4],[30,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"chart_parent_gateway\\\"],[null,null,\\\"Firmware\\\",[30,4],[30,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware Version\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"chart_parent_gateway\\\"],[null,null,\\\"Temperature\\\",[30,4],[30,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"temperature-gateway-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@left_axis_field\\\",\\\"ddm\\\",\\\"@right_axis_field\\\",\\\"@chart_parent_gateway\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/temporal-gateway-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"MC+xGwUC\",\"block\":\"[[[1,\\\"left\\\\n\\\"],[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[33,3],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Readings\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uptime\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Reconnection\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection Attempts\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uploads\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uploads-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Uploads\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[2]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"selected\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"right_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/temporal-gateway-left-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"QJ45fOl0\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[1,\\\"      Temperature\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"chart_parent_gateway\\\"],[null,null,\\\"Voltage\\\",[33,5],[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"chart_parent_gateway\\\"],[null,null,\\\"RSSI\\\",[33,5],[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"chart_parent_gateway\\\"],[null,null,\\\"Temperature\\\",[33,5],[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"temperature-gateway-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"chart_parent_gateway\\\"],[null,null,\\\"Firmware\\\",[33,5],[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware Version\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@right_axis_field\\\",\\\"ddm\\\",\\\"@chart_parent_gateway\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"left_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blu900node/temporal-gateway-right-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"WAtFLZd6\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"text-align: left;\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alerts. To add multiple, separate by comma!\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,\\\"title\\\",\\\"Target recipient for alert. Add cell number then click on link to find carrier network. \\\"],[24,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[24,0,\\\"col-12 col-form-label bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,8],[[[6,[39,9],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,10],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,11],[33,8],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VOLT\\\"],[12],[1,\\\"Volts\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"RSSI\\\"],[12],[1,\\\"RSSI\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"FW\\\"],[12],[1,\\\"Firmware Version\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"GT (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"LT (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"GT (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"5\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VOLT\\\"],null],[[[1,\\\"V\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"RSSI\\\"],null],[[[1,\\\"dBm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"FW\\\"],null],[[[1,\\\"                               \\\"]],[]],null],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,13]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"CArz073r\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"project\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"project\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectProject\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"level\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"level\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLevel\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"newGatewayObject\\\",\\\"action\\\",\\\"mut\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/create-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Y900yE3S\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temp.\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temp.\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"anchorDistances\\\",\\\"action\\\",\\\"gateway\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"gatewayValueObjectValues\\\",\\\"get\\\",\\\"newGatewayValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/create-new-raw-gateway-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"MDLduv+h\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VOLT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VOLT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Volt\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VOLT\\\"],[12],[1,\\\"Volt\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"RSSI\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"RSSI\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"RSSI\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"RSSI\\\"],[12],[1,\\\"RSSI\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"FW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"FW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Firmware Version\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"FW\\\"],[12],[1,\\\"Firmware Version\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VOLT\\\"],null],[[[1,\\\"V\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"RSSI\\\"],null],[[[1,\\\"dBm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"FW\\\"],null],[[[1,\\\"Ver.\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,6]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,7]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"unless\\\",\\\"triggeredTimeText\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/edit-gateway-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"pktZ9Li6\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[12],[10,\\\"hr\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"project\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"level\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,6],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[41,[28,[37,7],[[30,1,[\\\"hasChildren\\\"]],true],null],[[[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[1,[28,[35,8],null,[[\\\"gateway\\\",\\\"sortBy\\\",\\\"ordering\\\"],[[30,1,[\\\"children\\\"]],[28,[37,0],[[30,0],\\\"sortBy\\\"],null],[33,9]]]]],[13]],[]],null],[13]],[\\\"@gateway\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"single-save-input\\\",\\\"gateway\\\",\\\"single-save-datetime-picker\\\",\\\"eq\\\",\\\"gateway-list\\\",\\\"ordering\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/edit-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"H8tI0pAI\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/nvd3-temporal-gateway-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ubZ1bb6m\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings:\\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"anchorDistances\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"gatewayType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temp.\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[1,[28,[35,11],null,[[\\\"gatewayId\\\",\\\"gateway\\\",\\\"gatewayType\\\",\\\"gatewayValueObject\\\",\\\"gatewayValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"setProp\\\",\\\"omitTemperature\\\"],[[30,2,[\\\"id\\\"]],[30,2],[30,2,[\\\"gatewayType\\\"]],[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[33,7],false]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@gatewayData\\\",\\\"@gateway\\\",\\\"anchor\\\",\\\"gatewayValue\\\",\\\"index\\\",\\\"@temperatureData\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"blucell/create-new-raw-gateway-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"getGatewayData\\\",\\\"single-save-gateway-inputs-array-table-row-cells\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/raw-gateway-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"tjKvP640\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"RSSI\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Readings\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uptime\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Reconnection\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware Version\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Temperature\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"temperature-gateway-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@left_axis_field\\\",\\\"ddm\\\",\\\"@right_axis_field\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/temporal-gateway-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ZWE2GsEX\",\"block\":\"[[[1,\\\"blucell\\\\n\\\"],[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[33,3],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Readings\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uptime\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Reconnection\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection Attempts\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uploads\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uploads-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Uploads\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[2]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"selected\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"right_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/temporal-gateway-left-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"bb2ZHQ5d\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Readings\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Uptime\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Reconnection\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection Attempts\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Uploads\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"uploads-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Uploads\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Temperature\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"temp-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@right_axis_field\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"left_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blucell/temporal-gateway-right-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"a16ZQF37\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the newAlertObject.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"newAlertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"newAlertRepeat\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,8],true],null],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"newAlertInvert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,19]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"repeats\\\",\\\"repeatWindow\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"P33Viff6\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"project\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"project\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectProject\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"level\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"level\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLevel\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"newGatewayObject\\\",\\\"action\\\",\\\"mut\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/create-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"2ekYDUfB\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temp.\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temp.\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"anchorDistances\\\",\\\"action\\\",\\\"gateway\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"gatewayValueObjectValues\\\",\\\"get\\\",\\\"newGatewayValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/create-new-raw-gateway-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"T9EBA30B\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"alertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"alertRepeat\\\"],[16,\\\"checked\\\",[33,2,[\\\"repeats\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"repeats\\\"]],true],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,10],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"alertInvert\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[44,[[28,[37,13],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,16]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Average\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,17]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"triggeredTimeText\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"yU3xhSux\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[12],[10,\\\"hr\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"project\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"level\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,6],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[41,[28,[37,7],[[30,1,[\\\"hasChildren\\\"]],true],null],[[[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[1,[28,[35,8],null,[[\\\"gateway\\\",\\\"sortBy\\\",\\\"ordering\\\"],[[30,1,[\\\"children\\\"]],[28,[37,0],[[30,0],\\\"sortBy\\\"],null],[33,9]]]]],[13]],[]],null],[13]],[\\\"@gateway\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"single-save-input\\\",\\\"gateway\\\",\\\"single-save-datetime-picker\\\",\\\"eq\\\",\\\"gateway-list\\\",\\\"ordering\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/edit-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Xe39tTTU\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/nvd3-temporal-gateway-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"flEWlgP0\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings:\\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"anchorDistances\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"gatewayType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temp.\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[1,[28,[35,11],null,[[\\\"gatewayId\\\",\\\"gateway\\\",\\\"gatewayType\\\",\\\"gatewayValueObject\\\",\\\"gatewayValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"setProp\\\",\\\"omitTemperature\\\"],[[30,2,[\\\"id\\\"]],[30,2],[30,2,[\\\"gatewayType\\\"]],[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[33,7],false]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@gatewayData\\\",\\\"@gateway\\\",\\\"anchor\\\",\\\"gatewayValue\\\",\\\"index\\\",\\\"@temperatureData\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"blucell/create-new-raw-gateway-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"getGatewayData\\\",\\\"single-save-gateway-inputs-array-table-row-cells\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/raw-gateway-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"wUecdWbk\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"RSSI\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Readings\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uptime\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Reconnection\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware Version\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Temperature\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"temperature-gateway-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@left_axis_field\\\",\\\"ddm\\\",\\\"@right_axis_field\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"vbMjJpHV\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"sigma_d_readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"sigma_t_modem_on_duration\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"reconnection_attempts\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"number_of_uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"firmware_version\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"voltage\\\"]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"rssi\\\"]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-chart-dropdown_old.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"FElwQTFW\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[33,3],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Readings\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uptime\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Reconnection\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection Attempts\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uploads\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uploads-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Uploads\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[2]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"selected\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"right_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-left-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"6rq52/sM\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Readings\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Uptime\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Reconnection\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection Attempts\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Uploads\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"uploads-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Uploads\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Temperature\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"temp-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@right_axis_field\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"left_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-right-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"mwpo5icN\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[33,3],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Readings\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Uptime\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Reconnection\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection Attempts\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uploads\\\"]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uploads-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Uploads\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\"]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\"],[null,null,\\\"Temperature\\\"]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"temp-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[2]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"selected\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"left_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/blugate/temporal-gateway-right-axis-dropdown_old.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"GDosPG6r\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"text-align: left;\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alerts. To add multiple, separate by comma!\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,\\\"title\\\",\\\"Target recipient for alert. Add cell number then click on link to find carrier network. \\\"],[24,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[24,0,\\\"col-12 col-form-label bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,8],[[[6,[39,9],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,10],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,11],[33,8],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VOLT\\\"],[12],[1,\\\"Volts\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"RSSI\\\"],[12],[1,\\\"RSSI\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"FW\\\"],[12],[1,\\\"Firmware Version\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"GT (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"LT (<=)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"GT (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"5\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VOLT\\\"],null],[[[1,\\\"V\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"RSSI\\\"],null],[[[1,\\\"dBm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"FW\\\"],null],[[[1,\\\"                               \\\"]],[]],null],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,13]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"DBD1ekSP\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"project\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"project\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectProject\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"level\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"level\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLevel\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"newGatewayObject\\\",\\\"action\\\",\\\"mut\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/create-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"vyAQut4I\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temp.\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temp.\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"anchorDistances\\\",\\\"action\\\",\\\"gateway\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"gatewayValueObjectValues\\\",\\\"get\\\",\\\"newGatewayValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/create-new-raw-gateway-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"lPonj3Ep\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VOLT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VOLT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Volt\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VOLT\\\"],[12],[1,\\\"Volt\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"RSSI\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"RSSI\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"RSSI\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"RSSI\\\"],[12],[1,\\\"RSSI\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"FW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"FW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Firmware Version\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"FW\\\"],[12],[1,\\\"Firmware Version\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<=)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VOLT\\\"],null],[[[1,\\\"V\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"RSSI\\\"],null],[[[1,\\\"dBm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"FW\\\"],null],[[[1,\\\"Ver.\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,6]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,7]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"unless\\\",\\\"triggeredTimeText\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/edit-gateway-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"8ghd4996\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[12],[10,\\\"hr\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"project\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"level\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,6],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[41,[28,[37,7],[[30,1,[\\\"hasChildren\\\"]],true],null],[[[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[1,[28,[35,8],null,[[\\\"gateway\\\",\\\"sortBy\\\",\\\"ordering\\\"],[[30,1,[\\\"children\\\"]],[28,[37,0],[[30,0],\\\"sortBy\\\"],null],[33,9]]]]],[13]],[]],null],[13]],[\\\"@gateway\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"single-save-input\\\",\\\"gateway\\\",\\\"single-save-datetime-picker\\\",\\\"eq\\\",\\\"gateway-list\\\",\\\"ordering\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/edit-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"pG+TMTIi\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/nvd3-temporal-gateway-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"kUjSLxgE\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings:\\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"anchorDistances\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"gatewayType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temp.\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[1,[28,[35,11],null,[[\\\"gatewayId\\\",\\\"gateway\\\",\\\"gatewayType\\\",\\\"gatewayValueObject\\\",\\\"gatewayValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"setProp\\\",\\\"omitTemperature\\\"],[[30,2,[\\\"id\\\"]],[30,2],[30,2,[\\\"gatewayType\\\"]],[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[33,7],false]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@gatewayData\\\",\\\"@gateway\\\",\\\"anchor\\\",\\\"gatewayValue\\\",\\\"index\\\",\\\"@temperatureData\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"blucell/create-new-raw-gateway-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"getGatewayData\\\",\\\"single-save-gateway-inputs-array-table-row-cells\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/raw-gateway-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"zUJYUeTg\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"RSSI\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Readings\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uptime\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Reconnection\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware Version\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Temperature\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"temperature-gateway-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@left_axis_field\\\",\\\"ddm\\\",\\\"@right_axis_field\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/temporal-gateway-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"TAbyQFlM\",\"block\":\"[[[1,\\\"blucell\\\\n\\\"],[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[33,3],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Readings\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uptime\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Reconnection\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection Attempts\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uploads\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uploads-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Uploads\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[2]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"selected\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"right_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/temporal-gateway-left-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Dj8Ru+4f\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Readings\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Uptime\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Reconnection\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection Attempts\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Uploads\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"uploads-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Uploads\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Temperature\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"temp-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@right_axis_field\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"left_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bluvibe/temporal-gateway-right-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"mQpSyJ+p\",\"block\":\"[[[10,\\\"ul\\\"],[14,0,\\\"breadcrumbs\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,1],[[28,[37,1],[[33,2]],null]],null],null,[[[1,\\\"    \\\"],[10,\\\"li\\\"],[15,0,[52,[30,1,[\\\"isCurrent\\\"]],\\\"current\\\"]],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"linkable\\\"]],[[[1,\\\"        \\\"],[41,[30,1,[\\\"model\\\"]],[[[1,\\\"\\\\n\\\"],[6,[39,4],null,[[\\\"route\\\",\\\"model\\\"],[[30,1,[\\\"path\\\"]],[30,1,[\\\"model\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"            \\\"],[1,[30,1,[\\\"label\\\"]]],[1,\\\"\\\\n\\\"]],[]]]]]],[]],[[[6,[39,4],null,[[\\\"route\\\"],[[30,1,[\\\"path\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"            \\\"],[1,[30,1,[\\\"label\\\"]]],[1,\\\"\\\\n\\\"]],[]]]]]],[]]]],[]],[[[1,\\\"        \\\"],[1,[30,1,[\\\"label\\\"]]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[13],[1,\\\"\\\\n\\\"]],[\\\"crumb\\\"],false,[\\\"each\\\",\\\"-track-array\\\",\\\"breadCrumbs\\\",\\\"if\\\",\\\"link-to\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/bread-crumbs.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"tuxvfPNw\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the newAlertObject.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,19]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ShM+P5dZ\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstrument_length\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Length (m):\\\\t\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"instrumentLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"instrumentLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstrumentLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"strokeLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"strokeLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSensorObjectBulbed\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Bulbed:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newInstrumentObjectBulbed\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,1],[[30,0],\\\"bulbChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPlated\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Plated:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newInstrumentObjectPlated\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,1],[[30,0],\\\"plateChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectHeadAt\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Head at:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newInstrumentObjectHeadAt\\\"],[15,\\\"onchange\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,7]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,11],[[30,3,[\\\"key\\\"]],[33,7]],null]],[15,2,[29,[[30,3,[\\\"id\\\"]]]]],[12],[1,[30,3,[\\\"title\\\"]]],[13]],[3]],null],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectElasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"elasticLimitPct\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"elasticLimitPct\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectElasticLimitPct\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectUltimateLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"ultimateLimitPct\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"ultimateLimitPct\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectUltimateLimitPct\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjEctelasticLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"elasticLimitFce\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"elasticLimitFce\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjEctelasticLimitFce\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectUltimateLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"ultimateLimitFce\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"ultimateLimitFce\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectUltimateLimitFce\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\",\\\"selectOption\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\",\\\"headAt\\\",\\\"each\\\",\\\"-track-array\\\",\\\"headAts\\\",\\\"is-equal\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"1ncaccFw\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"91q0sxkF\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manuallyaaa\\\"],[24,1,\\\"alertStaticDynamic\\\"],[24,\\\"disabled\\\",\\\"\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,14],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,15]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[44,[[28,[37,18],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],null]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"geRJfk1j\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[41,[28,[37,4],[[33,5,[\\\"channelsNum\\\"]],2],null],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"sGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Spatial Graph\\\"],[13],[13]],[]],null]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,6],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,7],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,5,[\\\"id\\\"]],[33,5,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,5],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],[33,5,[\\\"east\\\"]],[33,5,[\\\"north\\\"]],[33,5,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"headAt\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Head at:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"selectOptions\\\",\\\"id\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,13],\\\"headAt\\\",\\\"id,title\\\",[33,5,[\\\"headAt\\\"]],[33,5],\\\"title\\\",\\\"id\\\",\\\"headAt\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"instrumentLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Length (m):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"instrumentLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"strokeLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"strokeLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"referenceAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"referenceAnchor\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"bulbed\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Bulbed:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,14],null,[[\\\"object\\\",\\\"field\\\"],[[33,5],\\\"bulbed\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"plated\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Plated:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,14],null,[[\\\"object\\\",\\\"field\\\"],[[33,5],\\\"plated\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,14],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,5],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"elasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,15],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"update\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"elasticLimitPct\\\",[28,[37,0],[[30,0],\\\"updatePage\\\"],null],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"ultimateLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,15],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"ultimateLimitPct\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"elasticLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,15],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"update\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"elasticLimitFce\\\",[28,[37,0],[[30,0],\\\"updatePage\\\"],null],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"ultimateLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,15],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"ultimateLimitFce\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"instrumentStiffness\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stiffness (kN/%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,5],\\\"text\\\",\\\"instrumentStiffness\\\",false]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Nodes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,16],null,[[\\\"object\\\",\\\"headAt\\\",\\\"channelsNum\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[30,1,[\\\"anchors\\\"]],[33,5,[\\\"headAt\\\",\\\"id\\\"]],[33,5,[\\\"channelsNum\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"gt\\\",\\\"instrument\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-select\\\",\\\"headAts\\\",\\\"single-save-checkbox\\\",\\\"single-save-input-numeric\\\",\\\"single-save-instrument-anchors\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"n6hBxNJE\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"e/fPDZCD\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"xSwqllFO\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings:\\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1]],null]],null],null,[[[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,13],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,14],[[30,7,[\\\"id\\\"]],[28,[37,15],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"cable/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"je5Jh1a3\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"load-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Load\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Ecmg/0A7\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"acceleration-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Acceleration\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"load-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Load\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/cable/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"py/6Sfne\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New blast event\\\"],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"th\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,2],[[30,0],\\\"cancelNew\\\",[33,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,2],[[30,0],\\\"saveNew\\\",[33,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"timestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newBlastEventObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectCoordinatesX\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,7]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,7]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newBlastEventObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,8]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newBlastEventObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,9]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,9]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newBlastEventObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectComments\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Comments:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,6,[\\\"comments\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"comments\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newBlastEventObjectComments\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectIsVisible\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Is visible:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2\\\"],[12],[11,\\\"input\\\"],[16,3,[36,10]],[24,\\\"checked\\\",\\\"\\\"],[24,1,\\\"newBlastEventObjectIsVisible\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,2],[[30,0],[28,[37,4],[[33,6,[\\\"isVisible\\\"]]],null]],[[\\\"value\\\",\\\"on\\\"],[\\\"target.value\\\",\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Delay:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,6,[\\\"delay\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"delay\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"delay\\\"],[14,0,\\\"form-control datepicker-input\\\"],[14,4,\\\"time\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,11,[\\\"value\\\"]]]]]],[14,1,\\\"newBlastEventObject.level\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"-1\\\"],[14,\\\"default\\\",\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Select a Level. \\\"],[13],[42,[28,[37,13],[[28,[37,13],[[33,14]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[30,1,[\\\"id\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObject.project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,11,[\\\"value\\\"]]]]]],[14,1,\\\"newBlastEventObject.project\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Please choose a \\\"],[1,[28,[35,15],[[33,16],\\\".\\\"],null]],[13],[10,\\\"option\\\"],[14,2,\\\"-1\\\"],[14,\\\"default\\\",\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Select a project. \\\"],[13],[42,[28,[37,13],[[28,[37,13],[[33,17]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[30,2,[\\\"id\\\"]]]]],[12],[1,[30,2,[\\\"value\\\"]]],[13]],[2]],null],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectStope\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stope:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"stope\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"stope\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newBlastEventObjectStope\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectTonnes\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Tonnes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"tonnes\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"tonnes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newBlastEventObjectTonnes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectBlastType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Blast type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newBlastEventObjectBlastType\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,18]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,13],[[28,[37,13],[[33,19]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,20],[[30,3,[\\\"key\\\"]],[33,18]],null]],[15,2,[29,[[30,3,[\\\"key\\\"]]]]],[12],[1,[30,3,[\\\"value\\\"]]],[13]],[3]],null],[13],[13],[13],[13],[13],[13],[13],[13],[13],[13],[13]],[]],null]],[\\\"levelOption\\\",\\\"projectOption\\\",\\\"selectOption\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"action\\\",\\\"blastEvents\\\",\\\"mut\\\",\\\"timestamp\\\",\\\"newBlastEventObject\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"field\\\",\\\"target\\\",\\\"each\\\",\\\"-track-array\\\",\\\"levelLookupList\\\",\\\"concat\\\",\\\"Project\\\",\\\"projectLookupList\\\",\\\"blastType\\\",\\\"selectOptionsArray\\\",\\\"is-equal\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/create-new-blast-event-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"9vzhqSJf\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New seismic event\\\"],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"th\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,2],[[30,0],\\\"cancelNew\\\",[33,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,2],[[30,0],\\\"saveNew\\\",[33,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"timestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectCoordinatesX\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,7]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,7]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,8]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,9]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,9]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectComments\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Comments:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,6,[\\\"comments\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"comments\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectComments\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectIsVisible\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Is visible:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2\\\"],[12],[11,\\\"input\\\"],[16,3,[36,10]],[24,\\\"checked\\\",\\\"\\\"],[24,1,\\\"newSeismicEventObjectIsVisible\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,2],[[30,0],[28,[37,4],[[33,6,[\\\"isVisible\\\"]]],null]],[[\\\"value\\\",\\\"on\\\"],[\\\"target.value\\\",\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectMomentMagnitude\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Moment magnitude:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"momentMagnitude\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"momentMagnitude\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectMomentMagnitude\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectSeismicMoment\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Seismic moment:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"seismicMoment\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"seismicMoment\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectSeismicMoment\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectSourceRadius\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Source radius:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"sourceRadius\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"sourceRadius\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectSourceRadius\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectPeakParticleVelocity\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Peak particle velocity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"peakParticleVelocity\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"peakParticleVelocity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectPeakParticleVelocity\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectPeakParticleAcceleration\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Peak particle acceleration:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"peakParticleAcceleration\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"peakParticleAcceleration\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectPeakParticleAcceleration\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectEnergy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Energy:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,6,[\\\"energy\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,6,[\\\"energy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newSeismicEventObjectEnergy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newSeismicEventObjectSeismicType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Seismic type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newSeismicEventObjectSeismicType\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,11]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,13],[[28,[37,13],[[33,14]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,15],[[30,1,[\\\"key\\\"]],[33,11]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[13],[13],[13],[13],[13],[13],[13],[13],[13],[13]],[]],null]],[\\\"selectOption\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"action\\\",\\\"seismicEvents\\\",\\\"mut\\\",\\\"timestamp\\\",\\\"newSeismicEventObject\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"field\\\",\\\"seismicType\\\",\\\"each\\\",\\\"-track-array\\\",\\\"selectOptionsArray\\\",\\\"is-equal\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/create-new-seismic-event-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"2Lt2Hwko\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[10,0],[14,5,\\\"height:20px;display:flex;flex-direction:row;padding:0\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Export instrument data to file\\\"],[13],[10,0],[14,5,\\\"margin-left:5px;width:20px\\\"],[12],[8,[39,2],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Advanced Search settings affect export data\\\",\\\"top\\\"]],null],[8,[39,3],null,[[\\\"@icon\\\"],[\\\"exclamation-circle\\\"]],null],[1,\\\" \\\"],[13],[13],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"th\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"cancel-new\\\"],[4,[38,4],[[30,0],\\\"cancel\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"file_format\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"File format:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"file_format\\\"],[15,\\\"onchange\\\",[28,[37,4],[[30,0],[28,[37,5],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,8],[[28,[37,8],[[33,9]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,10],[[30,1,[\\\"key\\\"]],[30,1]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"File link:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,2],[14,0,\\\"mb-0\\\"],[12],[11,3],[24,5,\\\"cursor: pointer\\\"],[24,0,\\\"exportDataFileLink\\\"],[4,[38,4],[[30,0],\\\"downloadFile\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,11]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"width\\\",\\\"50px\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[12],[41,[33,12],[[[10,0],[14,0,\\\"pulse_loader\\\"],[12],[13]],[]],null],[13],[13],[13],[13]],[]],null]],[\\\"fileFormat\\\"],false,[\\\"if\\\",\\\"isVisibleExportDataForm\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"action\\\",\\\"mut\\\",\\\"fileFormat\\\",\\\"each\\\",\\\"-track-array\\\",\\\"fileFormats\\\",\\\"is-equal\\\",\\\"fileName\\\",\\\"loading\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/data-export-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"c/tH0vPv\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Export gateway data to file\\\"],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[12],[13],[10,\\\"th\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"cancel-new\\\"],[4,[38,2],[[30,0],\\\"cancel\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"file_format\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"File format:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"file_format\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,3],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,6],[[28,[37,6],[[33,7]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,8],[[30,1,[\\\"key\\\"]],[30,1]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"File link:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,2],[14,0,\\\"mb-0\\\"],[12],[11,3],[24,5,\\\"cursor: pointer\\\"],[24,0,\\\"exportDataFileLink\\\"],[4,[38,2],[[30,0],\\\"downloadFile\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,9]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"width\\\",\\\"50px\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[12],[41,[33,10],[[[10,0],[14,0,\\\"pulse_loader\\\"],[12],[13]],[]],null],[13],[13],[13],[13]],[]],null]],[\\\"fileFormat\\\"],false,[\\\"if\\\",\\\"isVisibleExportDataForm\\\",\\\"action\\\",\\\"mut\\\",\\\"fileFormat\\\",\\\"each\\\",\\\"-track-array\\\",\\\"fileFormats\\\",\\\"is-equal\\\",\\\"fileName\\\",\\\"loading\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/data-export-gateway-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"VO4VVx2F\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[12],[1,\\\"Import seismic data from file\\\"],[13],[10,\\\"th\\\"],[14,\\\"colspan\\\",\\\"4\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,0],[[30,0],\\\"cancelImport\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,0],[[30,0],\\\"importFile\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Import\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"file_format\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"File format:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"file_format\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,4],[[28,[37,4],[[33,5]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,6],[[30,1,[\\\"key\\\"]],[30,1]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"File:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,7],null,[[\\\"isSubmitting\\\",\\\"fileSettings\\\",\\\"notSubmitting\\\",\\\"errorHappened\\\"],[[33,8],[33,9],\\\"notSubmitting\\\",\\\"errorHappened\\\"]]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"width\\\",\\\"50px\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[12],[41,[33,11],[[[10,0],[14,0,\\\"pulse_loader\\\"],[12],[13]],[]],null],[13],[13],[41,[33,12],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error importing the instrument data.\\\"],[13],[13],[13]],[]],null],[13],[13]],[\\\"fileFormat\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"fileFormat\\\",\\\"each\\\",\\\"-track-array\\\",\\\"fileFormats\\\",\\\"is-equal\\\",\\\"file-upload-seis\\\",\\\"isSubmitting\\\",\\\"fileSettings\\\",\\\"if\\\",\\\"loading\\\",\\\"isVisibleError\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/data-import-form-seis.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"e4NIY3eq\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"4\\\"],[12],[1,\\\"Import instrument data from file\\\"],[13],[10,\\\"th\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,2],[[30,0],\\\"cancelImport\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,2],[[30,0],\\\"importFile\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Import\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"file_format\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"File format:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"file_format\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,3],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,6],[[28,[37,6],[[33,7]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,8],[[30,1,[\\\"key\\\"]],[30,1]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"date_format\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Date format:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"date_format\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,3],[[33,9]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Select Date Format\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,10]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,8],[[30,2,[\\\"key\\\"]],[30,2]],null]],[15,2,[29,[[30,2,[\\\"key\\\"]]]]],[12],[1,[30,2,[\\\"value\\\"]]],[13]],[2]],null],[13],[13],[13],[13],[13],[13],[13],[13],[41,[33,11],[[[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[8,[39,12],null,[[\\\"@title\\\",\\\"@placement\\\"],[[30,0,[\\\"getUnitInstrComment\\\"]],\\\"top\\\"]],null],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"is RAW:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,13],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"isRAW\\\",[33,14],\\\"custom-control-input\\\"]]]],[13],[13],[13],[13],[13],[13]],[]],null],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"File:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group rowc\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,15],null,[[\\\"isSubmitting\\\",\\\"fileSettings\\\",\\\"notSubmitting\\\",\\\"errorHappened\\\"],[[33,16],[33,17],\\\"notSubmitting\\\",\\\"errorHappened\\\"]]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"width\\\",\\\"50px\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[12],[41,[33,18],[[[10,0],[14,0,\\\"pulse_loader\\\"],[12],[13]],[]],null],[13],[13],[41,[33,19],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"8\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error importing the instrument data.\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"8\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[34,20]],[13],[13],[13]],[]],null],[13],[13]],[]],null]],[\\\"fileFormat\\\",\\\"dateFormat\\\"],false,[\\\"if\\\",\\\"isVisibleImportDataForm\\\",\\\"action\\\",\\\"mut\\\",\\\"fileFormat\\\",\\\"each\\\",\\\"-track-array\\\",\\\"fileFormats\\\",\\\"is-equal\\\",\\\"dateFormat\\\",\\\"dateFormats\\\",\\\"showIsRAW\\\",\\\"bs-tooltip\\\",\\\"input\\\",\\\"isRAW\\\",\\\"file-upload\\\",\\\"isSubmitting\\\",\\\"fileSettings\\\",\\\"loading\\\",\\\"isVisibleError\\\",\\\"error\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/data-import-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Fk/HC+6a\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[12],[1,\\\"Import gateway data from file\\\"],[13],[10,\\\"th\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,2],[[30,0],\\\"cancelImport\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,2],[[30,0],\\\"importFile\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Import\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"file_format\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"File format:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"file_format\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,3],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,6],[[28,[37,6],[[33,7]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,8],[[30,1,[\\\"key\\\"]],[30,1]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"date_format\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Date format:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"date_format\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,3],[[33,9]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Select Date Format\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,10]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,8],[[30,2,[\\\"key\\\"]],[30,2]],null]],[15,2,[29,[[30,2,[\\\"key\\\"]]]]],[12],[1,[30,2,[\\\"value\\\"]]],[13]],[2]],null],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newBlastEventObjectDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"File:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,11],null,[[\\\"isSubmitting\\\",\\\"fileSettings\\\",\\\"notSubmitting\\\",\\\"errorHappened\\\"],[[33,12],[33,13],\\\"notSubmitting\\\",\\\"errorHappened\\\"]]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"width\\\",\\\"50px\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[12],[41,[33,14],[[[10,0],[14,0,\\\"pulse_loader\\\"],[12],[13]],[]],null],[13],[13],[41,[33,15],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"8\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error importing the gateway data.\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"8\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[34,16]],[13],[13],[13]],[]],null],[13],[13]],[]],null]],[\\\"fileFormat\\\",\\\"dateFormat\\\"],false,[\\\"if\\\",\\\"isVisibleImportDataForm\\\",\\\"action\\\",\\\"mut\\\",\\\"fileFormat\\\",\\\"each\\\",\\\"-track-array\\\",\\\"fileFormats\\\",\\\"is-equal\\\",\\\"dateFormat\\\",\\\"dateFormats\\\",\\\"file-gateway-upload\\\",\\\"isSubmitting\\\",\\\"fileSettings\\\",\\\"loading\\\",\\\"isVisibleError\\\",\\\"error\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/data-import-gateway-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"je2QZq34\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,19]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"qsgmOKI/\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"strokeLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"strokeLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ATVJ3J6e\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"umlheAyY\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,14],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,15]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[44,[[28,[37,18],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],null]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"/i7KzzLV\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[41,[28,[37,4],[[33,5,[\\\"channelsNum\\\"]],2],null],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"sGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Spatial Graph\\\"],[13],[13]],[]],null]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,6],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,7],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,5,[\\\"id\\\"]],[33,5,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,5],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],[33,5,[\\\"east\\\"]],[33,5,[\\\"north\\\"]],[33,5,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"strokeLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"strokeLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"baseLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Base Length (m):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"baseLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,5],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"gt\\\",\\\"instrument\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"kfvzioUu\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"TAF6fe8D\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"xPwDYAJN\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1]],null]],null],null,[[[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,13],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,14],[[30,7,[\\\"id\\\"]],[28,[37,15],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"dconv/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"pjj4XIVW\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"E+O/CBZh\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"acceleration-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Acceleration\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dconv/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"rUKsMskW\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,2],[[[41,[33,3],[[[10,\\\"input\\\"],[15,2,[36,4]],[15,\\\"oninput\\\",[28,[37,5],[[30,0],[28,[37,6],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,7]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],null],[41,[33,8],[[[10,\\\"textarea\\\"],[14,\\\"rows\\\",\\\"3\\\"],[15,2,[36,4]],[15,\\\"oninput\\\",[28,[37,5],[[30,0],[28,[37,6],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,7]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],null],[11,1],[24,0,\\\"save\\\"],[4,[38,5],[[30,0],\\\"save\\\",[33,9]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,5],[[30,0],\\\"cancel\\\",[33,9]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,5],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,[28,[35,12],[[33,9],[33,7]],null]],[13]],[]]],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,0,\\\"text\\\"],[4,[38,5],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Read Only\\\",\\\"right\\\"]],null],[1,[28,[35,12],[[33,9],[33,7]],null]],[13],[13],[13],[13]],[]]]],[],false,[\\\"if\\\",\\\"isEditable\\\",\\\"isEditing\\\",\\\"isTextInput\\\",\\\"newValue\\\",\\\"action\\\",\\\"mut\\\",\\\"field\\\",\\\"isTextarea\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"get\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/display-noneditable-numeric.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"DPjZVSij\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,19]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Pressure\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"kPa\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dppc/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HT5aEQMy\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dppc/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"glByGDFN\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dppc/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"EOcwAyJL\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,14],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,15]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[44,[[28,[37,18],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Pressure\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Pressure\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],null]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"kPa\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"kPa/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"kPa/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dppc/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"r1P1Dlpb\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,6],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dppc/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"gD2cCbBZ\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dppc/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"R1Q0EGnh\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dppc/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"qhIoJkhY\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings LOTS: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,12]],null]],null],null,[[[1,[28,[35,13],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,14],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,15],[[30,7,[\\\"id\\\"]],[28,[37,16],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"dppc/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"displacementData2\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dppc/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"BYVof8XX\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,2],[[[1,\\\"      \\\"],[1,[30,2]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        Pressure\\\\n\\\"]],[]]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"Pressure\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,4],[[33,5],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Pressure\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"Pressure Rate\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,4],[[33,5],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Press. Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"mmH20\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,4],[[33,5],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"mmH20\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/dppc/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","define(\"geotechnical-data-platform-new/templates/components/ember-popper-targeting-parent\", [\"exports\", \"ember-popper/templates/components/ember-popper-targeting-parent\"], function (_exports, _emberPopperTargetingParent) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberPopperTargetingParent.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/templates/components/ember-popper\", [\"exports\", \"ember-popper/templates/components/ember-popper\"], function (_exports, _emberPopper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _emberPopper.default;\n    }\n  });\n});\n","export default Ember.HTMLBars.template({\"id\":\"59MH32O0\",\"block\":\"[[[18,1,null]],[\\\"&default\\\"],false,[\\\"yield\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/file-upload-seis.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"JBTL/9sx\",\"block\":\"[[[18,1,null]],[\\\"&default\\\"],false,[\\\"yield\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/file-upload.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"0TE/tFEY\",\"block\":\"[[[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Search for an alert\\\"],[13],[10,0],[14,0,\\\"input-group\\\"],[12],[10,\\\"input\\\"],[14,1,\\\"quickTableFilterAlert\\\"],[14,\\\"aria-describedby\\\",\\\"emailHelp\\\"],[14,\\\"placeholder\\\",\\\"What?\\\"],[15,2,[36,0]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[10,1],[14,0,\\\"input-group-btn\\\"],[12],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,1],[[30,0],\\\"updateProperty\\\",\\\"searchValue\\\",[33,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Search\\\"],[13],[13],[13],[13]],[],false,[\\\"searchValue\\\",\\\"action\\\",\\\"mut\\\",\\\"value\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/filter-text-input-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"YHOZ2W/T\",\"block\":\"[[[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Quick search\\\"],[13],[10,0],[14,0,\\\"input-group\\\"],[12],[10,\\\"input\\\"],[14,1,\\\"quickTableFilter\\\"],[14,\\\"aria-describedby\\\",\\\"emailHelp\\\"],[14,\\\"placeholder\\\",\\\"What?\\\"],[15,2,[36,0]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[10,1],[14,0,\\\"input-group-btn\\\"],[12],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,1],[[30,0],\\\"updateProperty\\\",\\\"searchValue\\\",[33,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Search\\\"],[13],[13],[13],[13]],[],false,[\\\"searchValue\\\",\\\"action\\\",\\\"mut\\\",\\\"value\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/filter-text-input-events.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"G1+bhDst\",\"block\":\"[[[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Search for a Gateway\\\"],[13],[10,0],[14,0,\\\"input-group\\\"],[12],[10,\\\"input\\\"],[14,1,\\\"quickTableFilter\\\"],[14,\\\"aria-describedby\\\",\\\"emailHelp\\\"],[14,\\\"placeholder\\\",\\\"What?\\\"],[15,2,[36,0]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[10,1],[14,0,\\\"input-group-btn\\\"],[12],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,1],[[30,0],\\\"updateProperty\\\",\\\"searchValue\\\",[33,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Search\\\"],[13],[13],[13],[13]],[],false,[\\\"searchValue\\\",\\\"action\\\",\\\"mut\\\",\\\"value\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/filter-text-input-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"4ZWwCJlm\",\"block\":\"[[[10,0],[14,5,\\\"width: 25%; margin-bottom: 15px;\\\"],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Search\\\"],[13],[10,0],[14,0,\\\"input-group\\\"],[12],[10,\\\"input\\\"],[14,1,\\\"quickTableFilter\\\"],[14,2,\\\"search\\\"],[14,\\\"aria-describedby\\\",\\\"emailHelp\\\"],[15,2,[36,0]],[15,\\\"onchange\\\",[28,[37,1],[[30,0],\\\"updateProperty\\\",\\\"search\\\"],null]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,0],[14,5,\\\"margin-bottom: 15px;\\\"],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Date\\\"],[13],[10,0],[14,0,\\\"input-group\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[15,2,[36,2]],[15,\\\"onchange\\\",[28,[37,1],[[30,0],\\\"updateProperty\\\",\\\"startDate\\\"],null]],[14,1,\\\"startRangeDateComponent\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[15,2,[36,3]],[15,\\\"onchange\\\",[28,[37,1],[[30,0],\\\"updateProperty\\\",\\\"endDate\\\"],null]],[14,1,\\\"endRangeDateComponent\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[10,0],[14,5,\\\"margin-top: 10px;\\\"],[12],[10,1],[14,0,\\\"input-group-btn\\\"],[12],[11,\\\"button\\\"],[24,5,\\\"margin-right: 5px;\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,1],[[30,0],\\\"search\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Search\\\"],[13],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,1],[[30,0],\\\"reset\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset\\\"],[13],[13],[13]],[],false,[\\\"search\\\",\\\"action\\\",\\\"startDate\\\",\\\"endDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/filter-text-input-log-viewer.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"nz4Uy21x\",\"block\":\"[[[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Search for an instrument\\\"],[13],[10,0],[14,0,\\\"input-group\\\"],[12],[10,\\\"input\\\"],[14,1,\\\"quickTableFilter\\\"],[14,\\\"aria-describedby\\\",\\\"emailHelp\\\"],[14,\\\"placeholder\\\",\\\"What?\\\"],[15,2,[36,0]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[10,1],[14,0,\\\"input-group-btn\\\"],[12],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,1],[[30,0],\\\"updateProperty\\\",\\\"searchValue\\\",[33,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Search\\\"],[13],[13],[13],[13]],[],false,[\\\"searchValue\\\",\\\"action\\\",\\\"mut\\\",\\\"value\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/filter-text-input.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"flN1vx3f\",\"block\":\"[[[41,[28,[37,1],[[30,1],\\\"15\\\"],null],[[[1,[28,[35,2],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],null]],[\\\"@instrumentType\\\",\\\"@selected\\\",\\\"@instrumentId\\\"],false,[\\\"if\\\",\\\"eq\\\",\\\"vibe/frequency-chart-dropdown\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/frequency-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"qcOcQcrD\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],50],null],[[[1,\\\"      50\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],300],null],[[[1,\\\"      300\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],100],null],[[[1,\\\"      100\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],10],null],[[[1,\\\"      10\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],1],null],[[[1,\\\"      All\\\\n\\\"]],[]],[[[1,\\\"      100\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"display_records\\\"],[300]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"300\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"display_records\\\"],[100]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"100\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"display_records\\\"],[50]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"50\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"display_records\\\"],[10]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"10\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"display_records\\\"],[1]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"All\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@display_records\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/frequency-display-records-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"0dD8NDbt\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"alertGatewayListError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to delete an alert.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[33,1]],[[[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Gateway ID\\\",\\\"gateway.id\\\",[33,3],[30,1]]]]]],[]],null],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Metric\\\",\\\"metric\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Direction\\\",\\\"direction\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Value\\\",\\\"value\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Severity\\\",\\\"severity\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Response\\\",\\\"response\\\",[33,3],[30,1]]]]],[1,[28,[35,2],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Status\\\",\\\"isTriggered\\\",[33,3],[30,1]]]]],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,4],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[33,8]],null]],null],null,[[[41,[30,2,[\\\"isActive\\\"]],[[[41,[30,2,[\\\"isTriggered\\\"]],[[[10,\\\"tr\\\"],[14,0,\\\"alertLow\\\"],[12],[41,[51,[33,1]],[[[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-gateway\\\",[30,2,[\\\"gateway\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,2,[\\\"gateway\\\",\\\"id\\\"]]]],[]]]]],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"metric\\\"]],\\\"VOLT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Volt\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"metric\\\"]],\\\"RSSI\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"RSSI\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"metric\\\"]],\\\"FW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"FW Version\\\"],[13]],[]],null],[41,[28,[37,12],[[30,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\">=\\\"],[13]],[]],null],[41,[28,[37,12],[[30,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"<=\\\"],[13]],[]],null],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"value\\\"]]],[13],[41,[28,[37,11],[[30,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Low\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"High\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"VP Display\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send Email\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send SMS Msg\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Trigger Alarm\\\"],[13]],[]],null],[41,[30,2,[\\\"isActive\\\"]],[[[41,[30,2,[\\\"isTriggered\\\"]],[[[10,\\\"td\\\"],[12],[1,\\\"ALERT\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Active\\\"],[13]],[]]]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Inactive\\\"],[13]],[]]],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,13],[[28,[37,14],[[33,15],[30,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"All associated data\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"will be deleted too!\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,4],[[30,0],\\\"remove\\\",[33,16,[\\\"gateways\\\"]],[30,2]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-alert\\\",[30,2,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[8,[39,5],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null]],[]]]]],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[41,[51,[33,1]],[[[10,\\\"td\\\"],[12],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"metric\\\"]],\\\"VOLT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Volt\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"metric\\\"]],\\\"RSSI\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"RSSI\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"metric\\\"]],\\\"FW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"FW Version\\\"],[13]],[]],null],[41,[28,[37,12],[[30,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\">=\\\"],[13]],[]],null],[41,[28,[37,12],[[30,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"<=\\\"],[13]],[]],null],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"value\\\"]]],[13],[41,[28,[37,11],[[30,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Low\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"High\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"VP Display\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send Email\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Send SMS Msg\\\"],[13]],[]],null],[41,[28,[37,11],[[30,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"td\\\"],[12],[1,\\\"Trigger Alarm\\\"],[13]],[]],null],[41,[30,2,[\\\"isActive\\\"]],[[[41,[30,2,[\\\"isTriggered\\\"]],[[[10,\\\"td\\\"],[12],[1,\\\"ALERT\\\"],[13]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Active\\\"],[13]],[]]]],[]],[[[10,\\\"td\\\"],[12],[1,\\\"Inactive\\\"],[13]],[]]],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,13],[[28,[37,14],[[33,15],[30,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"All associated data\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"will be deleted too!\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,4],[[30,0],\\\"remove\\\",[33,16,[\\\"gateways\\\"]],[30,2]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[10,\\\"td\\\"],[12],[6,[39,10],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-gateway-alert\\\",[30,2,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[8,[39,5],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null]],[]]]]],[13],[13]],[]]]],[]],null]],[2]],null],[13],[13]],[\\\"@sortBy\\\",\\\"alertRow\\\"],false,[\\\"unless\\\",\\\"isGW\\\",\\\"sortable-table-header\\\",\\\"ordering\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"each\\\",\\\"-track-array\\\",\\\"processedGatewayAlerts\\\",\\\"if\\\",\\\"link-to\\\",\\\"is-equal\\\",\\\"eq\\\",\\\"active-class\\\",\\\"get\\\",\\\"isRowDeleteConfirmationDialog\\\",\\\"model\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/gateway-alerts-list.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Jc3xP69c\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"gatewayChildListError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to delete a gateway.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Node\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Current\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Name\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Type\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Level\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Project\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Location\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Action\\\"],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,1],[[28,[37,1],[[30,1]],null]],null],null,[[[10,\\\"tr\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[6,[39,2],null,[[\\\"query\\\",\\\"route\\\",\\\"model\\\"],[[28,[37,3],null,[[\\\"parentGateway\\\"],[[33,4,[\\\"id\\\"]]]]],\\\"edit-gateway\\\",[30,2,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,2,[\\\"id\\\"]]]],[]]]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[41,[28,[37,6],[[30,2,[\\\"currentParent\\\"]],[33,4,[\\\"id\\\"]]],null],[[[8,[39,7],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null]],[]],[[[8,[39,7],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null]],[]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[1,[30,2,[\\\"name\\\"]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[1,[30,2,[\\\"gatewayType\\\",\\\"title\\\"]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[1,[30,2,[\\\"level\\\"]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[1,[30,2,[\\\"project\\\"]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[1,[30,2,[\\\"location\\\"]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,8],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,7],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,9],[[28,[37,10],[[33,11],[30,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"All associated data\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"will be deleted too!\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,8],[[30,0],\\\"remove\\\",[33,12,[\\\"gateway\\\"]],[30,2]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,8],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[13]],[2]],null],[13],[13]],[\\\"@gatewayChildren\\\",\\\"childGateway\\\"],false,[\\\"each\\\",\\\"-track-array\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"gateway\\\",\\\"if\\\",\\\"eq\\\",\\\"fa-icon\\\",\\\"action\\\",\\\"active-class\\\",\\\"get\\\",\\\"isRowDeleteConfirmationDialog\\\",\\\"model\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/gateway-list-children.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"EdWoeK+/\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"gatewayListError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to delete a gateway.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[41,[30,1],[[[10,\\\"th\\\"],[12],[1,\\\"Expand\\\"],[13]],[]],null],[1,[28,[35,1],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Gateway ID\\\",\\\"id\\\",[33,2],[33,3]]]]],[1,[28,[35,1],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Destroyed\\\",\\\"active\\\",[33,2],[33,3]]]]],[1,[28,[35,1],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Name\\\",\\\"name\\\",[33,2],[33,3]]]]],[1,[28,[35,1],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Type\\\",\\\"gatewayType\\\",[33,2],[33,3]]]]],[1,[28,[35,1],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Level\\\",\\\"level\\\",[33,2],[33,3]]]]],[1,[28,[35,1],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Project\\\",\\\"project\\\",[33,2],[33,3]]]]],[1,[28,[35,1],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Location\\\",\\\"location\\\",[33,2],[33,3]]]]],[41,[33,4],[[[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,5],[[30,0],\\\"createGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13]],[]],null],[41,[28,[37,7],[[33,4]],null],[[[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[13]],[]],null],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[10,\\\"tr\\\"],[12],[41,[30,1],[[[10,\\\"td\\\"],[12],[41,[30,2,[\\\"hasChildren\\\"]],[[[10,0],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item centered-container\\\"],[12],[10,1],[15,\\\"onclick\\\",[28,[37,5],[[30,0],\\\"toggleExpandedRow\\\",[30,2,[\\\"id\\\"]]],null]],[14,0,\\\"add-new centered-span\\\"],[12],[41,[28,[37,11],[[33,12],[30,2,[\\\"id\\\"]]],null],[[[8,[39,6],null,[[\\\"@icon\\\"],[\\\"minus\\\"]],null],[1,\\\" Nodes\\\"]],[]],null],[41,[51,[28,[37,11],[[33,12],[30,2,[\\\"id\\\"]]],null]],[[[8,[39,6],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" Nodes\\\"]],[]],null],[13],[13]],[]],null],[13]],[]],null],[10,\\\"td\\\"],[12],[6,[39,14],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-gateway\\\",[30,2,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,2,[\\\"id\\\"]]]],[]]]]],[13],[41,[28,[37,7],[[30,2,[\\\"active\\\"]]],null],[[[10,\\\"td\\\"],[14,5,\\\"display: flex; justify-content: center; margin-top: 2px; vertical-align: top;\\\"],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"check-square\\\"]],null],[13]],[]],null],[41,[51,[28,[37,7],[[30,2,[\\\"active\\\"]]],null]],[[[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13]],[]],null],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"name\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"gatewayType\\\",\\\"title\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"level\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"project\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"location\\\"]]],[13],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,5],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,15],[[28,[37,11],[[33,16],[30,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"Any associated nodes will be \\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"sent to the orphaned nodes gateway.\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,5],[[30,0],\\\"remove\\\",[33,17,[\\\"gateway\\\"]],[30,2]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,5],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[13],[41,[28,[37,11],[[33,12],[30,2,[\\\"id\\\"]]],null],[[[10,\\\"tr\\\"],[14,0,\\\"expandable-row\\\"],[12],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[12],[1,[28,[35,18],null,[[\\\"gatewayChildren\\\",\\\"gateway\\\"],[[30,2,[\\\"children\\\"]],[30,2]]]]],[13],[13]],[]],null]],[2]],null],[13],[13]],[\\\"@showExpandColumn\\\",\\\"tableRow\\\"],false,[\\\"if\\\",\\\"sortable-table-header\\\",\\\"ordering\\\",\\\"sortBy\\\",\\\"licenceIsValid\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"not\\\",\\\"each\\\",\\\"-track-array\\\",\\\"gateway\\\",\\\"get\\\",\\\"isRowExpanded\\\",\\\"unless\\\",\\\"link-to\\\",\\\"active-class\\\",\\\"isRowDeleteConfirmationDialog\\\",\\\"model\\\",\\\"gateway-list-children\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/gateway-list.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HHApyEvN\",\"block\":\"[[],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/gateway-selector.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"r9T33rJ6\",\"block\":\"[[[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[12],[10,3],[14,5,\\\"font-size: 1rem; color: black; font-family: Trebuchet MS\\\"],[14,6,\\\"/alerts/\\\"],[14,\\\"title\\\",\\\"List of all alerts\\\"],[12],[1,\\\"Total:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,5,\\\"margin-left: 5px; font-size: 1rem;\\\"],[12],[1,[30,1,[\\\"stats\\\",\\\"total\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"vertical-align:middle\\\"],[12],[10,0],[14,1,\\\"circleSmall\\\"],[14,5,\\\"margin-left: 2rem; margin-right: 3px; margin-top: 2px;\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[10,3],[14,5,\\\"font-size: 1rem; color: black; font-family: Trebuchet MS\\\"],[14,6,\\\"/alerts/?search=active\\\"],[14,\\\"title\\\",\\\"List of active alerts\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,5,\\\"margin-left: 5px; font-size: 1rem;=\\\"],[12],[1,[30,1,[\\\"stats\\\",\\\"active\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"padding-left: 2rem\\\"],[12],[10,0],[14,1,\\\"circle1\\\"],[14,5,\\\"margin-top: 4px; position: relative; top:19px; right: 8px;\\\"],[12],[13],[10,0],[14,1,\\\"circle2\\\"],[14,5,\\\"margin-top: 4px; position: relative; top:16px; right: 14px;\\\"],[12],[13],[10,0],[14,1,\\\"circle3\\\"],[14,5,\\\"margin-top: 4px; position: relative;\\\"],[12],[13],[13],[13],[10,\\\"td\\\"],[12],[10,3],[14,5,\\\"font-size: 1rem; color: black; font-family: Trebuchet MS\\\"],[14,6,\\\"/alerts/?search=triggered\\\"],[14,\\\"title\\\",\\\"List of triggered alerts\\\"],[12],[1,\\\"Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,5,\\\"margin-left: 5px; font-size: 1rem;\\\"],[12],[1,[30,1,[\\\"stats\\\",\\\"alert\\\"]]],[13],[13],[13],[13]],[\\\"@model\\\"],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/getTotalsAlerts.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ZW01mX6R\",\"block\":\"[[[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[12],[10,3],[14,5,\\\"font-size: 1rem; color: black; font-family: Trebuchet MS\\\"],[14,6,\\\"/gateway\\\"],[14,\\\"title\\\",\\\"List of all Gateways\\\"],[12],[1,\\\"Total:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,5,\\\"margin-left: 5px; font-size: 1rem;\\\"],[12],[1,[30,1,[\\\"total\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"vertical-align:middle\\\"],[12],[10,0],[14,1,\\\"circleSmall\\\"],[14,5,\\\"margin-left: 2rem; margin-right: 3px; margin-top: 2px;\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[10,3],[14,5,\\\"font-size: 1rem; color: black; font-family: Trebuchet MS\\\"],[14,6,\\\"/gateway/?search=active\\\"],[14,\\\"title\\\",\\\"List of active gateways\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,5,\\\"margin-left: 5px; font-size: 1rem;=\\\"],[12],[1,[30,1,[\\\"active\\\"]]],[13],[13],[13],[13]],[\\\"@model\\\"],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/getTotalsGateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"oyW62NnL\",\"block\":\"[[[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[12],[10,3],[14,5,\\\"font-size: 1rem; color: black; font-family: Trebuchet MS\\\"],[14,6,\\\"/instruments\\\"],[14,\\\"title\\\",\\\"List of all instruments\\\"],[12],[1,\\\"Total:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,5,\\\"margin-left: 5px; font-size: 1rem;\\\"],[12],[1,[30,1,[\\\"total\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"vertical-align:middle\\\"],[12],[10,0],[14,1,\\\"circleSmall\\\"],[14,5,\\\"margin-left: 2rem; margin-right: 3px; margin-top: 2px;\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[10,3],[14,5,\\\"font-size: 1rem; color: black; font-family: Trebuchet MS\\\"],[14,6,\\\"/instruments/?search=active\\\"],[14,\\\"title\\\",\\\"List of active instruments\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,5,\\\"margin-left: 5px; font-size: 1rem;=\\\"],[12],[1,[30,1,[\\\"active\\\"]]],[13],[13],[13],[13]],[\\\"@model\\\"],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/getTotalsInstruments.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"U/svyj7P\",\"block\":\"[[[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[12],[10,3],[14,5,\\\"font-size: 1rem; color: black; font-family: Trebuchet MS\\\"],[14,6,\\\"/log-viewer\\\"],[14,\\\"title\\\",\\\"List of all Logs\\\"],[12],[1,\\\"Total:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,5,\\\"margin-left: 5px; font-size: 1rem;\\\"],[12],[1,[30,1,[\\\"total\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"vertical-align:middle\\\"],[12],[10,0],[14,1,\\\"circleSmall\\\"],[14,5,\\\"margin-left: 2rem; margin-right: 3px; margin-top: 2px;\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[10,3],[14,5,\\\"font-size: 1rem; color: black; font-family: Trebuchet MS\\\"],[14,6,\\\"/log-viewers/?search=active\\\"],[14,\\\"title\\\",\\\"List of Logs\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,5,\\\"margin-left: 5px; font-size: 1rem;=\\\"],[12],[1,[30,1,[\\\"active\\\"]]],[13],[13],[13],[13]],[\\\"@model\\\"],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/getTotalsLogViewers.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"NxLMuexK\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the newAlertObject.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,19]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Microstrain\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"µε\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"µε/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"uG/7y0/m\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"f0os8VZR\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"cEzOlWRa\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,14],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,15]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[44,[[28,[37,18],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Microstrain\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Microstrain\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],null]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"µε\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"µε/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"dCvEnb2l\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,6],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"lEDEdsTK\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"1WFqtCmD\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"XTwt88Dk\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temp.\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1]],null]],null],null,[[[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,13],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,14],[[30,7,[\\\"id\\\"]],[28,[37,15],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"hid/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"RP4t2mJE\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"xoOSIH1A\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"microstrain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/hid/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"UBl+7IAu\",\"block\":\"[[[41,[30,1],[[[1,\\\"    \\\"],[8,[39,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[8,[30,2,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[33,2],[[[1,\\\"                \\\"],[1,[34,2]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                Select\\\\n\\\"]],[]]],[1,\\\"            \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n        \\\"],[8,[30,2,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[42,[28,[37,4],[[28,[37,4],[[30,4]],null]],null],null,[[[1,\\\"                \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                    \\\"],[10,3],[14,0,\\\"dropdown-item\\\"],[15,\\\"onclick\\\",[28,[37,5],[[30,0],\\\"setID\\\",[30,5],[30,2,[\\\"closeDropdown\\\"]]],null]],[12],[1,[30,5,[\\\"id\\\"]]],[13],[1,\\\"\\\\n                \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[5]],null],[1,\\\"        \\\"]],[3]]]]],[1,\\\"\\\\n    \\\"]],[2]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"    \\\"],[1,[30,6,[\\\"id\\\"]]],[1,\\\"\\\\n\\\"]],[]]]],[\\\"@isEditable\\\",\\\"dd\\\",\\\"ddm\\\",\\\"@instruments\\\",\\\"instrument\\\",\\\"@instrument\\\"],false,[\\\"if\\\",\\\"bs-dropdown\\\",\\\"inst_id\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/instrument-drop-down.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"qqDd4zPg\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"instrumentListError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to delete an instrument.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[1,[28,[35,0],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Instrument ID\\\",\\\"id\\\",[33,1],[30,1]]]]],[1,[28,[35,0],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Name\\\",\\\"name\\\",[33,1],[30,1]]]]],[1,[28,[35,0],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Type\\\",\\\"instrumentType\\\",[33,1],[30,1]]]]],[10,\\\"th\\\"],[12],[1,\\\"Level\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Project\\\"],[13],[1,[28,[35,0],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Location\\\",\\\"location\\\",[33,1],[30,1]]]]],[41,[33,3],[[[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,4],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13]],[]],null],[41,[28,[37,6],[[33,3]],null],[[[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[13]],[]],null],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,8],[[28,[37,8],[[30,2]],null]],null],null,[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[6,[39,9],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,3,[\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,[30,3,[\\\"id\\\"]]]],[]]]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"name\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"instrumentType\\\",\\\"title\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[28,[35,10],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,4],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,3,[\\\"level\\\"]],[30,3],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[10,\\\"td\\\"],[12],[1,[28,[35,10],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,5],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,3,[\\\"project\\\"]],[30,3],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"location\\\"]]],[13],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[41,[51,[28,[37,12],[[30,3,[\\\"anchors\\\"]]],null]],[[[10,1],[14,0,\\\"crud warning\\\"],[12],[8,[39,13],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Instrument anchors are not set!\\\",\\\"top\\\"]],null],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"exclamation-triangle\\\"]],null],[13]],[]],null],[41,[51,[28,[37,14],[[30,3]],null]],[[[10,1],[14,0,\\\"crud warning\\\"],[12],[8,[39,13],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Instrument Stroke Length is not set!\\\",\\\"top\\\"]],null],[8,[39,5],null,[[\\\"@icon\\\"],[\\\"exclamation-triangle\\\"]],null],[13]],[]],null],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,15],[[28,[37,16],[[33,17],[30,3,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"All associated data\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"will be deleted too!\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,4],[[30,0],\\\"remove\\\",[33,18,[\\\"instruments\\\"]],[30,3]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,4],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[13]],[3]],null],[13],[13]],[\\\"@sortBy\\\",\\\"@instruments\\\",\\\"tableRow\\\",\\\"@levelLookupList\\\",\\\"@projectLookupList\\\"],false,[\\\"sortable-table-header\\\",\\\"ordering\\\",\\\"if\\\",\\\"licenceIsValid\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"not\\\",\\\"each\\\",\\\"-track-array\\\",\\\"link-to\\\",\\\"single-save-lookup\\\",\\\"unless\\\",\\\"is-instrument-anchors-set\\\",\\\"bs-tooltip\\\",\\\"is-stroke-length-required-and-set\\\",\\\"active-class\\\",\\\"get\\\",\\\"isRowDeleteConfirmationDialog\\\",\\\"model\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/instruments-list.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"BAEiF4VV\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[12],[1,\\\"Upload licence key file\\\"],[13],[10,\\\"th\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"save-new\\\"],[4,[38,2],[[30,0],\\\"importKey\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Upload\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newKeyFile\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"File:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isSubmitting\\\",\\\"errorHappened\\\"],[[33,4],\\\"errorHappened\\\"]]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"width\\\",\\\"50px\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[12],[13],[13],[13],[13],[41,[33,5],[[[10,0],[14,0,\\\"pulse_loader\\\"],[12],[13]],[]],null],[13],[13],[41,[33,6],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error importing the licence key data.\\\"],[13],[13],[13]],[]],null],[13],[13]],[]],null]],[],false,[\\\"if\\\",\\\"isVisibleImportKeyForm\\\",\\\"action\\\",\\\"key-upload\\\",\\\"isSubmitting\\\",\\\"loading\\\",\\\"isVisibleError\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/key-import-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"l+t5+WxH\",\"block\":\"[[[18,1,null]],[\\\"&default\\\"],false,[\\\"yield\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/key-upload.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"09d7JK0X\",\"block\":\"[[[1,[28,[35,0],[\\\"Settings\\\"],null]],[46,[28,[37,2],null,null],null,null,null],[10,0],[14,0,\\\"container-fluid\\\"],[12],[10,0],[14,0,\\\"mt-1\\\"],[12],[10,\\\"h3\\\"],[12],[1,\\\"Log Viewer\\\"],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table settings-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"ID\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Creation Date/Time\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Error Type\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Device Type\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Device ID\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Message\\\"],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,4],[[28,[37,4],[[30,1]],null]],null],null,[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[33,5,[\\\"id\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,2,[\\\"id\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,2,[\\\"creationDatetime\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"creationDatetime\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[28,[35,6],[[30,2,[\\\"creationDatetime\\\"]],\\\"DD-MM-YYYY HH:mm\\\"],null]],[13],[13],[10,\\\"td\\\"],[12],[1,[28,[35,7],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,2,[\\\"errorType\\\"]],[30,2],\\\"value\\\",\\\"Error Type\\\",\\\"id\\\",\\\"errorType\\\",false]]]],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,2,[\\\"deviceType\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"type\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,2,[\\\"deviceType\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,2,[\\\"deviceId\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"type\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,2,[\\\"deviceId\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,2,[\\\"message\\\"]]]]],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"type\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,2,[\\\"message\\\"]]],[13],[13],[13]],[2]],null],[13],[13],[10,0],[14,0,\\\"pb-1\\\"],[12],[13],[13]],[\\\"@logViewer\\\",\\\"log\\\",\\\"@errorTypeLookups\\\"],false,[\\\"page-title\\\",\\\"component\\\",\\\"-outlet\\\",\\\"each\\\",\\\"-track-array\\\",\\\"lookup\\\",\\\"moment-format\\\",\\\"single-save-lookup\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/log-viewer-list.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"PmvTF412\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,19]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"μ\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"μ/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"μ/day²\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"sBwv2tIF\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Stroke Length (μm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"strokeLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"strokeLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"4jkHvJUR\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"FzdBxHTx\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,\\\"title\\\",\\\"Target recipient for alert. Add cell number then click on link to find carrier network. \\\"],[24,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[24,0,\\\"col-12 col-form-label bold link\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,6],[[[6,[39,7],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,8],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,9],[33,6],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,15],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,16]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,17]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[44,[[28,[37,19],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,15],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,17]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],null]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"μ\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"μ/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"μ/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,20]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,21],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,22]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"newAlertObject\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ZagCm4ZA\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[41,[28,[37,4],[[33,5,[\\\"channelsNum\\\"]],2],null],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"sGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Spatial Graph\\\"],[13],[13]],[]],null]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,6],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,7],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,5,[\\\"id\\\"]],[33,5,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,5],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],[33,5,[\\\"east\\\"]],[33,5,[\\\"north\\\"]],[33,5,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"strokeLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stroke Length (μm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"strokeLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,5],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"gt\\\",\\\"instrument\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"s2vDtV7u\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HdQR4CRZ\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"mxF9DFwM\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New \\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,12]],null]],null],null,[[[1,[28,[35,13],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,14],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,15],[[30,7,[\\\"id\\\"]],[28,[37,16],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"pack/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"modifiedDisplacementData\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"yI4KHcXd\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"PMTViy9A\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"acceleration-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Acceleration\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/micro/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"dHs7bJxK\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"WARNING Before you add dExtos, make sure each of them have anchor information applied!\\\"],[13],[13],[13],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-bottom: 5rem; padding-bottom: 5rem;\\\"],[12],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-bottom: 5rem; padding-bottom: 5rem;\\\"],[12],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,5,\\\"font-weight:bold !important;\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"dExto(s): \\\"],[13],[13],[10,\\\"td\\\"],[12],[10,0],[14,0,\\\"col-13\\\"],[12],[1,[28,[35,4],null,[[\\\"content\\\",\\\"on-search\\\",\\\"id\\\",\\\"selected\\\",\\\"sortBy\\\",\\\"prompt\\\",\\\"searchPrompt\\\",\\\"isClearable\\\",\\\"on-change\\\"],[[33,5],[28,[37,1],[[30,0],\\\"onDropdownSearch\\\"],null],\\\"selectedID\\\",\\\"\\\",\\\"title\\\",\\\"Select IDs\\\",\\\"Filter\\\",true,[28,[37,1],[[30,0],\\\"setID\\\"],null]]]]],[13],[13],[10,\\\"td\\\"],[14,1,\\\"add-exto\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"searchForExto\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Search \\\"],[13],[13],[41,[33,7],[[[10,\\\"td\\\"],[12],[10,0],[14,5,\\\"width: auto; margin-left: 10px; margin-bottom: 10px;\\\"],[14,0,\\\"pulse_loader \\\"],[12],[13],[13]],[]],null],[10,\\\"td\\\"],[14,5,\\\"padding-bottom: 5rem;\\\"],[12],[13],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Selected dExtos:\\\"],[13],[13],[10,\\\"td\\\"],[12],[1,[33,8,[\\\"length\\\"]]],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"of 2.\\\"],[13],[13],[13],[13],[13],[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[1,[28,[35,9],null,[[\\\"dExtoList\\\"],[[33,8]]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"resetInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Reset\\\"],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"zeroTimestamp\\\",\\\"searchable-select\\\",\\\"instruments\\\",\\\"if\\\",\\\"loading\\\",\\\"selectedInstruments\\\",\\\"selected-dExtos\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/multiDExto/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"7fSUYIfb\",\"block\":\"[[[41,[28,[37,1],[[30,1],0],null],[[[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,3],[[28,[37,3],[[28,[37,4],[[33,5],[33,6]],null]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,2]],[13]],[2,3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[13]],[]],null],[10,\\\"tbody\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap\\\"],[12],[1,[28,[35,7],[[33,8,[\\\"id\\\"]],\\\"YYYY-MM-DD HH:mm:ss\\\"],null]],[13],[42,[28,[37,3],[[28,[37,3],[[33,9]],null]],null],null,[[[10,\\\"td\\\"],[14,5,\\\"width: 65px;\\\"],[12],[1,[30,4]],[13]],[4,5]],null],[13]],[\\\"@key\\\",\\\"anchor\\\",\\\"index\\\",\\\"key\\\",\\\"value\\\"],false,[\\\"if\\\",\\\"is-equal\\\",\\\"each\\\",\\\"-track-array\\\",\\\"arrayAt\\\",\\\"anchorDistances\\\",\\\"slaveExtoIndex\\\",\\\"moment-format\\\",\\\"displacementValueObject\\\",\\\"getSpecificRowData\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/multiDExto/dExto-children-table-row.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"XQzeMSwK\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"gatewayChildListError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to delete a gateway.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[42,[28,[37,1],[[28,[37,1],[[30,1]],null]],null],null,[[[1,[28,[35,2],null,[[\\\"slaveExtoIndex\\\",\\\"anchorDistances\\\",\\\"key\\\",\\\"multiExtoInstr\\\",\\\"currentExtoInstr\\\",\\\"temperatureValuesModel\\\",\\\"displacementValueObject\\\"],[[30,4],[33,3],[30,3],[30,5],[30,6],[30,7],[30,2]]]]]],[2,3]],null],[13]],[\\\"@displaceData\\\",\\\"displacementObj\\\",\\\"index\\\",\\\"@slaveExtoIndex\\\",\\\"@instrument\\\",\\\"@currentExtoInstr\\\",\\\"@temperatureData\\\"],false,[\\\"each\\\",\\\"-track-array\\\",\\\"multiDExto/dExto-children-table-row\\\",\\\"anchorDistances\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/multiDExto/dExto-children.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"4Gmn/qa+\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[12],[10,\\\"hr\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,2],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\",\\\"id\\\"],[[33,3],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null],\\\"newInstrumentObjectName\\\"]]]],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-bottom: 5rem; padding-bottom: 5rem;\\\"],[12],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,3],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Selected dExtos:\\\"],[13],[13],[10,\\\"td\\\"],[12],[1,[33,5,[\\\"length\\\"]]],[13],[10,\\\"td\\\"],[12],[1,\\\" of 2. The dExtos are in order, starting from closest to the wall.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[1,[28,[35,6],null,[[\\\"dExtoList\\\"],[[33,5]]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-input\\\",\\\"instrument\\\",\\\"single-save-datetime-picker\\\",\\\"selectedInstruments\\\",\\\"selected-dExtos\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/multiDExto/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"b3i9W39b\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"600\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/multiDExto/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"tJsWCMfR\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Index\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"dExto ID\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Head At \\\"],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"width:20px;\\\"],[12],[1,[30,3,[\\\"id\\\"]]],[13],[10,\\\"td\\\"],[12],[6,[39,11],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,3,[\\\"instrumentID\\\"]]]],[[\\\"default\\\"],[[[[1,[30,3,[\\\"instrumentID\\\"]]]],[]]]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"position\\\"]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[12],[1,[28,[35,12],null,[[\\\"slaveExtoIndex\\\",\\\"anchorDistances\\\",\\\"temperatureData\\\",\\\"displaceData\\\",\\\"currentExtoInstr\\\",\\\"instrument\\\"],[[30,4],[33,6],[30,5],[30,1],[30,3],[30,2]]]]],[13],[13]],[3,4]],null],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"exto\\\",\\\"index\\\",\\\"@temperatureData\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"pack/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"selectedInstruments\\\",\\\"link-to\\\",\\\"multiDExto/dExto-children\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/multiDExto/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"I2oCpYhA\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"acceleration-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Acceleration\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/multiDExto/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"19PlMTvg\",\"block\":\"[[[10,0],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,\\\"\\\\n        \\\"],[10,3],[14,0,\\\"logo\\\"],[14,6,\\\"/\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"img\\\"],[14,\\\"width\\\",\\\"50%\\\"],[14,\\\"src\\\",\\\"/assets/images/logo.png\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,\\\"img\\\"],[14,0,\\\"right\\\"],[14,\\\"height\\\",\\\"80px\\\"],[14,\\\"src\\\",\\\"/assets/images/customer_logo/logo.png\\\"],[14,\\\"onerror\\\",\\\"this.onerror=null;this.src='/assets/images/nologo.png';\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[12],[1,\\\"\\\\n            \\\"],[8,[30,1,[\\\"toggle\\\"]],null,null,null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[8,[30,1,[\\\"content\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n            \\\"],[8,[30,1,[\\\"nav\\\"]],[[24,0,\\\"navFull\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n            \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[30,2,[\\\"linkTo\\\"]],null,[[\\\"@route\\\"],[\\\"index\\\"]],[[\\\"default\\\"],[[[[8,[39,1],null,[[\\\"@icon\\\"],[\\\"globe\\\"]],null],[1,\\\" Dashboard\\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n            \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[30,2,[\\\"linkTo\\\"]],null,[[\\\"@route\\\"],[\\\"instruments\\\"]],[[\\\"default\\\"],[[[[8,[39,1],null,[[\\\"@icon\\\"],[\\\"ruler\\\"]],null],[1,\\\" Instruments\\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n            \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[30,2,[\\\"linkTo\\\"]],null,[[\\\"@route\\\"],[\\\"alerts\\\"]],[[\\\"default\\\"],[[[[8,[39,1],null,[[\\\"@icon\\\"],[\\\"bell\\\"]],null],[1,\\\" Alerts\\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n            \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[30,2,[\\\"linkTo\\\"]],null,[[\\\"@route\\\"],[\\\"gateway\\\"]],[[\\\"default\\\"],[[[[8,[39,1],null,[[\\\"@icon\\\"],[\\\"medkit\\\"]],null],[1,\\\" Health\\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n\\\\n            \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[30,2,[\\\"linkTo\\\"]],null,[[\\\"@route\\\"],[\\\"seismic-events\\\"]],[[\\\"default\\\"],[[[[8,[39,1],null,[[\\\"@icon\\\"],[\\\"thumbtack\\\"]],null],[1,\\\" Seismic events\\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n            \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[30,2,[\\\"linkTo\\\"]],null,[[\\\"@route\\\"],[\\\"blast-events\\\"]],[[\\\"default\\\"],[[[[8,[39,1],null,[[\\\"@icon\\\"],[\\\"bomb\\\"]],null],[1,\\\" Blast events\\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n            \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[30,2,[\\\"linkTo\\\"]],null,[[\\\"@route\\\"],[\\\"vibration-events\\\"]],[[\\\"default\\\"],[[[[8,[39,1],null,[[\\\"@icon\\\"],[\\\"wave-square\\\"]],null],[1,\\\" BluVibe events\\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n            \\\"],[8,[30,2,[\\\"item\\\"]],[[24,5,\\\"margin-left: auto;\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                \\\"],[8,[30,2,[\\\"linkTo\\\"]],null,[[\\\"@route\\\"],[\\\"settings\\\"]],[[\\\"default\\\"],[[[[8,[39,1],null,[[\\\"@icon\\\"],[\\\"cog\\\"]],null],[1,\\\" Settings\\\"]],[]]]]],[1,\\\"\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"session\\\",\\\"isAuthenticated\\\"]],[[[1,\\\"                \\\"],[8,[30,2,[\\\"dropdown\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                    \\\"],[8,[30,3,[\\\"toggle\\\"]],null,null,[[\\\"default\\\"],[[[[1,[34,3]],[1,\\\" \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n                    \\\"],[8,[30,3,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                        \\\"],[8,[30,4,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n                            \\\"],[11,3],[24,6,\\\"/admin\\\"],[24,0,\\\"nav-link custom-link\\\"],[24,\\\"target\\\",\\\"_blank\\\"],[4,[38,4],[\\\"click\\\",[30,0,[\\\"navigateToAdmin\\\"]]],null],[12],[1,\\\"\\\\n                                \\\"],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"users\\\"]],null],[1,\\\" Manage Users\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"]],[]]]]],[1,\\\" \\\\n                        \\\"],[8,[30,4,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[11,3],[24,0,\\\"nav-link custom-link\\\"],[4,[38,5],[[30,0],\\\"logout\\\"],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"sign-out-alt\\\"]],null],[1,\\\" Logout\\\"],[13]],[]]]]],[1,\\\"\\\\n                    \\\"]],[4]]]]],[1,\\\"\\\\n                \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"            \\\"]],[2]]]]],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"]],[1]]]]],[1,\\\"\\\\n    \\\"],[10,0],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,7],[[28,[37,7],[[30,0,[\\\"tasks\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[8,[39,8],null,[[\\\"@taskName\\\",\\\"@percentage\\\"],[[30,5,[\\\"name\\\"]],[30,5,[\\\"percentage\\\"]]]],null],[1,\\\"\\\\n\\\"]],[5]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"],[41,[33,9],[[[41,false,[[[1,\\\"            \\\"],[10,0],[14,0,\\\"container-fluid error\\\"],[12],[1,\\\"\\\\n                \\\"],[10,3],[12],[1,\\\"\\\\n                    Your licence does not include this module.\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" If you would like this module, please contact YieldPoint for further details.\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" 700 Progress Ave.\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" Kingston, ON. K7M 4W9\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" 1 613-531-4722\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" \\\"],[10,3],[14,6,\\\"mailto:sales.yp@epiroc.com\\\"],[12],[1,\\\"sales.yp@epiroc.com\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[51,[33,11]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"container-fluid error\\\"],[12],[1,\\\"\\\\n                \\\"],[10,3],[12],[1,\\\"\\\\n                    There are more active instruments than your licence allows for.\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" Please disable any outdated instruments, update your licence \\\"],[6,[39,12],null,[[\\\"route\\\"],[\\\"keys\\\"]],[[\\\"default\\\"],[[[[1,\\\"here\\\"]],[]]]]],[1,\\\" or contact YieldPoint to increase your limit.\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" 700 Progress Ave.\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" Kingston, ON. K7M 4W9\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" 1 613-531-4722\\\\n                    \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" \\\"],[10,3],[14,6,\\\"mailto:sales.yp@epiroc.com\\\"],[12],[1,\\\"sales.yp@epiroc.com\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"container-fluid error\\\"],[12],[1,\\\"\\\\n            \\\"],[10,3],[12],[1,\\\"\\\\n                You currently have no active licence.\\\\n                \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" Please install a new licence \\\"],[6,[39,12],null,[[\\\"route\\\"],[\\\"keys\\\"]],[[\\\"default\\\"],[[[[1,\\\"here\\\"]],[]]]]],[1,\\\" or contact YieldPoint for further details.\\\\n                \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" 700 Progress Ave.\\\\n                \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" Kingston, ON. K7M 4W9\\\\n                \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" 1 613-531-4722\\\\n                \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\" \\\"],[10,3],[14,6,\\\"mailto:sales.yp@epiroc.com\\\"],[12],[1,\\\"sales.yp@epiroc.com\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[13]],[\\\"navbar\\\",\\\"nav\\\",\\\"dd\\\",\\\"ddm\\\",\\\"task\\\"],false,[\\\"bs-navbar\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"username\\\",\\\"on\\\",\\\"action\\\",\\\"each\\\",\\\"-track-array\\\",\\\"progress-bar\\\",\\\"isValid\\\",\\\"unless\\\",\\\"isWithinLimit\\\",\\\"link-to\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/navbar.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"45jFKsLz\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the newAlertObject.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"newAlertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"newAlertRepeat\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,8],true],null],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"newAlertInvert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,19]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"repeats\\\",\\\"repeatWindow\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"y22aysiN\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectParent\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Parent Gateway: \\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,0],null,[[\\\"content\\\",\\\"id\\\",\\\"selected\\\",\\\"sortBy\\\",\\\"prompt\\\",\\\"searchPrompt\\\",\\\"isClearable\\\",\\\"on-change\\\"],[[33,1],\\\"gatewaySelect\\\",\\\"\\\",\\\"title\\\",\\\"Gateway ID\\\",\\\"Filter\\\",true,[28,[37,2],[[30,0],\\\"setID\\\"],null]]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"project\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"project\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectProject\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"level\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"level\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectLevel\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[12],[1,\\\" \\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[12],[1,\\\" \\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[12],[1,\\\" \\\"],[13],[13],[10,\\\"td\\\"],[12],[10,1],[12],[1,\\\" \\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,3,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,3,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,4],[[33,3,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,2],[[30,0],\\\"createGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"searchable-select\\\",\\\"gateways\\\",\\\"action\\\",\\\"newGatewayObject\\\",\\\"mut\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/create-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"PFDNATgW\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temp.\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temp.\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"anchorDistances\\\",\\\"action\\\",\\\"gateway\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"gatewayValueObjectValues\\\",\\\"get\\\",\\\"newGatewayValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/create-new-raw-gateway-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"l8E8i0Vl\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"alertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"alertRepeat\\\"],[16,\\\"checked\\\",[33,2,[\\\"repeats\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"repeats\\\"]],true],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,10],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"alertInvert\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[44,[[28,[37,13],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,16]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Average\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,17]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"triggeredTimeText\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"l0ZEVnvf\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[12],[10,\\\"hr\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"h5\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectParent\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Current Parent Gateway: \\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,4],null,[[\\\"content\\\",\\\"selected\\\",\\\"id\\\",\\\"sortBy\\\",\\\"prompt\\\",\\\"searchPrompt\\\",\\\"isClearable\\\",\\\"on-change\\\"],[[33,5],[33,6],\\\"parentSelection\\\",\\\"title\\\",\\\"Gateway ID\\\",\\\"Filter\\\",false,[28,[37,0],[[30,0],\\\"setID\\\"],null]]]]],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"align: left;\\\"],[14,0,\\\"add-new-item\\\"],[12],[6,[39,7],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-gateway\\\",[33,8,[\\\"parentGateway\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[10,1],[14,0,\\\"add-new\\\"],[12],[1,\\\"Go\\\"],[13]],[]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"cospan separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,8],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,8],\\\"text\\\",\\\"project\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,8],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,8],\\\"text\\\",\\\"level\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,8],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,8],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,8],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,8],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left; vertical-align: top;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"cospan separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"cospan separator\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[10,1],[14,0,\\\"cospan separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Settings:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"meshID\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Mesh ID:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"6\\\"],[15,2,[33,8,[\\\"meshID\\\"]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"gatewayReadInterval\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Read Interval:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"gatewayReadInterval\\\"],[15,\\\"onclick\\\",[28,[37,0],[[30,0],\\\"setGatewayInterval\\\"],[[\\\"value\\\"],[[33,11,[\\\"value\\\"]]]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,13],[[28,[37,13],[[30,2]],null]],null],null,[[[41,[28,[37,14],[[33,15],[30,3,[\\\"id\\\"]]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[30,3,[\\\"id\\\"]]]]],[12],[1,[30,3,[\\\"intervalName\\\"]]],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[30,3,[\\\"id\\\"]]]]],[12],[1,[30,3,[\\\"intervalName\\\"]]],[13]],[]]]],[3]],null],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"7\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveGateway\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[41,[28,[37,14],[[30,1,[\\\"hasChildren\\\"]],true],null],[[[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[1,[28,[35,16],null,[[\\\"gateway\\\",\\\"sortBy\\\",\\\"ordering\\\"],[[30,1,[\\\"children\\\"]],[28,[37,0],[[30,0],\\\"sortBy\\\"],null],[33,17]]]]],[13]],[]],null],[13]],[\\\"@gateway\\\",\\\"@gatewayReadingIntervals\\\",\\\"selectOption\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"searchable-select\\\",\\\"gateways\\\",\\\"initialSelection\\\",\\\"link-to\\\",\\\"gateway\\\",\\\"single-save-input\\\",\\\"single-save-datetime-picker\\\",\\\"target\\\",\\\"each\\\",\\\"-track-array\\\",\\\"eq\\\",\\\"getGatewayReadIntervalID\\\",\\\"gateway-list\\\",\\\"ordering\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/edit-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"IOQ/H4ae\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/nvd3-temporal-gateway-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"OHvXAcA+\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings:\\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"anchorDistances\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"gatewayType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temp.\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[1,[28,[35,11],null,[[\\\"gatewayId\\\",\\\"gateway\\\",\\\"gatewayType\\\",\\\"gatewayValueObject\\\",\\\"gatewayValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2],[30,2,[\\\"gatewayType\\\"]],[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-gateway-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@gatewayData\\\",\\\"@gateway\\\",\\\"anchor\\\",\\\"gatewayValue\\\",\\\"index\\\",\\\"@temperatureData\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"oneforone/create-new-raw-gateway-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"getGatewayData\\\",\\\"single-save-gateway-inputs-array-table-row-cells\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/raw-gateway-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"cpB/mtum\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"RSSI\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[30,4]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,5],[[33,6],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware Version\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@left_axis_field\\\",\\\"ddm\\\",\\\"@right_axis_field\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/temporal-gateway-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"X8IV80N2\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[33,3],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Readings\\\"],null],[[[1,\\\"      Number of Readings\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uptime\\\"],null],[[[1,\\\"      Uptime in Seconds\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Reconnection\\\"],null],[[[1,\\\"      Reconnection Attempts\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Uploads\\\"],null],[[[1,\\\"      Number of Uploads\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware Version\\\\n\\\"]],[]],[[[1,\\\"      Voltage\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Readings\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"readings-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Readings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uptime\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uptime-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Uptime in Seconds\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Reconnection\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"reconnection-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Reconnection Attempts\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Uploads\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"uploads-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Uploads\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,6]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,7],[[33,8],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[2]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"selected\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"right_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/temporal-gateway-left-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"lMBUxBYv\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"Voltage\\\"],null],[[[1,\\\"      Voltage\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Firmware\\\"],null],[[[1,\\\"      Firmware\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"Temperature\\\"],null],[[[1,\\\"      Temperature\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"RSSI\\\"],null],[[[1,\\\"      RSSI\\\\n\\\"]],[]],[[[1,\\\"      Temperature\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],[[24,\\\"action\\\",\\\"\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Voltage\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"voltage-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Voltage\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"RSSI\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"rssi-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"RSSI\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Temperature\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"temp-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\"],[null,null,\\\"Firmware\\\",[33,5]]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,6],[[33,7],\\\"firmware-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Firmware Version\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@right_axis_field\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"left_axis_field\\\",\\\"array\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/oneforone/temporal-gateway-right-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Y59rGHDK\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"text-align: left;\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"text-align: left;\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alerts. To add multiple, separate by comma!\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,\\\"title\\\",\\\"Target recipient for alert. Add cell number then click on link to find carrier network. \\\"],[24,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[24,0,\\\"col-12 col-form-label bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,8],[[[6,[39,9],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,10],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,11],[33,8],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Abs. Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"REL_DISP\\\"],[12],[1,\\\"Rel. Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"GT (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"LT (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"GT (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"5\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"(mm)\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"REL_DISP\\\"],null],[[[1,\\\"(mm)\\\"]],[]],null],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],\\\"handleActiveSelectChange\\\"],null]],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,13]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],\\\"handleActiveSelectChange\\\"],null]],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,13]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,\\\"disabled\\\",[36,19]],[14,5,\\\"width:15;\\\"],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,\\\"disabled\\\",[36,19]],[14,5,\\\"width:15;\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\" Reference Time:\\\"],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,20]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,20]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,5,\\\"width: 200px;\\\"],[15,\\\"disabled\\\",[36,21]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,5,\\\"width: 200px;\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,\\\"size\\\",\\\"10\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,\\\"size\\\",\\\"10\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,\\\"size\\\",\\\"10\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,\\\"size\\\",\\\"10\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,\\\"size\\\",\\\"10\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,22]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"activeSize\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"isRefAnchorDisabled\\\",\\\"timeReference\\\",\\\"isTimeReferenceDisabled\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"heokF7K0\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"strokeLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"strokeLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectHeadAt\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Head at:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newInstrumentObjectHeadAt\\\"],[15,\\\"onchange\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,7]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,11],[[30,3,[\\\"key\\\"]],[33,7]],null]],[15,2,[29,[[30,3,[\\\"id\\\"]]]]],[12],[1,[30,3,[\\\"title\\\"]]],[13]],[3]],null],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\",\\\"selectOption\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\",\\\"headAt\\\",\\\"each\\\",\\\"-track-array\\\",\\\"headAts\\\",\\\"is-equal\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"gNd+5nGY\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ajuYxXhN\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Abs. Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"REL_DISP\\\"],[12],[1,\\\"Rel. Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"REL_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Abs. Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"REL_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Rel. Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Abs. Displacement \\\"],[13],[10,\\\"option\\\"],[14,2,\\\"REL_DISP\\\"],[12],[1,\\\"Rel. Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],null]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"GT (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"GT (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"LT (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"LT (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"GT (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"10\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"(mm)\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"REL_DISP\\\"],null],[[[1,\\\"(mm)    \\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,10],[[[10,0],[14,5,\\\"width: auto; padding-top:5px;\\\"],[14,0,\\\"center pulse_loader \\\"],[12],[13]],[]],[[[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,13],[[28,[37,13],[[28,[37,14],[0,[33,15]],null]],null]],null],null,[[[44,[[28,[37,17],[[30,1],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,2],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[2]]]],[1]],null],[13]],[]]],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,13],[[28,[37,13],[[28,[37,14],[0,[33,15]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,\\\"disabled\\\",[36,19]],[14,5,\\\"width: 175px;\\\"],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,13],[[28,[37,13],[[28,[37,14],[0,[33,15]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,18],[\\\"ch\\\",[30,4]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[]]]],[4]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[15,\\\"disabled\\\",[36,19]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,20]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,5,\\\"width: 200px;\\\"],[15,\\\"disabled\\\",[36,21]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,22]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[16,\\\"disabled\\\",[36,23]],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,23],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[13],[13],[13]],[]]],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,24]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"result\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"loading\\\",\\\"activeSize\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"concat\\\",\\\"isRefAnchorDisabled\\\",\\\"timeReference\\\",\\\"isTimeReferenceDisabled\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"vX9eETJ1\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[41,[28,[37,4],[[33,5,[\\\"channelsNum\\\"]],2],null],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"sGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Spatial Graph\\\"],[13],[13]],[]],null]],[]],null],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[12],[13],[13],[41,[33,6],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,7],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,5,[\\\"id\\\"]],[33,5,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,5],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"object\\\",\\\"parentObject\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"id,value\\\",\\\"value\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],[33,5,[\\\"east\\\"]],[33,5,[\\\"north\\\"]],[33,5,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"headAt\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Head at:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"selectOptions\\\",\\\"id\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,13],\\\"headAt\\\",\\\"id,title\\\",[33,5,[\\\"headAt\\\"]],[33,5],\\\"title\\\",\\\"id\\\",\\\"headAt\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"strokeLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"strokeLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"referenceAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,5],\\\"text\\\",\\\"referenceAnchor\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,14],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,5],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Anchor Depths:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,15],null,[[\\\"object\\\",\\\"headAt\\\",\\\"channelsNum\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[30,1,[\\\"anchors\\\"]],[33,5,[\\\"headAt\\\",\\\"id\\\"]],[33,5,[\\\"channelsNum\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"gt\\\",\\\"instrument\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-select\\\",\\\"single-save-datetime-picker\\\",\\\"headAts\\\",\\\"single-save-checkbox\\\",\\\"single-save-instrument-anchors\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"eo+wQnOG\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"xcCt8e2W\",\"block\":\"[[[10,0],[12],[10,1],[14,0,\\\"separator\\\"],[12],[13],[13],[10,0],[14,1,\\\"capture\\\"],[12],[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"isKM5eId\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1]],null]],null],null,[[[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,13],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,14],[[30,7,[\\\"id\\\"]],[28,[37,15],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"pack/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"jLU5Jv/s\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"w2I+0WA8\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"acceleration-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Acceleration\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pack/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"jN9Fuypf\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n    \\\"],[1,[30,2]],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n\\\"],[41,[30,3],[[[1,\\\"    \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[8,[30,4,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n          \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"page_size\\\",\\\"page\\\"],[20,1]]],[30,5]]],[[\\\"default\\\"],[[[[1,\\\"20\\\"]],[]]]]],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n        \\\"],[8,[30,4,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n          \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"page_size\\\",\\\"page\\\"],[50,1]]],[30,5]]],[[\\\"default\\\"],[[[[1,\\\"50\\\"]],[]]]]],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n        \\\"],[8,[30,4,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n          \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"page_size\\\",\\\"page\\\"],[100,1]]],[30,5]]],[[\\\"default\\\"],[[[[1,\\\"100\\\"]],[]]]]],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n        \\\"],[8,[30,4,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n          \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"page_size\\\",\\\"page\\\"],[200,1]]],[30,5]]],[[\\\"default\\\"],[[[[1,\\\"200\\\"]],[]]]]],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n    \\\"]],[4]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"    \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[8,[30,6,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n          \\\"],[10,3],[14,0,\\\"dropdown-item\\\"],[12],[1,\\\"No Events\\\"],[13],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n    \\\"]],[6]]]]],[1,\\\"\\\\n\\\"]],[]]]],[1]]]]]],[\\\"dd\\\",\\\"@page_size\\\",\\\"@model\\\",\\\"ddm\\\",\\\"@page_type\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"link-to\\\",\\\"-hash\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/page-item-count.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"vjc7obqW\",\"block\":\"[[[41,[33,1],[[[10,\\\"nav\\\"],[14,\\\"aria-label\\\",\\\"Page navigation\\\"],[12],[10,\\\"ul\\\"],[14,0,\\\"pagination\\\"],[12],[41,[33,2],[[[10,\\\"li\\\"],[14,0,\\\"page-item\\\"],[12],[6,[39,3],null,[[\\\"params\\\",\\\"aria-label\\\",\\\"class\\\"],[[33,2],\\\"Previous\\\",\\\"page-link\\\"]],[[\\\"default\\\"],[[[[1,\\\"1\\\"]],[]]]]],[13],[10,\\\"li\\\"],[14,0,\\\"page-item disabled\\\"],[12],[10,3],[14,6,\\\"#\\\"],[14,0,\\\"page-link\\\"],[12],[1,\\\"...\\\"],[13],[13]],[]],null],[42,[28,[37,5],[[33,1]],null],null,[[[10,\\\"li\\\"],[15,0,[29,[\\\"page-item \\\",[28,[37,6],[[28,[37,7],[[30,1,[\\\"linkName\\\"]],[33,8]],null]],null]]]],[12],[6,[39,3],null,[[\\\"params\\\",\\\"class\\\"],[[30,1,[\\\"params\\\"]],\\\"page-link\\\"]],[[\\\"default\\\"],[[[[1,[30,1,[\\\"linkName\\\"]]]],[]]]]],[13]],[1,2]],null],[41,[33,9],[[[10,\\\"li\\\"],[14,0,\\\"page-item disabled\\\"],[12],[10,3],[14,6,\\\"#\\\"],[14,0,\\\"page-link\\\"],[12],[1,\\\"...\\\"],[13],[13],[10,\\\"li\\\"],[14,0,\\\"page-item\\\"],[12],[6,[39,3],null,[[\\\"params\\\",\\\"aria-label\\\",\\\"class\\\"],[[33,9],\\\"Next\\\",\\\"page-link\\\"]],[[\\\"default\\\"],[[[[1,[34,10]]],[]]]]],[13]],[]],null],[41,[28,[37,11],[[33,10],10],null],[[[10,\\\"li\\\"],[14,0,\\\"page-item\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"2\\\"],[14,\\\"placeholder\\\",\\\"Page #\\\"],[15,\\\"oninput\\\",[28,[37,12],[[30,0],[28,[37,13],[[33,14]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"page-link\\\"],[12],[13],[13],[10,\\\"li\\\"],[14,0,\\\"page-item\\\"],[12],[11,\\\"button\\\"],[24,5,\\\"color:#fff;background-color:#4A6A9C;\\\"],[24,0,\\\"page-link\\\"],[4,[38,12],[[30,0],\\\"goToPage\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Go \\\"],[13],[13]],[]],null],[13],[13]],[]],null]],[\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"paginationLinks\\\",\\\"firstPageLink\\\",\\\"link-to\\\",\\\"each\\\",\\\"-each-in\\\",\\\"active-class\\\",\\\"is-equal\\\",\\\"currentPage\\\",\\\"lastPageLink\\\",\\\"totalPages\\\",\\\"gt\\\",\\\"action\\\",\\\"mut\\\",\\\"newPage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/pagination-links.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"gXita5nr\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,19]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Pressure\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"kPa\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/piezo/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"YfEk9nPg\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/piezo/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"atV9xdgL\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/piezo/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"YLbVHr//\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,14],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,15]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[44,[[28,[37,18],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Pressure\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Pressure\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],null]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"kPa\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"kPa/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"kPa/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/piezo/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"9xJxoeuc\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,6],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/piezo/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"JZ98XNUM\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/piezo/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"cxdPLYRD\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/piezo/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"zMFyHuQq\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[33,12]],null]],null],null,[[[1,[28,[35,13],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,14],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,15],[[30,7,[\\\"id\\\"]],[28,[37,16],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"piezo/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"displacementData2\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/piezo/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"rCtMsJQB\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,2],[[[1,\\\"      \\\"],[1,[30,2]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        Pressure\\\\n\\\"]],[]]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"Pressure\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,4],[[33,5],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Pressure\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"Pressure Rate\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,4],[[33,5],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Press. Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,2],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,3],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"mmH20\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,4],[[33,5],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"mmH20\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/piezo/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"OD7AExrF\",\"block\":\"[[[41,[33,1],[[[6,[39,2],null,[[\\\"onClose\\\",\\\"translucentOverlay\\\",\\\"targetAttachment\\\",\\\"containerClass\\\",\\\"overlayClass\\\",\\\"wrapperClass\\\",\\\"clickOutsideToClose\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],false,\\\"none\\\",\\\"centered-scrolling-container\\\",\\\"centered-scrolling-overlay\\\",\\\"centered-scrolling-wrapper\\\",false]],[[\\\"default\\\"],[[[[1,\\\"    \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Record List\\\"],[13],[1,\\\"\\\\n    \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Phone Number\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Country\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Carrier\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Gateway\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Select\\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,5],[[33,6]],null],null,[[[1,\\\"        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,[34,7]],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,[30,1,[\\\"Country\\\"]]],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,[30,1,[\\\"Carrier\\\"]]],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,[30,1,[\\\"Gateway\\\"]]],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[28,[37,3],[[30,0],\\\"selectGateway\\\",[33,7],[30,1,[\\\"Gateway\\\"]]],null]],null],[12],[1,\\\"Select\\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[1,2]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[11,\\\"button\\\"],[4,[38,3],[[30,0],\\\"closeTargetSelector\\\"],null],[12],[1,\\\"Close\\\"],[13],[1,\\\"\\\\n\\\"]],[]]]]]],[]],null]],[\\\"item\\\",\\\"index\\\"],false,[\\\"if\\\",\\\"isShowingModal\\\",\\\"modal-dialog\\\",\\\"action\\\",\\\"each\\\",\\\"-each-in\\\",\\\"carrierList\\\",\\\"phoneNumber\\\",\\\"on\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/popup-list.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"+mu6s1s2\",\"block\":\"[[[10,0],[14,0,\\\"progress-container\\\"],[12],[1,\\\"\\\\n  \\\"],[10,1],[14,0,\\\"progress-label\\\"],[12],[1,[30,1]],[13],[1,\\\"\\\\n  \\\"],[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n    \\\"],[8,[30,2,[\\\"bar\\\"]],[[24,\\\"aria-label\\\",\\\"Loading\\\"]],[[\\\"@value\\\",\\\"@minValue\\\",\\\"@maxValue\\\",\\\"@showLabel\\\",\\\"@type\\\"],[[30,3],0,100,true,\\\"info\\\"]],null],[1,\\\"\\\\n  \\\"]],[2]]]]],[1,\\\"\\\\n\\\"],[13]],[\\\"@taskName\\\",\\\"pg\\\",\\\"@percentage\\\"],false,[\\\"bs-progress\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/progress-bar.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"4Xd6AbIe\",\"block\":\"[[[10,\\\"input\\\"],[15,1,[30,1]],[14,3,\\\"rdb\\\"],[14,2,\\\"raw\\\"],[15,\\\"checked\\\",[30,2]],[15,\\\"onclick\\\",[30,3]],[14,4,\\\"radio\\\"],[12],[13],[1,\\\"\\\\n\\\"],[10,\\\"label\\\"],[15,\\\"for\\\",[30,1]],[14,5,\\\"margin-left: 5px;margin-bottom: 0px;\\\"],[12],[1,[30,1]],[13],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[\\\"@type\\\",\\\"@checked\\\",\\\"@setValue\\\"],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/radio-buttons.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Qv8QaLEF\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"page_size\\\",\\\"page\\\"],[20,1]]],\\\"raw-data\\\",[33,3]]],[[\\\"default\\\"],[[[[1,\\\"20\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"page_size\\\",\\\"page\\\"],[50,1]]],\\\"raw-data\\\",[33,3]]],[[\\\"default\\\"],[[[[1,\\\"50\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"page_size\\\",\\\"page\\\"],[100,1]]],\\\"raw-data\\\",[33,3]]],[[\\\"default\\\"],[[[[1,\\\"100\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"page_size\\\",\\\"page\\\"],[250,1]]],\\\"raw-data\\\",[33,3]]],[[\\\"default\\\"],[[[[1,\\\"250\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"page_size\\\",\\\"page\\\"],[500,1]]],\\\"raw-data\\\",[33,3]]],[[\\\"default\\\"],[[[[1,\\\"500\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"page_size\\\",\\\"page\\\"],[750,1]]],\\\"raw-data\\\",[33,3]]],[[\\\"default\\\"],[[[[1,\\\"750\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"page_size\\\",\\\"page\\\"],[1000,1]]],\\\"raw-data\\\",[33,3]]],[[\\\"default\\\"],[[[[1,\\\"1000\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"page_size\\\",\\\"page\\\"],[1500,1]]],\\\"raw-data\\\",[33,3]]],[[\\\"default\\\"],[[[[1,\\\"1500\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"page_size\\\",\\\"page\\\"],[2000,1]]],\\\"raw-data\\\",[33,3]]],[[\\\"default\\\"],[[[[1,\\\"2000\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@pageSize\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/raw-drop-down.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"2XM+R3SN\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",\\\"raw-gateway-data\\\",[33,2]]],[[\\\"default\\\"],[[[[1,\\\"40\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@pageSize\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"gatewayId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/raw-gateway-drop-down.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"c/RqMoYp\",\"block\":\"[[[8,[39,0],null,[[\\\"@closeOnMenuClick\\\"],[true]],[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[42,[28,[37,2],[[28,[37,2],[[30,0,[\\\"ports\\\"]]],null]],null],null,[[[1,\\\"      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n          \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"page_size\\\",\\\"page\\\",\\\"port_number\\\"],[20,1,[30,4,[\\\"channel\\\"]]]]],\\\"raw-data\\\",[33,5]]],[[\\\"default\\\"],[[[[1,[30,4,[\\\"channel\\\"]]]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\"  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\\n\\\"]],[\\\"dd\\\",\\\"@port_number\\\",\\\"ddm\\\",\\\"port\\\"],false,[\\\"bs-dropdown\\\",\\\"each\\\",\\\"-track-array\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/raw-port-drop-down.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"gWJA+fqC\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"newAlertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"newAlertRepeat\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,8],true],null],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[15,2,[36,9]],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"newAlertInvert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[24,1,\\\"newAlertInvert\\\"],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,17]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,3],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,18]],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,19]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"repeats\\\",\\\"repeatWindow\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"izNbWRkl\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"project\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"project\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectProject\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"level\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"level\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstrument_length\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Total bolt length (m):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"instrumentLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"instrumentLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstrumentLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"strokeLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"strokeLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectHeadExclusionLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Thread Exclusion Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"headExclusionLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"headExclusionLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectHeadExclusionLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectGaugeLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Gauge Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"gaugeLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"gaugeLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectGaugeLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectStacked\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stacked:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newInstrumentObjectStacked\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,1],[[30,0],\\\"stackedChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectElasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"elasticLimitPct\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"elasticLimitPct\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectElasticLimitPct\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPlasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Plastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"plasticLimitPct\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"plasticLimitPct\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPlasticLimitPct\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectUltimateLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"ultimateLimitPct\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"ultimateLimitPct\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectUltimateLimitPct\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjEctelasticLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"elasticLimitFce\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"elasticLimitFce\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjEctelasticLimitFce\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPlasticLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Plastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"plasticLimitFce\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"plasticLimitFce\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPlasticLimitFce\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectUltimateLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"ultimateLimitFce\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"ultimateLimitFce\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectUltimateLimitFce\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"WTVFqSOV\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"PApyq6ov\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[14,\\\"for\\\",\\\"alertRepeat\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Repeats:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Will the action occur each check of the alerts, or only when it switches to Alerted\\\"],[24,1,\\\"alertRepeat\\\"],[16,\\\"checked\\\",[33,2,[\\\"repeats\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"repeatChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[14,\\\"for\\\",\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Repeats After (min):\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"repeats\\\"]],true],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"If alert repeats, what is the minimum delay before it will repeat\\\"],[15,2,[33,2,[\\\"repeatWindow\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"repeatWindow\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectRepeatDelay\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TRIG\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Alarm\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,3],[14,6,\\\"https://kb.sandisk.com/app/answers/detail/a_id/17056/~/list-of-mobile-carrier-gateway-addresses\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"title\\\",\\\"List of carrier SMS gateways\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"bold\\\"],[12],[1,\\\"Target (Phone #):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Number@Carrier\\\"],[14,\\\"title\\\",\\\"Format: number@gateway\\\\ne.g. 9999999999@msg.telus.com\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,10],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Inverts data values\\\"],[14,\\\"for\\\",\\\"alertInvert\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Inverted:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"alertInvert\\\"],[24,\\\"title\\\",\\\"Inverts data values\\\"],[16,\\\"checked\\\",[33,2,[\\\"inverted\\\"]]],[24,\\\"disabled\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"invertChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[44,[[28,[37,13],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[28,[37,8],[0,[33,9]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,10],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,10],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[10,\\\"td\\\"],[14,5,\\\"vertical-align: top;\\\"],[12],[11,\\\"button\\\"],[24,1,\\\"activeToggleButton\\\"],[16,\\\"title\\\",[36,14]],[24,\\\"disabled\\\",\\\"\\\"],[4,[38,0],[[30,0],\\\"toggleActive\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,15]],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[13],[1,\\\"Step Displacement\\\"]],[]],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[13],[1,\\\"Step Displacement\\\"]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,16]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,17],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Average\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,18]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"activeLabel\\\",\\\"buttonSymbol\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"NO/a6h/I\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"sGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Spatial Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"project\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"level\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"strokeLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Total Bolt Length (m):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"instrumentLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"strokeLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"strokeLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"headExclusionLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Thread Exclusion Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"update\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"headExclusionLength\\\",[28,[37,0],[[30,0],\\\"updatePage\\\"],null],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"gaugeLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Gauge Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"update\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"gaugeLength\\\",[28,[37,0],[[30,0],\\\"updatePage\\\"],null],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"referenceAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"referenceAnchor\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"stacked\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stacked:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"field\\\",\\\"update\\\"],[[30,1],\\\"stacked\\\",[28,[37,0],[[30,0],\\\"updatePage\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,6],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"elasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"elasticLimitPct\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"plasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Plastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"plasticLimitPct\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"ultimateLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"ultimateLimitPct\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"elasticLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"elasticLimitFce\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"plasticLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Plastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"plasticLimitFce\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"ultimateLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"ultimateLimitFce\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Nodes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"headAt\\\",\\\"channelsNum\\\",\\\"stacked\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[30,1,[\\\"anchors\\\"]],[30,1,[\\\"headAt\\\",\\\"id\\\"]],[30,1,[\\\"channelsNum\\\"]],[30,1,[\\\"stacked\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-input-numeric\\\",\\\"single-save-checkbox\\\",\\\"single-save-instrument-anchors-rebar\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"lFm+33OU\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"PtsNLiaf\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"TvMFpnJC\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1]],null]],null],null,[[[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,13],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,14],[[30,7,[\\\"id\\\"]],[28,[37,15],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"rebar/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"bEi2EhY9\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"axial-displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"axial-strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"bending-strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Bending Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"load-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Load\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ylLdVUgZ\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Stretch\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"axial-displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Total Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"axial-strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"bending-strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Bending Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"load-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Load\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebar/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"44bql0ik\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,19]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"AVG\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on average values of window length\\\"],[12],[1,\\\"Average\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SUS\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm by checking each (window length) most recent readings\\\"],[12],[1,\\\"Sustained\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"tcM8ATyo\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstrument_length\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Total bolt length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"instrumentLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"instrumentLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstrumentLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"strokeLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"strokeLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectStrokeLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectHeadExclusionLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Thread Exclusion Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"headExclusionLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"headExclusionLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectHeadExclusionLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectStacked\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stacked:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newInstrumentObjectStacked\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,1],[[30,0],\\\"stackedChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectYoungsModulus\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Young's Modulus (GPa):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"youngsModulus\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"youngsModulus\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectYoungsModulus\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"boltDiameter\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Bolt Diameter(mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"boltDiameter\\\"]]],[15,\\\"onchange\\\",[28,[37,1],[[30,0],\\\"handleBoltDiameterChange\\\"],null]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"boltDiameter\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBoltDiameter\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCrossSectionalArea\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Bolt Area(mm\\\"],[10,\\\"sup\\\"],[12],[1,\\\"2\\\"],[13],[1,\\\"):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"crossSectionalArea\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"crossSectionalArea\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectCrossSectionalArea\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"axialStiffness\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Axial Stiffness (kN/%): \\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"axialStiffness\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"axialStiffness\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAxialStiffness\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectElasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"elasticLimitPct\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"elasticLimitPct\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectElasticLimitPct\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectUltimateLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"ultimateLimitPct\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"ultimateLimitPct\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectUltimateLimitPct\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjEctelasticLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"elasticLimitFce\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"elasticLimitFce\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjEctelasticLimitFce\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectUltimateLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"ultimateLimitFce\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"ultimateLimitFce\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectUltimateLimitFce\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"dTK/JEA0\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ilebt/mU\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,14],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,15]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[44,[[28,[37,18],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"nfX79Btn\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"sGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Spatial Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"instrumentLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Total Bolt Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"instrumentLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"strokeLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stroke Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"strokeLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"headExclusionLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Thread Exclusion Length (mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"update\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"headExclusionLength\\\",[28,[37,0],[[30,0],\\\"updatePage\\\"],null],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"referenceAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"referenceAnchor\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"stacked\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Stacked:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"field\\\",\\\"update\\\"],[[30,1],\\\"stacked\\\",[28,[37,0],[[30,0],\\\"updatePage\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,6],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"youngsModulus\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Young's Modulus (GPa):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"youngsModulus\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"boltDiameter\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Bolt Diameter(mm):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"inputType\\\",\\\"object\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\",\\\"update\\\"],[\\\"text\\\",[33,6],\\\"boltDiameter\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null],[28,[37,0],[[30,0],\\\"updateCrossSectionalArea\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"crossSectionalArea\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Bolt Area(mm\\\"],[10,\\\"sup\\\"],[12],[1,\\\"2\\\"],[13],[1,\\\"):\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"6\\\"],[15,2,[33,6,[\\\"crossSectionalArea\\\"]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"axialStiffness\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Axial Stiffness (kN/%): \\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"input\\\"],[14,\\\"size\\\",\\\"6\\\"],[15,2,[33,6,[\\\"axialStiffness\\\"]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"br\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"elasticLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"elasticLimitPct\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"ultimateLimitPct\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit strain (%):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"ultimateLimitPct\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calculatedElasticLimitForce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Elastic Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"calculatedElasticLimitForce\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null],false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"ultimateLimitFce\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ultimate Limit force (kN):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"ultimateLimitFce\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"4\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Node\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,13],null,[[\\\"object\\\",\\\"headAt\\\",\\\"channelsNum\\\",\\\"isStacked\\\",\\\"stacked\\\",\\\"update\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[30,1,[\\\"anchors\\\"]],[30,1,[\\\"headAt\\\",\\\"id\\\"]],[30,1,[\\\"channelsNum\\\"]],[30,1,[\\\"stacked\\\"]],true,[28,[37,0],[[30,0],\\\"updatePage\\\"],null],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-input-numeric\\\",\\\"single-save-checkbox\\\",\\\"single-save-instrument-anchors-rebar\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"hB6KaA1+\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"+tuccTTq\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"DQ3tOlU9\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1]],null]],null],null,[[[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,13],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,14],[[30,7,[\\\"id\\\"]],[28,[37,15],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"rebarv2/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"I9jLEtIb\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"axial-strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"bending-strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Bending Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"load-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Load\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"pFktYkyN\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"axial-strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"bending-strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Bending Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"load-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Axial Load\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/rebarv2/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"DVEiCRiR\",\"block\":\"[[[10,0],[14,0,\\\"target-selector\\\"],[12],[1,\\\"\\\\n  \\\"],[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"openModal\\\"],null],[12],[1,\\\"Target (Phone #):\\\"],[13],[1,\\\"\\\\n\\\"],[41,[33,2],[[[6,[39,3],null,[[\\\"close\\\",\\\"translucentOverlay\\\"],[[28,[37,0],[[30,0],\\\"closeModal\\\"],null],true]],[[\\\"default\\\"],[[[[1,\\\"      \\\"],[1,[28,[35,4],null,[[\\\"onSelect\\\"],[[28,[37,0],[[30,0],\\\"selectRecord\\\"],null]]]]],[1,\\\"\\\\n\\\"]],[]]]]]],[]],null],[13],[1,\\\"\\\\n\\\\n\\\"]],[],false,[\\\"action\\\",\\\"if\\\",\\\"showModal\\\",\\\"ember-modal-dialog\\\",\\\"popup-list\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/record-selector.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"BTCvK3We\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"selectedDExtoError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to delete a dExto.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Index\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"dExto ID\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Head at\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Stroke length\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"justify-content: center;\\\"],[12],[1,\\\"Anchor Points\\\"],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,1],[[28,[37,1],[[30,1]],null]],null],null,[[[10,\\\"tr\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[1,[30,2,[\\\"id\\\"]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[6,[39,2],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,2,[\\\"instrumentID\\\"]]]],[[\\\"default\\\"],[[[[1,[30,2,[\\\"instrumentID\\\"]]]],[]]]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[1,[30,2,[\\\"position\\\"]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[1,[30,2,[\\\"strokeLength\\\"]]],[13],[10,\\\"td\\\"],[14,5,\\\"min-height:175px;\\\"],[12],[1,[30,2,[\\\"anchorPoints\\\"]]],[13],[13]],[2]],null],[13],[13]],[\\\"@dExtoList\\\",\\\"dExto\\\"],false,[\\\"each\\\",\\\"-track-array\\\",\\\"link-to\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/selected-dExtos.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"SGJxhJgE\",\"block\":\"[[[10,\\\"label\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2\\\"],[12],[8,[39,0],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Change and Save\\\",\\\"right\\\"]],null],[11,\\\"input\\\"],[16,1,[36,1]],[16,3,[36,1]],[16,\\\"checked\\\",[36,2]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"change\\\",[33,4]],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13]],[],false,[\\\"bs-tooltip\\\",\\\"field\\\",\\\"isChecked\\\",\\\"action\\\",\\\"object\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-checkbox.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HKqj55wZ\",\"block\":\"[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,1],[[[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"format\\\",[36,2]],[15,2,[36,3]],[15,\\\"oninput\\\",[28,[37,4],[[30,0],[28,[37,5],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,6]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[11,1],[24,0,\\\"save\\\"],[4,[38,4],[[30,0],\\\"save\\\",[33,7]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,9],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,4],[[30,0],\\\"cancel\\\",[33,7]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,9],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,[28,[35,10],[[33,7],[33,6]],null]],[13]],[]]],[13],[13],[13]],[],false,[\\\"if\\\",\\\"isEditing\\\",\\\"format\\\",\\\"newValue\\\",\\\"action\\\",\\\"mut\\\",\\\"field\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"get\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-datetime-picker.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"eoWu0m/8\",\"block\":\"[[[41,[33,1],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap\\\"],[12],[1,[28,[35,2],[[33,3,[\\\"id\\\"]],\\\"YY-MM-DD HH:mm:ss\\\"],null]],[13],[42,[28,[37,5],[[30,1,[\\\"values\\\"]]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,6],[[30,0],[28,[37,7],[[28,[37,8],[[33,9],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[41,[51,[33,11]],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature (°C)\\\"],[12],[10,\\\"input\\\"],[15,2,[36,12]],[15,1,[29,[\\\"df\\\",[36,13]]]],[15,\\\"oninput\\\",[28,[37,6],[[30,0],[28,[37,7],[[33,12]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[]],null],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"save\\\"],[4,[38,6],[[30,0],\\\"save\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,6],[[30,0],\\\"cancel\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap\\\"],[12],[1,[28,[35,2],[[30,1,[\\\"id\\\"]],\\\"YY-MM-DD HH:mm:ss\\\"],null]],[13],[42,[28,[37,5],[[30,1,[\\\"values\\\"]]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,5]],[12],[10,1],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"title\\\",\\\"Edit\\\"],[14,0,\\\"text has-tooltip-info\\\"],[12],[13],[1,[30,4]],[13]],[4,5]],null],[41,[51,[33,11]],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,1],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"title\\\",\\\"Edit\\\"],[14,0,\\\"text has-tooltip-info\\\"],[12],[1,[34,12]],[13],[13]],[]],null],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,6],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,15],[[28,[37,16],[[33,17],[33,3,[\\\"id\\\"]]],null]],null]]]],[12],[10,0],[14,5,\\\"display: flex; justify-content: center; margin-top: 2px; vertical-align: top;\\\"],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[13],[10,1],[14,0,\\\"small\\\"],[12],[1,\\\"Delete it?Are you sure?\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,6],[[30,0],\\\"remove\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,6],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[13],[13]],[]]]],[\\\"@gatewayValueObject\\\",\\\"value\\\",\\\"key\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isEditing\\\",\\\"moment-format\\\",\\\"gatewayValueObject\\\",\\\"each\\\",\\\"-each-in\\\",\\\"action\\\",\\\"mut\\\",\\\"get\\\",\\\"gatewayValueObjectValues\\\",\\\"unless\\\",\\\"omitTemperature\\\",\\\"temperatureObjectValue\\\",\\\"key\\\",\\\"fa-icon\\\",\\\"active-class\\\",\\\"get-array-element\\\",\\\"isRowDeleteConfirmationDialog\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-gateway-inputs-array-table-row-cells.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"qh5SXBvw\",\"block\":\"[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,1],[[[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,2]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,2]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"#east\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,5]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"#north\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"#depth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[11,1],[24,0,\\\"save\\\"],[4,[38,3],[[30,0],\\\"save\\\",[33,7]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,9],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,3],[[30,0],\\\"cancel\\\",[33,7]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,9],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[41,[33,10],[[[11,1],[24,0,\\\"text\\\"],[4,[38,3],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"east:\\\"],[1,\\\" \\\"],[1,[34,10]],[1,\\\", \\\"],[1,\\\"north:\\\"],[1,\\\" \\\"],[1,[34,11]],[1,\\\", \\\"],[1,\\\"depth:\\\"],[1,\\\" \\\"],[1,[34,12]],[1,\\\" \\\"],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[13]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,3],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"east:\\\"],[1,\\\", \\\"],[1,\\\"north:\\\"],[1,\\\", \\\"],[1,\\\"depth:\\\"],[1,\\\" \\\"],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,\\\"    \\\"],[13]],[]]]],[]]],[13],[13],[13]],[],false,[\\\"if\\\",\\\"isEditing\\\",\\\"newEast\\\",\\\"action\\\",\\\"mut\\\",\\\"newNorth\\\",\\\"newDepth\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-geo-input.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"rSD8M6Sz\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,2],[[[41,[33,3],[[[10,\\\"input\\\"],[15,2,[36,4]],[15,\\\"oninput\\\",[28,[37,5],[[30,0],[28,[37,6],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,7]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],null],[41,[33,8],[[[10,\\\"textarea\\\"],[14,\\\"rows\\\",\\\"3\\\"],[15,2,[36,4]],[15,\\\"oninput\\\",[28,[37,5],[[30,0],[28,[37,6],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,7]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],null],[11,1],[24,0,\\\"save\\\"],[4,[38,5],[[30,0],\\\"save\\\",[33,9]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,5],[[30,0],\\\"cancel\\\",[33,9]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,5],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,[28,[35,12],[[33,9],[33,7]],null]],[13]],[]]],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,5,\\\"font-size: 24px\\\"],[24,0,\\\"text\\\"],[4,[38,5],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Read Only\\\",\\\"left\\\"]],null],[1,[28,[35,12],[[33,9],[33,7]],null]],[13],[13],[13],[13]],[]]]],[],false,[\\\"if\\\",\\\"isEditable\\\",\\\"isEditing\\\",\\\"isTextInput\\\",\\\"newValue\\\",\\\"action\\\",\\\"mut\\\",\\\"field\\\",\\\"isTextarea\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"get\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-input-InstType.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"f+XeCkvm\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,2],[[[41,[33,3],[[[10,\\\"input\\\"],[15,2,[36,4]],[15,\\\"oninput\\\",[28,[37,5],[[30,0],[28,[37,6],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,7]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],null],[41,[33,8],[[[10,\\\"textarea\\\"],[14,\\\"rows\\\",\\\"3\\\"],[15,2,[36,4]],[15,\\\"oninput\\\",[28,[37,5],[[30,0],[28,[37,6],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,7]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],null],[11,1],[24,0,\\\"save\\\"],[4,[38,5],[[30,0],\\\"save\\\",[33,9]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,5],[[30,0],\\\"cancel\\\",[33,9]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,5],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,[28,[35,12],[[33,9],[33,7]],null]],[13]],[]]],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,0,\\\"text\\\"],[4,[38,5],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Read Only\\\",\\\"right\\\"]],null],[1,[28,[35,12],[[33,9],[33,7]],null]],[13],[13],[13],[13]],[]]]],[],false,[\\\"if\\\",\\\"isEditable\\\",\\\"isEditing\\\",\\\"isTextInput\\\",\\\"newValue\\\",\\\"action\\\",\\\"mut\\\",\\\"field\\\",\\\"isTextarea\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"get\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-input-numeric.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"NKX/WzrR\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,2],[[[41,[33,3],[[[10,\\\"input\\\"],[14,2,\\\"\\\"],[15,\\\"oninput\\\",[28,[37,4],[[30,0],[28,[37,5],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,7]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"password\\\"],[12],[13]],[]],null],[41,[33,8],[[[10,\\\"input\\\"],[14,\\\"rows\\\",\\\"3\\\"],[14,2,\\\"\\\"],[15,\\\"oninput\\\",[28,[37,4],[[30,0],[28,[37,5],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,7]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"password\\\"],[12],[13]],[]],null],[11,1],[24,0,\\\"save\\\"],[4,[38,4],[[30,0],\\\"save\\\",[33,9]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,4],[[30,0],\\\"cancel\\\",[33,9]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[41,[28,[37,12],[[28,[37,13],[[33,9],[33,7]],null],\\\"\\\"],null],[[[1,\\\"******\\\"]],[]],null],[13]],[]]],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,0,\\\"text\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,10],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Read Only\\\",\\\"right\\\"]],null],[1,[28,[35,13],[[33,9],[33,7]],null]],[13],[13],[13],[13]],[]]]],[],false,[\\\"if\\\",\\\"isEditable\\\",\\\"isEditing\\\",\\\"isTextInput\\\",\\\"action\\\",\\\"mut\\\",\\\"newValue\\\",\\\"field\\\",\\\"isTextarea\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"not-eq\\\",\\\"get\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-input-password.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"QkpsSUSr\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,2],[[[41,[33,3],[[[10,\\\"input\\\"],[15,\\\"size\\\",[36,4]],[15,2,[36,5]],[15,\\\"oninput\\\",[28,[37,6],[[30,0],[28,[37,7],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,8]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],null],[41,[33,9],[[[10,\\\"textarea\\\"],[14,\\\"rows\\\",\\\"3\\\"],[15,2,[36,5]],[15,\\\"oninput\\\",[28,[37,6],[[30,0],[28,[37,7],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,8]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],null],[11,1],[24,0,\\\"save\\\"],[4,[38,6],[[30,0],\\\"save\\\",[33,10]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,11],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,12],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,6],[[30,0],\\\"cancel\\\",[33,10]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,11],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,12],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,[28,[35,13],[[33,10],[33,8]],null]],[13]],[]]],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,0,\\\"text\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Read Only\\\",\\\"right\\\"]],null],[1,[28,[35,13],[[33,10],[33,8]],null]],[13],[13],[13],[13]],[]]]],[],false,[\\\"if\\\",\\\"isEditable\\\",\\\"isEditing\\\",\\\"isTextInput\\\",\\\"size\\\",\\\"newValue\\\",\\\"action\\\",\\\"mut\\\",\\\"field\\\",\\\"isTextarea\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"get\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-input.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"fOOltdCI\",\"block\":\"[[[41,[33,1],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap\\\"],[12],[1,[28,[35,2],[[33,3,[\\\"id\\\"]],\\\"YYYY-MM-DD HH:mm:ss\\\"],null]],[13],[42,[28,[37,5],[[30,1,[\\\"values\\\"]]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,6],[[30,0],[28,[37,7],[[28,[37,8],[[33,9],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[41,[51,[30,4]],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,11]],[15,1,[29,[\\\"df\\\",[36,12]]]],[15,\\\"oninput\\\",[28,[37,6],[[30,0],[28,[37,7],[[33,11]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[]],null],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"save\\\"],[4,[38,6],[[30,0],\\\"save\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,13],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,6],[[30,0],\\\"cancel\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,13],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[10,0],[14,0,\\\"row align-items-start\\\"],[12],[10,0],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"col-4\\\"],[12],[1,[28,[35,2],[[30,1,[\\\"id\\\"]],\\\"YYYY-MM-DD HH:mm:ss\\\"],null]],[13],[42,[28,[37,5],[[30,1,[\\\"values\\\"]]],null],null,[[[10,0],[15,\\\"data-title\\\",[30,6]],[14,0,\\\"col\\\"],[12],[41,[28,[37,14],[[30,5],[33,15]],null],[[[10,1],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"title\\\",\\\"Value is above Stroke Length. Graphs will use previous value.\\\"],[14,0,\\\"text red-text bold has-tooltip-info\\\"],[12],[1,\\\"⇑ \\\"],[13]],[]],null],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[41,[33,16],[[[1,[28,[35,17],[[30,5],3],null]]],[]],[[[1,[28,[35,17],[[30,5],2],null]]],[]]],[13],[13]],[5,6]],null],[10,0],[14,\\\"data-title\\\",\\\"Temperature\\\"],[14,0,\\\"col\\\"],[12],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,11]],[13],[13],[10,0],[14,0,\\\"col crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,6],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,13],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"crud edit has-tooltip-info\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,13],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,18],[[28,[37,8],[[33,19],[33,3,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"Delete it?\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"Are you sure?\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,6],[[30,0],\\\"remove\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,6],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[13]],[]]]],[\\\"@displacementValueObject\\\",\\\"value\\\",\\\"key\\\",\\\"@isWire\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isEditing\\\",\\\"moment-format\\\",\\\"displacementValueObject\\\",\\\"each\\\",\\\"-each-in\\\",\\\"action\\\",\\\"mut\\\",\\\"get\\\",\\\"displacementValueObjectValues\\\",\\\"unless\\\",\\\"temperatureObjectValue\\\",\\\"key\\\",\\\"fa-icon\\\",\\\"is-greater-than\\\",\\\"strokeLength\\\",\\\"isFine\\\",\\\"format-number\\\",\\\"active-class\\\",\\\"isRowDeleteConfirmationDialog\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-inputs-array-table-row-cells-2.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"a4MK1ETC\",\"block\":\"[[[41,[33,1],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\".001\\\"],[15,2,[33,2,[\\\"id\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[42,[28,[37,7],[[30,1,[\\\"values\\\"]]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[28,[37,8],[[33,9],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[41,[51,[30,4]],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,11]],[15,1,[29,[\\\"df\\\",[36,12]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,11]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[]],null],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[41,[33,13],[[[10,0],[14,5,\\\"width: auto; padding-top:5px;\\\"],[14,0,\\\"center pulse_loader \\\"],[12],[13]],[]],null],[11,1],[24,0,\\\"save\\\"],[4,[38,3],[[30,0],\\\"save\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,3],[[30,0],\\\"cancel\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[41,[28,[37,15],[[30,5,[\\\"title\\\"]],\\\"BluVibe\\\"],null],[[[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,1,\\\"batchSwitchID\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],\\\"toggleIndivSwitch\\\",[33,16]],null]],[15,\\\"checked\\\",[36,17]],[14,4,\\\"checkbox\\\"],[12],[13],[13]],[]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap\\\"],[12],[1,[28,[35,18],[[30,1,[\\\"id\\\"]],\\\"DD-MM-YYYY HH:mm:ss.SSS\\\"],null]],[13],[42,[28,[37,7],[[30,1,[\\\"values\\\"]]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,7]],[12],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,3],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[41,[33,19],[[[41,[28,[37,15],[[30,7],0],null],[[[41,[28,[37,15],[[30,6],1],null],[[[10,\\\"td\\\"],[14,5,\\\"padding:0px\\\"],[12],[1,\\\"X\\\"],[13]],[]],null]],[]],[[[41,[28,[37,15],[[30,7],7],null],[[[6,[39,20],[[33,0],[28,[37,15],[[30,6],2],null]],null,[[\\\"default\\\"],[[[[10,\\\"td\\\"],[14,5,\\\"padding:0px\\\"],[12],[1,\\\"Y\\\"],[13]],[]]]]]],[]],[[[41,[28,[37,15],[[30,7],14],null],[[[6,[39,20],[[33,0],[28,[37,15],[[30,6],3],null]],null,[[\\\"default\\\"],[[[[10,\\\"td\\\"],[14,5,\\\"padding:0px\\\"],[12],[1,\\\"Z\\\"],[13]],[]]]]]],[]],[[[41,[28,[37,15],[[30,7],21],null],[[[6,[39,20],[[33,0],[28,[37,15],[[30,6],4],null]],null,[[\\\"default\\\"],[[[[10,\\\"td\\\"],[14,5,\\\"padding:0px\\\"],[12],[1,\\\"R\\\"],[13]],[]]]]]],[]],[[[1,[28,[35,21],[[30,6],3],null]]],[]]]],[]]]],[]]]],[]]]],[]],[[[1,[28,[35,21],[[30,6],2],null]]],[]]],[13],[13]],[6,7]],null],[41,[51,[30,4]],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,3],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,11]],[13],[13]],[]],null],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,3],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"crud edit has-tooltip-info\\\"],[4,[38,3],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,22],[[28,[37,23],[[33,24],[33,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"Delete it?\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"Are you sure?\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,3],[[30,0],\\\"remove\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,3],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13]],[]]]],[\\\"@displacementValueObject\\\",\\\"value\\\",\\\"key\\\",\\\"@isWire\\\",\\\"@instrumentType\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isEditing\\\",\\\"displacementValueObject\\\",\\\"action\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"each\\\",\\\"-each-in\\\",\\\"get\\\",\\\"displacementValueObjectValues\\\",\\\"unless\\\",\\\"temperatureObjectValue\\\",\\\"key\\\",\\\"loading\\\",\\\"fa-icon\\\",\\\"is-equal\\\",\\\"tableRowIndex\\\",\\\"isCheckedHelper\\\",\\\"moment-format\\\",\\\"isFine\\\",\\\"else\\\",\\\"format-number\\\",\\\"active-class\\\",\\\"get-array-element\\\",\\\"isRowDeleteConfirmationDialog\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-inputs-array-table-row-cells.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"etRljR9j\",\"block\":\"[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group\\\"],[12],[41,[51,[33,1]],[[[11,2],[24,0,\\\"warning-text empty-anchor-warning-rebar-v2 italic\\\"],[4,[38,2],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Please add all instrument anchors! They are needed to make calculations for graphs.\\\"],[13]],[]],null],[41,[33,4],[[[10,\\\"ul\\\"],[15,5,[36,5]],[15,0,[29,[\\\"anchor-distances-input \\\",[52,[33,6],\\\"anchor-distances-input has-tooltip-info\\\",\\\"has-tooltip-info reverse-anchors-counter\\\"]]]],[12],[10,\\\"li\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 toe-label-rebarv2\\\"],[12],[1,\\\"Toe\\\"],[13],[13],[10,\\\"li\\\"],[14,0,\\\"tail\\\"],[12],[10,1],[14,0,\\\"tail collar-rebarv2\\\"],[12],[13],[13],[42,[28,[37,8],[[28,[37,8],[[33,9]],null]],null],null,[[[41,[51,[30,1,[\\\"isDeleted\\\"]]],[[[10,\\\"li\\\"],[14,0,\\\"anchor\\\"],[12],[10,\\\"input\\\"],[15,2,[28,[37,10],[[30,1],\\\"distance-a\\\"],null]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,2],[[30,0],\\\"inputNewValue\\\",[30,1],\\\"distance-a\\\"],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,11]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[10,1],[14,0,\\\"anchor-distance-rebar-l\\\"],[12],[1,[28,[35,10],[[30,1],\\\"number-a\\\"],null]],[13],[10,1],[14,0,\\\"instrument-pipe\\\"],[12],[13],[10,1],[14,0,\\\"anchor-distance-rebar-r\\\"],[12],[1,[28,[35,10],[[30,1],\\\"number-b\\\"],null]],[13],[10,\\\"input\\\"],[15,2,[28,[37,10],[[30,1],\\\"distance-b\\\"],null]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,2],[[30,0],\\\"inputNewValue\\\",[30,1],\\\"distance-b\\\"],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,11]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[]],null]],[1,2]],null],[10,\\\"li\\\"],[12],[10,1],[14,0,\\\"head collar-rebarv2\\\"],[12],[13],[13],[10,\\\"li\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 toe-label-rebarv2\\\"],[12],[1,\\\"Head\\\"],[13],[13],[13],[41,[33,1],[[[11,1],[24,0,\\\"save\\\"],[4,[38,2],[[30,0],\\\"save\\\",[33,12]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,0,\\\"has-tooltip-info\\\"],[12],[8,[39,13],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13]],[]],[[[10,1],[14,0,\\\"save inactive\\\"],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,0,\\\"has-tooltip-info\\\"],[12],[8,[39,13],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Input all anchors before saving!\\\",\\\"top\\\"]],null],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13]],[]]],[11,1],[24,0,\\\"cancel\\\"],[4,[38,2],[[30,0],\\\"cancel\\\",[33,12]],[[\\\"allowedKeys\\\",\\\"on\\\"],[\\\"alt\\\",\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,0,\\\"has-tooltip-info\\\"],[12],[8,[39,13],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,\\\"ul\\\"],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"top\\\"],[24,\\\"title\\\",\\\"Change properties to update.\\\"],[16,5,[36,5]],[16,0,[29,[[52,[33,6],\\\"anchor-distances-input has-tooltip-info\\\",\\\"anchor-distances-input has-tooltip-info reverse-anchors-counter\\\"]]]],[4,[38,2],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"li\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 toe-label-readonly-rebarv2\\\"],[12],[1,\\\"Toe\\\"],[13],[13],[10,\\\"li\\\"],[14,0,\\\"tail\\\"],[12],[10,1],[14,0,\\\"tail rebar collar\\\"],[12],[13],[13],[42,[28,[37,8],[[28,[37,8],[[33,9]],null]],null],null,[[[41,[51,[30,3,[\\\"isDeleted\\\"]]],[[[10,\\\"li\\\"],[14,0,\\\"anchor\\\"],[12],[10,1],[14,0,\\\"anchor-distance-rebar-l\\\"],[12],[1,[28,[35,10],[[30,3],\\\"distance-a\\\"],null]],[13],[10,1],[14,0,\\\"anchor-number-l\\\"],[12],[1,[28,[35,10],[[30,3],\\\"number-a\\\"],null]],[13],[10,1],[14,0,\\\"instrument-pipe\\\"],[12],[13],[10,1],[14,0,\\\"anchor-number-r\\\"],[12],[1,[28,[35,10],[[30,3],\\\"number-b\\\"],null]],[13],[10,1],[14,0,\\\"anchor-distance-rebar-r\\\"],[12],[1,[28,[35,10],[[30,3],\\\"distance-b\\\"],null]],[13],[13]],[]],null]],[3,4]],null],[10,\\\"li\\\"],[12],[10,1],[14,0,\\\"head rebar collar\\\"],[12],[13],[13],[10,\\\"li\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 collar-label-readonly-rebarv2\\\"],[12],[1,\\\"Head\\\"],[13],[13],[13]],[]]],[13],[13]],[\\\"anchor\\\",\\\"i\\\",\\\"anchor\\\",\\\"i\\\"],false,[\\\"unless\\\",\\\"isAllAnchorsPopulated\\\",\\\"action\\\",\\\"if\\\",\\\"isEditing\\\",\\\"anchorsCSSCounteStyle\\\",\\\"isToe\\\",\\\"each\\\",\\\"-track-array\\\",\\\"listedAnchors\\\",\\\"get\\\",\\\"field\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-instrument-anchors-rebar.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"am5u0Lid\",\"block\":\"[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[33,1]],[[[11,2],[24,0,\\\"warning-text empty-anchor-warning italic\\\"],[4,[38,2],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Please add all instrument anchors! They are needed to make calculations for graphs.\\\"],[13]],[]],null],[41,[33,4],[[[10,\\\"ul\\\"],[15,5,[36,5]],[15,0,[29,[\\\"anchor-distances-input \\\",[52,[33,6],\\\"anchor-distances-input has-tooltip-info\\\",\\\"has-tooltip-info reverse-anchors-counter\\\"]]]],[12],[10,\\\"li\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 toe-label\\\"],[12],[1,\\\"Borehole Toe\\\"],[13],[13],[41,[33,6],[[[10,\\\"li\\\"],[12],[10,1],[14,0,\\\"head toe\\\"],[12],[13],[13]],[]],[[[10,\\\"li\\\"],[14,0,\\\"tail\\\"],[12],[10,1],[14,0,\\\"tail collar\\\"],[12],[13],[13]],[]]],[42,[28,[37,8],[[28,[37,8],[[33,9]],null]],null],null,[[[41,[51,[30,1,[\\\"isDeleted\\\"]]],[[[10,\\\"li\\\"],[12],[10,1],[14,0,\\\"position\\\"],[12],[13],[10,1],[14,0,\\\"instrument-pipe\\\"],[12],[13],[10,\\\"input\\\"],[15,2,[30,1,[\\\"distance\\\"]]],[15,\\\"oninput\\\",[28,[37,2],[[30,0],[28,[37,2],[[30,0],\\\"inputNewValue\\\",[30,1]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,10]]]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[]],null]],[1,2]],null],[41,[33,11],[[[10,\\\"li\\\"],[12],[10,1],[14,0,\\\"head collar\\\"],[12],[13],[13]],[]],[[[10,\\\"li\\\"],[14,0,\\\"tail\\\"],[12],[10,1],[14,0,\\\"tail toe\\\"],[12],[13],[13]],[]]],[10,\\\"li\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 collar-label\\\"],[12],[1,\\\"Borehole Collar\\\"],[13],[13],[13],[41,[33,1],[[[11,1],[24,0,\\\"save\\\"],[4,[38,2],[[30,0],\\\"save\\\",[33,12]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,0,\\\"has-tooltip-info\\\"],[12],[8,[39,13],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13]],[]],[[[10,1],[14,0,\\\"save inactive\\\"],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,0,\\\"has-tooltip-info\\\"],[12],[8,[39,13],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Input all anchors before saving!\\\",\\\"top\\\"]],null],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13]],[]]],[11,1],[24,0,\\\"cancel\\\"],[4,[38,2],[[30,0],\\\"cancel\\\",[33,12]],[[\\\"allowedKeys\\\",\\\"on\\\"],[\\\"alt\\\",\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,0,\\\"has-tooltip-info\\\"],[12],[8,[39,13],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,14],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,\\\"ul\\\"],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"top\\\"],[24,\\\"title\\\",\\\"Click on instrument to edit\\\"],[16,5,[36,5]],[16,0,[29,[[52,[33,6],\\\"anchor-distances-input has-tooltip-info\\\",\\\"anchor-distances-input has-tooltip-info reverse-anchors-counter\\\"]]]],[4,[38,2],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"li\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 toe-label\\\"],[12],[1,\\\"Borehole Toe\\\"],[13],[13],[41,[33,6],[[[10,\\\"li\\\"],[12],[10,1],[14,0,\\\"head toe\\\"],[12],[13],[13]],[]],[[[10,\\\"li\\\"],[14,0,\\\"tail\\\"],[12],[10,1],[14,0,\\\"tail collar\\\"],[12],[13],[13]],[]]],[42,[28,[37,8],[[28,[37,8],[[33,9]],null]],null],null,[[[41,[51,[30,3,[\\\"isDeleted\\\"]]],[[[10,\\\"li\\\"],[14,0,\\\"anchor\\\"],[12],[10,1],[14,0,\\\"position\\\"],[12],[13],[10,1],[14,0,\\\"instrument-pipe\\\"],[12],[13],[41,[28,[37,15],[[28,[37,16],[[30,3],\\\"distance\\\"],null]],null],[[[10,1],[14,0,\\\"anchor-distance warning-text empty-anchor-warning\\\"],[12],[1,\\\"NULL\\\"],[13]],[]],[[[10,1],[14,0,\\\"anchor-distance\\\"],[12],[1,[28,[35,16],[[30,3],\\\"distance\\\"],null]],[13]],[]]],[13]],[]],null]],[3,4]],null],[41,[33,11],[[[10,\\\"li\\\"],[12],[10,1],[14,0,\\\"head collar\\\"],[12],[13],[13]],[]],[[[10,\\\"li\\\"],[14,0,\\\"tail\\\"],[12],[10,1],[14,0,\\\"tail toe\\\"],[12],[13],[13]],[]]],[10,\\\"li\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 collar-label\\\"],[12],[1,\\\"Borehole Collar\\\"],[13],[13],[13]],[]]],[13],[13],[13]],[\\\"anchor\\\",\\\"i\\\",\\\"anchor\\\",\\\"i\\\"],false,[\\\"unless\\\",\\\"isAllAnchorsPopulated\\\",\\\"action\\\",\\\"if\\\",\\\"isEditing\\\",\\\"anchorsCSSCounteStyle\\\",\\\"isToe\\\",\\\"each\\\",\\\"-track-array\\\",\\\"sortedInstrumentAnchors\\\",\\\"field\\\",\\\"isCollar\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"if-empty-string-or-null\\\",\\\"get\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-instrument-anchors.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"YLeC7XFi\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,2],[[[10,\\\"select\\\"],[15,1,[36,3]],[15,\\\"onchange\\\",[28,[37,4],[[30,0],\\\"selectNewValue\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,6],[[28,[37,6],[[33,7]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,8],[[30,1,[\\\"key\\\"]],[33,9]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[11,1],[24,0,\\\"save\\\"],[4,[38,4],[[30,0],\\\"save\\\",[33,10]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,\\\"title\\\",\\\"Save\\\"],[14,0,\\\"fa fa-check has-tooltip-info\\\"],[12],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,4],[[30,0],\\\"cancel\\\",[33,11]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,\\\"title\\\",\\\"Cancel\\\"],[14,0,\\\"fa fa-times has-tooltip-info\\\"],[12],[13],[13]],[]],[[[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,12],[[33,11],[33,13]],null]],[13]],[]]],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Read only\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,12],[[33,11],[33,13]],null]],[13],[13],[13],[13]],[]]]],[\\\"selectOption\\\"],false,[\\\"if\\\",\\\"isEditable\\\",\\\"isEditing\\\",\\\"inputFieldId\\\",\\\"action\\\",\\\"each\\\",\\\"-track-array\\\",\\\"selectOptionsArray\\\",\\\"is-equal\\\",\\\"newValue\\\",\\\"parentObject\\\",\\\"object\\\",\\\"get\\\",\\\"field\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-interval-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"vK6GY22H\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12 d-flex align-items-center\\\"],[12],[41,[51,[33,3]],[[[41,[33,4],[[[10,\\\"select\\\"],[15,1,[36,5]],[15,\\\"onchange\\\",[28,[37,6],[[30,0],\\\"selectNewValue\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Please choose a \\\"],[41,[33,7],[[[1,[28,[35,8],[[33,7],\\\".\\\"],null]]],[]],[[[1,[28,[35,8],[[33,9],\\\".\\\"],null]]],[]]],[13],[42,[28,[37,11],[[28,[37,11],[[33,12]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,13],[[30,1,[\\\"key\\\"]],[33,14]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[11,1],[24,0,\\\"blast-cancel ml-2\\\"],[4,[38,6],[[30,0],\\\"cancel\\\",[33,15]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,16],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,17],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,16],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,[28,[35,18],[[33,15],[33,19]],null]],[13]],[]]]],[]],null],[41,[33,3],[[[10,\\\"select\\\"],[15,1,[36,5]],[15,\\\"onchange\\\",[28,[37,6],[[30,0],\\\"selectNewValue\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,20],[[33,14]],null],[[[10,\\\"option\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Please choose a \\\"],[41,[33,7],[[[1,[28,[35,8],[[33,7],\\\".\\\"],null]]],[]],[[[1,[28,[35,8],[[33,9],\\\".\\\"],null]]],[]]],[13]],[]],null],[42,[28,[37,11],[[28,[37,11],[[33,12]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,13],[[30,2,[\\\"key\\\"]],[33,14]],null]],[15,2,[29,[[30,2,[\\\"key\\\"]]]]],[12],[1,[30,2,[\\\"value\\\"]]],[13]],[2]],null],[13]],[]],null],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,0,\\\"text\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,16],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Read Only\\\",\\\"right\\\"]],null],[1,[28,[35,18],[[33,15],[33,19]],null]],[13],[13],[13],[13]],[]]]],[\\\"selectOption\\\",\\\"selectOption\\\"],false,[\\\"if\\\",\\\"isEditable\\\",\\\"unless\\\",\\\"isNew\\\",\\\"isEditing\\\",\\\"inputFieldId\\\",\\\"action\\\",\\\"fieldText\\\",\\\"concat\\\",\\\"value\\\",\\\"each\\\",\\\"-track-array\\\",\\\"selectOptionsArray\\\",\\\"is-equal\\\",\\\"newValue\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"get\\\",\\\"field\\\",\\\"not\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-lookup.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"6GiJurpN\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,2],[[[10,\\\"select\\\"],[15,1,[36,3]],[15,\\\"onchange\\\",[28,[37,4],[[30,0],\\\"selectNewValue\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,6],[[28,[37,6],[[33,7]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,8],[[30,1,[\\\"key\\\"]],[33,9]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[11,1],[24,0,\\\"save\\\"],[4,[38,4],[[30,0],\\\"save\\\",[33,10]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,\\\"title\\\",\\\"Save\\\"],[14,0,\\\"fa fa-check has-tooltip-info\\\"],[12],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,4],[[30,0],\\\"cancel\\\",[33,11]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"top\\\"],[14,\\\"title\\\",\\\"Cancel\\\"],[14,0,\\\"fa fa-times has-tooltip-info\\\"],[12],[13],[13]],[]],[[[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,12],[[33,11],[33,13]],null]],[13]],[]]],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Read only\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,12],[[33,11],[33,13]],null]],[13],[13],[13],[13]],[]]]],[\\\"selectOption\\\"],false,[\\\"if\\\",\\\"isEditable\\\",\\\"isEditing\\\",\\\"inputFieldId\\\",\\\"action\\\",\\\"each\\\",\\\"-track-array\\\",\\\"selectOptionsArray\\\",\\\"is-equal\\\",\\\"newValue\\\",\\\"parentObject\\\",\\\"object\\\",\\\"get\\\",\\\"field\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-select-alt.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"9AvIOo6J\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,2],[[[10,\\\"select\\\"],[15,1,[36,3]],[15,\\\"onchange\\\",[28,[37,4],[[30,0],\\\"selectNewValue\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,6],[[28,[37,6],[[33,7]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,8],[[30,1,[\\\"key\\\"]],[33,9]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[11,1],[24,0,\\\"save\\\"],[4,[38,4],[[30,0],\\\"cancel\\\",[33,10]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,11],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,12],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,1],[16,\\\"onchange\\\",[28,[37,4],[[30,0],\\\"getNewOptionValue\\\"],null]],[24,0,\\\"text\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,[28,[35,13],[[33,10],[33,14]],null]],[1,\\\" (mm)\\\"],[13]],[]]],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,0,\\\"text\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Read Only\\\",\\\"right\\\"]],null],[1,[28,[35,13],[[33,10],[33,14]],null]],[1,\\\" (mm)\\\"],[13],[13],[13],[13]],[]]]],[\\\"selectOption\\\"],false,[\\\"if\\\",\\\"isEditable\\\",\\\"isEditing\\\",\\\"inputFieldId\\\",\\\"action\\\",\\\"each\\\",\\\"-track-array\\\",\\\"selectOptionsArray\\\",\\\"is-equal\\\",\\\"newValue\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"get\\\",\\\"field\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-select-non-model.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"z62trK5s\",\"block\":\"[[[41,[33,1],[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,2],[[[41,[33,3],[[[10,\\\"select\\\"],[15,5,[29,[\\\"width: \\\",[36,3],\\\"px;\\\"]]],[15,1,[36,4]],[15,\\\"onchange\\\",[28,[37,5],[[30,0],\\\"selectNewValue\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[33,8]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,9],[[30,1,[\\\"key\\\"]],[33,10]],null]],[15,2,[29,[[30,1,[\\\"key\\\"]]]]],[12],[1,[30,1,[\\\"value\\\"]]],[13]],[1]],null],[13],[11,1],[24,0,\\\"save\\\"],[4,[38,5],[[30,0],\\\"cancel\\\",[33,11]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,12],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,13],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[10,\\\"select\\\"],[15,1,[36,4]],[15,\\\"onchange\\\",[28,[37,5],[[30,0],\\\"selectNewValue\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,7],[[28,[37,7],[[33,8]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,9],[[30,2,[\\\"key\\\"]],[33,10]],null]],[15,2,[29,[[30,2,[\\\"key\\\"]]]]],[12],[1,[30,2,[\\\"value\\\"]]],[13]],[2]],null],[13],[11,1],[24,0,\\\"save\\\"],[4,[38,5],[[30,0],\\\"cancel\\\",[33,11]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,12],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,13],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]]]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,5],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,12],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,[28,[35,14],[[33,11],[33,15]],null]],[13]],[]]],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"non-editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[11,1],[24,0,\\\"text\\\"],[4,[38,5],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,12],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Read Only\\\",\\\"right\\\"]],null],[1,[28,[35,14],[[33,11],[33,15]],null]],[13],[13],[13],[13]],[]]]],[\\\"selectOption\\\",\\\"selectOption\\\"],false,[\\\"if\\\",\\\"isEditable\\\",\\\"isEditing\\\",\\\"width\\\",\\\"inputFieldId\\\",\\\"action\\\",\\\"each\\\",\\\"-track-array\\\",\\\"selectOptionsArray\\\",\\\"is-equal\\\",\\\"newValue\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"get\\\",\\\"field\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-select.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"GfVi+dyU\",\"block\":\"[[[10,0],[14,0,\\\"editable-field\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[33,1],[[[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"format\\\",[36,2]],[15,2,[36,3]],[15,\\\"oninput\\\",[28,[37,4],[[30,0],[28,[37,5],[[33,3]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"focus-out\\\",\\\"'save' object\\\"],[15,1,[29,[[36,6]]]],[14,4,\\\"time\\\"],[12],[13],[13],[11,1],[24,0,\\\"save\\\"],[4,[38,4],[[30,0],\\\"save\\\",[33,7]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Save\\\",\\\"top\\\"]],null],[8,[39,9],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,4],[[30,0],\\\"cancel\\\",[33,7]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Cancel\\\",\\\"top\\\"]],null],[8,[39,9],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[11,1],[24,0,\\\"text\\\"],[4,[38,4],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,8],null,[[\\\"@title\\\",\\\"@placement\\\"],[\\\"Edit\\\",\\\"right\\\"]],null],[1,[28,[35,10],[[33,7],[33,6]],null]],[13]],[]]],[13],[13],[13]],[],false,[\\\"if\\\",\\\"isEditing\\\",\\\"format\\\",\\\"newValue\\\",\\\"action\\\",\\\"mut\\\",\\\"field\\\",\\\"object\\\",\\\"bs-tooltip\\\",\\\"fa-icon\\\",\\\"get\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/single-save-time-picker.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"/2hgjYUy\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,13]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,15]],[12],[42,[28,[37,17],[[28,[37,17],[[28,[37,18],[1,[33,19]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,20],[\\\"ch\\\",[30,1]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,20],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,15]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,17],[[28,[37,17],[[28,[37,18],[1,[33,19]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,20],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,20],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Active (Boolean 1/0)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],[[[1,\\\"Active (1/0)\\\"]],[]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"timeReference\\\",\\\"unless\\\",\\\"activeSize\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"2OYv92lQ\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstrument_length\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Burial Depth (m):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"instrumentLength\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"instrumentLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstrumentLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"0RP8+HPl\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"D/e+jPwI\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,\\\"title\\\",\\\"Target recipient for alert. Add cell number then click on link to find carrier network. \\\"],[24,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[24,0,\\\"col-12 col-form-label bold link\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,6],[[[6,[39,7],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,8],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,9],[33,6],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,15],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,16]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,17]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[1,[33,14]],null]],null]],null],null,[[[44,[[28,[37,19],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,15],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,17]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[28,[37,13],[0,[33,14]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,15],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,15],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Active (Boolean 1/0)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Active (Boolean 1/0)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],[[[1,\\\"Active (1/0)\\\"]],[]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,20]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,21],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,22]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"newAlertObject\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HpFa5p9+\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"sGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Spatial Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"referenceAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"referenceAnchor\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,6],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"instrumentLength\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Burial Depth (m):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"instrumentLength\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Nodes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"headAt\\\",\\\"channelsNum\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[30,1,[\\\"anchors\\\"]],[33,6,[\\\"headAt\\\",\\\"id\\\"]],[33,6,[\\\"channelsNum\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\",\\\"single-save-instrument-anchors\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"f2TERpdI\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"agor9vGv\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"EuUfvYP9\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1]],null]],null],null,[[[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,13],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,14],[[30,7,[\\\"id\\\"]],[28,[37,15],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"slough/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ry3NePpe\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"digit(boolean)\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"iWkjQxJK\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"digit(boolean)\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/slough/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Ce/EZhq8\",\"block\":\"[[[1,[34,0]],[41,[33,2],[[[10,1],[15,0,[29,[\\\"th-sort horizontal-headers \\\",[52,[33,2],\\\"active\\\"]]]],[12],[41,[33,3],[[[11,1],[24,\\\"aria-hidden\\\",\\\"true\\\"],[24,0,\\\"sort-icons sort-asc\\\"],[4,[38,4],[[30,0],\\\"sortBy\\\",[33,5],true],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"sort-up\\\"]],null],[13]],[]],[[[11,1],[24,\\\"aria-hidden\\\",\\\"true\\\"],[24,0,\\\"sort-icons sort-desc\\\"],[4,[38,4],[[30,0],\\\"sortBy\\\",[33,5],false],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"sort-down\\\"]],null],[13]],[]]],[13]],[]],[[[10,1],[14,0,\\\"th-sort\\\"],[12],[11,1],[24,\\\"aria-hidden\\\",\\\"true\\\"],[24,0,\\\"sort-icons\\\"],[4,[38,4],[[30,0],\\\"sortBy\\\",[33,5],true],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"sort\\\"]],null],[13],[13]],[]]]],[],false,[\\\"title\\\",\\\"if\\\",\\\"isSelectedSort\\\",\\\"orderingAscending\\\",\\\"action\\\",\\\"sortProperty\\\",\\\"fa-icon\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/sortable-table-header.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HYIsRd57\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"1\\\"],null],[[[1,\\\"      Production\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"2\\\"],null],[[[1,\\\"      Development\\\\n\\\"]],[]],[[[1,\\\"      All\\\\n    \\\"]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"blast_type\\\"],[null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"All\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"blast_type\\\"],[1]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Production\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"blast_type\\\"],[2]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Development\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@blastType\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/spatial-blast-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"rgKgswW5\",\"block\":\"[[[41,[28,[37,1],[[30,1],\\\"1\\\"],null],[[[1,[28,[35,2],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"2\\\"],null],[[[1,[28,[35,3],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"3\\\"],null],[[[1,[28,[35,4],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"4\\\"],null],[[[1,[28,[35,2],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"5\\\"],null],[[[1,[28,[35,2],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"6\\\"],null],[[[1,[28,[35,5],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"7\\\"],null],[[[1,[28,[35,6],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"8\\\"],null],[[[1,[28,[35,7],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"9\\\"],null],[[[1,[28,[35,8],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"10\\\"],null],[[[1,[28,[35,9],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"11\\\"],null],[[[1,[28,[35,2],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"12\\\"],null],[[[1,\\\"Wire\\\"]],[]],[[[41,[28,[37,1],[[30,1],\\\"13\\\"],null],[[[1,[28,[35,10],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"15\\\"],null],[[[1,[28,[35,11],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"16\\\"],null],[[[1,[28,[35,12],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"17\\\"],null],[[[1,[28,[35,13],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"19\\\"],null],[[[1,[28,[35,14],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[1,[28,[35,2],null,[[\\\"selected\\\"],[\\\"Displacement\\\"]]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[\\\"@instrumentType\\\",\\\"@selected\\\",\\\"@instrumentId\\\"],false,[\\\"if\\\",\\\"eq\\\",\\\"pack/spatial-chart-dropdown\\\",\\\"cable/spatial-chart-dropdown\\\",\\\"rebar/spatial-chart-dropdown\\\",\\\"tilt/spatial-chart-dropdown\\\",\\\"slough/spatial-chart-dropdown\\\",\\\"thermo/spatial-chart-dropdown\\\",\\\"piezo/spatial-chart-dropdown\\\",\\\"hid/spatial-chart-dropdown\\\",\\\"adict/spatial-chart-dropdown\\\",\\\"vibe/spatial-chart-dropdown\\\",\\\"micro/spatial-chart-dropdown\\\",\\\"rebarv2/spatial-chart-dropdown\\\",\\\"dppc/spatial-chart-dropdown\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"n3mOMfBN\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"blast\\\"],null],[[[1,\\\"      Blast\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"seismic\\\"],null],[[[1,\\\"      Seismic\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"bluvibe\\\"],null],[[[1,\\\"      BluVibe\\\\n\\\"]],[]],[[[1,\\\"      All\\\\n    \\\"]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"event_type\\\",\\\"blast_type\\\",\\\"seismic_type\\\"],[null,null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"All\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"event_type\\\",\\\"blast_type\\\",\\\"seismic_type\\\"],[\\\"blast\\\",null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Blast\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"event_type\\\",\\\"blast_type\\\",\\\"seismic_type\\\"],[\\\"seismic\\\",null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Seismic\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@eventType\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/spatial-event-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"vfKvSF1r\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[33,2],[[[1,\\\"      Frequency\\\\n\\\"]],[]],[[[41,[33,3],[[[1,\\\"      Number of Samples\\\\n    \\\"]],[]],null]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"group_time\\\",\\\"group_window\\\",\\\"frequency_num\\\",\\\"frequency\\\"],[true,false,0,\\\"weekly\\\"]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,6],[[33,7],[33,8]],null]]],[[\\\"default\\\"],[[[[1,\\\"Frequency\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,2,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"group_time\\\",\\\"group_window\\\",\\\"frequency_num\\\",\\\"frequency\\\"],[false,true,50,\\\"\\\"]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,6],[[33,7],[33,8]],null]]],[[\\\"default\\\"],[[[[1,\\\"Number of Samples\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[2]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"groupTime\\\",\\\"groupWindow\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/spatial-group-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"91tNPrK9\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"1\\\"],null],[[[1,\\\"      Event\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"2\\\"],null],[[[1,\\\"      Blast\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"3\\\"],null],[[[1,\\\"      Noise\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"4\\\"],null],[[[1,\\\"      Other\\\\n\\\"]],[]],[[[1,\\\"      All\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"All\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[1]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Event\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[2]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Blast\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[3]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Noise\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[4]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Other\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@seismicType\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/spatial-seismic-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"9CGKbI/j\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n    \\\"],[1,[30,2]],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"frequency_num\\\",\\\"frequency\\\",\\\"events_only\\\"],[0,\\\"daily\\\",false]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],[33,5]],null]]],[[\\\"default\\\"],[[[[1,\\\"Daily\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"frequency_num\\\",\\\"frequency\\\",\\\"events_only\\\"],[0,\\\"weekly\\\",false]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],[33,5]],null]]],[[\\\"default\\\"],[[[[1,\\\"Weekly\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"frequency_num\\\",\\\"frequency\\\",\\\"events_only\\\"],[0,\\\"monthly\\\",false]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],[33,5]],null]]],[[\\\"default\\\"],[[[[1,\\\"Monthly\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@frequencySelect\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/spatial-time-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"VEz5Ewo5\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n    \\\"],[1,[30,2]],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"frequency_num\\\",\\\"frequency\\\",\\\"events_only\\\"],[10,\\\"\\\",false]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],[33,5]],null]]],[[\\\"default\\\"],[[[[1,\\\"10\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"frequency_num\\\",\\\"frequency\\\",\\\"events_only\\\"],[20,\\\"\\\",false]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],[33,5]],null]]],[[\\\"default\\\"],[[[[1,\\\"20\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"frequency_num\\\",\\\"frequency\\\",\\\"events_only\\\"],[50,\\\"\\\",false]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],[33,5]],null]]],[[\\\"default\\\"],[[[[1,\\\"50\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@frequencySelect\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/spatial-window-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"kPTuQlpd\",\"block\":\"[[[10,0],[14,0,\\\"container\\\"],[12],[6,[39,0],null,[[\\\"viewbox\\\",\\\"xmlns\\\",\\\"width\\\",\\\"height\\\",\\\"class\\\"],[\\\"0 0 #{height} #{width}\\\",\\\"http://www.w3.org/2000/svg\\\",[33,1],[33,2],\\\"svg-container\\\"]],[[\\\"default\\\"],[[[[6,[39,3],null,null,[[\\\"default\\\"],[[[[6,[39,4],null,[[\\\"patternUnits\\\",\\\"width\\\",\\\"height\\\",\\\"id\\\"],[\\\"userSpaceOnUse\\\",\\\"21\\\",\\\"21\\\",\\\"p\\\"]],[[\\\"default\\\"],[[[[1,[28,[35,5],null,[[\\\"width\\\",\\\"height\\\",\\\"x\\\",\\\"y\\\",\\\"class\\\"],[\\\"20\\\",\\\"20\\\",\\\"0\\\",\\\"0\\\",\\\"grid-back\\\"]]]]],[]]]]]],[]]]]],[1,[28,[35,5],null,[[\\\"width\\\",\\\"height\\\",\\\"class\\\"],[[33,2],[33,1],\\\"grid-front\\\"]]]],[1,[28,[35,5],null,[[\\\"width\\\",\\\"height\\\",\\\"fill\\\"],[[33,2],[33,1],\\\"url(#p)\\\"]]]],[1,[28,[35,6],null,[[\\\"id\\\"],[\\\"chart-container\\\"]]]]],[]]]]],[13]],[],false,[\\\"svg\\\",\\\"height\\\",\\\"width\\\",\\\"defs\\\",\\\"pattern\\\",\\\"rect\\\",\\\"g\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/svg-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"+dUGbtYd\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"1\\\"],null],[[[1,\\\"      Production\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"2\\\"],null],[[[1,\\\"      Development\\\\n\\\"]],[]],[[[1,\\\"      All\\\\n    \\\"]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"blast_type\\\"],[null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"All\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"blast_type\\\"],[1]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Production\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"blast_type\\\"],[2]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Development\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@blastType\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-blast-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"zxIHy+9F\",\"block\":\"[[[41,[28,[37,1],[[30,1],\\\"1\\\"],null],[[[1,[28,[35,2],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"2\\\"],null],[[[1,[28,[35,3],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"3\\\"],null],[[[1,[28,[35,4],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"4\\\"],null],[[[1,[28,[35,2],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"5\\\"],null],[[[1,[28,[35,5],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"6\\\"],null],[[[1,[28,[35,6],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"7\\\"],null],[[[1,[28,[35,7],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"8\\\"],null],[[[1,[28,[35,8],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"9\\\"],null],[[[1,[28,[35,9],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"10\\\"],null],[[[1,[28,[35,10],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"11\\\"],null],[[[1,[28,[35,2],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"12\\\"],null],[[[1,[28,[35,11],null,[[\\\"selected\\\",\\\"instrumentId\\\",\\\"port\\\"],[[30,2],[30,3],[30,4]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"13\\\"],null],[[[41,[28,[37,1],[[30,5,[\\\"vendorType\\\"]],\\\"MDT_MPBX\\\"],null],[[[1,[28,[35,12],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],null],[41,[28,[37,1],[[30,5,[\\\"vendorType\\\"]],\\\"MDT_CABLE\\\"],null],[[[1,[28,[35,13],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],null],[41,[28,[37,1],[[30,5,[\\\"vendorType\\\"]],\\\"GENERIC\\\"],null],[[[1,[28,[35,14],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],null],[41,[28,[37,1],[[30,5,[\\\"vendorType\\\"]],\\\"\\\"],null],[[[1,[28,[35,14],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],null]],[]],[[[41,[28,[37,1],[[30,1],\\\"15\\\"],null],[[[1,[28,[35,15],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"16\\\"],null],[[[1,[28,[35,16],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"17\\\"],null],[[[1,[28,[35,17],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"19\\\"],null],[[[1,[28,[35,18],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"20\\\"],null],[[[1,[28,[35,19],null,[[\\\"selected\\\",\\\"instrumentId\\\"],[[30,2],[30,3]]]]]],[]],[[[1,[28,[35,2],null,[[\\\"selected\\\"],[\\\"Displacement\\\"]]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[\\\"@instrumentType\\\",\\\"@selected\\\",\\\"@instrumentId\\\",\\\"@port\\\",\\\"@vendor\\\"],false,[\\\"if\\\",\\\"eq\\\",\\\"pack/temporal-chart-dropdown\\\",\\\"cable/temporal-chart-dropdown\\\",\\\"rebar/temporal-chart-dropdown\\\",\\\"dconv/temporal-chart-dropdown\\\",\\\"tilt/temporal-chart-dropdown\\\",\\\"slough/temporal-chart-dropdown\\\",\\\"thermo/temporal-chart-dropdown\\\",\\\"piezo/temporal-chart-dropdown\\\",\\\"hid/temporal-chart-dropdown\\\",\\\"wire/temporal-chart-dropdown\\\",\\\"adict/temporal-MPBX-chart-dropdown\\\",\\\"adict/temporal-CABLE-chart-dropdown\\\",\\\"adict/temporal-chart-dropdown\\\",\\\"vibe/temporal-chart-dropdown\\\",\\\"micro/temporal-chart-dropdown\\\",\\\"rebarv2/temporal-chart-dropdown\\\",\\\"dppc/temporal-chart-dropdown\\\",\\\"multiDExto/temporal-chart-dropdown\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HYyObotN\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[33,3],50],null],[[[1,\\\"      50\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],300],null],[[[1,\\\"      300\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],100],null],[[[1,\\\"      100\\\\n\\\"]],[]],[[[41,[28,[37,2],[[33,3],10],null],[[[1,\\\"      10\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],1],null],[[[1,\\\"      All\\\\n\\\"]],[]],[[[1,\\\"      100\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"display_records\\\"],[300]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,6],[[33,7],[33,8]],null]]],[[\\\"default\\\"],[[[[1,\\\"300\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"display_records\\\"],[100]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,6],[[33,7],[33,8]],null]]],[[\\\"default\\\"],[[[[1,\\\"100\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"display_records\\\"],[50]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,6],[[33,7],[33,8]],null]]],[[\\\"default\\\"],[[[[1,\\\"50\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"display_records\\\"],[10]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,6],[[33,7],[33,8]],null]]],[[\\\"default\\\"],[[[[1,\\\"10\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,4],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,5],null,[[\\\"display_records\\\"],[1]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,6],[[33,7],[33,8]],null]]],[[\\\"default\\\"],[[[[1,\\\"All\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@display_records\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"display_records\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-display-records-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"czL6ImlB\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"blast\\\"],null],[[[1,\\\"      Blast\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"seismic\\\"],null],[[[1,\\\"      Seismic\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"bluvibe\\\"],null],[[[1,\\\"      BluVibe\\\\n\\\"]],[]],[[[1,\\\"      All\\\\n    \\\"]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"event_type\\\",\\\"blast_type\\\",\\\"seismic_type\\\"],[null,null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"All\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"event_type\\\",\\\"blast_type\\\",\\\"seismic_type\\\"],[\\\"blast\\\",null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Blast\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"event_type\\\",\\\"blast_type\\\",\\\"seismic_type\\\"],[\\\"seismic\\\",null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Seismic\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"event_type\\\",\\\"blast_type\\\",\\\"seismic_type\\\"],[\\\"bluvibe\\\",null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"BluVibe\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@eventType\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-event-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"iRVMwvRa\",\"block\":\"[[[41,[28,[37,1],[[30,1],\\\"1\\\"],null],[[[1,[28,[35,2],null,[[\\\"selected\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"modelName\\\",\\\"chart_parent_gateway\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6],[30,7],[30,8]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"2\\\"],null],[[[1,[28,[35,3],null,[[\\\"selected\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"modelName\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6],[30,7]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"3\\\"],null],[[[1,[28,[35,4],null,[[\\\"selected\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"modelName\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6],[30,7]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"4\\\"],null],[[[1,[28,[35,5],null,[[\\\"selected\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"modelName\\\",\\\"chart_parent_gateway\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6],[30,7],[30,8]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"5\\\"],null],[[[1,[28,[35,6],null,[[\\\"selected\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"modelName\\\",\\\"chart_parent_gateway\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6],[30,7],[30,8]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"6\\\"],null],[[[1,[28,[35,7],null,[[\\\"selected\\\",\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"modelName\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6],[30,7]]]]]],[]],null]],[]]]],[]]]],[]]]],[]]]],[]]]],[\\\"@gatewayType\\\",\\\"@selected\\\",\\\"@gatewayId\\\",\\\"@gatewayTypeId\\\",\\\"@left_axis_field\\\",\\\"@right_axis_field\\\",\\\"@modelName\\\",\\\"@chart_parent_gateway\\\"],false,[\\\"if\\\",\\\"eq\\\",\\\"blucell/temporal-gateway-chart-dropdown\\\",\\\"blugate/temporal-gateway-chart-dropdown\\\",\\\"blu900gw/temporal-gateway-chart-dropdown\\\",\\\"blu900node/temporal-gateway-chart-dropdown\\\",\\\"oneforone/temporal-gateway-chart-dropdown\\\",\\\"bluvibe/temporal-gateway-chart-dropdown\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-gateway-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"YwOTShrA\",\"block\":\"[[],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-gateway-left-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"jow83ked\",\"block\":\"[[[41,[28,[37,1],[[30,1],\\\"1\\\"],null],[[[1,[28,[35,2],null,[[\\\"gatewayId\\\",\\\"modelName\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"selected\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"2\\\"],null],[[[1,[28,[35,3],null,[[\\\"gatewayId\\\",\\\"modelName\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"selected\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"3\\\"],null],[[[1,[28,[35,4],null,[[\\\"gatewayId\\\",\\\"modelName\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"selected\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"4\\\"],null],[[[1,[28,[35,5],null,[[\\\"gatewayId\\\",\\\"modelName\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"selected\\\",\\\"chart_parent_gateway\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6],[30,7]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"5\\\"],null],[[[1,[28,[35,6],null,[[\\\"gatewayId\\\",\\\"modelName\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"selected\\\",\\\"chart_parent_gateway\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6],[30,7]]]]]],[]],[[[41,[28,[37,1],[[30,1],\\\"6\\\"],null],[[[1,[28,[35,7],null,[[\\\"gatewayId\\\",\\\"modelName\\\",\\\"right_axis_field\\\",\\\"left_axis_field\\\",\\\"selected\\\"],[[30,2],[30,3],[30,4],[30,5],[30,6]]]]]],[]],null]],[]]]],[]]]],[]]]],[]]]],[]]]],[\\\"@gatewayType\\\",\\\"@gatewayId\\\",\\\"@modelName\\\",\\\"@right_axis_field\\\",\\\"@left_axis_field\\\",\\\"@selected\\\",\\\"@chart_parent_gateway\\\"],false,[\\\"if\\\",\\\"eq\\\",\\\"blucell/temporal-gateway-right-axis-dropdown\\\",\\\"blugate/temporal-gateway-right-axis-dropdown\\\",\\\"blu900gw/temporal-gateway-right-axis-dropdown\\\",\\\"blu900node/temporal-gateway-right-axis-dropdown\\\",\\\"oneforone/temporal-gateway-right-axis-dropdown\\\",\\\"bluvibe/temporal-gateway-right-axis-dropdown\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-gateway-right-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"eIV1mljJ\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,2],[[[41,[28,[37,2],[[30,2],60],null],[[[1,\\\"        1 Hour\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],480],null],[[[1,\\\"        8 Hours\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],1440],null],[[[1,\\\"        24 Hours\\\\n\\\"]],[]],[[[1,\\\"        \\\"],[1,[30,2]],[1,\\\"\\\\n      \\\"]],[]]]],[]]]],[]]]],[]],[[[1,\\\"      None\\\\n\\\"]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"window\\\"],[60]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"1 Hour\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"window\\\"],[480]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"8 Hours\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"window\\\"],[1440]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"24 Hours\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@window\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-group-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"9eMzqIp8\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"1\\\"],null],[[[1,\\\"      Event\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"2\\\"],null],[[[1,\\\"      Blast\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"3\\\"],null],[[[1,\\\"      Noise\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"4\\\"],null],[[[1,\\\"      Other\\\\n\\\"]],[]],[[[1,\\\"      All\\\\n    \\\"]],[]]]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"All\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[1]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Event\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[2]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Blast\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[3]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Noise\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"seismic_type\\\"],[4]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Other\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@seismicType\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-seismic-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"pViyoFL2\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"minute\\\"],null],[[[1,\\\"      Per Minute\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"hourly\\\"],null],[[[1,\\\"      Hourly\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"daily\\\"],null],[[[1,\\\"      Daily\\\\n\\\"]],[]],[[[1,\\\"      None\\\\n    \\\"]],[]]]],[]]]],[]]],[1,\\\"    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"frequency\\\"],[\\\"\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"None\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"frequency\\\"],[\\\"minute\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Per Minute\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"frequency\\\"],[\\\"hourly\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Hourly\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"frequency\\\"],[\\\"daily\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],[33,7]],null]]],[[\\\"default\\\"],[[[[1,\\\"Daily\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@frequency\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\",\\\"modelName\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/temporal-window-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"L1EzGtI2\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,13]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,15]],[12],[42,[28,[37,17],[[28,[37,17],[[28,[37,18],[0,[33,19]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,20],[\\\"ch\\\",[30,1]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,20],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,15]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,17],[[28,[37,17],[[28,[37,18],[0,[33,19]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,20],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,20],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"°C\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"timeReference\\\",\\\"unless\\\",\\\"activeSize\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"lCIj4gD4\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"eIQgvhqa\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"iXQVltrD\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\n e.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,9]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,13],[[28,[37,13],[[28,[37,14],[0,[33,15]],null]],null]],null],null,[[[44,[[28,[37,17],[[30,1],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,2],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[2]]]],[1]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,13],[[28,[37,13],[[28,[37,14],[0,[33,15]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Temperature\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Temperature\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[13],[1,\\\"Step Displacement\\\"]],[]],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[13],[1,\\\"Step Displacement\\\"]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"°C\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"°C/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"°C/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"timeReference\\\",\\\"unless\\\",\\\"activeSize\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"concat\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"csBzVqla\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"sGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Spatial Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,6],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Nodes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"headAt\\\",\\\"channelsNum\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[30,1,[\\\"anchors\\\"]],[33,6,[\\\"headAt\\\",\\\"id\\\"]],[33,6,[\\\"channelsNum\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\",\\\"single-save-instrument-anchors\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"CdAjB9fY\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"aQ/BtuLu\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"qjdFCLFR\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,6]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1]],null]],null],null,[[[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,13],false,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,14],[[30,7,[\\\"id\\\"]],[28,[37,15],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"thermo/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HiYvpJSt\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temp Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temp Grad\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"i+Es7xWr\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temperature\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temp. Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Temp. Grad\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/thermo/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HQ0Plf9S\",\"block\":\"[[],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/threeD.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"wGJ3xRde\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,13]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,15]],[12],[42,[28,[37,17],[[28,[37,17],[[28,[37,18],[0,[33,19]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,20],[\\\"ch\\\",[30,1]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,20],[\\\"Channel \\\",[28,[37,21],[[30,1],1],null]],null]],[1,\\\" \\\"],[13]],[1]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,15]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,17],[[28,[37,17],[[28,[37,18],[0,[33,19]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,20],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,20],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Tilt\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,22]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"timeReference\\\",\\\"unless\\\",\\\"activeSize\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"sum\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/tilt/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"h3Y6nNEZ\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/tilt/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"KbhMjEyp\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/tilt/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Tfjz4K7b\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,9]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,13],[[28,[37,13],[[28,[37,14],[0,[33,15]],null]],null]],null],null,[[[41,[28,[37,16],[[33,17],[28,[37,18],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[28,[37,19],[[30,1],1],null]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[28,[37,19],[[30,1],1],null]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,11]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,13],[[28,[37,13],[[28,[37,14],[0,[33,15]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Tilt\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,20]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,21],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,22]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"timeReference\\\",\\\"unless\\\",\\\"activeSize\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"get\\\",\\\"anchorList\\\",\\\"concat\\\",\\\"sum\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/tilt/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"vl2nF0IG\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,6],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/tilt/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"HKJJJnLj\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/tilt/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"xPbjdJZ8\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"ALERT! Multiple Modes detected in this set of data, using final value.\\\"],[13],[13],[13]],[]],null],[41,[33,4],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,5],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,4],[33,6],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,7],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,8]]]]],[13],[13]],[]],null],[41,[33,6],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,10],[[28,[37,10],[[33,7]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temperature\\\"],[13],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,11],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,12],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,10],[[28,[37,10],[[30,1]],null]],null],null,[[[1,[28,[35,13],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,14],true,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,15],[[30,7,[\\\"id\\\"]],[28,[37,16],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,8]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"multiple\\\",\\\"isVisibleCreateNewForm\\\",\\\"tilt/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/tilt/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"bMrPm+s0\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Tilt\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Ang. Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/tilt/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"MSyQ1Y85\",\"block\":\"[[],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vendor-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"AH3eI/Qe\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,8,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,0,\\\"bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,9],[[[6,[39,10],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,11],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,12],[33,9],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,19]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,20]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,15],[[28,[37,15],[[28,[37,16],[0,[33,17]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,18],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,18],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"VEL\\\"],[12],[1,\\\"Velocity\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"ACC\\\"],[12],[1,\\\"Acceleration\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<=)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"alert\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"tIH3ur8i\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"zF7yToAF\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[10,\\\"td\\\"],[12],[1,\\\"Temperature\\\"],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\".001\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[42,[28,[37,9],[[33,10]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,11],[[33,12],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,13]],[15,1,[29,[\\\"df\\\",[36,14]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,13]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\",\\\"temperatureObjectValue\\\",\\\"key\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"NsBVscYa\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,14],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,15]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[44,[[28,[37,18],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Displacement\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<=)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"mm\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"VEL\\\"],null],[[[1,\\\"mm/day\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"ACC\\\"],null],[[[1,\\\"mm/day²\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"/lESnUfk\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"fGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-area\\\"]],null],[1,\\\" Frequency Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"field\\\"],[[33,6],\\\"active\\\"]]]],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"d+5qAFQ0\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"    \\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"ppv\\\"],null],[[[1,\\\"      PPV vs Frequency\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"ppa\\\"],null],[[[1,\\\"      PPA vs Frequency\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"ppl\\\"],null],[[[1,\\\"      PPV vs Log(Frequency)\\\\n\\\"]],[]],[[[1,\\\"      PPV vs Frequency\\\\n    \\\"]],[]]]],[]]]],[]]],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"ppv\\\"]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,5],[[33,6],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"PPV vs Frequency\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"ppl\\\"]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,5],[[33,6],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"PPV vs Log(Frequency)\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"ppa\\\"]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,5],[[33,6],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"PPA vs Frequency\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/frequency-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"52Ahclj2\",\"block\":\"[[[10,0],[14,1,\\\"GRAPH\\\"],[12],[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-frequency-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/nvd3-frequency-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"9Md7egmt\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"3BsV6ouo\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[12],[10,\\\"label\\\"],[14,5,\\\"margin-right: 5px;\\\"],[12],[1,\\\"Visible Readings:\\\"],[13],[10,\\\"label\\\"],[14,5,\\\"margin-right: 5px;\\\"],[12],[1,[34,0]],[13],[10,\\\"label\\\"],[14,5,\\\"margin-right: 5px;\\\"],[12],[1,\\\"Total Readings:\\\"],[13],[10,\\\"label\\\"],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,1],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,2],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,4],[[[10,0],[14,5,\\\"overflow: auto; max-width: 1300px;\\\"],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,5],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,4],[33,6],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,7],\\\"YYYY-MM-DD HH:mm:ss.l\\\",[33,8]]]]],[13],[13]],[]],null],[41,[33,6],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,5,\\\"overflow: auto; display: inline-block; max-width: 1300px;\\\"],[14,0,\\\"row parent\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table child\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"maxBatchSwitch\\\"],[16,\\\"checked\\\",[36,9]],[24,4,\\\"checkbox\\\"],[4,[38,10],[[30,0],\\\"toggleAllBatch\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[13],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,12],[[28,[37,12],[[33,7]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[12],[1,\\\"Temp\\\"],[13],[10,\\\"th\\\"],[14,5,\\\"min-width: 75px;\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,13],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[33,14]],null]],null],null,[[[1,[28,[35,15],null,[[\\\"batchSelectedRows\\\",\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[33,16],[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,17],true,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,18],[[30,7,[\\\"id\\\"]],[28,[37,19],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,8]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,1],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,2],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"getVisibleReadings\\\",\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"vibe/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"anchorDistances\\\",\\\"setProp\\\",\\\"isMaxBatch\\\",\\\"action\\\",\\\"each\\\",\\\"-track-array\\\",\\\"fa-icon\\\",\\\"getDisplacementData\\\",\\\"single-save-inputs-array-table-row-cells\\\",\\\"batchSelectedRows\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"gBOfj/jY\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"    \\\\n\\\"],[41,[28,[37,2],[[30,2],\\\"frequency\\\"],null],[[[1,\\\"      Frequency\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"ppv\\\"],null],[[[1,\\\"      PPV\\\\n\\\"]],[]],[[[41,[28,[37,2],[[30,2],\\\"ppa\\\"],null],[[[1,\\\"      PPA\\\\n\\\"]],[]],[[[1,\\\"      Frequency\\\\n    \\\"]],[]]]],[]]]],[]]],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"frequency\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Frequency\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"ppv\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"PPV\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"chart_type\\\"],[null,null,\\\"ppa\\\"]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[33,6],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"PPA\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"if\\\",\\\"is-equal\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/vibe/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"qnHfl0oZ\",\"block\":\"[[[41,[33,1],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap\\\"],[12],[1,[28,[35,2],[[33,3,[\\\"id\\\"]],\\\"YYYY-MM-DD HH:mm:ss.SSS\\\"],null]],[13],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temp\\\"],[12],[10,\\\"input\\\"],[15,2,[36,4]],[15,1,[29,[\\\"df\\\",[36,5]]]],[15,\\\"oninput\\\",[28,[37,6],[[30,0],[28,[37,7],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[42,[28,[37,9],[[30,1,[\\\"values\\\"]]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,6],[[30,0],[28,[37,7],[[28,[37,10],[[33,11],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"save\\\"],[4,[38,6],[[30,0],\\\"save\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,12],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[13],[11,1],[24,0,\\\"cancel\\\"],[4,[38,6],[[30,0],\\\"cancel\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,12],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap\\\"],[12],[1,[28,[35,2],[[30,1,[\\\"id\\\"]],\\\"YYYY-MM-DD HH:mm:ss.SSS\\\"],null]],[13],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[34,4]],[13],[13],[42,[28,[37,9],[[30,1,[\\\"values\\\"]]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,5]],[12],[41,[28,[37,13],[[30,4],[33,14]],null],[[[10,1],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"title\\\",\\\"Value is above Stroke Length. Graphs will use previous value.\\\"],[14,0,\\\"text red-text bold has-tooltip-info\\\"],[12],[1,\\\"⇑ \\\"],[13]],[]],null],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"text has-tooltip-info\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[41,[33,15],[[[1,[28,[35,16],[[30,4],3],null]]],[]],[[[1,[28,[35,16],[[30,4],2],null]]],[]]],[13],[13]],[4,5]],null],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,6],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,12],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[11,1],[24,\\\"data-toggle\\\",\\\"tooltip\\\"],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"crud edit has-tooltip-info\\\"],[4,[38,6],[[30,0],\\\"edit\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,12],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,17],[[28,[37,18],[[33,19],[33,3,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"Delete it?\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"Are you sure?\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,6],[[30,0],\\\"remove\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,6],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[33,3,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13]],[]]]],[\\\"@displacementValueObject\\\",\\\"value\\\",\\\"key\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isEditing\\\",\\\"moment-format\\\",\\\"displacementValueObject\\\",\\\"temperatureObjectValue\\\",\\\"key\\\",\\\"action\\\",\\\"mut\\\",\\\"each\\\",\\\"-each-in\\\",\\\"get\\\",\\\"displacementValueObjectValues\\\",\\\"fa-icon\\\",\\\"is-greater-than\\\",\\\"strokeLength\\\",\\\"isFine\\\",\\\"format-number\\\",\\\"active-class\\\",\\\"get-array-element\\\",\\\"isRowDeleteConfirmationDialog\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire-single-save-inputs-array-table-row-cells.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Wf6L5z5P\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"padding-right: 3rem;\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[33,1],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,2],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],null],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"newAlertObjectSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"newAlertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name.\\\"],[15,2,[36,6]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectType\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"newAlertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"newAlertStaticDynamic\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newAlertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,1,\\\"newAlertEnabled\\\"],[24,\\\"checked\\\",\\\"\\\"],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,3],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"newAlertObjectResponseType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"newAlertResponse\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[24,\\\"title\\\",\\\"Target recipient for alert. Add cell number then click on link to find carrier network. \\\"],[24,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[24,0,\\\"col-12 col-form-label bold link\\\"],[4,[38,3],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,8],[[[6,[39,9],null,[[\\\"close\\\"],[[28,[37,3],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,10],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,11],[33,8],[28,[37,3],[[30,0],\\\"toggleModal\\\"],null],[28,[37,3],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,5,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,5,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"newAlertObjectAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,14],[[28,[37,14],[[28,[37,15],[0,[33,16]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,17],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,17],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,1,\\\"newAlertRefAnchor\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[36,18]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,18]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,\\\"for\\\",\\\"newAlertActiveChans\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,19]],[12],[42,[28,[37,14],[[28,[37,14],[[28,[37,15],[0,[33,16]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,17],[\\\"ch\\\",[30,2]],null]]]],[14,\\\"selected\\\",\\\"\\\"],[12],[1,[28,[35,17],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[2]],null],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,19]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,14],[[28,[37,14],[[28,[37,15],[0,[33,16]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,17],[\\\"ch\\\",[30,3]],null]]]],[12],[1,[28,[35,17],[\\\"Channel \\\",[30,3]],null]],[1,\\\" \\\"],[13]],[3]],null],[13],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newAlertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Pressure\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,5,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"kPa\\\"]],[]],null],[41,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]],[[[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"newAlertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,1,\\\"newAlertInstrument\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"newAlertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"newAlertInstrument\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[15,\\\"onchange\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Window Length (Seconds):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,7],[[33,5,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[51,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"SUS\\\"],null]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,7],[[33,5,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,5,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,4],[[33,5,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,1,\\\"newAlertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,20]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,3],[[30,0],\\\"createAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"channel\\\"],false,[\\\"if\\\",\\\"isVisibleError\\\",\\\"fieldError\\\",\\\"action\\\",\\\"mut\\\",\\\"newAlertObject\\\",\\\"username\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"createMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"IORMBXUL\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"row_details\\\"],[12],[10,\\\"tbody\\\"],[14,5,\\\"display:contents\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectName\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"Name\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"name\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectName\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectProject\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,1],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Project\\\",\\\"newInstrumentObjectProject\\\",[28,[37,1],[[30,0],\\\"setProject\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"project\\\"]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"location\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"location\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectLocation\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectCoordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"east\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"east\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectEast\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"north\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"north\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNorth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-4\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"depth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"depth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDepth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"azimuth\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"azimuth\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectAzimuth\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectDip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"dip\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"dip\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectDip\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectLevel\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[1,[28,[35,3],null,[[\\\"isNew\\\",\\\"isEditable\\\",\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"onSelectionChange\\\",\\\"inputFieldId\\\"],[true,true,[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",\\\"value\\\",\\\"Level\\\",\\\"newInstrumentObjectLevel\\\",[28,[37,1],[[30,0],\\\"setLevel\\\"],[[\\\"value\\\"],[[33,4,[\\\"value\\\"]]]]],\\\"level\\\"]]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align:top\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"borehole\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"borehole\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectBorehole\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectZeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,5]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"zeroTimestamp\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstallDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,6]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"installDate\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"installedBy\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"installedBy\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectInstalledBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,2,[33,0,[\\\"purpose\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"purpose\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectPurpose\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"textarea\\\"],[15,2,[33,0,[\\\"notes\\\"]]],[15,\\\"oninput\\\",[28,[37,1],[[30,0],[28,[37,2],[[33,0,[\\\"notes\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectNotes\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-bottom:5px;\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,5,\\\"margin-top: 1 rem;\\\"],[24,0,\\\"add-new\\\"],[4,[38,1],[[30,0],\\\"createInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Create\\\"],[13],[13],[13],[13],[13]],[\\\"@projectLookupList\\\",\\\"@levelLookupList\\\"],false,[\\\"newInstrumentObject\\\",\\\"action\\\",\\\"mut\\\",\\\"single-save-lookup\\\",\\\"target\\\",\\\"zeroTimestamp\\\",\\\"installDate\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"uU4Yepl4\",\"block\":\"[[[41,[33,1],[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"active newRecord\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"New data value\\\"],[13],[10,\\\"td\\\"],[15,\\\"colspan\\\",[33,2,[\\\"length\\\"]]],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item noWrap\\\"],[12],[11,1],[24,0,\\\"cancel-new mr-1\\\"],[4,[38,3],[[30,0],\\\"cancelNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-times\\\"],[12],[13],[1,\\\" Cancel\\\"],[13],[11,1],[24,0,\\\"save-new\\\"],[4,[38,3],[[30,0],\\\"saveNew\\\",[33,4]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[10,\\\"i\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,0,\\\"fa fa-check\\\"],[12],[13],[1,\\\" Save\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[12],[1,\\\"Date\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[33,2]],null]],null],null,[[[10,\\\"td\\\"],[12],[1,[30,1]],[13]],[1]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Date\\\"],[14,0,\\\"noWrap row_details form-inline input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,8]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newTimestampValue\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Temperature\\\"],[12],[10,\\\"input\\\"],[15,2,[36,9]],[15,1,[29,[\\\"df\\\",[36,10]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[33,9]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[42,[28,[37,11],[[33,12]],null],null,[[[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,3]],[12],[10,\\\"input\\\"],[15,2,[30,2]],[15,1,[29,[\\\"df\\\",[30,3]]]],[15,\\\"oninput\\\",[28,[37,3],[[30,0],[28,[37,7],[[28,[37,13],[[33,14],[30,3]],null]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control inside-table-cell\\\"],[14,4,\\\"text\\\"],[12],[13],[13]],[2,3]],null],[13],[13],[13]],[]],null]],[\\\"anchor\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"instrumentAnchors\\\",\\\"action\\\",\\\"instruments\\\",\\\"each\\\",\\\"-track-array\\\",\\\"mut\\\",\\\"newTimestampValue\\\",\\\"temperatureObjectValue\\\",\\\"key\\\",\\\"-each-in\\\",\\\"displacementValueObjectValues\\\",\\\"get\\\",\\\"newDisplacementValueObjectValues\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/create-new-raw-data-value-form.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"6icwE8YL\",\"block\":\"[[[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,\\\"for\\\",\\\"alertSeverity\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Alert Severity:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Just for Notification.\\\"],[14,1,\\\"alertSeverity\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"severity\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"HIGH\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"High\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"HIGH\\\"],[12],[1,\\\"High\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"MED\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Medium\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"MED\\\"],[12],[1,\\\"Medium\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"severity\\\"]],\\\"LOW\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Low\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LOW\\\"],[12],[1,\\\"Low\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[14,\\\"for\\\",\\\"alertObjectCreatedBy\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Created By:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top:5px;\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Alert creator's name\\\"],[15,2,[33,2,[\\\"creator\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"creator\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectCreatedBy\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[14,\\\"for\\\",\\\"creationTimestamp\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Creation Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Date and time this alert was created\\\"],[12],[1,[33,2,[\\\"creationDate\\\"]]],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[14,\\\"for\\\",\\\"alertStaticDynamic\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Static Alert:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Alert must be cleared Manually\\\"],[24,1,\\\"alertStaticDynamic\\\"],[16,\\\"checked\\\",[33,2,[\\\"isPerm\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"staticChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Enable/disable alert\\\"],[14,\\\"for\\\",\\\"alertEnabled\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Enabled:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"label\\\"],[14,\\\"data-toggle\\\",\\\"tooltip\\\"],[14,\\\"data-placement\\\",\\\"right\\\"],[14,\\\"data-offset\\\",\\\"0 -7\\\"],[14,0,\\\"custom-control custom-checkbox empty-checkbox-title mr-sm-2 has-tooltip-info\\\"],[12],[11,\\\"input\\\"],[24,\\\"title\\\",\\\"Enable/disable alert\\\"],[24,1,\\\"alertEnabled\\\"],[16,\\\"checked\\\",[33,2,[\\\"isActive\\\"]]],[24,0,\\\"custom-control-input\\\"],[24,4,\\\"checkbox\\\"],[4,[38,0],[[30,0],\\\"activeChanged\\\"],[[\\\"on\\\"],[\\\"change\\\"]]],[12],[13],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,\\\"for\\\",\\\"alertResponseType\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Response Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for response when alert is triggered\\\"],[14,1,\\\"alertResponseType\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"response\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"VP\\\"],[12],[1,\\\"Display Only\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"EMAIL\\\"],[12],[1,\\\"E-Mail\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"SMS\\\"],[12],[1,\\\"SMS (Text Message)\\\"],[13]],[]]],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Target (None):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"EMAIL\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (Address):\\\"],[13]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[11,\\\"label\\\"],[4,[38,0],[[30,0],\\\"toggleModal\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Target (Phone #):\\\"],[13],[41,[33,5],[[[6,[39,6],null,[[\\\"close\\\"],[[28,[37,0],[[30,0],\\\"toggleModal\\\"],null]]],[[\\\"default\\\"],[[[[10,\\\"label\\\"],[12],[1,\\\"Select Carrier Gateway:\\\"],[13],[1,[28,[35,7],null,[[\\\"phoneNumber\\\",\\\"isShowingModal\\\",\\\"onClose\\\",\\\"onSelect\\\"],[[33,8],[33,5],[28,[37,0],[[30,0],\\\"toggleModal\\\"],null],[28,[37,0],[[30,0],\\\"handleSelection\\\"],null]]]]]],[]]]]]],[]],null]],[]],null],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[14,\\\"for\\\",\\\"alertObjectTarget\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Target (IP addr):\\\"],[13]],[]],null],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"SMS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Phone Number\\\"],[14,\\\"title\\\",\\\"Format: number \\\\ne.g. 9999999999 then click on Target (Phone #) link!\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"title\\\",\\\"Available in future release\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Target recipient for alert response\\\"],[15,2,[33,2,[\\\"target\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"target\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectTarget\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[14,\\\"for\\\",\\\"alertObjectMessage\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Additional Message:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"VP\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"response\\\"]],\\\"TRIG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Additional message appended to an alert response\\\"],[15,2,[33,2,[\\\"message\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"message\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectMessage\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[14,\\\"for\\\",\\\"alertObjectReferenceAnchor\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[41,[28,[37,4],[[33,2,[\\\"refAnchor\\\"]],[28,[37,14],[\\\"ch\\\",[30,1]],null]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,1]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,1]],null]],[1,\\\" \\\"],[13]],[]]]],[1]],null],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectReferenceAnchor\\\"],[14,\\\"title\\\",\\\"Anchor that is as a reference for this alert (default is Channel 0)\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"refAnchor\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,2,\\\"Ch0\\\"],[12],[1,\\\"None\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Time to use as a reference for zeroing the measurements.\\\"],[14,\\\"for\\\",\\\"timeReference\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Time Reference:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"datetime-picker-component\\\"],[12],[10,\\\"input\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,2,[33,2,[\\\"timeReference\\\"]]],[14,\\\"format\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,15]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"timeReference\\\"],[14,4,\\\"datetime-local\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,\\\"title\\\",\\\"Channels to test for this Alert (Hold CTRL to select multiple)\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[44,[[28,[37,18],[[30,2],[30,0,[\\\"referenceAnchors\\\"]]],null]],[[[41,[30,3],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,\\\" \\\"],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,2]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,2]],null]],[1,\\\" \\\"],[13]],[]]]],[3]]]],[2]],null],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"chan_select\\\"],[14,0,\\\"col-6 col-form-label\\\"],[12],[1,\\\"Active Channels:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"select\\\"],[14,3,\\\"chan_select\\\"],[14,1,\\\"chan_select\\\"],[14,\\\"multiple\\\",\\\"\\\"],[15,\\\"size\\\",[36,16]],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"updateSelectedAnchors\\\"],null]],[14,\\\"disabled\\\",\\\"\\\"],[12],[42,[28,[37,11],[[28,[37,11],[[28,[37,12],[0,[33,13]],null]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[28,[37,14],[\\\"ch\\\",[30,4]],null]]]],[12],[1,[28,[35,14],[\\\"Channel \\\",[30,4]],null]],[1,\\\" \\\"],[13]],[4]],null],[13],[13],[13]],[]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMetric\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Metric:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMetric\\\"],[14,\\\"title\\\",\\\"Metric used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"metric\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Pressure\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"DISP\\\"],[12],[1,\\\"Pressure\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"STP_DISP\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"STP_DISP\\\"],[12],[1,\\\"Step Displacement\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"TIME\\\"],[14,\\\"title\\\",\\\"Time since last message recieved.\\\"],[12],[1,\\\"Latest Response\\\"],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectDirection\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Direction:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"GT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"direction\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Less Than (<)\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,1,\\\"alertObjectDirection\\\"],[14,\\\"title\\\",\\\"Direction used to determine if this alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"direction\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Greater Than (>=)\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[14,\\\"for\\\",\\\"alertObjectValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Value:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Value compared against selected active channel(s) value(s) to see if the alert should trigger\\\"],[15,2,[33,2,[\\\"value\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectValue\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"DISP\\\"],null],[[[1,\\\"kPa\\\"]],[]],null],[41,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null],[[[1,\\\"minutes\\\"]],[]],null],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Alert Status\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Status:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"TRIGGERED\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"All Good\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"First Triggered:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[15,\\\"title\\\",[36,19]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"initTriggerStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isTriggered\\\"]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"clearAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Clear Alert\\\"],[13]],[]],[[[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"triggerTest\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Trigger Alert (Test)\\\"],[13]],[]]],[13],[13],[41,[28,[37,4],[[33,20],true],null],[[[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You have modified Response Type/Target/Add. Message!\\\"],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"To test alert, please reset the page or save your changes.\\\"],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert handled?:\\\"],[13],[13],[10,\\\"td\\\"],[12],[41,[33,2,[\\\"isHandled\\\"]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Responded\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"No Response\\\"],[13]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Most recent handling:\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,2,\\\"target.value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[33,2,[\\\"handleStamp\\\"]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"td\\\"],[12],[11,\\\"button\\\"],[4,[38,0],[[30,0],\\\"resetHandle\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Reset Handle (Test)\\\"],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[10,\\\"h6\\\"],[12],[1,\\\"Calculation Method\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"metric\\\"]],\\\"TIME\\\"],null]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[14,\\\"title\\\",\\\"Method for choosing how alert will trigger\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"title\\\",\\\"Decide whether to trigger alarm based on the single most recent reading\\\"],[12],[1,\\\"Immediate\\\"],[13]],[]]],[13],[13],[13],[13],[13]],[]],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectMethod\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Method:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"alertObjectMethod\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"method\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"IMM\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Immediate\\\"],[13],[13],[13],[13],[13],[13]],[]]],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,\\\"for\\\",\\\"alertObjectWindow\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Number of Readings\\\"],[13]],[]]],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"LT\\\"],null],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]],[[[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Length of Time\\\"],[13]],[]]],[13]],[]],[[[10,\\\"select\\\"],[14,\\\"title\\\",\\\"Method for selecting how many recent readings will be checked\\\"],[14,1,\\\"alertObjectWindow\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowType\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[14,\\\"selected\\\",\\\"selected\\\"],[12],[1,\\\"Number of Readings\\\"],[13],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Check most recent reading to see if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (# Readings):\\\"],[13]],[]]]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"alertObjectWindowLength\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Window Length (Minutes):\\\"],[13]],[]]]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[41,[51,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"IMM\\\"],null]],[[[41,[28,[37,4],[[33,2,[\\\"windowType\\\"]],\\\"NR\\\"],null],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"SUS\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent readings to check if alert should be triggered\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most readings to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]],[[[41,[28,[37,4],[[33,2,[\\\"method\\\"]],\\\"AVG\\\"],null],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if average should trigger alert\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"input\\\"],[14,\\\"title\\\",\\\"Number of most recent minutes to check if alert should trigger\\\"],[15,2,[33,2,[\\\"windowLength\\\"]]],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"alertObjectWindowLength\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]]],[]]]],[]],[[[10,\\\"input\\\"],[14,2,\\\"1\\\"],[15,\\\"oninput\\\",[28,[37,0],[[30,0],[28,[37,1],[[33,2,[\\\"windowLength\\\"]]],null]],[[\\\"value\\\"],[\\\"1\\\"]]]],[14,\\\"title\\\",\\\"Check if most recent reading should trigger alert\\\"],[14,1,\\\"alertObjectWindowLength\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,1,\\\"add-new\\\"],[14,5,\\\"padding-bottom:5px\\\"],[14,0,\\\"add-new-item\\\"],[12],[10,1],[12],[1,[34,21]],[13],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveAlert\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Save\\\"],[13],[13],[13],[13],[13]],[\\\"channel\\\",\\\"channel\\\",\\\"result\\\",\\\"channel\\\"],false,[\\\"action\\\",\\\"mut\\\",\\\"alert\\\",\\\"if\\\",\\\"is-equal\\\",\\\"showModal\\\",\\\"modal-dialog\\\",\\\"popup-list\\\",\\\"phoneNumber\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\",\\\"range\\\",\\\"channelCount\\\",\\\"concat\\\",\\\"timeReference\\\",\\\"activeSize\\\",\\\"let\\\",\\\"validate-initial-channels\\\",\\\"triggeredTimeText\\\",\\\"edited\\\",\\\"saveMessage\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"T7XtE7Y3\",\"block\":\"[[[8,[39,0],null,[[\\\"@closeOnMenuClick\\\"],[true]],[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[42,[28,[37,2],[[28,[37,2],[[30,4]],null]],null],null,[[[1,\\\"      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[10,3],[14,6,\\\"\\\"],[15,\\\"onclick\\\",[28,[37,3],[[30,0],\\\"selectedProperty\\\",[33,4],[30,1,[\\\"closeDropdown\\\"]]],null]],[12],[1,\\\" \\\"],[1,[30,5,[\\\"channel\\\"]]],[13],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[5]],null],[1,\\\"  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\\n\\\"]],[\\\"dd\\\",\\\"@selectedPort\\\",\\\"ddm\\\",\\\"@ports\\\",\\\"port\\\"],false,[\\\"bs-dropdown\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"item\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/edit-instrument-port-drop-down.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"vHRUrNw9\",\"block\":\"[[[8,[39,0],null,[[\\\"@customTabs\\\"],[true]],[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[39,1],null,[[\\\"@type\\\"],[\\\"tabs\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[42,[28,[37,3],[[28,[37,3],[[30,0,[\\\"ports\\\"]]],null]],null],null,[[[1,\\\"      \\\"],[8,[30,2,[\\\"item\\\"]],null,[[\\\"@active\\\"],[[28,[37,4],[[30,1,[\\\"activeId\\\"]],[30,4]],null]]],[[\\\"default\\\"],[[[[10,3],[14,6,\\\"#\\\"],[14,\\\"port.channel\\\",\\\"\\\"],[14,\\\"role\\\",\\\"tab\\\"],[15,\\\"onclick\\\",[28,[37,5],[[30,0],[30,1,[\\\"select\\\"]],[30,3,[\\\"channel\\\"]]],null]],[12],[1,[30,3,[\\\"title\\\"]]],[13]],[]]]]],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"  \\\"]],[2]]]]],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"tab-content\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,3],[[28,[37,3],[[30,0,[\\\"ports\\\"]]],null]],null],null,[[[1,\\\"      \\\"],[8,[30,1,[\\\"pane\\\"]],null,[[\\\"@id\\\",\\\"@title\\\"],[\\\"port.channel\\\",\\\"port.title\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[1,\\\"wire/edit-instrument\\\"],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[5]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"tab\\\",\\\"nav\\\",\\\"port\\\",\\\"@activePanel\\\",\\\"port\\\"],false,[\\\"bs-tab\\\",\\\"bs-nav\\\",\\\"each\\\",\\\"-track-array\\\",\\\"bs-eq\\\",\\\"action\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/edit-instrument-tabs.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"0kOQDXIB\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Data:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"viewData\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"database\\\"]],null],[1,\\\" View Data\\\"],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"col-sm-auto inst-buttons\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"tGraph\\\",[30,1,[\\\"id\\\"]]],null],[12],[8,[39,1],null,[[\\\"@icon\\\"],[\\\"chart-line\\\"]],null],[1,\\\" Temporal Graph\\\"],[13],[13]],[]],null],[13],[10,\\\"hr\\\"],[12],[13],[13],[13],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Alerts:\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,5],null,[[\\\"isInst\\\",\\\"instrumentId\\\",\\\"alerts\\\"],[true,[33,6,[\\\"id\\\"]],[33,6,[\\\"alerts\\\"]]]]]],[13],[13],[10,\\\"hr\\\"],[12],[13],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h5\\\"],[12],[1,\\\"Properties:\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"justify-content: left;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channelsNum\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Channels:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[33,6],\\\"text\\\",\\\"channelsNum\\\",false]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"name\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"project\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Project:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,2],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"project\\\"]],[30,1],\\\"value\\\",\\\"Project\\\",\\\"id\\\",\\\"project\\\",true]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"location\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"location\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"coordinates\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,9],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],[33,6,[\\\"east\\\"]],[33,6,[\\\"north\\\"]],[33,6,[\\\"depth\\\"]],[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"azimuth\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Azimuth:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"azimuth\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"dip\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Dip:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"dip\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"level\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Level:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,8],null,[[\\\"selectOptions\\\",\\\"style\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"fieldText\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,3],\\\"font-size: 23px\\\",\\\"id,value\\\",[30,1,[\\\"level\\\"]],[30,1],\\\"value\\\",\\\"Level\\\",\\\"id\\\",\\\"level\\\",true]]]],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[13],[10,\\\"hr\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[12],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"zeroTimestamp\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Zero timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"zeroTimestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installDate\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Install date:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\",\\\"showClear\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"installDate\\\",\\\"YYYY-MM-DD HH:mm:ss\\\",true,[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"installedBy\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Installed by:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"installedBy\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"purpose\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Purpose:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"purpose\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"notes\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Notes:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"textarea\\\",\\\"notes\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"referenceAnchor\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Reference Anchor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"referenceAnchor\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"active\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Active:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,11],null,[[\\\"object\\\",\\\"id\\\",\\\"field\\\"],[[33,6],\\\"activeCheck\\\",\\\"active\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"borehole\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Borehole:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,7],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"stopEditField\\\",\\\"editField\\\"],[[33,6],\\\"text\\\",\\\"borehole\\\",[28,[37,0],[[30,0],\\\"stopEditField\\\"],null],[28,[37,0],[[30,0],\\\"editField\\\"],null]]]]],[13],[13],[13],[13],[13],[13],[42,[28,[37,13],[[28,[37,13],[[33,14]],null]],null],[33,15],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"h5\\\"],[12],[1,\\\"Port \\\"],[1,[30,4,[\\\"port\\\"]]],[1,\\\":\\\"],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"1\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"vwvendor\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[1,\\\"Instrument Vendor:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"instrumentVendor\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"setVendor\\\",[30,4]],[[\\\"value\\\"],[[33,16,[\\\"value\\\"]]]]]],[14,0,\\\"form-control\\\"],[12],[42,[28,[37,13],[[28,[37,13],[[33,17]],null]],null],null,[[[41,[28,[37,18],[[30,4,[\\\"vendor\\\",\\\"id\\\"]],[30,5,[\\\"id\\\"]]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[30,5,[\\\"id\\\"]]]]],[12],[1,[30,5,[\\\"vendorName\\\"]]],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[30,5,[\\\"id\\\"]]]]],[12],[1,[30,5,[\\\"vendorName\\\"]]],[13]],[]]]],[5]],null],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"vwmodel\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[1,\\\"Instrument Model:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"instrumentModel\\\"],[15,\\\"onchange\\\",[28,[37,0],[[30,0],\\\"setModel\\\",[30,4]],[[\\\"value\\\"],[[33,16,[\\\"value\\\"]]]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Select\\\"],[13],[42,[28,[37,13],[[28,[37,13],[[30,4,[\\\"modelTypes\\\"]]],null]],null],null,[[[1,[30,4,[\\\"vwmodel\\\",\\\"id\\\"]]],[41,[28,[37,18],[[30,4,[\\\"vwmodel\\\",\\\"id\\\"]],[30,6,[\\\"id\\\"]]],null],[[[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[15,2,[29,[[30,6,[\\\"id\\\"]]]]],[12],[1,[30,6,[\\\"modelName\\\"]]],[13]],[]],[[[10,\\\"option\\\"],[15,2,[29,[[30,6,[\\\"id\\\"]]]]],[12],[1,[30,6,[\\\"modelName\\\"]]],[13]],[]]]],[6]],null],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details space-below\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"4\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,18],[[30,4,[\\\"vendor\\\",\\\"vendorName\\\"]],\\\"GEOKON\\\"],null],[[[1,[28,[35,19],null,[[\\\"port\\\",\\\"model\\\"],[[30,4],[30,4,[\\\"vwmodel\\\"]]]]]]],[]],null],[41,[28,[37,18],[[30,4,[\\\"vendor\\\",\\\"vendorName\\\"]],\\\"Roctest\\\"],null],[[[1,[28,[35,20],null,[[\\\"port\\\",\\\"model\\\"],[[30,4],[30,4,[\\\"vwmodel\\\"]]]]]]],[]],null],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"hr\\\"],[12],[13],[13],[13]],[4]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"td_details\\\"],[12],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[14,0,\\\"add-new-item\\\"],[12],[13],[10,\\\"td\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,0],[[30,0],\\\"saveInstrument\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\" Return\\\"],[13],[13],[13],[13],[13]],[\\\"@instrument\\\",\\\"@projectLookupList\\\",\\\"@levelLookupList\\\",\\\"vwProperty\\\",\\\"selectOption\\\",\\\"selectOption\\\"],false,[\\\"action\\\",\\\"fa-icon\\\",\\\"if\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts-list\\\",\\\"instrument\\\",\\\"single-save-input\\\",\\\"single-save-lookup\\\",\\\"single-save-geo-input\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-checkbox\\\",\\\"each\\\",\\\"-track-array\\\",\\\"vwProperties\\\",\\\"vwProperty\\\",\\\"target\\\",\\\"vwVendors\\\",\\\"eq\\\",\\\"wire/geo-pt-edit\\\",\\\"wire/roc-pws-edit\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"+tB+TpxR\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calcCoef1\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[41,[28,[37,1],[[33,2,[\\\"modelName\\\"]],\\\"4500-HH\\\"],null],[[[1,\\\"G (MPa/digit) =\\\"]],[]],[[[41,[28,[37,1],[[33,2,[\\\"modelName\\\"]],\\\"4450\\\"],null],[[[1,\\\"G (mm/digit) =\\\"]],[]],[[[1,\\\"G (kPa/digit) =\\\"]],[]]]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,3],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[33,4],\\\"text\\\",\\\"calcCoef1\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calcCoef3\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[1,\\\"R\\\"],[10,\\\"sub\\\"],[12],[1,\\\"0\\\"],[13],[1,\\\" (Freq) =\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,3],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[33,4],\\\"text\\\",\\\"calcCoef3\\\"]]]],[13],[13],[13],[13],[13],[41,[51,[28,[37,1],[[33,2,[\\\"modelName\\\"]],\\\"4450\\\"],null]],[[[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calcCoef2\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[41,[28,[37,1],[[33,2,[\\\"modelName\\\"]],\\\"4500-HH\\\"],null],[[[1,\\\"K (MPa/°C) =\\\"]],[]],[[[1,\\\"K (kPa/°C) =\\\"]],[]]],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,3],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[33,4],\\\"text\\\",\\\"calcCoef2\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calcCoef4\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[1,\\\"T\\\"],[10,\\\"sub\\\"],[12],[1,\\\"0\\\"],[13],[1,\\\" (°C) =\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,3],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[33,4],\\\"text\\\",\\\"calcCoef4\\\"]]]],[13],[13],[13],[13],[13]],[]],null],[13],[13],[13]],[],false,[\\\"if\\\",\\\"eq\\\",\\\"model\\\",\\\"single-save-input-numeric\\\",\\\"port\\\",\\\"unless\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/geo-pt-edit.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"hA3c39Ev\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-spatial-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-spatial-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/nvd3-spatial-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"36yqrPTv\",\"block\":\"[[[10,0],[15,1,[36,0]],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"450\\\"],[14,0,\\\"nvd3-temporal-line-chart-svg\\\"],[12],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13],[13],[10,0],[15,1,[36,0]],[14,5,\\\"width:92%\\\"],[14,0,\\\"nvd3-chart-tooltip-container\\\"],[12],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"1100\\\"],[14,\\\"height\\\",\\\"70\\\"],[14,0,\\\"nvd3-temporal-line-chart-focus-svg\\\"],[12],[13],[13]],[],false,[\\\"chartId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/nvd3-temporal-line-chart.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"3xGziC8A\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n    Port \\\"],[1,[30,2]],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[42,[28,[37,2],[[28,[37,2],[[30,0,[\\\"sortedProperties\\\"]]],null]],null],null,[[[1,\\\"      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"model\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"calib\\\",\\\"linear\\\",\\\"depth\\\",\\\"port\\\"],[[30,5],[30,6],[30,7],[30,4,[\\\"port\\\"]]]]],\\\"raw-data\\\",[30,8]]],[[\\\"default\\\"],[[[[1,\\\"            Port \\\"],[1,[30,4,[\\\"port\\\"]]],[1,\\\"\\\\n\\\"]],[]]]]],[1,\\\"      \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\"  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@port\\\",\\\"ddm\\\",\\\"property\\\",\\\"@calib\\\",\\\"@linear\\\",\\\"@depth\\\",\\\"@instrumentId\\\"],false,[\\\"bs-dropdown\\\",\\\"each\\\",\\\"-track-array\\\",\\\"link-to\\\",\\\"-hash\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/raw-data-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"76aEoUIz\",\"block\":\"[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,3],[12],[1,\\\"Total Readings: \\\"],[13],[10,3],[12],[1,[30,1,[\\\"meta\\\",\\\"pagination\\\",\\\"total\\\"]]],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[41,[33,3],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col details newRecordDetails\\\"],[12],[1,[28,[35,4],null,[[\\\"isVisibleCreateNewForm\\\",\\\"isVisibleReadingCreated\\\",\\\"instrumentId\\\",\\\"instrumentType\\\",\\\"instrumentAnchors\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,3],[33,5],[30,2,[\\\"id\\\"]],[30,2,[\\\"instrumentType\\\"]],[33,6],\\\"YYYY-MM-DD HH:mm:ss\\\",[33,7]]]]],[13],[13]],[]],null],[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,\\\"Reading Added!\\\"],[13],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Date\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Temp.(°C)\\\"],[13],[42,[28,[37,9],[[28,[37,9],[[33,10]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,3]],[13]],[3]],null],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,11],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,12],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1]],null]],null],null,[[[1,[28,[35,13],null,[[\\\"instrumentId\\\",\\\"strokeLength\\\",\\\"instrument\\\",\\\"instrumentType\\\",\\\"isWire\\\",\\\"isFine\\\",\\\"displacementValueObject\\\",\\\"displacementValuesModel\\\",\\\"temperatureValuesModel\\\",\\\"inputType\\\",\\\"fields\\\",\\\"tableRowIndex\\\",\\\"isZeroTimestampClass\\\",\\\"setProp\\\"],[[30,2,[\\\"id\\\"]],[30,2,[\\\"strokeLength\\\"]],[30,2],[30,2,[\\\"instrumentType\\\"]],[33,14],true,[30,4],[30,1],[30,6],\\\"text\\\",\\\"values\\\",[30,5],[52,[28,[37,15],[[30,7,[\\\"id\\\"]],[28,[37,16],[[30,1,[\\\"meta\\\"]],\\\"closest-zero-timestamp\\\"],null]],null],\\\"initialization-date\\\",\\\"\\\"],[33,7]]]]]],[4,5]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,0],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"meta\\\"]],\\\"raw-data\\\",[28,[37,1],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13]],[\\\"@displacementData\\\",\\\"@instrument\\\",\\\"anchor\\\",\\\"displacementValue\\\",\\\"index\\\",\\\"@temperatureData\\\",\\\"@displacementValue\\\"],false,[\\\"pagination-links\\\",\\\"hash\\\",\\\"if\\\",\\\"isVisibleCreateNewForm\\\",\\\"wire/create-new-raw-data-value-form\\\",\\\"isVisibleReadingCreated\\\",\\\"trueAnchorDistances\\\",\\\"setProp\\\",\\\"each\\\",\\\"-track-array\\\",\\\"anchorDistances\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"wire-single-save-inputs-array-table-row-cells\\\",\\\"isWire\\\",\\\"is-equal\\\",\\\"get-array-element\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"gFTT7m6x\",\"block\":\"[[[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calcCoef1\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[1,\\\"A=\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,0],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[33,1],\\\"text\\\",\\\"calcCoef1\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calcCoef2\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[1,\\\"B=\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,0],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[33,1],\\\"text\\\",\\\"calcCoef2\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calcCoef3\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[1,\\\"L\\\"],[10,\\\"sub\\\"],[12],[1,\\\"0\\\"],[13],[1,\\\" (Freq) =\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,0],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[33,1],\\\"text\\\",\\\"calcCoef3\\\"]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,5,\\\"vertical-align: top;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calcCoef4\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[1,\\\"C\\\"],[10,\\\"sub\\\"],[12],[1,\\\"t\\\"],[13],[1,\\\" (kPa/°C) =\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,0],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[33,1],\\\"text\\\",\\\"calcCoef4\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"calcCoef5\\\"],[14,0,\\\"col-xs-12 col-form-label\\\"],[12],[1,\\\"T\\\"],[10,\\\"sub\\\"],[12],[1,\\\"0\\\"],[13],[1,\\\" (°C) =\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,0],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[33,1],\\\"text\\\",\\\"calcCoef5\\\"]]]],[13],[13],[13],[13],[13],[13],[13],[13]],[],false,[\\\"single-save-input-numeric\\\",\\\"port\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/roc-pws-edit.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"1ceHpdH4\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,[30,2]],[10,1],[14,0,\\\"caret\\\"],[12],[13]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Displacement\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"velocity-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Velocity\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[6,[39,1],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,2],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,3],[[33,4],\\\"strain-rate-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"Strain Rate\\\"]],[]]]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]]],[\\\"dd\\\",\\\"@selected\\\",\\\"ddm\\\"],false,[\\\"bs-dropdown\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"instrumentId\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/spatial-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"DoA2Z8d6\",\"block\":\"[[[8,[39,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"button\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n    Port \\\"],[1,[30,2]],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"caret\\\"],[12],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[8,[30,1,[\\\"menu\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[42,[28,[37,2],[[28,[37,2],[[30,0,[\\\"instrument\\\",\\\"vwproperty\\\"]]],null]],null],null,[[[1,\\\"      \\\"],[8,[30,3,[\\\"item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[6,[39,3],null,[[\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"dropdown-item\\\",[28,[37,4],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\",\\\"port\\\"],[null,null,[30,4,[\\\"port\\\"]]]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,5],[[30,5],\\\"displacement-values\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"            Port \\\"],[1,[30,4,[\\\"port\\\"]]],[1,\\\"\\\\n\\\"]],[]]]]],[1,\\\"      \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\"  \\\"]],[3]]]]],[1,\\\"\\\\n\\\"]],[1]]]]],[1,\\\"\\\\n\\\"]],[\\\"dd\\\",\\\"@port\\\",\\\"ddm\\\",\\\"property\\\",\\\"@instrumentId\\\"],false,[\\\"bs-dropdown\\\",\\\"each\\\",\\\"-track-array\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/components/wire/temporal-chart-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"sSZZQ3uM\",\"block\":\"[[[1,[28,[35,0],[\\\"Create Alert\\\"],null]],[10,0],[14,5,\\\"padding-top: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[41,[33,2],[[[1,[34,3]]],[]],null],[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,5],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\" A required field was not entered. Bolded fields are required.\\\"],[13]],[]],[[[41,[33,6],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"Select at least one active channel.\\\"],[13]],[]],[[[41,[33,7],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ensure that your value entry only contains a numeric values (0-9) or a decimal point (\\\\\\\".\\\\\\\")\\\"],[13]],[]],[[[41,[33,8],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"Enter a window length larger than 1 if method is not immediate.\\\"],[13]],[]],[[[41,[33,9],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"Enter a window length larger than or equal to 1 if method is not immediate.\\\"],[13]],[]],[[[41,[33,10],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"Enter a target.\\\"],[13]],[]],[[[41,[33,11],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"Enter a valid phone number (numeric values only) followed by carrier.\\\"],[13],[1,\\\"To see available carriers, click on the \\\\\\\"Target (Phone #):\\\\\\\" link \\\"]],[]],[[[41,[33,12],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"You do not have permission to create an alert.\\\"],[13]],[]],null]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1.5rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectId\\\"],[14,5,\\\"font-size: 20px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Instrument ID:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,5,\\\"width: 50rem; padding-right: 0px; padding-left: 0px;\\\"],[14,0,\\\"col-4\\\"],[12],[41,[30,1,[\\\"instrument\\\"]],[[[10,\\\"label\\\"],[12],[1,[34,13]],[13]],[]],[[[41,[33,14],[[[10,0],[14,0,\\\"pulse_loader\\\"],[12],[13]],[]],[[[1,[28,[35,15],null,[[\\\"content\\\",\\\"selected\\\",\\\"id\\\",\\\"sortBy\\\",\\\"prompt\\\",\\\"searchPrompt\\\",\\\"isClearable\\\",\\\"on-change\\\"],[[33,16],[33,17],\\\"instrumentSelect\\\",\\\"title\\\",\\\"Instrument ID\\\",\\\"Filter\\\",false,[28,[37,18],[[30,0],\\\"setID\\\"],null]]]]]],[]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-left:2rem; padding-right:1rem\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,19],[[33,20],1],null],[[[1,[28,[35,21],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],2],null],[[[1,[28,[35,23],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],3],null],[[[1,[28,[35,24],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],4],null],[[[1,[28,[35,21],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],5],null],[[[1,[28,[35,21],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],6],null],[[[1,[28,[35,25],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],7],null],[[[1,[28,[35,26],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],8],null],[[[1,[28,[35,27],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],9],null],[[[1,[28,[35,28],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],10],null],[[[1,[28,[35,29],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],11],null],[[[1,[28,[35,21],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],12],null],[[[1,[28,[35,30],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],13],null],[[[1,[28,[35,31],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],14],null],[[[1,\\\"Wire\\\"]],[]],null],[41,[28,[37,19],[[33,20],15],null],[[[1,[28,[35,32],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],16],null],[[[1,[28,[35,33],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],17],null],[[[1,[28,[35,34],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,19],[[33,20],19],null],[[[1,[28,[35,35],null,[[\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,1,[\\\"headAts\\\"]],[33,20],[33,13],[33,22],[28,[37,18],[[30,0],\\\"submit\\\"],null],[28,[37,18],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[13],[13],[13],[13],[46,[28,[37,37],null,null],null,null,null]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"if\\\",\\\"breadCrumbs\\\",\\\"bread-crumbs\\\",\\\"isVisibleError\\\",\\\"emptyBoldError\\\",\\\"noActChError\\\",\\\"nonNumericValueError\\\",\\\"wLError\\\",\\\"wLNegError\\\",\\\"targetError\\\",\\\"phoneNumError\\\",\\\"authError\\\",\\\"id\\\",\\\"loading\\\",\\\"searchable-select\\\",\\\"instruments\\\",\\\"initialInstrumentSelection\\\",\\\"action\\\",\\\"eq\\\",\\\"instType\\\",\\\"pack/create-alert\\\",\\\"store\\\",\\\"cable/create-alert\\\",\\\"rebar/create-alert\\\",\\\"tilt/create-alert\\\",\\\"slough/create-alert\\\",\\\"thermo/create-alert\\\",\\\"piezo/create-alert\\\",\\\"hid/create-alert\\\",\\\"wire/create-alert\\\",\\\"adict/create-alert\\\",\\\"vibe/create-alert\\\",\\\"micro/create-alert\\\",\\\"rebarv2/create-alert\\\",\\\"dppc/create-alert\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/create-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"AKy0KuUL\",\"block\":\"[[[1,[28,[35,0],[\\\"Create Alert\\\"],null]],[10,0],[14,5,\\\"padding-top: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[41,[33,2],[[[1,[34,3]]],[]],null],[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[41,[33,4],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the alert.\\\"],[13],[41,[33,5],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\" A required field was not entered. Bolded fields are required.\\\"],[13]],[]],[[[41,[33,6],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ensure that your value entry only contains a numeric values (0-9) or a decimal point (\\\\\\\".\\\\\\\")\\\"],[13]],[]],[[[41,[33,7],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"Enter a window length larger than 1 if method is not immediate.\\\"],[13]],[]],[[[41,[33,8],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"Enter a window length larger than or equal to 1 if method is not immediate.\\\"],[13]],[]],[[[41,[33,9],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"Enter a target.\\\"],[13]],[]],[[[41,[33,10],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"Enter a valid phone number (numeric values only) followed by carrier.\\\"],[13],[1,\\\"To see available carriers, click on the \\\\\\\"Target (Phone #):\\\\\\\" link \\\"]],[]],[[[41,[33,11],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label error-label-class\\\"],[12],[1,\\\"You do not have permission to create an alert.\\\"],[13]],[]],null]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1.5rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectId\\\"],[14,5,\\\"font-size: 20px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Gateway ID:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-2\\\"],[12],[41,[30,1,[\\\"gateway\\\"]],[[[10,\\\"label\\\"],[12],[1,[34,12]],[13]],[]],[[[1,[28,[35,13],null,[[\\\"content\\\",\\\"selected\\\",\\\"id\\\",\\\"sortBy\\\",\\\"prompt\\\",\\\"searchPrompt\\\",\\\"isClearable\\\",\\\"on-change\\\"],[[33,14],[33,15],\\\"gatewaySelect\\\",\\\"title\\\",\\\"Gateway ID\\\",\\\"Filter\\\",false,[28,[37,16],[[30,0],\\\"setID\\\"],null]]]]]],[]]],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-left:2rem; padding-right:1rem\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,17],[[33,18],1],null],[[[1,[28,[35,19],null,[[\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,20],[33,12],[33,21],[28,[37,16],[[30,0],\\\"submit\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,17],[[33,18],2],null],[[[1,[28,[35,22],null,[[\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,20],[33,12],[33,21],[28,[37,16],[[30,0],\\\"submit\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,17],[[33,18],3],null],[[[1,[28,[35,23],null,[[\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,20],[33,12],[33,21],[28,[37,16],[[30,0],\\\"submit\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,17],[[33,18],4],null],[[[1,[28,[35,24],null,[[\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,20],[33,12],[33,21],[28,[37,16],[[30,0],\\\"submit\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,17],[[33,18],5],null],[[[1,[28,[35,25],null,[[\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,20],[33,12],[33,21],[28,[37,16],[[30,0],\\\"submit\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,17],[[33,18],6],null],[[[1,[28,[35,26],null,[[\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,20],[33,12],[33,21],[28,[37,16],[[30,0],\\\"submit\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[13],[13],[13],[13],[46,[28,[37,28],null,null],null,null,null]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"if\\\",\\\"breadCrumbs\\\",\\\"bread-crumbs\\\",\\\"isVisibleError\\\",\\\"emptyBoldError\\\",\\\"nonNumericValueError\\\",\\\"wLError\\\",\\\"wLNegError\\\",\\\"targetError\\\",\\\"phoneNumError\\\",\\\"authError\\\",\\\"id\\\",\\\"searchable-select\\\",\\\"gateways\\\",\\\"initialGatewaySelection\\\",\\\"action\\\",\\\"eq\\\",\\\"gwType\\\",\\\"blucell/create-alert\\\",\\\"instType\\\",\\\"store\\\",\\\"blugate/create-alert\\\",\\\"blu900gw/create-alert\\\",\\\"blu900node/create-alert\\\",\\\"oneforone/create-alert\\\",\\\"bluvibe/create-alert\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/create-gateway-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"YdF6NZzo\",\"block\":\"[[[1,[28,[35,0],[\\\"Create Gateway\\\"],null]],[10,0],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[41,[33,3],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the gateway.\\\"],[13],[41,[33,4],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Either you do not have permission or the gateway ID already exists.\\\"],[13]],[]],[[[41,[33,5],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You must select a gateway type.\\\"],[13]],[]],[[[41,[33,6],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],[[[41,[33,7],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Either you do not have permission or the gateway ID already exists.\\\"],[13]],[]],null]],[]]]],[]]]],[]]],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectId\\\"],[14,5,\\\"font-size: 23px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Gateway ID:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,\\\"oninput\\\",[28,[37,8],[[30,0],[28,[37,9],[[33,10]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newGatewayObjectId\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newGatewayObjectType\\\"],[14,5,\\\"font-size: 23px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Gateway Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newGatewayObjectType\\\"],[15,\\\"onchange\\\",[28,[37,8],[[30,0],\\\"choseForm\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Select a Gateway\\\"],[13],[42,[28,[37,12],[[28,[37,12],[[30,1,[\\\"gatewayTypes\\\"]]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,13],[[33,14,[\\\"id\\\"]],[30,2]],null]],[15,2,[29,[[30,2,[\\\"id\\\"]]]]],[12],[1,[30,2,[\\\"title\\\"]]],[13]],[2]],null],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-left:2rem; padding-right:2rem; padding-bottom: 1rem; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,13],[[33,15],\\\"1\\\"],null],[[[1,[28,[35,16],null,[[\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,15],[33,10],[33,17],[28,[37,8],[[30,0],\\\"submit\\\"],null],[28,[37,8],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,13],[[33,15],\\\"2\\\"],null],[[[1,[28,[35,18],null,[[\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,15],[33,10],[33,17],[28,[37,8],[[30,0],\\\"submit\\\"],null],[28,[37,8],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,13],[[33,15],\\\"3\\\"],null],[[[1,[28,[35,19],null,[[\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,15],[33,10],[33,17],[28,[37,8],[[30,0],\\\"submit\\\"],null],[28,[37,8],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,13],[[33,15],\\\"4\\\"],null],[[[1,[28,[35,20],null,[[\\\"typeID\\\",\\\"gatewayList\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,15],[30,1,[\\\"gateways\\\"]],[33,10],[33,17],[28,[37,8],[[30,0],\\\"submit\\\"],null],[28,[37,8],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,13],[[33,15],\\\"5\\\"],null],[[[1,[28,[35,21],null,[[\\\"typeID\\\",\\\"gatewayList\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,15],[30,1,[\\\"gateways\\\"]],[33,10],[33,17],[28,[37,8],[[30,0],\\\"submit\\\"],null],[28,[37,8],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,13],[[33,15],\\\"6\\\"],null],[[[1,[28,[35,22],null,[[\\\"typeID\\\",\\\"gatewayList\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[33,15],[30,1,[\\\"gateways\\\"]],[33,10],[33,17],[28,[37,8],[[30,0],\\\"submit\\\"],null],[28,[37,8],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[13],[13],[13],[13],[46,[28,[37,24],null,null],null,null,null]],[\\\"@model\\\",\\\"gatewayTypeSelected\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"isVisibleError\\\",\\\"duplicateError\\\",\\\"typeError\\\",\\\"fieldError\\\",\\\"authError\\\",\\\"action\\\",\\\"mut\\\",\\\"id\\\",\\\"each\\\",\\\"-track-array\\\",\\\"eq\\\",\\\"gatewayType\\\",\\\"gatewayTypes\\\",\\\"blucell/create-gateway\\\",\\\"store\\\",\\\"blugate/create-gateway\\\",\\\"blu900gw/create-gateway\\\",\\\"blu900node/create-gateway\\\",\\\"oneforone/create-gateway\\\",\\\"bluvibe/create-gateway\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/create-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"0zFLWtLD\",\"block\":\"[[[1,[28,[35,0],[\\\"Create Instrument\\\"],null]],[10,0],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,\\\"table\\\"],[14,5,\\\"width: 100%\\\"],[12],[41,[33,3],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error creating the instrument.\\\"],[13],[41,[33,4],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Either you do not have permission or the instrument ID already exists.\\\"],[13]],[]],[[[41,[33,5],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You must select an instrument type.\\\"],[13]],[]],[[[41,[33,6],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],[[[41,[33,7],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Either you do not have permission or the instrument ID already exists.\\\"],[13]],[]],null]],[]]]],[]]]],[]]],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectId\\\"],[14,5,\\\"font-size: 23px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Instrument ID:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[15,\\\"disabled\\\",[28,[37,8],[[33,9],\\\"20\\\"],null]],[15,\\\"oninput\\\",[28,[37,10],[[30,0],[28,[37,11],[[33,12]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"newInstrumentObjectId\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newInstrumentObjectType\\\"],[14,5,\\\"font-size: 23px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Instrument type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newInstrumentObjectType\\\"],[15,\\\"onchange\\\",[28,[37,10],[[30,0],\\\"choseForm\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Select an Instrument\\\"],[13],[42,[28,[37,14],[[28,[37,14],[[33,15]],null]],null],null,[[[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,8],[[30,1,[\\\"id\\\"]],[33,9]],null]],[15,2,[29,[[30,1,[\\\"id\\\"]]]]],[12],[1,[30,1,[\\\"title\\\"]]],[13]],[1]],null],[13],[13],[13],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-left:2rem; padding-right:2rem; padding-bottom: 1rem; margin-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,8],[[33,9],\\\"1\\\"],null],[[[1,[28,[35,16],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"2\\\"],null],[[[1,[28,[35,18],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"3\\\"],null],[[[1,[28,[35,19],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"4\\\"],null],[[[1,[28,[35,16],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"5\\\"],null],[[[1,[28,[35,20],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"6\\\"],null],[[[1,[28,[35,21],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"7\\\"],null],[[[1,[28,[35,22],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"8\\\"],null],[[[1,[28,[35,23],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"9\\\"],null],[[[1,[28,[35,24],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"10\\\"],null],[[[1,[28,[35,25],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"11\\\"],null],[[[1,[28,[35,16],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"12\\\"],null],[[[1,[28,[35,26],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"vwModels\\\",\\\"vwVendors\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"vwModels\\\"]],[30,2,[\\\"vwVendors\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"13\\\"],null],[[[1,[28,[35,27],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"vendors\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[30,2,[\\\"vendors\\\"]],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"15\\\"],null],[[[1,[28,[35,28],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"16\\\"],null],[[[1,[28,[35,29],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"17\\\"],null],[[[1,[28,[35,30],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"19\\\"],null],[[[1,[28,[35,31],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,8],[[33,9],\\\"20\\\"],null],[[[1,[28,[35,32],null,[[\\\"levelLookupList\\\",\\\"projectLookupList\\\",\\\"headAts\\\",\\\"typeID\\\",\\\"id\\\",\\\"store\\\",\\\"submit\\\",\\\"setError\\\"],[[30,2,[\\\"levelLookupList\\\"]],[30,2,[\\\"projectLookupList\\\"]],[30,2,[\\\"headAts\\\"]],[33,9],[33,12],[33,17],[28,[37,10],[[30,0],\\\"submit\\\"],null],[28,[37,10],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[13],[13],[13],[13],[46,[28,[37,34],null,null],null,null,null]],[\\\"selectOption\\\",\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"isVisibleError\\\",\\\"duplicateError\\\",\\\"typeError\\\",\\\"fieldError\\\",\\\"authError\\\",\\\"eq\\\",\\\"instType\\\",\\\"action\\\",\\\"mut\\\",\\\"id\\\",\\\"each\\\",\\\"-track-array\\\",\\\"getInstrumentTypes\\\",\\\"pack/create-instrument\\\",\\\"store\\\",\\\"cable/create-instrument\\\",\\\"rebar/create-instrument\\\",\\\"dconv/create-instrument\\\",\\\"tilt/create-instrument\\\",\\\"slough/create-instrument\\\",\\\"thermo/create-instrument\\\",\\\"piezo/create-instrument\\\",\\\"hid/create-instrument\\\",\\\"wire/create-instrument\\\",\\\"adict/create-instrument\\\",\\\"vibe/create-instrument\\\",\\\"micro/create-instrument\\\",\\\"rebarv2/create-instrument\\\",\\\"dppc/create-instrument\\\",\\\"multiDExto/create-instrument\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/create-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"PcE46/2C\",\"block\":\"[[[1,[28,[35,0],[\\\"Create Lookup\\\"],null]],[10,0],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,\\\"table\\\"],[14,5,\\\"width: 100%; text-align: left; border\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"width: 275px; text-align: left;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newLookupObjectName\\\"],[14,5,\\\"font-size: 23px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Lookup Name:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,1,\\\"newLookupObjectName\\\"],[14,\\\"required\\\",\\\"\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,3],[[33,4]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,\\\"selected\\\",\\\"\\\"],[12],[1,\\\"Select a Lookup\\\"],[13],[42,[28,[37,6],[[28,[37,6],[[30,1,[\\\"uniqueNames\\\"]]],null]],null],null,[[[10,\\\"option\\\"],[15,2,[29,[[30,2,[\\\"name\\\"]]]]],[12],[1,[30,2,[\\\"name\\\"]]],[13]],[2]],null],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"width: 275px; text-align: left;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newLookupObjectType\\\"],[14,5,\\\"font-size: 23px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Lookup Data Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[14,\\\"required\\\",\\\"\\\"],[14,1,\\\"newLookupObjectType\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],\\\"choseType\\\"],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,\\\"selected\\\",\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[14,2,\\\"\\\"],[12],[1,\\\"Select a Lookup Data Type\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"string\\\"],[12],[1,\\\"String\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"integer\\\"],[12],[1,\\\"Integer\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"boolean\\\"],[12],[1,\\\"Boolean\\\"],[13],[13],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details newRecordDetails\\\"],[12],[41,[28,[37,8],[[33,9],\\\"string\\\"],null],[[[10,\\\"td\\\"],[14,5,\\\"width: 275px; text-align: left;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newLookupObjectValue\\\"],[14,5,\\\"font-size: 23px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Lookup Value:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,\\\"placeholder\\\",\\\"Enter a string\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,3],[[33,10]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"required\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13]],[]],null],[41,[28,[37,8],[[33,9],\\\"integer\\\"],null],[[[10,\\\"td\\\"],[14,5,\\\"width: 275px; text-align: left;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newLookupObjectValue\\\"],[14,5,\\\"font-size: 23px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Lookup Value:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"input\\\"],[14,1,\\\"newLookupObjectValue\\\"],[14,\\\"placeholder\\\",\\\"Enter an integer\\\"],[14,\\\"step\\\",\\\"1\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,3],[[33,10]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"required\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[14,4,\\\"number\\\"],[12],[13],[13],[13],[13]],[]],null],[41,[28,[37,8],[[33,9],\\\"boolean\\\"],null],[[[10,\\\"td\\\"],[14,5,\\\"width: 275px; text-align: left;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"newLookupObjectValue\\\"],[14,5,\\\"font-size: 23px;\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Lookup Value:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[10,0],[14,0,\\\"form-group row\\\"],[12],[10,0],[14,0,\\\"col-12\\\"],[12],[10,\\\"select\\\"],[15,\\\"onchange\\\",[28,[37,2],[[30,0],[28,[37,3],[[33,10]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,\\\"required\\\",\\\"\\\"],[14,0,\\\"form-control\\\"],[12],[10,\\\"option\\\"],[14,2,\\\"\\\"],[14,\\\"disabled\\\",\\\"\\\"],[12],[1,\\\"Select true or false\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"true\\\"],[12],[1,\\\"True\\\"],[13],[10,\\\"option\\\"],[14,2,\\\"false\\\"],[12],[1,\\\"False\\\"],[13],[13],[13],[13],[13]],[]],null],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"text-align: right; padding-bottom:5px;\\\"],[12],[11,\\\"button\\\"],[24,5,\\\"margin-top: 1rem;\\\"],[24,4,\\\"submit\\\"],[4,[38,2],[[30,0],\\\"createLookup\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Create\\\"],[13],[13],[13],[13],[13],[46,[28,[37,12],null,null],null,null,null]],[\\\"@model\\\",\\\"selectOption\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"action\\\",\\\"mut\\\",\\\"name\\\",\\\"each\\\",\\\"-track-array\\\",\\\"if\\\",\\\"eq\\\",\\\"lookupType\\\",\\\"value\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/create-lookup.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"/t9Hcf09\",\"block\":\"[[],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/dash-map.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"VybYGkYm\",\"block\":\"[[[1,[28,[35,0],[\\\"Alert \\\",[30,1,[\\\"alert\\\",\\\"id\\\"]]],null]],[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[12],[41,[33,3],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error editting the alert.\\\"],[13],[41,[33,4],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],[[[41,[33,5],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Select at least one active channel.\\\"],[13]],[]],[[[41,[33,6],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ensure that your value entry only contains a numeric values (0-9) or a decimal point (\\\\\\\".\\\\\\\")\\\"],[13]],[]],[[[41,[33,7],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a window length larger than 1 if method is not immediate.\\\"],[13]],[]],[[[41,[33,8],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a window length larger than or equal to 1 if method is not immediate.\\\"],[13]],[]],[[[41,[33,9],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a target.\\\"],[13]],[]],[[[41,[33,10],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a valid phone number (numeric values only).\\\"],[13],[1,\\\"To see available carriers, click on the \\\\\\\"Target (Phone #):\\\\\\\" link. \\\"]],[]],[[[41,[33,11],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to make changes to an alert.\\\"],[13]],[]],null]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,5,\\\"font-size: 25px;\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Instrument ID:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[8,[39,12],[[24,5,\\\"font-size: 23px\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"edit-instrument\\\",[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,\\\" \\\"],[1,[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"id\\\"]]],[1,\\\" \\\"]],[]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"instrumentType\\\"],[14,5,\\\"font-size: 25px\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Instrument type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,13],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentType\\\"]],\\\"text\\\",\\\"title\\\",false]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-left:2rem; padding-right:1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],1],null],[[[1,[28,[35,15],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],2],null],[[[1,[28,[35,17],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],3],null],[[[1,[28,[35,18],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],4],null],[[[1,[28,[35,15],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],5],null],[[[1,[28,[35,15],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],6],null],[[[1,[28,[35,19],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],7],null],[[[1,[28,[35,20],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],8],null],[[[1,[28,[35,21],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],9],null],[[[1,[28,[35,22],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],10],null],[[[1,[28,[35,23],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],11],null],[[[1,[28,[35,15],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],12],null],[[[1,[28,[35,24],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],13],null],[[[1,[28,[35,25],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],14],null],[[[1,\\\"Analog\\\"]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],15],null],[[[1,[28,[35,26],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],16],null],[[[1,[28,[35,27],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],17],null],[[[1,[28,[35,28],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],19],null],[[[1,[28,[35,29],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[13],[13],[13],[13],[46,[28,[37,31],null,null],null,null,null]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"isVisibleError\\\",\\\"emptyBoldError\\\",\\\"noActChError\\\",\\\"nonNumericValueError\\\",\\\"wLError\\\",\\\"wLNegError\\\",\\\"targetError\\\",\\\"phoneNumError\\\",\\\"authError\\\",\\\"link-to\\\",\\\"single-save-input-InstType\\\",\\\"eq\\\",\\\"pack/edit-alert\\\",\\\"action\\\",\\\"cable/edit-alert\\\",\\\"rebar/edit-alert\\\",\\\"tilt/edit-alert\\\",\\\"slough/edit-alert\\\",\\\"thermo/edit-alert\\\",\\\"piezo/edit-alert\\\",\\\"hid/edit-alert\\\",\\\"wire/edit-alert\\\",\\\"adict/edit-alert\\\",\\\"vibe/edit-alert\\\",\\\"micro/edit-alert\\\",\\\"rebarv2/edit-alert\\\",\\\"dppc/edit-alert\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/edit-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"pgxfOixb\",\"block\":\"[[[1,[28,[35,0],[\\\"Alert \\\",[30,1,[\\\"alert\\\",\\\"id\\\"]]],null]],[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[12],[41,[33,3],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error editting the alert.\\\"],[13],[41,[33,4],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],[[[41,[33,5],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ensure that your value entry only contains a numeric values (0-9) or a decimal point (\\\\\\\".\\\\\\\")\\\"],[13]],[]],[[[41,[33,6],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a target.\\\"],[13]],[]],[[[41,[33,7],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a valid phone number (numeric values only).\\\"],[13],[1,\\\"To see available carriers, click on the \\\\\\\"Target (Phone #):\\\\\\\" link. \\\"]],[]],[[[41,[33,8],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to make changes to an alert.\\\"],[13]],[]],null]],[]]]],[]]]],[]]]],[]]],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,5,\\\"font-size: 25px;\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Gateway ID:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[8,[39,9],[[24,5,\\\"font-size: 23px\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"edit-gateway\\\",[30,1,[\\\"alert\\\",\\\"gateway\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,\\\" \\\"],[1,[30,1,[\\\"alert\\\",\\\"gateway\\\",\\\"id\\\"]]],[1,\\\" \\\"]],[]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"instrumentType\\\"],[14,5,\\\"font-size: 25px\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Gateway type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[30,1,[\\\"alert\\\",\\\"gateway\\\",\\\"gatewayType\\\"]],\\\"text\\\",\\\"title\\\",false]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-left:2rem; padding-right:1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,11],[[30,1,[\\\"alert\\\",\\\"gateway\\\",\\\"gatewayTypeID\\\"]],1],null],[[[1,[28,[35,12],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,13],[[30,0],\\\"saved\\\"],null],[28,[37,13],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,11],[[30,1,[\\\"alert\\\",\\\"gateway\\\",\\\"gatewayTypeID\\\"]],2],null],[[[1,[28,[35,14],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,13],[[30,0],\\\"saved\\\"],null],[28,[37,13],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,11],[[30,1,[\\\"alert\\\",\\\"gateway\\\",\\\"gatewayTypeID\\\"]],3],null],[[[1,[28,[35,15],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,13],[[30,0],\\\"saved\\\"],null],[28,[37,13],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,11],[[30,1,[\\\"alert\\\",\\\"gateway\\\",\\\"gatewayTypeID\\\"]],4],null],[[[1,[28,[35,16],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,13],[[30,0],\\\"saved\\\"],null],[28,[37,13],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,11],[[30,1,[\\\"alert\\\",\\\"gateway\\\",\\\"gatewayTypeID\\\"]],5],null],[[[1,[28,[35,17],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,13],[[30,0],\\\"saved\\\"],null],[28,[37,13],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,11],[[30,1,[\\\"alert\\\",\\\"gateway\\\",\\\"gatewayTypeID\\\"]],6],null],[[[1,[28,[35,18],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,13],[[30,0],\\\"saved\\\"],null],[28,[37,13],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[13],[13],[13],[13],[46,[28,[37,20],null,null],null,null,null]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"isVisibleError\\\",\\\"emptyBoldError\\\",\\\"nonNumericValueError\\\",\\\"targetError\\\",\\\"phoneNumError\\\",\\\"authError\\\",\\\"link-to\\\",\\\"single-save-input-InstType\\\",\\\"eq\\\",\\\"blucell/edit-gateway-alert\\\",\\\"action\\\",\\\"blugate/edit-gateway-alert\\\",\\\"blu900gw/edit-gateway-alert\\\",\\\"blu900node/edit-gateway-alert\\\",\\\"oneforone/edit-gateway-alert\\\",\\\"bluvibe/edit-gateway-alert\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/edit-gateway-alert.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"YL+58mzs\",\"block\":\"[[[1,[28,[35,0],[\\\"Gateway \\\",[30,1,[\\\"gateway\\\",\\\"id\\\"]]],null]],[10,0],[14,5,\\\"padding-bottom: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to edit a gateway.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,5,\\\"font-size: 25px;\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[34,2]],[1,\\\" ID:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,3],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[30,1,[\\\"gateway\\\"]],\\\"text\\\",\\\"id\\\",false]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"gatewayType\\\"],[14,5,\\\"font-size: 25px\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[34,2]],[1,\\\" Type:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"font-size:23px;\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,4],null,[[\\\"selectOptions\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,1,[\\\"gatewayTypes\\\"]],\\\"id,title\\\",[30,1,[\\\"gateway\\\",\\\"gatewayType\\\"]],[30,1,[\\\"gateway\\\"]],\\\"title\\\",\\\"id\\\",\\\"gatewayType\\\",true]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-left:2rem; padding-right:2rem; padding-bottom: 2rem;\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,6],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],1],null],[[[1,[28,[35,7],null,[[\\\"gateway\\\",\\\"gatewayList\\\",\\\"gatewayReadingIntervals\\\",\\\"gatewayUploadIntervals\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts\\\"],[[30,1,[\\\"gateway\\\"]],[30,1,[\\\"gateways\\\"]],[30,1,[\\\"gatewayReadingIntervals\\\"]],[30,1,[\\\"gatewayUploadIntervals\\\"]],[33,8],[33,9],[30,1,[\\\"alerts\\\"]]]]]]],[]],null],[41,[28,[37,6],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],2],null],[[[1,[28,[35,10],null,[[\\\"gateway\\\",\\\"gatewayList\\\",\\\"gatewayReadingIntervals\\\",\\\"gatewayUploadIntervals\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts\\\"],[[30,1,[\\\"gateway\\\"]],[30,1,[\\\"gateways\\\"]],[30,1,[\\\"gatewayReadingIntervals\\\"]],[30,1,[\\\"gatewayUploadIntervals\\\"]],[33,8],[33,9],[30,1,[\\\"alerts\\\"]]]]]]],[]],null],[41,[28,[37,6],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],3],null],[[[1,[28,[35,11],null,[[\\\"gateway\\\",\\\"gatewayList\\\",\\\"gatewayReadingIntervals\\\",\\\"gatewayUploadIntervals\\\",\\\"gatewayMeshCycleIntervals\\\",\\\"gatewayTransmissionPowerIntervals\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts\\\"],[[30,1,[\\\"gateway\\\"]],[30,1,[\\\"gateways\\\"]],[30,1,[\\\"gatewayReadingIntervals\\\"]],[30,1,[\\\"gatewayUploadIntervals\\\"]],[30,1,[\\\"gatewayMeshCycleIntervals\\\"]],[30,1,[\\\"gatewayRadioPowerLevelIntervals\\\"]],[33,8],[33,9],[30,1,[\\\"alerts\\\"]]]]]]],[]],null],[41,[28,[37,6],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],4],null],[[[1,[28,[35,12],null,[[\\\"gateway\\\",\\\"parentGateway\\\",\\\"gatewayList\\\",\\\"gatewayReadingIntervals\\\",\\\"gatewayUploadIntervals\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts\\\"],[[30,1,[\\\"gateway\\\"]],[33,13],[30,1,[\\\"gateways\\\"]],[30,1,[\\\"gatewayReadingIntervals\\\"]],[30,1,[\\\"gatewayUploadIntervals\\\"]],[33,8],[33,9],[30,1,[\\\"alerts\\\"]]]]]]],[]],null],[41,[28,[37,6],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],5],null],[[[1,[28,[35,14],null,[[\\\"gateway\\\",\\\"parentGateway\\\",\\\"gatewayList\\\",\\\"gatewayReadingIntervals\\\",\\\"gatewayUploadIntervals\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts\\\"],[[30,1,[\\\"gateway\\\"]],[33,13],[30,1,[\\\"gateways\\\"]],[30,1,[\\\"gatewayReadingIntervals\\\"]],[30,1,[\\\"gatewayUploadIntervals\\\"]],[33,8],[33,9],[30,1,[\\\"alerts\\\"]]]]]]],[]],null],[41,[28,[37,6],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],6],null],[[[1,[28,[35,15],null,[[\\\"gateway\\\",\\\"gatewayList\\\",\\\"gatewayReadingIntervals\\\",\\\"gatewayUploadIntervals\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"alerts\\\"],[[30,1,[\\\"gateway\\\"]],[30,1,[\\\"gateways\\\"]],[30,1,[\\\"gatewayReadingIntervals\\\"]],[30,1,[\\\"gatewayUploadIntervals\\\"]],[33,8],[33,9],[30,1,[\\\"alerts\\\"]]]]]]],[]],null],[13],[13],[13],[13],[46,[28,[37,17],null,null],null,null,null]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"gatewayTypeLabel\\\",\\\"single-save-input-InstType\\\",\\\"single-save-select\\\",\\\"if\\\",\\\"eq\\\",\\\"blucell/edit-gateway\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"blugate/edit-gateway\\\",\\\"blu900gw/edit-gateway\\\",\\\"blu900node/edit-gateway\\\",\\\"parentGateway\\\",\\\"oneforone/edit-gateway\\\",\\\"bluvibe/edit-gateway\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/edit-gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"UJ3VtTth\",\"block\":\"[[[1,[28,[35,0],[\\\"Instrument \\\",[30,1,[\\\"instrument\\\",\\\"id\\\"]]],null]],[10,0],[14,5,\\\"padding-bottom: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to edit an instrument.\\\"],[13],[13],[13],[13],[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,5,\\\"font-size: 25px;\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Instrument ID:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,2],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[30,1,[\\\"instrument\\\"]],\\\"text\\\",\\\"id\\\",false]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,5,\\\"padding-top: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"instrumentType\\\"],[14,5,\\\"font-size: 25px\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Instrument type:\\\"],[13],[13],[10,\\\"td\\\"],[14,5,\\\"font-size:23px;\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,3],null,[[\\\"selectOptions\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\",\\\"inputFieldId\\\",\\\"isEditable\\\"],[[30,1,[\\\"instrumentTypes\\\"]],\\\"id,title\\\",[30,1,[\\\"instrument\\\",\\\"instrumentType\\\"]],[30,1,[\\\"instrument\\\"]],\\\"title\\\",\\\"id\\\",\\\"instrumentType\\\",true]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-left:2rem; padding-right:2rem; padding-bottom: 2rem;\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],1],null],[[[1,[28,[35,6],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],2],null],[[[1,[28,[35,9],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],3],null],[[[1,[28,[35,10],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],4],null],[[[1,[28,[35,6],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],5],null],[[[1,[28,[35,11],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],6],null],[[[1,[28,[35,12],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],7],null],[[[1,[28,[35,13],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],8],null],[[[1,[28,[35,14],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],9],null],[[[1,[28,[35,15],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],10],null],[[[1,[28,[35,16],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],11],null],[[[1,[28,[35,6],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],12],null],[[[1,[28,[35,17],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"vwModels\\\",\\\"vwVendors\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"vwModels\\\"]],[30,1,[\\\"vwVendors\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],13],null],[[[1,[28,[35,18],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"vendors\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"vendors\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],14],null],[[[1,\\\"Analog\\\"]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],15],null],[[[1,[28,[35,19],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],false]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],16],null],[[[1,[28,[35,20],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],17],null],[[[1,[28,[35,21],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],19],null],[[[1,[28,[35,22],null,[[\\\"instrument\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,7],[33,8]]]]]],[]],null],[41,[28,[37,5],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],20],null],[[[1,[28,[35,23],null,[[\\\"instrument\\\",\\\"instrumentList\\\",\\\"projectLookupList\\\",\\\"levelLookupList\\\",\\\"headAts\\\",\\\"hasAlerts\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"instruments\\\"]],[30,1,[\\\"projectLookupList\\\"]],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"headAts\\\"]],[33,8]]]]]],[]],null],[13],[13],[13],[13],[46,[28,[37,25],null,null],null,null,null]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"single-save-input-InstType\\\",\\\"single-save-select\\\",\\\"if\\\",\\\"eq\\\",\\\"pack/edit-instrument\\\",\\\"hasGraphs\\\",\\\"hasAlerts\\\",\\\"cable/edit-instrument\\\",\\\"rebar/edit-instrument\\\",\\\"dconv/edit-instrument\\\",\\\"tilt/edit-instrument\\\",\\\"slough/edit-instrument\\\",\\\"thermo/edit-instrument\\\",\\\"piezo/edit-instrument\\\",\\\"hid/edit-instrument\\\",\\\"wire/edit-instrument\\\",\\\"adict/edit-instrument\\\",\\\"vibe/edit-instrument\\\",\\\"micro/edit-instrument\\\",\\\"rebarv2/edit-instrument\\\",\\\"dppc/edit-instrument\\\",\\\"multiDExto/edit-instrument\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/edit-instrument.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Kxj+e0/r\",\"block\":\"[[[1,[28,[35,0],[\\\"Alert \\\",[30,1,[\\\"alert\\\",\\\"id\\\"]]],null]],[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,\\\"table\\\"],[14,5,\\\"width: 100%;\\\"],[12],[41,[33,3],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"error_message\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"There was an error editting the alert.\\\"],[13],[41,[33,4],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"A required field was not entered. Bolded fields are required.\\\"],[13]],[]],[[[41,[33,5],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Select at least one active channel.\\\"],[13]],[]],[[[41,[33,6],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Ensure that your value entry only contains a numeric values (0-9) or a decimal point (\\\\\\\".\\\\\\\")\\\"],[13]],[]],[[[41,[33,7],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a window length larger than 1 if method is not immediate.\\\"],[13]],[]],[[[41,[33,8],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a window length larger than or equal to 1 if method is not immediate.\\\"],[13]],[]],[[[41,[33,9],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a target.\\\"],[13]],[]],[[[41,[33,10],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Enter a valid phone number (numeric values only).\\\"],[13],[1,\\\"To see available carriers, click on the \\\\\\\"Target (Phone #):\\\\\\\" link. \\\"]],[]],[[[41,[33,11],[[[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have permission to make changes to an alert.\\\"],[13]],[]],null]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]]],[]]],[13],[13]],[]],null],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,5,\\\"font-size: 25px;\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Instrument ID:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[8,[39,12],[[24,5,\\\"font-size: 23px\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"edit-instrument\\\",[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"id\\\"]]]],[[\\\"default\\\"],[[[[1,\\\" \\\"],[1,[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"id\\\"]]],[1,\\\" \\\"]],[]]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"padding-top: 2rem; padding-left: 2rem; padding-bottom: 1rem;\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"instrumentType\\\"],[14,5,\\\"font-size: 25px\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Instrument type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,13],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\",\\\"isEditable\\\"],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentType\\\"]],\\\"text\\\",\\\"title\\\",false]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[13],[13],[13],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[14,5,\\\"padding-left:2rem; padding-right:1rem;\\\"],[14,0,\\\"td_details\\\"],[12],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],1],null],[[[1,[28,[35,15],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],2],null],[[[1,[28,[35,17],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],3],null],[[[1,[28,[35,18],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],4],null],[[[1,[28,[35,15],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],5],null],[[[1,[28,[35,15],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],6],null],[[[1,[28,[35,19],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],7],null],[[[1,[28,[35,20],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],8],null],[[[1,[28,[35,21],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],9],null],[[[1,[28,[35,22],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],10],null],[[[1,[28,[35,23],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],11],null],[[[1,[28,[35,15],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],12],null],[[[1,[28,[35,24],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],13],null],[[[1,[28,[35,25],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],14],null],[[[1,\\\"Analog\\\"]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],15],null],[[[1,[28,[35,26],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],16],null],[[[1,[28,[35,27],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],17],null],[[[1,[28,[35,28],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[41,[28,[37,14],[[30,1,[\\\"alert\\\",\\\"instrument\\\",\\\"instrumentTypeID\\\"]],19],null],[[[1,[28,[35,29],null,[[\\\"alert\\\",\\\"saved\\\",\\\"setError\\\"],[[30,1,[\\\"alert\\\"]],[28,[37,16],[[30,0],\\\"saved\\\"],null],[28,[37,16],[[30,0],\\\"setError\\\"],null]]]]]],[]],null],[13],[13],[13],[13],[46,[28,[37,31],null,null],null,null,null]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"isVisibleError\\\",\\\"emptyBoldError\\\",\\\"noActChError\\\",\\\"nonNumericValueError\\\",\\\"wLError\\\",\\\"wLNegError\\\",\\\"targetError\\\",\\\"phoneNumError\\\",\\\"authError\\\",\\\"link-to\\\",\\\"single-save-input-InstType\\\",\\\"eq\\\",\\\"pack/edit-alert\\\",\\\"action\\\",\\\"cable/edit-alert\\\",\\\"rebar/edit-alert\\\",\\\"tilt/edit-alert\\\",\\\"slough/edit-alert\\\",\\\"thermo/edit-alert\\\",\\\"piezo/edit-alert\\\",\\\"hid/edit-alert\\\",\\\"wire/edit-alert\\\",\\\"adict/edit-alert\\\",\\\"vibe/edit-alert\\\",\\\"micro/edit-alert\\\",\\\"rebarv2/edit-alert\\\",\\\"dppc/edit-alert\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/edit-lookups.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"WGoZSSy3\",\"block\":\"[[[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,0]],[10,0],[14,0,\\\"mt-1\\\"],[12],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-12\\\"],[12],[10,\\\"h5\\\"],[12],[1,[52,[33,2],[33,3]]],[1,\\\" \\\"],[1,[52,[33,2],[33,4]]],[1,\\\" \\\"],[1,[52,[33,2],[33,5]]],[13],[10,\\\"h6\\\"],[12],[1,[52,[33,2],[33,6]]],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-7\\\"],[12],[41,[51,[33,8]],[[[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select instrument\\\"],[13],[1,[28,[35,9],null,[[\\\"content\\\",\\\"selected\\\",\\\"id\\\",\\\"sortBy\\\",\\\"prompt\\\",\\\"searchPrompt\\\",\\\"isClearable\\\",\\\"on-change\\\"],[[33,10],[33,11],\\\"instrumentSelect\\\",\\\"title\\\",\\\"Instrument ID\\\",\\\"Filter\\\",false,[28,[37,12],[[30,0],\\\"onUpdateTransitionTo\\\"],null]]]]],[13]],[]],null],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select Chart\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,13],null,[[\\\"selected\\\",\\\"instrumentType\\\",\\\"instrumentId\\\"],[[33,14],[33,15],[33,5]]]]],[13],[13],[13],[41,[33,8],[[[10,0],[14,0,\\\"col\\\"],[12],[10,1],[12],[13],[10,\\\"td\\\"],[14,5,\\\"padding-right: 2rem;\\\"],[12],[10,0],[14,0,\\\"col-sm-auto mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Number of Display Records\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,16],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"display_records\\\"],[[33,5],[33,17],[33,18]]]]],[13],[13],[13],[13]],[]],null],[13],[41,[33,5],[[[1,[28,[35,19],null,[[\\\"filterType\\\",\\\"displayDateTimeFormat\\\",\\\"displayYAxistUnit\\\",\\\"requireXMaxMin\\\",\\\"requireYLeftMaxMin\\\",\\\"requireYRightMaxMin\\\",\\\"instrumentId\\\",\\\"chartType\\\",\\\"instrumentType\\\"],[\\\"frequency\\\",false,false,true,true,false,[33,5],[33,14],[33,3]]]]]],[]],null],[41,[51,[33,8]],[[[41,[33,5],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group d-inline-block\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,12],[[30,0],\\\"toggleLocalProperty\\\",\\\"adjust_scales\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,20],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"adjust_scales\\\",[33,21],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Adjust Scales\\\"],[13],[13],[13],[13],[13]],[]],null]],[]],null],[41,[33,21],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group d-inline-block\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,5,\\\"padding-left:15px\\\"],[14,0,\\\"col-md-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Primary Y-Axis\\\"],[13],[10,\\\"hr\\\"],[14,5,\\\"height: 2px; background: black;\\\"],[12],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,12],[[30,0],\\\"toggleLocalProperty\\\",\\\"auto_scale\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,20],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"auto_scale\\\",[33,22],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Auto Scale\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,5,\\\"padding-left:15px\\\"],[14,0,\\\"col-md-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Primary Y-Axis\\\"],[13],[10,\\\"hr\\\"],[14,5,\\\"height: 2px; background: black;\\\"],[12],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,12],[[30,0],\\\"toggleLocalProperty\\\",\\\"auto_scale\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,20],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"auto_scale\\\",[33,22],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Auto Scale\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMaxValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Max:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,23]],[15,\\\"oninput\\\",[28,[37,12],[[30,0],[28,[37,24],[[33,23]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMax\\\"],[15,\\\"disabled\\\",[36,22]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMinValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Min:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,25]],[15,\\\"oninput\\\",[28,[37,12],[[30,0],[28,[37,24],[[33,25]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMin\\\"],[15,\\\"disabled\\\",[36,22]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13],[41,[33,5],[[[41,[28,[37,26],[[33,27],\\\"Displacement\\\"],null],[[[10,0],[14,0,\\\"col-lg-5 pull-right\\\"],[12],[10,0],[14,0,\\\"form-group d-inline-block pull-right\\\"],[12],[41,[33,28],[[[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-7\\\"],[12],[10,\\\"label\\\"],[12],[13],[13],[10,0],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group mb-0 mr-05\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,12],[[30,0],\\\"toggleProperty\\\",\\\"raw\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,20],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"raw\\\",[33,29],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Raw data\\\"],[13],[13],[13],[13],[13]],[]],null],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[41,[51,[33,28]],[[[10,0],[14,0,\\\"col-md-7\\\"],[12],[10,\\\"label\\\"],[12],[13],[13]],[]],null],[10,0],[14,5,\\\"width:100%\\\"],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group mb-0 mr-05\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,12],[[30,0],\\\"toggleProperty\\\",\\\"zeroed\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,20],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"zeroed\\\",[33,30],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Time reference\\\"],[13],[13],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[41,[33,28],[[[10,0],[14,5,\\\"width:100%\\\"],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group mb-0 mr-05\\\"],[12],[41,[28,[37,26],[[33,31],\\\"hac\\\"],null],[[[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,20],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",true,\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]],[[[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,12],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,20],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,32],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]]],[13],[13]],[]],[[[10,0],[14,5,\\\"width:100%\\\"],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group mb-0 mr-05\\\"],[12],[41,[28,[37,26],[[33,31],\\\"hac\\\"],null],[[[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,20],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",true,\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]],[[[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,12],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,20],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,32],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]]],[13],[13]],[]]],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[41,[51,[33,28]],[[[10,0],[14,5,\\\"width:100%\\\"],[14,0,\\\"col-md-7\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select ref. anchor\\\"],[13],[13]],[]],null],[41,[33,28],[[[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[11,\\\"input\\\"],[24,\\\"tagName\\\",\\\"button\\\"],[24,2,\\\"Temps\\\"],[24,0,\\\"btn btn-outline-primary\\\"],[24,4,\\\"button\\\"],[4,[38,12],[[30,0],\\\"selectTemps\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[13],[11,\\\"input\\\"],[24,\\\"tagName\\\",\\\"button\\\"],[24,2,\\\"Values\\\"],[24,0,\\\"btn btn-outline-primary\\\"],[24,4,\\\"button\\\"],[4,[38,12],[[30,0],\\\"selectReadings\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[13],[13],[13]],[]],null],[41,[51,[33,28]],[[[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[42,[28,[37,34],[[28,[37,34],[[33,35]],null]],null],null,[[[6,[39,36],null,[[\\\"tagName\\\",\\\"type\\\",\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"button\\\",\\\"button\\\",\\\"btn btn-outline-primary\\\",[28,[37,37],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\"],[\\\"\\\",[30,1,[\\\"number\\\"]]]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,38],[[33,5],[33,17]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[30,1,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[1]],null],[13],[13]],[]],null],[13],[13],[13]],[]],null]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[6,[39,36],null,[[\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,37],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"frequency-graphs.frequency-graph\\\",[28,[37,38],[[33,5],[33,17]],null]]],[[\\\"default\\\"],[[[[1,\\\"Reset zoom\\\"]],[]]]]],[13],[13],[13]],[]],null],[46,[28,[37,40],null,null],null,null,null],[13]],[\\\"anchor\\\"],false,[\\\"bread-crumbs\\\",\\\"if\\\",\\\"displayData\\\",\\\"instrumentType\\\",\\\"name\\\",\\\"instrumentId\\\",\\\"details\\\",\\\"unless\\\",\\\"bluVibe\\\",\\\"searchable-select\\\",\\\"instruments\\\",\\\"initialInstrumentSelection\\\",\\\"action\\\",\\\"vibe/frequency-chart-dropdown\\\",\\\"chart_type\\\",\\\"instrumentTypeId\\\",\\\"frequency-display-records-dropdown\\\",\\\"modelName\\\",\\\"display_records\\\",\\\"advanced-filter\\\",\\\"input\\\",\\\"adjust_scales\\\",\\\"auto_scale\\\",\\\"y_max\\\",\\\"mut\\\",\\\"y_min\\\",\\\"is-equal\\\",\\\"chartDataValueName\\\",\\\"isWire\\\",\\\"rawData\\\",\\\"timeRef\\\",\\\"refHeadPosition\\\",\\\"flipSigns\\\",\\\"each\\\",\\\"-track-array\\\",\\\"instrumentAnchorsSorted\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/frequency-graphs.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"3AxDxM+F\",\"block\":\"[[[10,0],[14,0,\\\"spinner-yp-logo v_centered_abs_pos h_centered_abs_pos mt-2\\\"],[12],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"/assets/images/logo-no-text.png\\\"],[14,0,\\\"d-block mx-auto\\\"],[12],[13],[13]],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/frequency-graphs/frequency-graph-loading.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"xsyo1vBS\",\"block\":\"[[[46,[28,[37,1],null,null],null,null,null],[10,0],[14,0,\\\"mb-1\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-12\\\"],[12],[1,[28,[35,2],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"zoomTempData\\\",\\\"raw\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[33,3,[\\\"fullRangeData\\\"]],[33,3,[\\\"zoomData\\\"]],[33,3,[\\\"zoomTempData\\\"]],[33,4],[33,3,[\\\"instrument\\\"]],[33,3,[\\\"graphs\\\"]],[33,3,[\\\"seismicEvents\\\"]],[33,3,[\\\"blastEvents\\\"]],[33,5],[33,6],[33,7],[33,8],[28,[37,9],[[30,0],\\\"updateProperties\\\"],null],[28,[37,9],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,9],[[30,0],\\\"setChart\\\"],null],[28,[37,9],[[30,0],\\\"setData\\\"],null]]]]],[13],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13]],[],false,[\\\"component\\\",\\\"-outlet\\\",\\\"vibe/nvd3-frequency-line-chart\\\",\\\"model\\\",\\\"raw\\\",\\\"flip_signs\\\",\\\"auto_scale\\\",\\\"y_min\\\",\\\"y_max\\\",\\\"action\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/frequency-graphs/frequency-graph.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"iRauJXRE\",\"block\":\"[[[1,[28,[35,0],[\\\"Gateway\\\"],null]],[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,2],null,[[\\\"searchValue\\\",\\\"pageValue\\\"],[[33,3],[33,4]]]]],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Rows\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,5],null,[[\\\"page_size\\\",\\\"page_type\\\",\\\"model\\\"],[[33,6],\\\"gateway\\\",[30,1,[\\\"gateway\\\"]]]]]],[13],[13],[13],[10,0],[14,5,\\\"margin-top:2rem;\\\"],[14,0,\\\"col\\\"],[12],[1,[28,[35,7],null,[[\\\"model\\\"],[[30,1,[\\\"gatewayStats\\\"]]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,8],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"gateway\\\",\\\"meta\\\"]],\\\"gateway\\\",[28,[37,9],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,10],null,[[\\\"gateway\\\",\\\"sortBy\\\",\\\"ordering\\\",\\\"showExpandColumn\\\",\\\"refreshRoute\\\"],[[30,1,[\\\"gateway\\\"]],[28,[37,11],[[30,0],\\\"sortBy\\\"],null],[33,12],true,[28,[37,11],[[30,0],\\\"refreshRoute\\\"],null]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,8],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"gateway\\\",\\\"meta\\\"]],\\\"gateway\\\",[28,[37,9],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[13]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"filter-text-input-gateway\\\",\\\"search\\\",\\\"page\\\",\\\"page-item-count\\\",\\\"page_size\\\",\\\"getTotalsGateway\\\",\\\"pagination-links\\\",\\\"hash\\\",\\\"gateway-list\\\",\\\"action\\\",\\\"ordering\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/gateway.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"LzXveaFr\",\"block\":\"[[[1,[28,[35,0],[\\\"Index\\\"],null]],[41,[33,2,[\\\"isAuthenticated\\\"]],[[[10,3],[12],[1,[28,[35,3],[[30,0],\\\"invalidateSession\\\"],null]],[1,\\\" Logout\\\"],[13]],[]],null],[10,0],[14,0,\\\"container-fluid\\\"],[12],[10,0],[14,5,\\\"background: #e9ecef; border-radius: 0.25rem; padding-top:0.65rem; padding-right:1rem; padding-bottom:0.65rem; padding-left:1rem; \\\"],[12],[10,3],[14,5,\\\"font-size: 1.2rem; font-family: Frutiger Arabic 45 Light\\\"],[14,6,\\\"/alerts\\\"],[14,\\\"title\\\",\\\"List of alerts\\\"],[12],[1,\\\"Alerts\\\"],[13],[13],[10,0],[14,5,\\\"margin-top:1rem;\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"margin-bottom: 1rem; width: 25rem\\\"],[12],[10,\\\"tr\\\"],[12],[10,0],[14,5,\\\"margin-left: 3px;\\\"],[12],[1,[28,[35,4],null,[[\\\"searchValue\\\",\\\"pageValue\\\",\\\"target\\\",\\\"targetName\\\"],[[33,5],[33,6],[33,7],\\\"alert\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,0],[14,5,\\\"margin-left: 3px;\\\"],[12],[10,\\\"tr\\\"],[12],[10,0],[14,5,\\\"vertical-align:middle;\\\"],[12],[1,[28,[35,8],null,[[\\\"model\\\"],[[30,1]]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[10,\\\"td\\\"],[12],[1,[28,[35,9],null,[[\\\"alerts\\\",\\\"sortBy\\\",\\\"style\\\",\\\"ordering\\\"],[[30,1,[\\\"alertStats\\\"]],[28,[37,3],[[30,0],\\\"sortByA\\\"],null],\\\"width: 100%;\\\",[33,10]]]]],[13],[13],[13],[13],[10,0],[14,5,\\\"background: #e9ecef; border-radius: 0.25rem; padding-top:0.65rem; padding-right:1rem; padding-bottom:0.65rem; padding-left:1rem; \\\"],[12],[10,3],[14,5,\\\"font-size: 1.2rem; font-family: Frutiger Arabic 45 Light\\\"],[14,6,\\\"/instruments\\\"],[14,\\\"title\\\",\\\"List of instruments\\\"],[12],[1,\\\"Instruments\\\"],[13],[13],[10,0],[14,5,\\\"margin-top:1rem;\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"margin-bottom: 1rem; width: 25rem;\\\"],[12],[10,\\\"tr\\\"],[12],[10,0],[14,5,\\\"margin-left: 3px;\\\"],[12],[1,[28,[35,11],null,[[\\\"searchValue\\\",\\\"pageValue\\\",\\\"target\\\",\\\"targetName\\\"],[[33,5],[33,6],[33,7],\\\"inst\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,0],[14,5,\\\"margin-left: 3px;\\\"],[12],[10,\\\"tr\\\"],[12],[10,0],[14,5,\\\"vertical-align:middle;\\\"],[12],[1,[28,[35,12],null,[[\\\"model\\\"],[[30,1,[\\\"instrumentStats\\\"]]]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[10,\\\"td\\\"],[12],[10,0],[14,5,\\\"margin-top: 10px;\\\"],[12],[1,[28,[35,13],null,[[\\\"instruments\\\",\\\"sortBy\\\",\\\"ordering\\\",\\\"levelLookupList\\\",\\\"projectLookupList\\\"],[[30,1,[\\\"instruments\\\"]],[28,[37,3],[[30,0],\\\"sortByI\\\"],null],[33,10],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"projectLookupList\\\"]]]]]],[13],[13],[13],[13],[13],[10,0],[14,5,\\\"background: #e9ecef; border-radius: 0.25rem; padding-top:0.65rem; padding-right:1rem; padding-bottom:0.65rem; padding-left:1rem; \\\"],[12],[10,3],[14,5,\\\"font-size: 1.2rem; font-family: Frutiger Arabic 45 Light\\\"],[14,6,\\\"/gateway\\\"],[14,\\\"title\\\",\\\"Gateway Health\\\"],[12],[1,\\\"Health\\\"],[13],[13],[10,0],[14,5,\\\"margin-top:1rem;\\\"],[12],[10,\\\"table\\\"],[14,5,\\\"margin-bottom: 1rem; width: 25rem;\\\"],[12],[10,\\\"tr\\\"],[12],[10,0],[14,5,\\\"margin-left: 3px;\\\"],[12],[1,[28,[35,14],null,[[\\\"searchValue\\\",\\\"pageValue\\\",\\\"target\\\",\\\"targetName\\\"],[[33,5],[33,6],[33,7],\\\"gateway\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,0],[14,5,\\\"margin-left: 3px;\\\"],[12],[10,\\\"tr\\\"],[12],[10,0],[14,5,\\\"vertical-align:middle;\\\"],[12],[1,[28,[35,15],null,[[\\\"model\\\"],[[30,1,[\\\"gatewayStats\\\"]]]]]],[13],[13],[13],[13],[10,\\\"tr\\\"],[14,\\\"hidden\\\",\\\"\\\"],[12],[10,\\\"td\\\"],[12],[10,0],[14,5,\\\"margin-top: 10px;\\\"],[12],[1,[28,[35,16],null,[[\\\"gateway\\\",\\\"sortBy\\\",\\\"ordering\\\",\\\"showExpandColumn\\\"],[[30,1,[\\\"gateway\\\"]],[28,[37,3],[[30,0],\\\"sortByG\\\"],null],[33,10],true]]]],[13],[13],[13],[13],[13],[13],[46,[28,[37,18],null,null],null,null,null]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"if\\\",\\\"session\\\",\\\"action\\\",\\\"filter-text-input-alert\\\",\\\"search\\\",\\\"page\\\",\\\"searchTgt\\\",\\\"getTotalsAlerts\\\",\\\"alerts-list\\\",\\\"ordering\\\",\\\"filter-text-input\\\",\\\"getTotalsInstruments\\\",\\\"instruments-list\\\",\\\"filter-text-input-gateway\\\",\\\"getTotalsGateway\\\",\\\"gateway-list\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/index.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"3ZWH2x6S\",\"block\":\"[[[1,[28,[35,0],[\\\"Instruments\\\"],null]],[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,2],null,[[\\\"searchValue\\\",\\\"pageValue\\\"],[[33,3],[33,4]]]]],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Rows\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,5],null,[[\\\"page_size\\\",\\\"page_type\\\",\\\"model\\\"],[[33,6],\\\"instruments\\\",[30,1,[\\\"instruments\\\"]]]]]],[13],[13],[13],[10,0],[14,5,\\\"margin-top:2rem;\\\"],[14,0,\\\"col\\\"],[12],[1,[28,[35,7],null,[[\\\"model\\\"],[[30,1,[\\\"instrumentStats\\\"]]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,8],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"instruments\\\",\\\"meta\\\"]],\\\"instruments\\\",[28,[37,9],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,10],null,[[\\\"instruments\\\",\\\"sortBy\\\",\\\"ordering\\\",\\\"levelLookupList\\\",\\\"projectLookupList\\\"],[[30,1,[\\\"instruments\\\"]],[28,[37,11],[[30,0],\\\"sortBy\\\"],null],[33,12],[30,1,[\\\"levelLookupList\\\"]],[30,1,[\\\"projectLookupList\\\"]]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,8],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"instruments\\\",\\\"meta\\\"]],\\\"instruments\\\",[28,[37,9],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[13]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"filter-text-input\\\",\\\"search\\\",\\\"page\\\",\\\"page-item-count\\\",\\\"page_size\\\",\\\"getTotalsInstruments\\\",\\\"pagination-links\\\",\\\"hash\\\",\\\"instruments-list\\\",\\\"action\\\",\\\"ordering\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/instruments.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"n+dsCscc\",\"block\":\"[[[46,[28,[37,1],null,null],null,null,null],[10,0],[14,0,\\\"container-fluid\\\"],[12],[10,0],[14,0,\\\"mt-1\\\"],[12],[10,\\\"h3\\\"],[12],[1,\\\"Keys\\\"],[13],[13],[1,[34,2]],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table settings-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Company\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Start Date\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"End Date\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"# Instruments\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Version\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Modules\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Active\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Delete\\\"],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,4],[[28,[37,4],[[33,5,[\\\"licenceKeys\\\"]]],null]],null],null,[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"companyName\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,1,[\\\"companyName\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"startDate\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,1,[\\\"startDate\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"endDate\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,1,[\\\"endDate\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"numInst\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[41,[28,[37,7],[[30,1,[\\\"numInst\\\"]],0],null],[[[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Unlimited\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,1,[\\\"numInst\\\"]]],[13]],[]]],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"softwareVersion\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,1,[\\\"softwareVersion\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"modules\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[41,[28,[37,8],[[33,9],[30,1,[\\\"id\\\"]]],null],[[[10,\\\"label\\\"],[14,5,\\\"\\\"],[14,\\\"for\\\",\\\"id\\\"],[15,\\\"title\\\",[29,[[28,[37,8],[[33,10],[30,1,[\\\"id\\\"]]],null]]]],[14,0,\\\"col-12 col-form-label has-tooltip-info link\\\"],[12],[1,\\\"[Modules]\\\"],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"API Only\\\"],[13]],[]]],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"isValidKey\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[41,[28,[37,8],[[33,11],[30,1,[\\\"id\\\"]]],null],[[[10,1],[14,5,\\\"font-size:25px;color:green\\\"],[12],[1,\\\"✓\\\"],[13]],[]],[[[10,1],[14,5,\\\"font-size:25px;color:red\\\"],[12],[1,\\\"✕\\\"],[13]],[]]],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"id\\\"]]]]],[14,5,\\\"text-align:center;\\\"],[14,0,\\\"noWrap\\\"],[12],[41,[28,[37,12],[[28,[37,8],[[33,13],[30,1,[\\\"id\\\"]]],null]],null],[[[11,1],[24,5,\\\"float:left;margin-top: 0.5rem\\\"],[24,0,\\\"crud remove\\\"],[4,[38,14],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,1,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,15],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13]],[]],null],[41,[28,[37,8],[[33,13],[30,1,[\\\"id\\\"]]],null],[[[10,0],[14,5,\\\"position:relative;min-width:0px;float:left;padding-right: 0\\\"],[14,0,\\\"delete-confirmation active\\\"],[12],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,14],[[30,0],\\\"remove\\\",[33,5,[\\\"licenceKeys\\\"]],[30,1]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,14],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,1,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13]],[]],null],[13],[13]],[1]],null],[13],[13],[10,0],[14,0,\\\"pb-1\\\"],[12],[13],[13]],[\\\"key\\\"],false,[\\\"component\\\",\\\"-outlet\\\",\\\"key-import-form\\\",\\\"each\\\",\\\"-track-array\\\",\\\"model\\\",\\\"if\\\",\\\"eq\\\",\\\"get\\\",\\\"activeModules\\\",\\\"tooltip\\\",\\\"activeKeys\\\",\\\"not\\\",\\\"isRowDeleteConfirmationDialog\\\",\\\"action\\\",\\\"fa-icon\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/keys.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"VZ4ksmI0\",\"block\":\"[[[1,[28,[35,0],[\\\"Settings\\\"],null]],[46,[28,[37,2],null,null],null,null,null],[10,0],[14,0,\\\"container-fluid\\\"],[12],[10,0],[14,0,\\\"mt-1\\\"],[12],[10,\\\"h3\\\"],[12],[1,\\\"Lookup Values\\\"],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table settings-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"ID\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Name\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Type\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Value\\\"],[13],[41,[33,4],[[[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,5],[[30,0],\\\"createLookup\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13]],[]],null],[41,[28,[37,7],[[33,4]],null],[[[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[13]],[]],null],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,9],[[28,[37,9],[[30,1,[\\\"lookups\\\"]]],null]],null],null,[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,2,[\\\"id\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,2,[\\\"id\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,2,[\\\"name\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,2,[\\\"name\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,2,[\\\"type\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"type\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,2,[\\\"type\\\"]]],[13],[13],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,2,[\\\"id\\\"]]]]],[14,0,\\\"noWrap input-container\\\"],[12],[41,[28,[37,10],[[33,11],[30,2,[\\\"id\\\"]]],null],[[[10,\\\"input\\\"],[15,2,[30,2,[\\\"value\\\"]]],[15,1,[30,2,[\\\"id\\\"]]],[15,\\\"oninput\\\",[28,[37,5],[[30,0],[28,[37,12],[[30,2,[\\\"value\\\"]]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,0,\\\"form-control full-width-input\\\"],[14,4,\\\"text\\\"],[12],[13]],[]],[[[10,\\\"label\\\"],[14,\\\"for\\\",\\\"value\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,[30,2,[\\\"value\\\"]]],[13]],[]]],[13],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[41,[28,[37,10],[[33,11],[30,2,[\\\"id\\\"]]],null],[[[11,1],[24,0,\\\"crud remove\\\"],[4,[38,5],[[30,0],\\\"stopEditing\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"times\\\"]],null],[13],[11,1],[24,0,\\\"crud edit\\\"],[4,[38,5],[[30,0],\\\"save\\\",[30,2,[\\\"id\\\"]],[30,2]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"check\\\"]],null],[1,\\\"        \\\"],[13]],[]],[[[11,1],[24,0,\\\"crud remove\\\"],[4,[38,5],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[11,1],[24,\\\"data-placement\\\",\\\"right\\\"],[24,\\\"title\\\",\\\"Edit\\\"],[24,0,\\\"crud edit\\\"],[4,[38,5],[[30,0],\\\"startEditing\\\",[30,2,[\\\"id\\\"]],[30,2]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,6],null,[[\\\"@icon\\\"],[\\\"pencil-alt\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,13],[[28,[37,14],[[33,15],[30,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"Delete it?\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"Are you sure?\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,5],[[30,0],\\\"remove\\\",[30,2]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,5],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13]],[]]],[13],[13]],[2]],null],[13],[13],[10,0],[14,0,\\\"pb-1\\\"],[12],[13],[13]],[\\\"@model\\\",\\\"lookup\\\"],false,[\\\"page-title\\\",\\\"component\\\",\\\"-outlet\\\",\\\"if\\\",\\\"licenceIsValid\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"not\\\",\\\"each\\\",\\\"-track-array\\\",\\\"eq\\\",\\\"editingId\\\",\\\"mut\\\",\\\"active-class\\\",\\\"get-array-element\\\",\\\"isRowDeleteConfirmationDialog\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/list-lookups.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"v5zYksAO\",\"block\":\"[[[1,[28,[35,0],[\\\"Log Viewer\\\"],null]],[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,2],null,[[\\\"searchValue\\\",\\\"pageValue\\\"],[[33,3],[33,4]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,5],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"logViewer\\\",\\\"meta\\\"]],\\\"log-viewer\\\",[28,[37,6],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,7],null,[[\\\"logViewer\\\",\\\"errorTypeLookups\\\",\\\"sortBy\\\",\\\"ordering\\\",\\\"showExpandColumn\\\",\\\"refreshRoute\\\"],[[30,1,[\\\"logViewer\\\"]],[33,8],[28,[37,9],[[30,0],\\\"sortBy\\\"],null],[33,10],true,[28,[37,9],[[30,0],\\\"refreshRoute\\\"],null]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,5],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"logViewer\\\",\\\"meta\\\"]],\\\"log-viewer\\\",[28,[37,6],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[13]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"filter-text-input-log-viewer\\\",\\\"search\\\",\\\"page\\\",\\\"pagination-links\\\",\\\"hash\\\",\\\"log-viewer-list\\\",\\\"errorTypeLookups\\\",\\\"action\\\",\\\"ordering\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/log-viewer.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"zGx9MV1J\",\"block\":\"[[[1,[28,[35,0],[\\\"Login\\\"],null]],[10,3],[12],[41,[28,[30,1,[\\\"licence\\\",\\\"isValid\\\"]],null,null],[[[1,\\\"true\\\"]],[]],null],[13],[10,0],[14,0,\\\"login-page\\\"],[12],[10,0],[14,0,\\\"login\\\"],[12],[10,0],[14,0,\\\"login-head\\\"],[12],[10,\\\"h3\\\"],[12],[1,\\\"VantagePoint Login\\\"],[13],[13],[10,0],[14,0,\\\"login-body\\\"],[12],[10,\\\"form\\\"],[15,\\\"onsubmit\\\",[28,[37,2],[[30,0],\\\"authenticate\\\"],null]],[12],[10,0],[14,0,\\\"form-row\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id_username\\\"],[12],[1,\\\"Login\\\"],[13],[10,\\\"input\\\"],[14,1,\\\"id_username\\\"],[14,\\\"autocomplete\\\",\\\"username\\\"],[15,2,[36,3]],[15,\\\"onchange\\\",[30,0,[\\\"updateIdentification\\\"]]],[12],[13],[13],[10,0],[14,0,\\\"form-row\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id_password\\\"],[12],[1,\\\"Password\\\"],[13],[10,\\\"input\\\"],[14,1,\\\"id_password\\\"],[14,\\\"autocomplete\\\",\\\"current-password\\\"],[15,2,[36,4]],[15,\\\"onchange\\\",[30,0,[\\\"updatePassword\\\"]]],[14,4,\\\"password\\\"],[12],[13],[13],[10,0],[14,0,\\\"submit-row\\\"],[12],[10,\\\"button\\\"],[14,1,\\\"id_button\\\"],[14,4,\\\"submit\\\"],[12],[1,\\\"Login\\\"],[13],[41,[33,5],[[[10,0],[14,5,\\\"width: auto; padding-top:5px;\\\"],[14,0,\\\"center pulse_loader \\\"],[12],[13]],[]],null],[13],[41,[33,6],[[[10,2],[12],[1,[34,6]],[13]],[]],null],[13],[13],[10,0],[14,0,\\\"login-foot\\\"],[12],[13],[13],[13],[46,[28,[37,8],null,null],null,null,null]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"if\\\",\\\"action\\\",\\\"identification\\\",\\\"password\\\",\\\"loading\\\",\\\"errorMessage\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/login.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"47rDwWEM\",\"block\":\"[[[1,[28,[35,0],[\\\"Raw Data \\\",[30,1,[\\\"instrument\\\",\\\"id\\\"]]],null]],[10,0],[14,1,\\\"raw-content\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,0],[14,0,\\\"mt-1\\\"],[12],[41,[33,3],[[[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have sufficent permissions.\\\"],[13],[13],[13],[13]],[]],null],[10,\\\"h5\\\"],[12],[1,[33,4,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]]],[1,\\\" \\\"],[1,[33,4,[\\\"instrument\\\",\\\"id\\\"]]],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-6 d-flex flex-column justify-content-center\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Rows\\\"],[13],[1,[28,[35,5],null,[[\\\"instrumentId\\\",\\\"pageSize\\\"],[[30,1,[\\\"instrument\\\",\\\"id\\\"]],[30,1,[\\\"displacementValues\\\",\\\"meta\\\",\\\"pagination\\\",\\\"page_size\\\"]]]]]],[13],[13],[41,[33,6],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Port Selection\\\"],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,7],null,[[\\\"selected\\\",\\\"instrumentId\\\",\\\"calib\\\",\\\"linear\\\",\\\"depth\\\",\\\"port\\\"],[[33,8],[30,1,[\\\"instrument\\\",\\\"id\\\"]],[33,9],[33,10],[33,11],[33,8]]]]],[13],[13]],[]],null],[13],[41,[33,6],[[[10,0],[14,0,\\\"col-md-6\\\"],[12],[10,0],[14,0,\\\"form-group mb-0 mr-05\\\"],[12],[10,\\\"tr\\\"],[12],[1,[28,[35,12],null,[[\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[[28,[37,13],[[30,0],\\\"toggleDataType\\\",\\\"raw\\\"],null],\\\"Raw Data\\\",\\\"checked\\\"]]]],[13],[10,\\\"tr\\\"],[12],[1,[28,[35,12],null,[[\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[[28,[37,13],[[30,0],\\\"toggleDataType\\\",\\\"linear\\\"],null],\\\"Linear Data\\\",\\\"\\\"]]]],[13],[10,\\\"tr\\\"],[12],[1,[28,[35,12],null,[[\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[[28,[37,13],[[30,0],\\\"toggleDataType\\\",\\\"calib\\\"],null],\\\"Calibrated Data\\\",\\\"\\\"]]]],[13],[10,\\\"tr\\\"],[12],[1,[28,[35,12],null,[[\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[[28,[37,13],[[30,0],\\\"toggleDataType\\\",\\\"depth\\\"],null],\\\"Depth (Water)\\\",\\\"\\\"]]]],[13],[13],[13]],[]],null],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"mb-1\\\"],[12],[11,\\\"button\\\"],[24,5,\\\"margin-top: 0.5rem; margin-bottom: 0.25rem\\\"],[16,0,[29,[\\\"btn btn-sm mr-1 \\\",[52,[33,14],\\\"btn-primary\\\",\\\"btn-secondary\\\"]]]],[24,4,\\\"button\\\"],[4,[38,13],[[30,0],\\\"toggleProperty\\\",\\\"isVisibleExportDataForm\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,15],null,[[\\\"@icon\\\"],[\\\"upload\\\"]],null],[1,\\\"  Export data\\\"],[13],[11,\\\"button\\\"],[24,5,\\\"margin-top: 0.5rem; margin-bottom: 0.25rem\\\"],[16,0,[29,[\\\"btn btn-sm mr-1 \\\",[52,[33,16],\\\"btn-primary\\\",\\\"btn-secondary\\\"]]]],[24,4,\\\"button\\\"],[4,[38,13],[[30,0],\\\"toggleProperty\\\",\\\"isVisibleImportDataForm\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,15],null,[[\\\"@icon\\\"],[\\\"download\\\"]],null],[1,\\\"  Import data\\\"],[13],[1,[28,[35,17],null,[[\\\"instrumentId\\\",\\\"isVisibleExportDataForm\\\",\\\"instrument\\\"],[[30,1,[\\\"instrument\\\",\\\"id\\\"]],[33,14],[30,1,[\\\"instrument\\\"]]]]]],[1,[28,[35,18],null,[[\\\"instrumentId\\\",\\\"isVisibleImportDataForm\\\",\\\"instrument\\\"],[[30,1,[\\\"instrument\\\",\\\"id\\\"]],[33,16],[30,1,[\\\"instrument\\\"]]]]]],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[1,[28,[35,19],null,[[\\\"filterType\\\",\\\"displayDateTimeFormat\\\",\\\"displayYAxistUnit\\\",\\\"requireXMaxMin\\\",\\\"requireYLeftMaxMin\\\",\\\"requireYRightMaxMin\\\",\\\"instrumentId\\\",\\\"instrumentType\\\"],[\\\"raw-data\\\",true,true,false,false,false,[30,1,[\\\"instrument\\\",\\\"id\\\"]],[30,1,[\\\"instrument\\\",\\\"instrumentType\\\",\\\"title\\\"]]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],1],null],[[[1,[28,[35,21],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],2],null],[[[1,[28,[35,22],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],3],null],[[[1,[28,[35,23],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],4],null],[[[1,[28,[35,21],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],5],null],[[[1,[28,[35,21],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],6],null],[[[1,[28,[35,24],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],7],null],[[[1,[28,[35,25],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],8],null],[[[1,[28,[35,26],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],9],null],[[[1,[28,[35,27],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],10],null],[[[1,[28,[35,28],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],11],null],[[[1,[28,[35,21],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],12],null],[[[1,[28,[35,29],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\",\\\"depth\\\",\\\"calib\\\",\\\"linear\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null],[33,11],[33,9],[33,10]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],13],null],[[[1,[28,[35,30],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],14],null],[[[1,\\\"Analog\\\"]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],15],null],[[[1,[28,[35,31],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],16],null],[[[1,[28,[35,32],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],17],null],[[[1,[28,[35,33],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],18],null],[[[1,[28,[35,34],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],19],null],[[[1,[28,[35,35],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,20],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],20],null],[[[1,[28,[35,36],null,[[\\\"instrument\\\",\\\"headAts\\\",\\\"displacementData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"instrument\\\"]],[30,1,[\\\"headAts\\\"]],[30,1,[\\\"displacementValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,13],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[13],[13],[46,[28,[37,38],null,null],null,null,null],[13],[13]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"permissionError\\\",\\\"model\\\",\\\"raw-drop-down\\\",\\\"isWire\\\",\\\"wire/raw-data-dropdown\\\",\\\"port\\\",\\\"calib\\\",\\\"linear\\\",\\\"depth\\\",\\\"radio-buttons\\\",\\\"action\\\",\\\"isVisibleExportDataForm\\\",\\\"fa-icon\\\",\\\"isVisibleImportDataForm\\\",\\\"data-export-form\\\",\\\"data-import-form\\\",\\\"advanced-filter\\\",\\\"eq\\\",\\\"pack/raw-data\\\",\\\"cable/raw-data\\\",\\\"rebar/raw-data\\\",\\\"tilt/raw-data\\\",\\\"slough/raw-data\\\",\\\"thermo/raw-data\\\",\\\"piezo/raw-data\\\",\\\"hid/raw-data\\\",\\\"wire/raw-data\\\",\\\"adict/raw-data\\\",\\\"vibe/raw-data\\\",\\\"micro/raw-data\\\",\\\"rebarv2/raw-data\\\",\\\"bluecell/raw-data\\\",\\\"dppc/raw-data\\\",\\\"multiDExto/raw-data\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/raw-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"qmUJviqA\",\"block\":\"[[[1,[28,[35,0],[\\\"Raw Gateway Data \\\",[30,1,[\\\"gateway\\\",\\\"id\\\"]]],null]],[10,0],[14,1,\\\"raw-content\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,1]],[10,0],[14,0,\\\"mt-1\\\"],[12],[41,[33,3],[[[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have sufficent permissions.\\\"],[13],[13],[13],[13]],[]],null],[10,\\\"h5\\\"],[12],[1,[33,4,[\\\"gateway\\\",\\\"gatewayType\\\",\\\"title\\\"]]],[1,\\\" \\\"],[1,[33,4,[\\\"gateway\\\",\\\"id\\\"]]],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Rows\\\"],[13],[1,[28,[35,5],null,[[\\\"gatewayId\\\",\\\"pageSize\\\"],[[30,1,[\\\"gateway\\\",\\\"id\\\"]],[30,1,[\\\"gatewayValues\\\",\\\"meta\\\",\\\"pagination\\\",\\\"page_size\\\"]]]]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"mb-1\\\"],[12],[11,\\\"button\\\"],[24,5,\\\"margin-top: 0.5rem; margin-bottom: 0.25rem\\\"],[16,0,[29,[\\\"btn btn-sm mr-1 \\\",[52,[33,6],\\\"btn-primary\\\",\\\"btn-secondary\\\"]]]],[24,4,\\\"button\\\"],[4,[38,7],[[30,0],\\\"toggleProperty\\\",\\\"isVisibleExportDataForm\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,8],null,[[\\\"@icon\\\"],[\\\"upload\\\"]],null],[1,\\\"  Export data\\\"],[13],[11,\\\"button\\\"],[24,5,\\\"margin-top: 0.5rem; margin-bottom: 0.25rem\\\"],[16,0,[29,[\\\"btn btn-sm mr-1 \\\",[52,[33,9],\\\"btn-primary\\\",\\\"btn-secondary\\\"]]]],[24,4,\\\"button\\\"],[4,[38,7],[[30,0],\\\"toggleProperty\\\",\\\"isVisibleImportDataForm\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,8],null,[[\\\"@icon\\\"],[\\\"download\\\"]],null],[1,\\\"  Import data\\\"],[13],[1,[28,[35,10],null,[[\\\"gatewayId\\\",\\\"isVisibleExportDataForm\\\"],[[30,1,[\\\"gateway\\\",\\\"id\\\"]],[33,6]]]]],[1,[28,[35,11],null,[[\\\"gatewayId\\\",\\\"isVisibleImportDataForm\\\"],[[30,1,[\\\"gateway\\\",\\\"id\\\"]],[33,9]]]]],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-12\\\"],[12],[41,[28,[37,12],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],1],null],[[[1,[28,[35,13],null,[[\\\"gateway\\\",\\\"gatewayData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"gateway\\\"]],[30,1,[\\\"gatewayValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,7],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,12],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],2],null],[[[1,[28,[35,14],null,[[\\\"gateway\\\",\\\"gatewayData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"gateway\\\"]],[30,1,[\\\"gatewayValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,7],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,12],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],3],null],[[[1,[28,[35,15],null,[[\\\"gateway\\\",\\\"gatewayData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"gateway\\\"]],[30,1,[\\\"gatewayValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,7],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,12],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],4],null],[[[1,[28,[35,16],null,[[\\\"gateway\\\",\\\"raw_parent_gateway\\\",\\\"gatewayData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"gateway\\\"]],[33,17],[30,1,[\\\"gatewayValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,7],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,12],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],5],null],[[[1,[28,[35,18],null,[[\\\"gateway\\\",\\\"raw_parent_gateway\\\",\\\"gatewayData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"gateway\\\"]],[33,17],[30,1,[\\\"gatewayValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,7],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[41,[28,[37,12],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],6],null],[[[1,[28,[35,19],null,[[\\\"gateway\\\",\\\"gatewayData\\\",\\\"temperatureData\\\",\\\"setProp\\\"],[[30,1,[\\\"gateway\\\"]],[30,1,[\\\"gatewayValues\\\"]],[30,1,[\\\"temperatureValues\\\"]],[28,[37,7],[[30,0],\\\"updateProperty\\\"],null]]]]]],[]],null],[13],[13],[46,[28,[37,21],null,null],null,null,null],[13],[13]],[\\\"@model\\\"],false,[\\\"page-title\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"permissionError\\\",\\\"model\\\",\\\"raw-gateway-drop-down\\\",\\\"isVisibleExportDataForm\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"isVisibleImportDataForm\\\",\\\"data-export-gateway-form\\\",\\\"data-import-gateway-form\\\",\\\"eq\\\",\\\"blucell/raw-gateway-data\\\",\\\"blugate/raw-gateway-data\\\",\\\"blu900gw/raw-gateway-data\\\",\\\"blu900node/raw-gateway-data\\\",\\\"raw_parent_gateway\\\",\\\"oneforone/raw-gateway-data\\\",\\\"bluvibe/raw-gateway-data\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/raw-gateway-data.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"9J3vvV7e\",\"block\":\"[[[46,[28,[37,1],null,null],null,null,null],[10,0],[14,5,\\\"padding-top: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,2]],[10,0],[14,0,\\\"mt-1\\\"],[12],[41,[33,4],[[[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have sufficent permissions.\\\"],[13],[13],[13],[13]],[]],null],[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have sufficent permissions.\\\"],[13],[13],[13],[13],[10,\\\"h3\\\"],[12],[1,\\\"Events\\\"],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-3\\\"],[12],[1,[28,[35,5],null,[[\\\"searchValue\\\"],[[33,6]]]]],[13],[10,0],[14,0,\\\"col-sm-2\\\"],[12],[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Rows\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,7],null,[[\\\"page_size\\\",\\\"page_type\\\",\\\"model\\\"],[[33,8],\\\"seismic-events\\\",[30,1,[\\\"seismicEvents\\\"]]]]]],[13],[13],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[11,\\\"button\\\"],[24,5,\\\"margin-top: 0.5rem; margin-bottom: 0.25rem\\\"],[16,0,[29,[\\\"btn btn-sm mr-1 \\\",[52,[33,9],\\\"btn-primary\\\",\\\"btn-secondary\\\"]]]],[24,4,\\\"button\\\"],[4,[38,10],[[30,0],\\\"toggleProperty\\\",\\\"isVisibleImportDataForm\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"download\\\"]],null],[1,\\\"  Import data\\\"],[13],[13],[41,[33,9],[[[1,[28,[35,12],null,[[\\\"isVisibleError\\\"],[[33,13]]]]]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,14],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"seismicEvents\\\",\\\"meta\\\"]],\\\"seismic-events\\\",[28,[37,15],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[1,[28,[35,16],null,[[\\\"seismicEvents\\\",\\\"seismicTypesSelectOptions\\\",\\\"seismicTypesSelectOptionsKyes\\\",\\\"vewRowDetails\\\",\\\"isVisibleCreateNewForm\\\",\\\"dateFormat\\\",\\\"setProp\\\"],[[33,17,[\\\"seismicEvents\\\"]],[33,17,[\\\"seismicTypes\\\"]],\\\"id,title\\\",[28,[37,10],[[30,0],\\\"vewRowDetails\\\"],null],[33,18],\\\"YYYY-MM-DD HH:mm:ss\\\",[28,[37,10],[[30,0],\\\"updateProperty\\\"],null]]]]],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[1,[28,[35,19],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Timestamp\\\",\\\"timestamp\\\",[33,20],[28,[37,10],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,19],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Location\\\",\\\"location\\\",[33,20],[28,[37,10],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,19],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Moment magnitude\\\",\\\"moment_magnitude\\\",[33,20],[28,[37,10],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,19],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Seismic moment\\\",\\\"seismic_moment\\\",[33,20],[28,[37,10],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,19],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sort\\\"],[\\\"Source Radius\\\",\\\"source_radius\\\",[33,20],[28,[37,10],[[30,0],\\\"sortBy\\\"],null]]]]],[1,[28,[35,19],null,[[\\\"title\\\",\\\"sortProperty\\\",\\\"selectedSortProperty\\\",\\\"sortBy\\\"],[\\\"Energy\\\",\\\"energy\\\",[33,20],[28,[37,10],[[30,0],\\\"sortBy\\\"],null]]]]],[10,\\\"th\\\"],[14,1,\\\"add-new\\\"],[14,0,\\\"add-new-item\\\"],[12],[11,1],[24,0,\\\"add-new\\\"],[4,[38,10],[[30,0],\\\"updateProperty\\\",\\\"isVisibleCreateNewForm\\\",\\\"true\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"plus\\\"]],null],[1,\\\" New\\\"],[13],[13],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,22],[[28,[37,22],[[33,17,[\\\"seismicEvents\\\"]]],null]],null],null,[[[10,\\\"tr\\\"],[15,0,[29,[[28,[37,23],[[28,[37,24],[[33,25],[30,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"timestamp\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"location\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"momentMagnitude\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"seismicMoment\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"sourceRadius\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"energy\\\"]]],[13],[10,\\\"td\\\"],[14,0,\\\"crud-td\\\"],[12],[11,1],[24,0,\\\"crud remove\\\"],[4,[38,10],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"trash\\\"]],null],[13],[11,1],[24,0,\\\"crud view\\\"],[4,[38,10],[[30,0],\\\"vewRowDetails\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[8,[39,11],null,[[\\\"@icon\\\"],[\\\"eye\\\"]],null],[13],[10,0],[15,0,[29,[\\\"delete-confirmation \\\",[28,[37,23],[[28,[37,24],[[33,26],[30,2,[\\\"id\\\"]]],null]],null]]]],[12],[10,1],[14,0,\\\"crud-delete-message\\\"],[12],[10,1],[12],[10,\\\"small\\\"],[12],[1,\\\"Delete it?\\\"],[13],[10,\\\"small\\\"],[12],[1,\\\"Are you sure?\\\"],[13],[13],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-confirm\\\"],[4,[38,10],[[30,0],\\\"remove\\\",[33,17,[\\\"seismicEvents\\\"]],[30,2]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"Yes\\\"],[13],[11,1],[24,0,\\\"crud-delete-action crud-delete-cancel\\\"],[4,[38,10],[[30,0],\\\"toggleRowDeleteConfirmationDialog\\\",[30,2,[\\\"id\\\"]]],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,\\\"No\\\"],[13],[13],[13],[13],[41,[28,[37,24],[[33,25],[30,2,[\\\"id\\\"]]],null],[[[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[12],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"2\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"timestamp\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Timestamp:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,27],null,[[\\\"object\\\",\\\"field\\\",\\\"format\\\"],[[30,2],\\\"timestamp\\\",\\\"YYYY-MM-DD HH:mm:ss\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"location\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Location:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,28],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"location\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"coordinates\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Coordinates:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,29],null,[[\\\"object\\\",\\\"east\\\",\\\"north\\\",\\\"depth\\\"],[[30,2],[30,2,[\\\"east\\\"]],[30,2,[\\\"north\\\"]],[30,2,[\\\"depth\\\"]]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"comments\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Comments:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,28],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"textarea\\\",\\\"comments\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"isVisible\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Is visible:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,30],null,[[\\\"object\\\",\\\"field\\\"],[[30,2],\\\"isVisible\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"momentMagnitude\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Moment magnitude:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,28],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"momentMagnitude\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"seismicMoment\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Seismic moment:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,28],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"seismicMoment\\\"]]]],[13],[13],[13],[13],[13],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"4\\\"],[14,0,\\\"td_details\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"row_details form-inline\\\"],[12],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"sourceRadius\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Source radius:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,28],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"sourceRadius\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"peakParticleVelocity\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"PPV (m/s):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,28],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"peakParticleVelocity\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"peakParticleAcceleration\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"PPA (m/s\\\"],[10,\\\"sup\\\"],[12],[1,\\\"2\\\"],[13],[1,\\\"):\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,28],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"peakParticleAcceleration\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"energy\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Energy:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,28],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,2],\\\"text\\\",\\\"energy\\\"]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"for\\\",[29,[[30,2,[\\\"seismicType\\\",\\\"title\\\"]]]]],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Seismic type:\\\"],[13],[13],[10,\\\"td\\\"],[14,0,\\\"input\\\"],[12],[1,[28,[35,31],null,[[\\\"selectOptions\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\"],[[33,17,[\\\"seismicTypes\\\"]],\\\"id,title\\\",[30,2,[\\\"seismicType\\\"]],[30,2],\\\"title\\\",\\\"id\\\"]]]],[13],[13],[13],[13],[13],[13]],[]],null]],[2]],null],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,14],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"seismicEvents\\\",\\\"meta\\\"]],\\\"seismic-events\\\",[28,[37,15],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[10,0],[14,0,\\\"pb-1\\\"],[12],[13],[13]],[\\\"@model\\\",\\\"tableRow\\\"],false,[\\\"component\\\",\\\"-outlet\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"permissionError\\\",\\\"filter-text-input-events\\\",\\\"search\\\",\\\"page-item-count\\\",\\\"page_size\\\",\\\"isVisibleImportDataForm\\\",\\\"action\\\",\\\"fa-icon\\\",\\\"data-import-form-seis\\\",\\\"isVisibleError\\\",\\\"pagination-links\\\",\\\"hash\\\",\\\"create-new-seismic-event-form\\\",\\\"model\\\",\\\"isVisibleCreateNewForm\\\",\\\"sortable-table-header\\\",\\\"ordering\\\",\\\"each\\\",\\\"-track-array\\\",\\\"active-class\\\",\\\"get\\\",\\\"isVisibleRowDetails\\\",\\\"isRowDeleteConfirmationDialog\\\",\\\"single-save-datetime-picker\\\",\\\"single-save-input\\\",\\\"single-save-geo-input\\\",\\\"single-save-checkbox\\\",\\\"single-save-select\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/seismic-events.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"gS4Js3js\",\"block\":\"[[[1,[28,[35,0],[\\\"Settings\\\"],null]],[46,[28,[37,2],null,null],null,null,null],[10,0],[14,0,\\\"container-fluid\\\"],[12],[10,0],[14,0,\\\"mt-1\\\"],[12],[10,\\\"td\\\"],[12],[10,0],[14,5,\\\"display: flex; align-items: center;\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"h3\\\"],[12],[1,\\\"Settings \\\"],[13],[13],[41,[33,4],[[[10,0],[14,5,\\\"width: auto; margin-left: 10px; margin-bottom: 10px;\\\"],[14,0,\\\"pulse_loader \\\"],[12],[13]],[]],null],[13],[13],[13],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table settings-table\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[13],[13],[10,\\\"tbody\\\"],[12],[10,\\\"tr\\\"],[12],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Licence Keys\\\"],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Licence Keys\\\"],[13],[13],[10,\\\"td\\\"],[12],[6,[39,5],null,[[\\\"route\\\"],[\\\"keys\\\"]],[[\\\"default\\\"],[[[[1,\\\"Update\\\"]],[]]]]],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"Edit Lookups\\\"],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Lookups\\\"],[13],[13],[10,\\\"td\\\"],[12],[6,[39,5],null,[[\\\"route\\\"],[\\\"list-lookups\\\"]],[[\\\"default\\\"],[[[[1,\\\"List Lookups\\\"]],[]]]]],[13],[13],[42,[28,[37,7],[[28,[37,7],[[33,8]],null]],null],null,[[[41,[28,[37,9],[[30,1,[\\\"title\\\"]],\\\"ALERT_PASSWORD\\\"],null],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"title\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Password *non-gmail\\\"],[13],[13],[10,\\\"td\\\"],[12],[1,[28,[35,10],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,1],\\\"text\\\",\\\"value\\\"]]]],[13],[13]],[]],null],[41,[28,[37,9],[[30,1,[\\\"title\\\"]],\\\"ALERT_INTERVAL\\\"],null],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[33,11,[\\\"title\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Interval (Minutes)\\\"],[13],[13],[10,\\\"td\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,1],\\\"text\\\",\\\"value\\\"]]]],[13],[13]],[]],null],[41,[28,[37,9],[[30,1,[\\\"title\\\"]],\\\"ALERT_EMAIL\\\"],null],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[33,11,[\\\"title\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Alert Email\\\"],[13],[13],[10,\\\"td\\\"],[12],[1,[28,[35,12],null,[[\\\"object\\\",\\\"inputType\\\",\\\"field\\\"],[[30,1],\\\"text\\\",\\\"value\\\"]]]],[13],[13]],[]],null],[41,[28,[37,9],[[30,1,[\\\"title\\\"]],\\\"TIME_ZONE\\\"],null],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[15,\\\"data-title\\\",[29,[[30,1,[\\\"title\\\"]]]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Time Zone\\\"],[13],[13],[10,\\\"td\\\"],[12],[1,[28,[35,13],null,[[\\\"selectOptions\\\",\\\"modelName\\\",\\\"isRelational\\\",\\\"selectOptionsKyes\\\",\\\"object\\\",\\\"parentObject\\\",\\\"field\\\",\\\"valueSource\\\",\\\"inputFieldId\\\"],[[33,14],\\\"project-setting\\\",false,\\\"id,title\\\",[30,1],[30,1],\\\"value\\\",\\\"value\\\",\\\"#{setting.title}\\\"]]]],[13],[13]],[]],null],[41,[28,[37,9],[[30,1,[\\\"title\\\"]],\\\"ALLOW_POSTS\\\"],null],[[[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[15,\\\"data-title\\\",[30,1,[\\\"title\\\"]]],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"id\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Allow Posts\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,0],[14,5,\\\"display: flex; align-items: center;\\\"],[12],[10,0],[12],[1,[28,[35,15],null,[[\\\"object\\\",\\\"field\\\"],[[30,1],\\\"value\\\"]]]],[13],[10,0],[12],[10,\\\"label\\\"],[14,0,\\\"col-form-label\\\"],[12],[1,\\\"True allows post to occur. False prevents posts.\\\"],[13],[13],[13],[13],[13]],[]],null]],[1]],null],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[14,\\\"data-title\\\",\\\"log-viewer\\\"],[14,0,\\\"noWrap\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Logs\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[15,\\\"onclick\\\",[28,[37,16],[[30,0],\\\"onClickLog\\\"],null]],[14,0,\\\"col-14 col-form-label\\\"],[12],[6,[39,5],null,[[\\\"route\\\"],[\\\"log-viewer\\\"]],[[\\\"default\\\"],[[[[1,\\\"View                        \\\"]],[]]]]],[13],[13],[13],[10,\\\"tr\\\"],[12],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"Version\\\"],[13],[13],[10,\\\"td\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"col-14 col-form-label\\\"],[12],[1,\\\"3.3.19 (Oct 7, 2024)\\\"],[13],[13],[13],[13],[13],[10,0],[14,0,\\\"pb-1\\\"],[12],[13],[13]],[\\\"setting\\\"],false,[\\\"page-title\\\",\\\"component\\\",\\\"-outlet\\\",\\\"if\\\",\\\"loading\\\",\\\"link-to\\\",\\\"each\\\",\\\"-track-array\\\",\\\"model\\\",\\\"eq\\\",\\\"single-save-input-password\\\",\\\"settings\\\",\\\"single-save-input\\\",\\\"single-save-select\\\",\\\"timeZones\\\",\\\"single-save-checkbox\\\",\\\"action\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/settings.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"As7gtHHM\",\"block\":\"[[[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,0]],[10,0],[14,0,\\\"mt-1\\\"],[12],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-9\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,[52,[33,2],[33,3]]],[1,\\\" \\\"],[1,[52,[33,2],[33,4]]],[1,\\\" \\\"],[1,[52,[33,2],[33,5]]],[13],[10,\\\"h6\\\"],[12],[1,[52,[33,2],[33,6]]],[13],[41,[33,7],[[[10,\\\"label\\\"],[12],[1,\\\"Thermostrings show the Temperature channel from the head as anchor 0.\\\"],[13]],[]],null],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select Chart\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,8],null,[[\\\"selected\\\",\\\"instrumentType\\\",\\\"instrumentId\\\"],[[33,9],[33,10],[33,5]]]]],[13],[13],[13],[41,[33,11],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-05\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Group By\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"groupTime\\\",\\\"groupWindow\\\"],[[33,5],[33,13],[33,11],[33,14]]]]],[13],[13],[13]],[]],null],[41,[33,14],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-05\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Group By\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,12],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"groupTime\\\",\\\"groupWindow\\\"],[[33,5],[33,13],[33,11],[33,14]]]]],[13],[13],[13]],[]],null],[41,[33,11],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-05\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\" \\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,15],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"frequencySelect\\\"],[[33,5],[33,13],[33,16]]]]],[13],[13],[13]],[]],null],[41,[33,14],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-05\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\" \\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,17],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"frequencySelect\\\"],[[33,5],[33,13],[33,16]]]]],[13],[13],[13]],[]],null],[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Event type\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,18],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"eventType\\\"],[[33,5],[33,13],[33,19]]]]],[13],[13],[13],[41,[28,[37,20],[[33,19],\\\"blast\\\"],null],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Blast type\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,21],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"blastType\\\"],[[33,5],[33,13],[33,22]]]]],[13],[13],[13]],[]],null],[41,[28,[37,20],[[33,19],\\\"seismic\\\"],null],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Seismic type\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,23],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"seismicType\\\"],[[33,5],[33,13],[33,24]]]]],[13],[13],[13]],[]],null],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[6,[39,25],null,[[\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,26],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,27],[[33,5],[33,13]],null]]],[[\\\"default\\\"],[[[[1,\\\"Reset zoom\\\"]],[]]]]],[13],[13],[13],[10,0],[14,0,\\\"col-sm-3\\\"],[12],[10,0],[14,0,\\\"form-group mb-0 mr-05 pull-right\\\"],[12],[41,[33,5],[[[41,[28,[37,20],[[33,9],\\\"Displacement\\\"],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,28],[[30,0],\\\"toggleProperty\\\",\\\"zeroed\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,29],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"zeroed\\\",[33,30],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Time reference\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[28,[37,20],[[33,31],\\\"hac\\\"],null],[[[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,29],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",true,\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]],[[[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,28],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,29],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,32],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]]],[13],[13],[41,[51,[33,34]],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select ref. anchor\\\"],[13],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[42,[28,[37,36],[[28,[37,36],[[33,37]],null]],null],null,[[[6,[39,25],null,[[\\\"tagName\\\",\\\"type\\\",\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"button\\\",\\\"button\\\",\\\"btn btn-outline-primary nowrap\\\",[28,[37,26],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\"],[\\\"\\\",[30,1,[\\\"number\\\"]]]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,27],[[33,5],[33,13]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[30,1,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[1]],null],[13],[13],[13],[13]],[]],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select ref. anchor\\\"],[13],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[42,[28,[37,36],[[28,[37,36],[[33,38]],null]],null],null,[[[6,[39,25],null,[[\\\"tagName\\\",\\\"type\\\",\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"button\\\",\\\"button\\\",\\\"btn btn-outline-primary nowrap\\\",[28,[37,26],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\"],[\\\"\\\",[30,2,[\\\"number\\\"]]]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,27],[[33,5],[33,13]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[30,2,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[2]],null],[13],[13],[13],[13]],[]]]],[]],null],[41,[28,[37,20],[[33,9],\\\"Displacement\\\"],null],[[[41,[33,39],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"Second group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[6,[39,25],null,[[\\\"tagName\\\",\\\"type\\\",\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"button\\\",\\\"button\\\",\\\"btn btn-outline-primary nowrap\\\",[28,[37,26],null,[[\\\"ref_head_position\\\",\\\"side\\\"],[\\\"\\\",\\\"A\\\"]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,27],[[33,5],[33,13]],null]]],[[\\\"default\\\"],[[[[1,\\\"Side A\\\"]],[]]]]],[6,[39,25],null,[[\\\"tagName\\\",\\\"type\\\",\\\"class\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[\\\"button\\\",\\\"button\\\",\\\"btn btn-outline-primary nowrap\\\",[28,[37,26],null,[[\\\"ref_head_position\\\",\\\"side\\\"],[\\\"\\\",\\\"B\\\"]]],\\\"spatial-graphs.spatial-graph\\\",[28,[37,27],[[33,5],[33,13]],null]]],[[\\\"default\\\"],[[[[1,\\\"Side B\\\"]],[]]]]],[13],[13],[13],[13]],[]],null]],[]],null],[41,[28,[37,20],[[33,9],\\\"Temperature\\\"],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,28],[[30,0],\\\"toggleProperty\\\",\\\"zeroed\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,29],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"zeroed\\\",[33,30],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Time reference\\\"],[13],[13],[13],[13]],[]],null]],[]],null],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-12\\\"],[12],[46,[28,[37,41],null,null],null,null,null],[13],[13],[13]],[\\\"anchor\\\",\\\"anchor\\\"],false,[\\\"bread-crumbs\\\",\\\"if\\\",\\\"displayData\\\",\\\"instrumentType\\\",\\\"name\\\",\\\"instrumentId\\\",\\\"details\\\",\\\"isThermo\\\",\\\"spatial-chart-dropdown\\\",\\\"chartDataValueName\\\",\\\"instrumentTypeId\\\",\\\"groupTime\\\",\\\"spatial-group-dropdown\\\",\\\"modelName\\\",\\\"groupWindow\\\",\\\"spatial-time-dropdown\\\",\\\"frequencySelect\\\",\\\"spatial-window-dropdown\\\",\\\"spatial-event-dropdown\\\",\\\"eventType\\\",\\\"is-equal\\\",\\\"spatial-blast-dropdown\\\",\\\"blastType\\\",\\\"spatial-seismic-dropdown\\\",\\\"seismicType\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"action\\\",\\\"input\\\",\\\"timeRef\\\",\\\"refHeadPosition\\\",\\\"flipSigns\\\",\\\"unless\\\",\\\"isAdictMDT\\\",\\\"each\\\",\\\"-track-array\\\",\\\"instrumentAnchorsSorted\\\",\\\"instrumentAnchorsForAdictMDT\\\",\\\"isRebar\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/spatial-graphs.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Ll1H94Yn\",\"block\":\"[[[10,0],[14,0,\\\"spinner-yp-logo v_centered_abs_pos h_centered_abs_pos mt-2\\\"],[12],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"/assets/images/logo-no-text.png\\\"],[14,0,\\\"d-block mx-auto\\\"],[12],[13],[13]],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/spatial-graphs/spatial-graph-loading.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Oy9RwLxC\",\"block\":\"[[[46,[28,[37,1],null,null],null,null,null],[10,0],[14,0,\\\"mb-1\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-12\\\"],[12],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],1],null],[[[1,[28,[35,4],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],2],null],[[[1,[28,[35,6],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],3],null],[[[1,[28,[35,7],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],4],null],[[[1,[28,[35,4],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],5],null],[[[1,[28,[35,4],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],6],null],[[[1,\\\"BluTilt\\\"]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],7],null],[[[1,[28,[35,8],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],8],null],[[[1,[28,[35,9],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],9],null],[[[1,[28,[35,10],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],10],null],[[[1,[28,[35,11],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],11],null],[[[1,[28,[35,4],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],12],null],[[[1,[28,[35,12],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],13],null],[[[1,[28,[35,13],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],14],null],[[[1,\\\"Analog\\\"]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],15],null],[[[1,\\\"BluVibe\\\"]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],16],null],[[[1,[28,[35,14],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],17],null],[[[1,[28,[35,15],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],19],null],[[[1,[28,[35,16],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[13],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13]],[\\\"@model\\\"],false,[\\\"component\\\",\\\"-outlet\\\",\\\"if\\\",\\\"eq\\\",\\\"pack/nvd3-spatial-line-chart\\\",\\\"action\\\",\\\"cable/nvd3-spatial-line-chart\\\",\\\"rebar/nvd3-spatial-line-chart\\\",\\\"slough/nvd3-spatial-line-chart\\\",\\\"thermo/nvd3-spatial-line-chart\\\",\\\"piezo/nvd3-spatial-line-chart\\\",\\\"hid/nvd3-spatial-line-chart\\\",\\\"wire/nvd3-spatial-line-chart\\\",\\\"adict/nvd3-spatial-line-chart\\\",\\\"micro/nvd3-spatial-line-chart\\\",\\\"rebarv2/nvd3-spatial-line-chart\\\",\\\"dppc/nvd3-spatial-line-chart\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/spatial-graphs/spatial-graph.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"8EtNk+J0\",\"block\":\"[[[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,0]],[10,0],[14,0,\\\"mt-1\\\"],[12],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-6\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,[52,[33,2],\\\"\\\"]],[1,\\\" \\\"],[1,[52,[28,[37,3],[[33,4],\\\"Blu900\\\"],null],\\\"Selected Gateway:\\\"]],[1,\\\" \\\"],[1,[52,[28,[37,3],[[33,4],\\\"Blu900\\\"],null],[33,2]]],[1,\\\" \\\"],[13],[10,\\\"h5\\\"],[12],[1,[52,[33,5],[33,4]]],[1,\\\" \\\"],[1,[52,[33,5],[33,6]]],[1,\\\" \\\"],[1,[52,[33,5],[33,7]]],[13],[10,\\\"h6\\\"],[12],[1,[52,[33,5],[33,8]]],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select Chart    \\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,9],null,[[\\\"selected\\\",\\\"gatewayType\\\",\\\"gatewayId\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"modelName\\\",\\\"chart_parent_gateway\\\"],[[33,10],[33,11],[33,6],[33,12],[33,13],[33,14],[33,2]]]]],[13],[13],[13],[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Secondary Axis\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,15],null,[[\\\"gatewayId\\\",\\\"gatewayType\\\",\\\"selected\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"modelName\\\",\\\"chart_parent_gateway\\\"],[[33,6],[33,11],[33,10],[33,12],[33,13],[33,14],[33,2]]]]],[13],[13],[13],[13],[41,[33,6],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,16],null,[[\\\"type\\\",\\\"name\\\",\\\"click\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"adjust_scales\\\",\\\"'toggleLocalProperty' 'adjust_scales'\\\",[33,17],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Adjust Scales\\\"],[13],[13],[13],[13],[41,[33,17],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group d-inline-block\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,5,\\\"padding-left:15px\\\"],[14,0,\\\"col-md-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Primary Y-Axis\\\"],[13],[10,\\\"hr\\\"],[14,5,\\\"height: 2px; background: black;\\\"],[12],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,16],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"click\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"auto_scale\\\",[33,18],\\\"'toggleLocalProperty' 'auto_scale'\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Auto Scale\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMaxValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Max:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,19]],[15,\\\"oninput\\\",[28,[37,20],[[30,0],[28,[37,21],[[33,19]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMax\\\"],[15,\\\"disabled\\\",[36,18]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMinValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Min:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,22]],[15,\\\"oninput\\\",[28,[37,20],[[30,0],[28,[37,21],[[33,22]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMin\\\"],[15,\\\"disabled\\\",[36,18]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[10,0],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group d-inline-block\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,5,\\\"padding-left:15px\\\"],[14,0,\\\"col-md-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Secondary Y-Axis\\\"],[13],[10,\\\"hr\\\"],[14,5,\\\"height: 2px; background: black;\\\"],[12],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,16],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"click\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"auto_scale_2\\\",[33,23],\\\"'toggleLocalProperty' 'auto_scale_2'\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Auto Scale\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMaxValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Max:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,24]],[15,\\\"oninput\\\",[28,[37,20],[[30,0],[28,[37,21],[[33,24]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMax2\\\"],[15,\\\"disabled\\\",[36,23]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMinValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Min:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,25]],[15,\\\"oninput\\\",[28,[37,20],[[30,0],[28,[37,21],[[33,25]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMin2\\\"],[15,\\\"disabled\\\",[36,23]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[13]],[]],null]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[6,[39,26],null,[[\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,27],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-gateway-graphs.temporal-gateway-graph\\\",[28,[37,28],[[33,6],[33,14]],null]]],[[\\\"default\\\"],[[[[1,\\\"Reset zoom\\\"]],[]]]]],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-12\\\"],[12],[46,[28,[37,30],null,null],null,null,null],[13],[13],[13]],[],false,[\\\"bread-crumbs\\\",\\\"if\\\",\\\"chart_parent_gateway\\\",\\\"eq\\\",\\\"gatewayType\\\",\\\"displayData\\\",\\\"gatewayId\\\",\\\"name\\\",\\\"details\\\",\\\"temporal-gateway-chart-dropdown\\\",\\\"chartDataValueName\\\",\\\"gatewayTypeId\\\",\\\"left_axis_field\\\",\\\"right_axis_field\\\",\\\"modelName\\\",\\\"temporal-gateway-right-axis-dropdown\\\",\\\"input\\\",\\\"adjust_scales\\\",\\\"auto_scale\\\",\\\"y_max\\\",\\\"action\\\",\\\"mut\\\",\\\"y_min\\\",\\\"auto_scale_2\\\",\\\"y_max_2\\\",\\\"y_min_2\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/temporal-gateway-graphs.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"gn1qkCa0\",\"block\":\"[[[10,0],[14,0,\\\"spinner-yp-logo v_centered_abs_pos h_centered_abs_pos mt-2\\\"],[12],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"/assets/images/logo-no-text.png\\\"],[14,0,\\\"d-block mx-auto\\\"],[12],[13],[13]],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/temporal-gateway-graphs/temporal-gateway-graph-loading.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"Gq5IeP+v\",\"block\":\"[[[46,[28,[37,1],null,null],null,null,null],[10,0],[14,0,\\\"mb-1\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-12\\\"],[12],[41,[28,[37,3],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],1],null],[[[1,[28,[35,4],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"zoomTempData\\\",\\\"depth\\\",\\\"gateway\\\",\\\"chartData\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,1,[\\\"gateway\\\"]],[30,1,[\\\"graphs\\\"]],[30,3],[30,4],[30,5],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],2],null],[[[1,[28,[35,6],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"zoomTempData\\\",\\\"depth\\\",\\\"gateway\\\",\\\"chartData\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,1,[\\\"gateway\\\"]],[30,1,[\\\"graphs\\\"]],[30,3],[30,4],[30,5],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],3],null],[[[1,[28,[35,7],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"zoomTempData\\\",\\\"depth\\\",\\\"gateway\\\",\\\"chartData\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,1,[\\\"gateway\\\"]],[30,1,[\\\"graphs\\\"]],[30,3],[30,4],[30,5],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],4],null],[[[1,[28,[35,8],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"zoomTempData\\\",\\\"depth\\\",\\\"gateway\\\",\\\"chartData\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,1,[\\\"gateway\\\"]],[30,1,[\\\"graphs\\\"]],[30,3],[30,4],[30,5],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],5],null],[[[1,[28,[35,9],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"zoomTempData\\\",\\\"depth\\\",\\\"gateway\\\",\\\"chartData\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,1,[\\\"gateway\\\"]],[30,1,[\\\"graphs\\\"]],[30,3],[30,4],[30,5],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"gateway\\\",\\\"gatewayTypeID\\\"]],6],null],[[[1,[28,[35,10],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"zoomTempData\\\",\\\"depth\\\",\\\"gateway\\\",\\\"chartData\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,1,[\\\"gateway\\\"]],[30,1,[\\\"graphs\\\"]],[30,3],[30,4],[30,5],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[13],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13]],[\\\"@model\\\",\\\"@depth\\\",\\\"@auto_scale\\\",\\\"@y_min\\\",\\\"@y_max\\\"],false,[\\\"component\\\",\\\"-outlet\\\",\\\"if\\\",\\\"eq\\\",\\\"blucell/nvd3-temporal-gateway-line-chart\\\",\\\"action\\\",\\\"blugate/nvd3-temporal-gateway-line-chart\\\",\\\"blu900gw/nvd3-temporal-gateway-line-chart\\\",\\\"blu900node/nvd3-temporal-gateway-line-chart\\\",\\\"oneforone/nvd3-temporal-gateway-line-chart\\\",\\\"bluvibe/nvd3-temporal-gateway-line-chart\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/temporal-gateway-graphs/temporal-gateway-graph.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ZpGx1k2m\",\"block\":\"[[],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/temporal-gateway-right-axis-dropdown.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"xmz+DP8P\",\"block\":\"[[[10,0],[14,0,\\\"container-fluid\\\"],[12],[1,[34,0]],[10,0],[14,0,\\\"mt-1\\\"],[12],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-6\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"h5\\\"],[12],[1,[52,[33,2],[33,3]]],[1,\\\" \\\"],[1,[52,[33,2],[33,4]]],[1,\\\" \\\"],[1,[52,[33,2],[33,5]]],[13],[10,\\\"h6\\\"],[12],[1,[52,[33,2],[33,6]]],[13],[41,[33,7],[[[10,\\\"label\\\"],[12],[1,\\\"Thermostrings show the Temperature channel from the head as anchor 0.\\\"],[13]],[]],null],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select Chart \\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[41,[33,8],[[[1,[28,[35,9],null,[[\\\"selected\\\",\\\"instrumentType\\\",\\\"instrumentId\\\",\\\"instrument\\\"],[[33,10],[33,11],[33,5],[33,12]]]]]],[]],null],[41,[51,[33,8]],[[[41,[33,14],[[[1,[28,[35,9],null,[[\\\"selected\\\",\\\"instrumentType\\\",\\\"instrumentId\\\",\\\"instrument\\\"],[[33,10],[33,11],[33,5],[33,12]]]]]],[]],null],[41,[51,[33,14]],[[[41,[33,15],[[[1,[28,[35,9],null,[[\\\"selected\\\",\\\"instrumentType\\\",\\\"instrumentId\\\",\\\"instrument\\\"],[[33,10],[33,11],[33,5],[33,12]]]]]],[]],[[[1,[28,[35,9],null,[[\\\"selected\\\",\\\"instrumentType\\\",\\\"instrumentId\\\",\\\"instrument\\\",\\\"vendor\\\",\\\"port\\\"],[[33,16],[33,11],[33,5],[33,12],[33,17],[33,18]]]]]],[]]]],[]],null]],[]],null],[13],[13],[13],[41,[33,8],[[[10,0],[14,0,\\\"col\\\"],[12],[10,1],[12],[13],[10,\\\"td\\\"],[14,5,\\\"padding-right: 2rem;\\\"],[12],[10,0],[14,0,\\\"col-sm-auto mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Number of Display Records:\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,19],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"display_records\\\"],[[33,5],[33,20],[33,21]]]]],[13],[13],[13],[13]],[]],null],[41,[33,22],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-05\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Group By\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,23],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"window\\\"],[[33,5],[33,20],[33,24]]]]],[13],[13],[13],[41,[33,8],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Event type\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,25],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"eventType\\\"],[[33,5],[33,20],[33,26]]]]],[13],[13],[13]],[]],null],[41,[33,27],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select BluVibe\\\"],[13],[1,[28,[35,28],null,[[\\\"content\\\",\\\"selected\\\",\\\"id\\\",\\\"sortBy\\\",\\\"prompt\\\",\\\"searchPrompt\\\",\\\"isClearable\\\",\\\"on-change\\\"],[[33,29],[33,30],\\\"vibeSelect\\\",\\\"title\\\",\\\"BluVibe ID\\\",\\\"Filter\\\",false,[28,[37,31],[[30,0],\\\"onUpdateTransitionToVibe\\\"],null]]]]],[13],[13]],[]],null],[41,[33,8],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-05\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Group Window\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,32],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"frequency\\\"],[[33,5],[33,20],[33,33]]]]],[13],[13],[13]],[]],null]],[]],null],[41,[28,[37,34],[[33,26],\\\"blast\\\"],null],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Blast type\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,35],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"blastType\\\"],[[33,5],[33,20],[33,36]]]]],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,26],\\\"seismic\\\"],null],[[[10,0],[14,0,\\\"col-sm-auto\\\"],[12],[10,0],[14,0,\\\"form-group pull-left mr-1\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Seismic type\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,37],null,[[\\\"instrumentId\\\",\\\"modelName\\\",\\\"seismicType\\\"],[[33,5],[33,20],[33,38]]]]],[13],[13],[13]],[]],null],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"click\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"adjust_scales\\\",\\\"'toggleLocalProperty' 'adjust_scales'\\\",[33,40],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Adjust Scales\\\"],[13],[13],[13],[13],[41,[33,5],[[[41,[28,[37,34],[[33,16],\\\"Displacement\\\"],null],[[[1,[28,[35,41],null,[[\\\"filterType\\\",\\\"displayDateTimeFormat\\\",\\\"displayYAxistUnit\\\",\\\"requireXMaxMin\\\",\\\"requireYLeftMaxMin\\\",\\\"requireYRightMaxMin\\\",\\\"instrumentId\\\",\\\"chartType\\\",\\\"instrumentType\\\"],[\\\"temporal\\\",false,true,false,false,false,[33,5],[33,10],[33,3]]]]]],[]],null]],[]],null],[41,[33,40],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group d-inline-block\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,5,\\\"padding-left:15px\\\"],[14,0,\\\"col-md-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Primary Y-Axis\\\"],[13],[10,\\\"hr\\\"],[14,5,\\\"height: 2px; background: black;\\\"],[12],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"click\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"auto_scale\\\",[33,42],\\\"'toggleLocalProperty' 'auto_scale'\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Auto Scale\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMaxValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Max:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,43]],[15,\\\"oninput\\\",[28,[37,31],[[30,0],[28,[37,44],[[33,43]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMax\\\"],[15,\\\"disabled\\\",[36,42]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMinValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Min:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,45]],[15,\\\"oninput\\\",[28,[37,31],[[30,0],[28,[37,44],[[33,45]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMin\\\"],[15,\\\"disabled\\\",[36,42]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13],[41,[51,[33,8]],[[[10,0],[14,0,\\\"col-md-5\\\"],[12],[10,0],[14,0,\\\"form-group d-inline-block\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,5,\\\"padding-left:15px\\\"],[14,0,\\\"col-md-12\\\"],[12],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Secondary Y-Axis\\\"],[13],[10,\\\"hr\\\"],[14,5,\\\"height: 2px; background: black;\\\"],[12],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"click\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"auto_scale_2\\\",[33,46],\\\"'toggleLocalProperty' 'auto_scale_2'\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Auto Scale\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMaxValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Max:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,47]],[15,\\\"oninput\\\",[28,[37,31],[[30,0],[28,[37,44],[[33,47]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMax2\\\"],[15,\\\"disabled\\\",[36,46]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row no-gutters\\\"],[12],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"yMinValue\\\"],[14,0,\\\"col-12 col-form-label bold\\\"],[12],[1,\\\"Y-Min:\\\"],[13],[13],[10,0],[14,0,\\\"col-md-4\\\"],[12],[10,\\\"input\\\"],[15,2,[36,48]],[15,\\\"oninput\\\",[28,[37,31],[[30,0],[28,[37,44],[[33,48]],null]],[[\\\"value\\\"],[\\\"target.value\\\"]]]],[14,1,\\\"yScaleMin2\\\"],[15,\\\"disabled\\\",[36,46]],[14,0,\\\"form-control\\\"],[14,4,\\\"text\\\"],[12],[13],[13],[13],[13],[13],[13]],[]],null],[13]],[]],null],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[6,[39,49],null,[[\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,50],null,[[\\\"start_timestamp\\\",\\\"end_timestamp\\\"],[null,null]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,51],[[33,5],[33,20]],null]]],[[\\\"default\\\"],[[[[1,\\\"Reset zoom\\\"]],[]]]]],[13],[13],[13],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"form-group mb-0 mr-05 pull-right\\\"],[12],[10,\\\"td\\\"],[14,5,\\\"padding-right: 2rem;\\\"],[12],[41,[33,52],[[[10,\\\"tr\\\"],[12],[1,[28,[35,53],null,[[\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[[28,[37,31],[[30,0],\\\"toggleDataType\\\",\\\"raw\\\"],null],\\\"Raw Data\\\",[33,54]]]]],[13],[10,\\\"tr\\\"],[12],[1,[28,[35,53],null,[[\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[[28,[37,31],[[30,0],\\\"toggleDataType\\\",\\\"linear\\\"],null],\\\"Linear Data\\\",[33,55]]]]],[13],[10,\\\"tr\\\"],[12],[1,[28,[35,53],null,[[\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[[28,[37,31],[[30,0],\\\"toggleDataType\\\",\\\"calib\\\"],null],\\\"Calibrated Data\\\",[33,56]]]]],[13],[10,\\\"tr\\\"],[12],[1,[28,[35,53],null,[[\\\"setValue\\\",\\\"type\\\",\\\"checked\\\"],[[28,[37,31],[[30,0],\\\"toggleDataType\\\",\\\"depth\\\"],null],\\\"Depth (Water)\\\",[33,57]]]]],[13]],[]],null],[41,[51,[33,8]],[[[41,[33,5],[[[41,[28,[37,34],[[33,16],\\\"Displacement\\\"],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"zeroed\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"zeroed\\\",[33,58],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Time reference\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[33,52],[[[41,[28,[37,34],[[33,59],\\\"hac\\\"],null],[[[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",true,\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]],[[[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,60],\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]]]],[]],[[[41,[28,[37,34],[[33,59],\\\"hac\\\"],null],[[[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",true,\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]],[[[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,60],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]]]],[]]],[13],[13],[41,[51,[33,61]],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[28,[37,34],[[33,3],\\\"multi-dExto\\\"],null],[[[10,\\\"label\\\"],[12],[13]],[]],[[[10,\\\"label\\\"],[12],[1,\\\"Select Reference Anchor\\\"],[13],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[13],[42,[28,[37,63],[[28,[37,63],[[33,64]],null]],null],null,[[[6,[39,49],null,[[\\\"class\\\",\\\"tagName\\\",\\\"type\\\",\\\"click\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,65],[[30,1,[\\\"number\\\"]],[33,66]],null],\\\"button\\\",\\\"button\\\",[28,[37,31],[[30,0],\\\"handleAnchorSelection\\\",[30,1,[\\\"number\\\"]]],null],[28,[37,50],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\",\\\"selectedAnchor\\\"],[\\\"\\\",[30,1,[\\\"number\\\"]],[33,66]]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,51],[[33,5],[33,20]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[30,1,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[1]],null],[13]],[]]],[13],[13]],[]],[[[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select Reference Anchor\\\"],[13],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[13],[42,[28,[37,63],[[28,[37,63],[[33,67]],null]],null],null,[[[6,[39,49],null,[[\\\"class\\\",\\\"tagName\\\",\\\"type\\\",\\\"click\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,65],[[30,2,[\\\"number\\\"]],[33,66]],null],\\\"button\\\",\\\"button\\\",[28,[37,31],[[30,0],\\\"handleAnchorSelection\\\",[30,2,[\\\"number\\\"]]],null],[28,[37,50],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\",\\\"selectedAnchor\\\"],[\\\"\\\",[30,2,[\\\"number\\\"]],[33,66]]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,51],[[33,5],[33,20]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[30,2,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[2]],null],[13],[13]],[]]]],[]],null]],[]],null],[41,[28,[37,34],[[33,16],\\\"Tilt\\\"],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"zeroed\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"zeroed\\\",[33,58],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Time reference\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,60],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13],[13],[13],[41,[33,68],[[[41,[28,[37,34],[[33,68],0],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt Mode: Raw \\\"],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,68],1],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt Mode: Vector\\\"],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,68],2],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt Mode: 2-Angle\\\"],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,68],3],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt Mode: 3-Angle\\\"],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,68],2],null],[[[41,[28,[37,34],[[33,69],0],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt_Z_Up: +Z is UP\\\"],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,69],1],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt_Z_Up: +Y is UP\\\"],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,69],2],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt_Z_Up: +X is UP\\\"],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,69],3],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt_Z_Up: +Z is DOWN\\\"],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,69],4],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt_Z_Up: +Y is DOWN\\\"],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,69],5],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Tilt_Z_Up: +X is DOWN\\\"],[13],[13],[13],[13]],[]],null]],[]],null]],[]],null]],[]],null],[41,[28,[37,34],[[33,16],\\\"Stretch\\\"],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"zeroed\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"zeroed\\\",[33,58],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Time reference\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[28,[37,34],[[33,59],\\\"hac\\\"],null],[[[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",true,\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]],[[[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,60],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select Reference Anchor\\\"],[13],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[42,[28,[37,63],[[28,[37,63],[[33,64]],null]],null],null,[[[6,[39,49],null,[[\\\"class\\\",\\\"tagName\\\",\\\"type\\\",\\\"click\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,65],[[30,3,[\\\"number\\\"]],[33,66]],null],\\\"button\\\",\\\"button\\\",[28,[37,31],[[30,0],\\\"handleAnchorSelection\\\",[30,3,[\\\"number\\\"]]],null],[28,[37,50],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\",\\\"selectedAnchor\\\"],[\\\"\\\",[30,3,[\\\"number\\\"]],[33,66]]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,51],[[33,5],[33,20]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[30,3,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[3]],null],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,16],\\\"Axial Displacement\\\"],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"zeroed\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"zeroed\\\",[33,58],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Time reference\\\"],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[28,[37,34],[[33,59],\\\"hac\\\"],null],[[[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",true,\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]],[[[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,60],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select Reference Anchor\\\"],[13],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[42,[28,[37,63],[[28,[37,63],[[33,64]],null]],null],null,[[[6,[39,49],null,[[\\\"class\\\",\\\"tagName\\\",\\\"type\\\",\\\"click\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,65],[[30,4,[\\\"number\\\"]],[33,66]],null],\\\"button\\\",\\\"button\\\",[28,[37,31],[[30,0],\\\"handleAnchorSelection\\\",[30,4,[\\\"number\\\"]]],null],[28,[37,50],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\",\\\"selectedAnchor\\\"],[\\\"\\\",[30,4,[\\\"number\\\"]],[33,66]]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,51],[[33,5],[33,20]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[30,4,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[4]],null],[13],[13],[13],[13]],[]],null],[41,[28,[37,34],[[33,16],\\\"Velocity\\\"],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[28,[37,34],[[33,59],\\\"hac\\\"],null],[[[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",true,\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]],[[[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,60],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]]],[13],[13],[41,[51,[33,61]],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[28,[37,34],[[33,3],\\\"multi-dExto\\\"],null],[[[10,\\\"label\\\"],[12],[13]],[]],[[[10,\\\"label\\\"],[12],[1,\\\"Select Reference Anchor\\\"],[13],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[13],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[42,[28,[37,63],[[28,[37,63],[[33,64]],null]],null],null,[[[6,[39,49],null,[[\\\"class\\\",\\\"tagName\\\",\\\"type\\\",\\\"click\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,65],[[30,5,[\\\"number\\\"]],[33,66]],null],\\\"button\\\",\\\"button\\\",[28,[37,31],[[30,0],\\\"handleAnchorSelection\\\",[30,5,[\\\"number\\\"]]],null],[28,[37,50],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\",\\\"selectedAnchor\\\"],[\\\"\\\",[30,5,[\\\"number\\\"]],[33,66]]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,51],[[33,5],[33,20]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[30,5,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[5]],null],[13]],[]]],[13],[13]],[]],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Select Reference Anchor\\\"],[13],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[41,[28,[37,70],[[30,6,[\\\"referenceAnchor\\\"]],[33,71,[\\\"number\\\"]]],null],[[[6,[39,49],null,[[\\\"class\\\",\\\"tagName\\\",\\\"type\\\",\\\"click\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,65],[[33,71,[\\\"number\\\"]],[33,66]],null],\\\"button\\\",\\\"button\\\",[28,[37,31],[[30,0],\\\"handleAnchorSelection\\\",[33,71,[\\\"number\\\"]]],null],[28,[37,50],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\",\\\"selectedAnchor\\\"],[\\\"\\\",[33,71,[\\\"number\\\"]],[33,66]]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,51],[[33,5],[33,20]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[33,71,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[]],[[[6,[39,49],null,[[\\\"class\\\",\\\"tagName\\\",\\\"type\\\",\\\"click\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,65],[[33,71,[\\\"number\\\"]],[33,66]],null],\\\"button\\\",\\\"button\\\",[28,[37,31],[[30,0],\\\"handleAnchorSelection\\\",[33,71,[\\\"number\\\"]]],null],[28,[37,50],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\",\\\"selectedAnchor\\\"],[\\\"\\\",[33,71,[\\\"number\\\"]],[33,66]]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,51],[[33,5],[33,20]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[33,71,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[]]],[13],[13],[13],[13]],[]]]],[]],null],[41,[28,[37,34],[[33,16],\\\"Acceleration\\\"],null],[[[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,\\\"label\\\"],[12],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[28,[37,34],[[33,59],\\\"hac\\\"],null],[[[10,\\\"label\\\"],[14,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"disabled\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",true,\\\"disabled\\\",\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]],[[[11,\\\"label\\\"],[24,0,\\\"custom-control custom-checkbox mr-sm-2\\\"],[4,[38,31],[[30,0],\\\"toggleProperty\\\",\\\"flip_signs\\\"],[[\\\"on\\\"],[\\\"click\\\"]]],[12],[1,[28,[35,39],null,[[\\\"type\\\",\\\"name\\\",\\\"checked\\\",\\\"class\\\"],[\\\"checkbox\\\",\\\"flip_signs\\\",[33,60],\\\"custom-control-input\\\"]]]],[10,1],[14,0,\\\"custom-control-indicator\\\"],[12],[13],[10,1],[14,0,\\\"custom-control-description noselect\\\"],[12],[1,\\\"Flip signs\\\"],[13],[13]],[]]],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[41,[28,[37,34],[[33,3],\\\"multi-dExto\\\"],null],[[[10,\\\"label\\\"],[12],[13]],[]],[[[10,\\\"label\\\"],[12],[1,\\\"Select Reference Anchor\\\"],[13],[10,0],[14,\\\"role\\\",\\\"toolbar\\\"],[14,\\\"aria-label\\\",\\\"Toolbar with button groups\\\"],[14,0,\\\"btn-toolbar mr-05\\\"],[12],[10,0],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"First group\\\"],[14,0,\\\"btn-group btn-group-sm\\\"],[12],[42,[28,[37,63],[[28,[37,63],[[33,64]],null]],null],null,[[[6,[39,49],null,[[\\\"class\\\",\\\"tagName\\\",\\\"type\\\",\\\"click\\\",\\\"query\\\",\\\"route\\\",\\\"models\\\"],[[28,[37,65],[[30,7,[\\\"number\\\"]],[33,66]],null],\\\"button\\\",\\\"button\\\",[28,[37,31],[[30,0],\\\"handleAnchorSelection\\\",[30,7,[\\\"number\\\"]]],null],[28,[37,50],null,[[\\\"ref_head_position\\\",\\\"ref_anchor\\\",\\\"selectedAnchor\\\"],[\\\"\\\",[30,7,[\\\"number\\\"]],[33,66]]]],\\\"temporal-graphs.temporal-graph\\\",[28,[37,51],[[33,5],[33,20]],null]]],[[\\\"default\\\"],[[[[1,\\\"- \\\"],[1,[30,7,[\\\"number\\\"]]],[1,\\\" -\\\"]],[]]]]]],[7]],null],[13],[13]],[]]],[13],[13]],[]],null]],[]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-sm-12\\\"],[12],[46,[28,[37,73],null,null],null,null,null],[13],[13],[13]],[\\\"anchor\\\",\\\"anchor\\\",\\\"anchor\\\",\\\"anchor\\\",\\\"anchor\\\",\\\"@instrument\\\",\\\"anchor\\\"],false,[\\\"bread-crumbs\\\",\\\"if\\\",\\\"displayData\\\",\\\"instrumentType\\\",\\\"name\\\",\\\"instrumentId\\\",\\\"details\\\",\\\"isThermo\\\",\\\"bluVibe\\\",\\\"temporal-chart-dropdown\\\",\\\"chart_type\\\",\\\"instrumentTypeId\\\",\\\"instrument\\\",\\\"unless\\\",\\\"isPiezo\\\",\\\"isDPPC\\\",\\\"chartDataValueName\\\",\\\"vendor\\\",\\\"port\\\",\\\"temporal-display-records-dropdown\\\",\\\"modelName\\\",\\\"display_records\\\",\\\"isVelocityGraph\\\",\\\"temporal-group-dropdown\\\",\\\"window\\\",\\\"temporal-event-dropdown\\\",\\\"eventType\\\",\\\"bluVibeEvent\\\",\\\"searchable-select\\\",\\\"vibes\\\",\\\"vibeSelection\\\",\\\"action\\\",\\\"temporal-window-dropdown\\\",\\\"frequency\\\",\\\"is-equal\\\",\\\"temporal-blast-dropdown\\\",\\\"blastType\\\",\\\"temporal-seismic-dropdown\\\",\\\"seismicType\\\",\\\"input\\\",\\\"adjust_scales\\\",\\\"advanced-filter\\\",\\\"auto_scale\\\",\\\"y_max\\\",\\\"mut\\\",\\\"y_min\\\",\\\"auto_scale_2\\\",\\\"y_max_2\\\",\\\"y_min_2\\\",\\\"link-to\\\",\\\"-hash\\\",\\\"array\\\",\\\"isWire\\\",\\\"radio-buttons\\\",\\\"rawChecked\\\",\\\"linearChecked\\\",\\\"calibChecked\\\",\\\"depthChecked\\\",\\\"timeRef\\\",\\\"refHeadPosition\\\",\\\"flipSigns\\\",\\\"isAdictMDT\\\",\\\"each\\\",\\\"-track-array\\\",\\\"instrumentAnchorsSorted\\\",\\\"buttonclass\\\",\\\"selectedAnchor\\\",\\\"instrumentAnchorsForAdictMDT\\\",\\\"tiltMode\\\",\\\"tiltZUp\\\",\\\"eq\\\",\\\"anchor\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/temporal-graphs.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"WUDvn2rD\",\"block\":\"[[[10,0],[14,0,\\\"spinner-yp-logo v_centered_abs_pos h_centered_abs_pos mt-2\\\"],[12],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"/assets/images/logo-no-text.png\\\"],[14,0,\\\"d-block mx-auto\\\"],[12],[13],[13]],[],false,[]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/temporal-graphs/temporal-graph-loading.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"ztWXy3d2\",\"block\":\"[[[46,[28,[37,1],null,null],null,null,null],[10,0],[14,0,\\\"mb-1\\\"],[12],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-12\\\"],[12],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],1],null],[[[1,[28,[35,4],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],2],null],[[[1,[28,[35,6],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],3],null],[[[1,[28,[35,7],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],4],null],[[[1,[28,[35,4],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],5],null],[[[1,[28,[35,8],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],6],null],[[[1,[28,[35,9],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"tiltMode\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"tiltMode\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],7],null],[[[1,[28,[35,10],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],8],null],[[[1,[28,[35,11],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],9],null],[[[1,[28,[35,12],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],10],null],[[[1,[28,[35,13],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],11],null],[[[1,[28,[35,4],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],12],null],[[[1,[28,[35,14],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\",\\\"calib\\\",\\\"depth\\\",\\\"linear\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null],[33,15],[33,16],[33,17]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],13],null],[[[1,[28,[35,18],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],14],null],[[[1,\\\"Analog\\\"]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],15],null],[[[1,[28,[35,19],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"chart_type\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],\\\"frequency\\\",[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],16],null],[[[1,[28,[35,20],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],17],null],[[[1,[28,[35,21],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],19],null],[[[1,[28,[35,22],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[41,[28,[37,3],[[30,1,[\\\"instrument\\\",\\\"instrumentTypeID\\\"]],20],null],[[[1,[28,[35,23],null,[[\\\"fullRangeChartData\\\",\\\"zoomChartData\\\",\\\"vibeEvents\\\",\\\"zoomTempData\\\",\\\"linear\\\",\\\"calib\\\",\\\"depth\\\",\\\"instrument\\\",\\\"chartData\\\",\\\"seismicEvents\\\",\\\"blastEvents\\\",\\\"flipSigns\\\",\\\"autoAxis\\\",\\\"axis_min\\\",\\\"axis_max\\\",\\\"updateProperties\\\",\\\"getQueryParams\\\",\\\"setChart\\\",\\\"setData\\\"],[[30,1,[\\\"fullRangeData\\\"]],[30,1,[\\\"zoomData\\\"]],[30,1,[\\\"vibeEvents\\\"]],[30,1,[\\\"zoomTempData\\\"]],[30,2],[30,3],[30,4],[30,1,[\\\"instrument\\\"]],[30,1,[\\\"graphs\\\"]],[30,1,[\\\"seismicEvents\\\"]],[30,1,[\\\"blastEvents\\\"]],[30,5],[30,6],[30,7],[30,8],[28,[37,5],[[30,0],\\\"updateProperties\\\"],null],[28,[37,5],[[30,0],\\\"getQueryParams\\\"],null],[28,[37,5],[[30,0],\\\"setChart\\\"],null],[28,[37,5],[[30,0],\\\"setData\\\"],null]]]]]],[]],null],[13],[13],[13],[10,0],[14,0,\\\"mb-1\\\"],[12],[13]],[\\\"@model\\\",\\\"@linear\\\",\\\"@calib\\\",\\\"@depth\\\",\\\"@flip_signs\\\",\\\"@auto_scale\\\",\\\"@y_min\\\",\\\"@y_max\\\"],false,[\\\"component\\\",\\\"-outlet\\\",\\\"if\\\",\\\"eq\\\",\\\"pack/nvd3-temporal-line-chart\\\",\\\"action\\\",\\\"cable/nvd3-temporal-line-chart\\\",\\\"rebar/nvd3-temporal-line-chart\\\",\\\"dconv/nvd3-temporal-line-chart\\\",\\\"tilt/nvd3-temporal-line-chart\\\",\\\"slough/nvd3-temporal-line-chart\\\",\\\"thermo/nvd3-temporal-line-chart\\\",\\\"piezo/nvd3-temporal-line-chart\\\",\\\"hid/nvd3-temporal-line-chart\\\",\\\"wire/nvd3-temporal-line-chart\\\",\\\"calib\\\",\\\"depth\\\",\\\"linear\\\",\\\"adict/nvd3-temporal-line-chart\\\",\\\"vibe/nvd3-temporal-line-chart\\\",\\\"micro/nvd3-temporal-line-chart\\\",\\\"rebarv2/nvd3-temporal-line-chart\\\",\\\"dppc/nvd3-temporal-line-chart\\\",\\\"multiDExto/nvd3-temporal-line-chart\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/temporal-graphs/temporal-graph.hbs\",\"isStrictMode\":false});","export default Ember.HTMLBars.template({\"id\":\"dZYn1KCk\",\"block\":\"[[[46,[28,[37,1],null,null],null,null,null],[10,0],[14,5,\\\"padding-top: 1rem;\\\"],[14,0,\\\"container-fluid\\\"],[12],[1,[34,2]],[10,0],[14,0,\\\"mt-1\\\"],[12],[41,[33,4],[[[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have sufficent permissions.\\\"],[13],[13],[13],[13]],[]],null],[10,\\\"table\\\"],[14,5,\\\"width: 100%; margin-bottom: 1rem;\\\"],[14,\\\"hidden\\\",\\\"\\\"],[14,1,\\\"instrumentEditError\\\"],[12],[10,\\\"tr\\\"],[14,0,\\\"details\\\"],[12],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"6\\\"],[14,5,\\\"padding-top: 1rem; padding-bottom: 1rem;\\\"],[14,0,\\\"td_details error\\\"],[12],[10,\\\"label\\\"],[14,1,\\\"error_message_details\\\"],[14,0,\\\"col-12 col-form-label\\\"],[12],[1,\\\"You do not have sufficent permissions.\\\"],[13],[13],[13],[13],[10,\\\"h3\\\"],[12],[1,\\\"Events\\\"],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col-md-3\\\"],[12],[1,[28,[35,5],null,[[\\\"searchValue\\\"],[[33,6]]]]],[13],[10,0],[14,0,\\\"col-sm-2\\\"],[12],[10,0],[14,0,\\\"form-group\\\"],[12],[10,\\\"label\\\"],[12],[1,\\\"Rows\\\"],[13],[10,0],[14,0,\\\"dropdown\\\"],[12],[1,[28,[35,7],null,[[\\\"page_size\\\",\\\"page_type\\\",\\\"model\\\"],[[33,8],\\\"vibration-events\\\",[30,1,[\\\"vibrationEvents\\\"]]]]]],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,9],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"vibrationEvents\\\",\\\"meta\\\"]],\\\"vibration-events\\\",[28,[37,10],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[10,0],[14,5,\\\"overflow: auto; display: inline-block; max-width: 1300px;;\\\"],[14,0,\\\"row parent\\\"],[12],[10,0],[14,0,\\\"col-md-3\\\"],[12],[10,\\\"table\\\"],[14,0,\\\"table table-striped responsive-table child\\\"],[12],[10,\\\"thead\\\"],[12],[10,\\\"tr\\\"],[12],[10,\\\"th\\\"],[12],[1,\\\"Timestamp\\\"],[13],[10,\\\"th\\\"],[12],[1,\\\"Instrument\\\"],[13],[42,[28,[37,12],[[28,[37,12],[[33,13]],null]],null],null,[[[10,\\\"th\\\"],[12],[1,[30,2]],[13]],[2]],null],[13],[13],[10,\\\"tbody\\\"],[12],[42,[28,[37,12],[[28,[37,12],[[33,14,[\\\"vibrationEvents\\\"]]],null]],null],null,[[[10,\\\"tr\\\"],[15,0,[29,[\\\"horizontal-text \\\",[28,[37,15],[[28,[37,16],[[33,17],[30,3,[\\\"id\\\"]]],null]],null]]]],[12],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"timestamp\\\"]]],[13],[10,\\\"td\\\"],[12],[6,[39,18],null,[[\\\"route\\\",\\\"model\\\"],[\\\"edit-instrument\\\",[30,3,[\\\"instrument\\\"]]]],[[\\\"default\\\"],[[[[1,[30,3,[\\\"instrument\\\"]]]],[]]]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ch1\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"trigger01\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"frequency01\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"amplitude01\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ppv01\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ppa01\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"duration01\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ch2\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"trigger02\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"frequency02\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"amplitude02\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ppv02\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ppa02\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"duration02\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ch3\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"trigger03\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"frequency03\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"amplitude03\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ppv03\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ppa03\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"duration03\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ch4\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"trigger04\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"frequency04\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"amplitude04\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ppv04\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"ppa04\\\"]]],[13],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"duration04\\\"]]],[13],[13]],[3]],null],[13],[13],[13],[13],[10,0],[14,0,\\\"row\\\"],[12],[10,0],[14,0,\\\"col\\\"],[12],[10,0],[14,0,\\\"pull-right\\\"],[12],[1,[28,[35,9],null,[[\\\"meta\\\",\\\"routeLink\\\",\\\"extraQueryParams\\\",\\\"class\\\"],[[30,1,[\\\"vibrationEvents\\\",\\\"meta\\\"]],\\\"vibration-events\\\",[28,[37,10],null,[[\\\"paginate_from_zero\\\"],[\\\"\\\"]]],\\\"text-md-right\\\"]]]],[13],[13],[13],[10,0],[14,0,\\\"pb-1\\\"],[12],[13],[13]],[\\\"@model\\\",\\\"title\\\",\\\"tableRow\\\"],false,[\\\"component\\\",\\\"-outlet\\\",\\\"bread-crumbs\\\",\\\"if\\\",\\\"permissionError\\\",\\\"filter-text-input-events\\\",\\\"search\\\",\\\"page-item-count\\\",\\\"page_size\\\",\\\"pagination-links\\\",\\\"hash\\\",\\\"each\\\",\\\"-track-array\\\",\\\"headerTitles\\\",\\\"model\\\",\\\"active-class\\\",\\\"get\\\",\\\"isVisibleRowDetails\\\",\\\"link-to\\\"]]\",\"moduleName\":\"geotechnical-data-platform-new/templates/vibration-events.hbs\",\"isStrictMode\":false});","import DS from 'ember-data';\n\nexport default DS.Transform.extend({\n  deserialize(serialized) {\n    return serialized; //do nothing\n  },\n\n  serialize(deserialized) {\n    if(deserialized == null) {\n      deserialized = false;\n    }\n    return deserialized; // returns value or null\n  }\n});","define(\"geotechnical-data-platform-new/transforms/date\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _private.DateTransform;\n    }\n  });\n});\n","import DS from 'ember-data';\n\nexport default DS.Transform.extend({\n  deserialize(serialized) {\n    return serialized; //do nothing\n  },\n\n  serialize(deserialized) {\n    if(deserialized === \"\") {\n      deserialized = null;\n    }\n    return deserialized; // returns value or null\n  }\n});","define(\"geotechnical-data-platform-new/transforms/number\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _private.NumberTransform;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/transforms/string\", [\"exports\", \"@ember-data/serializer/-private\"], function (_exports, _private) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _private.StringTransform;\n    }\n  });\n});\n","import DS from 'ember-data';\n\nexport default DS.Transform.extend({\n  deserialize(serialized) {\n    return serialized; //do nothing\n  },\n\n  serialize(deserialized) {\n    if(deserialized === null) {\n      deserialized = \"\";\n    }\n    return deserialized; // returns value or null\n  }\n});","define(\"geotechnical-data-platform-new/uploaders/s3\", [\"exports\", \"ember-uploader/uploaders/s3\"], function (_exports, _s) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _s.default;\n    }\n  });\n});\n","define(\"geotechnical-data-platform-new/uploaders/uploader\", [\"exports\", \"ember-uploader/uploaders/uploader\"], function (_exports, _uploader) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  Object.defineProperty(_exports, \"default\", {\n    enumerable: true,\n    get: function () {\n      return _uploader.default;\n    }\n  });\n});\n","\n","define('geotechnical-data-platform-new/config/environment', [], function() {\n  var prefix = 'geotechnical-data-platform-new';\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n  var config = JSON.parse(decodeURIComponent(rawConfig));\n\n  var exports = { 'default': config };\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n  return exports;\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","\n          if (!runningTests) {\n            require(\"geotechnical-data-platform-new/app\")[\"default\"].create({\"name\":\"geotechnical-data-platform-new\",\"version\":\"0.0.0+3842bc4a\"});\n          }\n        \n"],"names":["ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","DS","JSONAPIAdapter","extend","host","ENV","API_PROTOCOL","API_URL","API_PORT","session","buildURL","type","id","record","_super","headers","get","Accept","withCredentials","Authorization","data","authenticated","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","logViewer_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","instrument_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","undefined","vendorType","ApplicationAdapter","extend","buildURL","modelName","id","snapshot","requestType","query","host","gateway_id","createRecord","store","type","data","serializer","serializerFor","serializeIntoHash","includeId","url","adapterOptions","replace","ajax","updateRecord","deleteRecord","App","config","modulePrefix","podModulePrefix","Resolver","Ember","deprecate","CustomAuthenticator","Base","restore","data","promise","Ember","RSVP","Promise","resolve","reject","Error","authenticate","auth","url","ENV","API_PROTOCOL","API_URL","API_PORT","endsWith","console","log","login","base64","encode","response","fetch","method","headers","ok","expirationTime","set","licence","isValid","limit","modules","json","attributes","ex","user","error","text","er","JSON","parse","hasOwnProperty","detail","extend","extend","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isRefAnchorDisabled","isTimeReferenceDisabled","timeReference","computed","get","instrument","peekRecord","undefined","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","substring","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","activeChannels","selectedOptions","Array","from","target","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","unallowedValues","includes","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","isValidPhoneNumber","phoneNumber","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","instrumentStiffness","elasticLimitPct","ultimateLimitPct","elasticLimitFce","ultimateLimitFce","CreateAdictInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","vendorTypeChanged","object","badValues","includes","formDisabled","vendor","vendors","selectedVendor","vendorType","fieldVisible","strokeLengthChanged","strokeLength","createInstrument","store","get","newInstrumentObject","setError","error","instrumentType","peekRecord","headAt","active","zeroTimestamp","moment","format","installDate","newInstrument","dup","createRecord","err","message","save","then","results","anchorCount","parseInt","substring","length","ctr","number","distance","instrument","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","getInstrument","instrumentId","findRecord","anchorDistances","computed","inst","anchors","anchorNumber","length","isMDT","dist","map","anchor","counter","label","getAnchorLabel","isAdictMDT","vendor","vendorType","includes","e","instrumentAnchorsLength","instrumentAnchorsSorted","sort","instrumentAnchorsForAdictMDT","instrumentAnchors","pop","newDisplacementValuesObject","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","newDisplacementValueObjectValues","convertMMToAdictBits","arrayMMs","bitsArray","mmValue","push","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","mmVals","bitsVals","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","referenceAnchors","loading","editing","onTimeReferenceChanged","timeReference","get","handleAlertObjectChange","console","log","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","anchorList","computed","channelCount","instrument","pos","length","numChans","parseInt","substring","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","$","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","instrumentChannels","Ember","computed","channelsNum","get","vendor","vendorType","type","modelName","options","id","value","updatePage","instrument","stiffness","set","ex","save","strokeLengthChanged","object","console","log","vendorTypeChanged","badValues","includes","fieldVisible","formDisabled","form","vendors","find","fieldsEnabled","elasticLimitPct","ultimateLimitPct","elasticLimitFce","ultimateLimitFce","instrumentStiffness","viewData","endDateObj","moment","startDateObj","subtract","format","formattedEndDateObj","baseUnit","transitionTo","queryParams","tGraph","sGraph","editField","stopEditField","saveInstrument","_this","t","confirm","window","location","href","didInsertElement","store","queryRecord","then","catch","error","isNaN","isFinite","Math","round","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","isMDT","instrumentVendor","instrument","vendor","vendorType","includes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","temporaryChartData","pop","modelName","unshift","error","fullRangeDataPoints","temporaryValue","console","log","JSON","stringify","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","length","anchors","anchor","splice","anchorMidDistances","copy","midDistances","i","mid","push","toFixed","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","anchorDist","chartLine","chartLineIndex","dataPoint","dataPointIndex","concat","fullRangeChartLinesData","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","forEach","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","yAxis","axisLabel","distXAxis","ticks","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","state","focus","line","syncBrushing","independentBrushing","showYAxis","fullRangeChartXDomainLength","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","title","yAxisUnit","init","_super","arguments","queryParams","URLSearchParams","window","location","search","yAxisUnitParam","get","set","seismicEventsChartDistXData","computed","key","type","color","values","map","event","valueOf","isMDT","instrument","vendor","vendorType","includes","anchorCount","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","discreteData","item","linesKeys","Object","keys","toJSON","chartData","getProperties","length","zoomDataPoints","modelName","push","valueArray","Array","isArray","pop","convertDataAndReverse","convertedData","multiplier","DENOMINATOR","forEach","toFixed","parseFloat","reverse","fullRangeDataPoints","linesKyes","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","dataValuesCount","error","anchors","anchor","midPoints","ctr","unshift","zoomChartLinesData","_this","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","shift","temp","concat","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","substr","lastIndexOf","replace","promise","queryRecord","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","tickValues","zoomChartXDomainLength","startDate","Date","endDate","interval","i","getTime","xAxis","tickPadding","showMaxMin","tickFormat","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","utils","windowResize","update","e","log","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","getDateAutoscaleFormat","ex","getQueryParams","Ember","Component","extend","isVisibleCreateNewForm","isMDT","computed","vendor","get","vendorType","includes","anchorDistances","anchors","anchorNumber","length","dist","map","anchor","index","counter","label","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","approvedInstrForYAxisUnit","router","advancedSearchLoading","startDate","undefined","chartType","endDate","xMin","xMax","yLeftMin","yLeftMax","yRightMin","yRightMax","yAxisUnit","visibleAdvancedFilter","isFrequencyGraph","init","_super","arguments","setFieldsFromURL","isInstrumentApproved","computed","includes","instrumentType","queryParams","URLSearchParams","window","location","search","startDateParam","get","endDateParam","yAxisUnitParam","xMinParam","xMaxParam","yLeftMinParam","yLeftMaxParam","yRightMinParam","yRightMaxParam","set","unitSymbolTranslator","formatDateForDatetimeLocal","dateStr","date","Date","toISOString","slice","dispatchRequest","mode","id","chart_type","transitionTo","then","isDestroyed","isDestroying","newYAxisUnit","meterValue","millimeterValue","footValue","inchValue","microValue","RAWValue","actions","toggleVisibility","visiblity","toggleYAxisUnit","property","updateDateProperty","propertyName","changeEvent","target","value","console","log","reset","Ember","Component","extend","router","deleteConfirmation","actions","toggleRowDeleteConfirmationDialog","id","curVal","get","set","createAlert","instID","transitionTo","queryParams","inst_id","Ember","Component","extend","authError","router","isRowDeleteConfirmationDialog","actions","toggleRowDeleteConfirmationDialog","id","errBox","document","getElementById","hidden","curVal","get","set","createAlert","instID","transitionTo","queryParams","inst_id","remove","model","object","_this","_store","hidd","save","then","deleteRecord","unloadRecord","catch","reason","status","errors","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeSize","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","username","get","data","authenticated","channelCount","id","pos","length","count","substring","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","checkChanged","object","staticChanged","document","getElementById","checked","activeChanged","repeatChanged","invertChanged","toggleActive","big","createAlert","selector","$","selected","val","forEach","selection","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","instrument","peekRecord","newAlert","createRecord","err","alertObjectValue","respType","addType","value","cb","wl","target","sel","selectedIndex","setError","isNaN","includes","save","then","results","newAnchorObject","newAnchor","alert","selectedCh","catch","reason","errors","status","resetNewGatewayObject","_this","console","log","set","CreateBluCellGateway","createGateway","object","store","get","newGatewayObject","setError","error","id","installDate","depth","gatewayType","peekRecord","active","interval_upload","query","filter","interval_value","interval_group_name","then","results","gatewayUploadInterval","catch","interval_read","gatewayReadInterval","interval_mesh_cycle","gatewayMeshCycleInterval","interval_transmission_power","gatewayRadioPowerLevelInterval","moment","format","newGateway","dup","createRecord","err","message","includes","save","reason","init","arguments","resetNewRawDataValueObject","_this","gatewayValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newGatewayValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newGatewayValueObjectValues","actions","saveNew","gatewayValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","indexPositions","result","Array","newGatewayValues","savedGatewayValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","console","log","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","ajax","inject","service","store","tr","instID","activeSize","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","handleAlertObjectChange","console","log","onMetricChanged","metric","get","set","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","anchorList","computed","isSelected","forEach","element","channelCount","instrument","pos","length","numChans","parseInt","substring","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","$","headers","Authorization","localStorage","token","actions","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","selectedCh","newAnchor","createRecord","save","destroyRecord","result","findRecord","then","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","gatewayReadingsIntervals","init","_super","arguments","store","Ember","inject","service","isAuthenticated","selectedModel","editing","getGatewayUploadIntervalID","computed","gw","get","gatewayUploadInterval","id","toString","getGatewayReadIntervalID","gatewayReadInterval","getMeshCycleIntervalID","gatewayMeshCycleInterval","getTransmissionPowerIntervalsID","gatewayRadioPowerLevelInterval","setGatewayInterval","event","gateway","selectedOptions","Array","from","target","selectedValue","parseInt","map","option","value","intervalType","notSelected","findRecord","then","interval","notSelectedIntervalValue","group_name","query","filter","interval_value","interval_group_name","results","set","save","console","log","catch","error","updatePage","viewData","transitionTo","tGraph","editField","stopEditField","saveGateway","_this","t","confirm","window","location","href","sortBy","property","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","temperaturePoints","distXRiseUpAnimationDuration","leftAxis","computed","attrs","getQueryParams","rightAxis","GATEWAY_ENUM","Object","freeze","Firmware","Coordinator","Voltage","RSSI","carrier","Readings","Uptime","Reconnection","Uploads","Temperature","var_1","var_2","var_3","zoomTempPoints","zoomTempData","get","forEach","item","i","linesKyes","keys","toJSON","chartData","getProperties","push","values","zoomDataPointsLeftAxis","zoomChartData","leftAxisIndex","zoomLeftAxis","map","zoomDataPointsRightAxis","zoomRightAxis","rightAxisIndex","zoomDataPoints","left","fullRangeDataPoints","fullRangePoints","itemHolder","zoomTimePoints","fullRangeTimePoints","anchorDistances","zoomChartLinesData","_this","seismicEventsChartDistXData","blastEventsChartDistXData","tempPoints","mName","chartLineName","chartLineIndex","key","type","yAxis","dataPoint","dataPointIndex","valueOf","temp","concat","fullRangeChartLinesData","fullRangeTempPoints","sortBy","temperature","chartDataModelName","query","model_name","yAxisLegend","chartTitle","promise","queryRecord","title","getTitleAndUnits","axis","axisValues","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","useInteractiveGuideline","x","d","y","color","scale","category10","range","duration","showLegend","showDistX","noData","showYAxis","y2Axis","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","length","utils","getDateAutoscaleFormat","Date","axis1Title","axis2Title","y1Axis","axisLabel","axisLabelDistance","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","format","datum","call","controls","disabled","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","eventSize","timestamp","distXMouseMove","seismicEventsArray","distX0","onDistXTooltipShowCall","blastEventsArray","distX1","vibeEventsArray","distX2","distXIndex","data_set","activeTooltipContent","windowResize","update","usesPoints","chartName","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","getGatewayData","fields","items","filteredData","get","forEach","item","values","firmware","voltage","rssi","sigma_d_readings","sigma_t_modem_on_duration","reconnection_attempts","number_of_uploads","temp","mesh_id","length","push","id","originalValue","save_values","actions","updateProperty","propertyName","propertyValue","set","didInsertElement","_super","arguments","extend","selected","defaultSelected","actions","handleSelectedFieldChange","newValue","set","LeftAxisDropdown","extend","tGraph","id","modelName","params","get","transitionTo","extend","rightAxisField","routeValue","defaultRightAxisField","getRouteValue","selected","toLowerCase","set","actions","handleRightAxisFieldChange","newValue","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeSize","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","username","get","data","authenticated","channelCount","id","pos","length","count","substring","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","checkChanged","object","staticChanged","document","getElementById","checked","activeChanged","repeatChanged","invertChanged","toggleActive","big","createAlert","selector","$","selected","val","forEach","selection","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","instrument","peekRecord","newAlert","createRecord","err","alertObjectValue","respType","addType","value","cb","wl","target","sel","selectedIndex","setError","isNaN","includes","save","then","results","newAnchorObject","newAnchor","alert","selectedCh","catch","reason","errors","status","resetNewGatewayObject","_this","set","CreateBluCellGateway","setError","error","value","Ember","createGateway","object","store","get","parent","console","log","newGatewayObject","parentGatewayId","id","parentGateway","installDate","depth","gatewayType","peekRecord","typeID","active","interval_upload","query","filter","interval_value","interval_group_name","then","results","gatewayUploadInterval","catch","interval_read","gatewayReadInterval","moment","format","newGateway","dup","createRecord","err","message","includes","save","childRelation","childGateway","isCurrent","reason","window","localStorage","setItem","setID","gw","findRecord","init","arguments","loadGateways","gatewayList","rawData","filteredGateways","gateway","title","toLowerCase","mappedGateways","map","parentId","type","resetNewRawDataValueObject","_this","gatewayValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newGatewayValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newGatewayValueObjectValues","actions","saveNew","gatewayValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newGatewayValues","savedGatewayValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","console","log","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","ajax","inject","service","store","tr","instID","activeSize","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","handleAlertObjectChange","console","log","onMetricChanged","metric","get","set","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","anchorList","computed","isSelected","forEach","element","channelCount","instrument","pos","length","numChans","parseInt","substring","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","$","headers","Authorization","localStorage","token","actions","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","selectedCh","newAnchor","createRecord","save","destroyRecord","result","findRecord","then","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditGateway","extend","store","Ember","inject","service","gatewayReadingsIntervals","initialSelection","isAuthenticated","selectedModel","editing","parent","init","_super","arguments","loadGateways","gatewayList","gateway","node","rawData","filteredGateways","filter","active","get","title","toLowerCase","selectedItem","mappedGateways","map","gw","value","type","id","currentParent","set","computed","gateways","getGatewayUploadIntervalID","gatewayUploadInterval","toString","getGatewayReadIntervalID","gatewayReadInterval","addParentToGateway","childGateway","newParentGateway","newRelation","createRecord","parentGateway","isCurrent","save","then","addObject","catch","error","console","log","setGatewayInterval","event","selectedOptions","Array","from","target","selectedValue","parseInt","option","intervalType","notSelected","findRecord","interval","notSelectedIntervalValue","group_name","query","interval_value","interval_group_name","results","updatePage","viewData","transitionTo","queryParams","tGraph","badCodes","includes","localStorage","getItem","editField","stopEditField","saveGateway","_this","t","confirm","window","location","href","sortBy","property","setID","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","leftAxis","computed","attrs","getQueryParams","rightAxis","GATEWAY_ENUM","Object","freeze","Firmware","Coordinator","Voltage","RSSI","carrier","Readings","Uptime","Reconnection","Uploads","var_1","var_2","var_3","Temperature","zoomDataPointsLeftAxis","zoomChartData","get","leftAxisIndex","parentGateway","coordinatorPosition","zoomLeftAxis","filter","item","coordinator","values","map","zoomDataPointsRightAxis","rightAxisIndex","zoomRightAxis","zoomDataPoints","left","fullRangeDataPoints","fullRangePoints","itemHolder","newFullRangePoints","filteredPoints","linesKeys","keys","toJSON","getProperties","zoomTimePoints","fullRangeTimePoints","anchorDistances","zoomChartLinesData","_this","seismicEventsChartDistXData","blastEventsChartDistXData","mName","chartLineName","chartLineIndex","key","type","yAxis","dataPoint","dataPointIndex","valueOf","zoomTempPoints","temp","push","concat","fullRangeChartLinesData","fullRangeTempPoints","sortBy","temperature","chartDataModelName","query","model_name","yAxisLegend","chartTitle","promise","queryRecord","title","getTitleAndUnits","axis","axisValues","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","useInteractiveGuideline","x","d","y","color","scale","category10","range","duration","showLegend","showDistX","noData","showYAxis","y2Axis","legend","addGraph","xAxis","tickPadding","ticks","showMaxMin","tickFormat","zoomChartXDomainLength","length","utils","getDateAutoscaleFormat","Date","axis1Title","axis2Title","y1Axis","axisLabel","axisLabelDistance","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","format","datum","call","controls","forEach","i","disabled","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","eventSize","timestamp","distXMouseMove","seismicEventsArray","distX0","onDistXTooltipShowCall","blastEventsArray","distX1","vibeEventsArray","distX2","distXIndex","data_set","activeTooltipContent","windowResize","update","usesPoints","chartName","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","getGatewayData","items","filteredData","get","forEach","item","firmware","values","coordinator","voltage","rssi","mesh_id","length","temperature","push","id","originalValue","save_values","console","log","actions","updateProperty","propertyName","propertyValue","set","extend","selected","defaultSelected","actions","handleSelectedFieldChange","newValue","set","LeftAxisDropdown","extend","tGraph","id","modelName","params","get","transitionTo","extend","rightAxisField","routeValue","defaultRightAxisField","getRouteValue","selected","toLowerCase","set","actions","handleRightAxisFieldChange","newValue","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","createMessage","isPerm","isActive","repeats","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","username","get","data","authenticated","onResponseChanged","response","actions","checkChanged","object","activeChanged","document","getElementById","checked","repeatChanged","createAlert","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","gateway","peekRecord","newAlert","createRecord","err","val","alertObjectValue","respType","addType","value","cb","target","setError","length","isNaN","includes","save","then","results","id","catch","reason","errors","status","resetNewGatewayObject","_this","set","CreateBluCellGateway","createGateway","object","store","get","newGatewayObject","setError","error","id","installDate","depth","gatewayType","peekRecord","active","moment","format","newGateway","dup","createRecord","err","message","includes","save","then","results","catch","reason","init","arguments","resetNewRawDataValueObject","_this","gatewayValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newGatewayValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newGatewayValueObjectValues","actions","saveNew","gatewayValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newGatewayValues","savedGatewayValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","console","log","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","ajax","inject","service","store","tr","gwID","saveMessage","initTriggerStamp","isVisibleError","emptyBoldError","nonNumericValueError","targetError","phoneNumError","authError","handleAlertObjectChange","console","log","onResponseChanged","response","get","set","creationDateText","computed","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","$","method","headers","Authorization","localStorage","token","actions","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","val","cb","setError","length","isNaN","document","getElementById","value","includes","save","then","broken","catch","reason","errors","status","activeChanged","isActive","checked","repeatChanged","repeats","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","gatewayReadingsIntervals","init","_super","arguments","store","Ember","inject","service","isAuthenticated","selectedModel","editing","getGatewayUploadIntervalID","computed","gw","get","gatewayUploadInterval","id","toString","getGatewayReadIntervalID","gatewayReadInterval","setGatewayInterval","event","gateway","selectedOptions","Array","from","target","selectedValue","parseInt","map","option","value","intervalType","notSelected","findRecord","then","interval","notSelectedIntervalValue","group_name","query","filter","interval_value","interval_group_name","results","set","save","console","log","catch","error","updatePage","viewData","transitionTo","tGraph","editField","stopEditField","saveGateway","_this","t","confirm","window","location","href","sortBy","property","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","temperaturePoints","distXRiseUpAnimationDuration","leftAxis","computed","attrs","getQueryParams","rightAxis","GATEWAY_ENUM","Object","freeze","Firmware","Coordinator","Voltage","RSSI","carrier","Readings","Uptime","Reconnection","Uploads","var_1","var_2","var_3","Temperature","zoomDataPointsLeftAxis","zoomChartData","get","leftAxisIndex","zoomLeftAxis","map","item","i","values","zoomDataPointsRightAxis","zoomRightAxis","rightAxisIndex","zoomDataPoints","left","fullRangeDataPoints","fullRangePoints","itemHolder","linesKyes","keys","toJSON","getProperties","zoomTimePoints","fullRangeTimePoints","anchorDistances","zoomChartLinesData","_this","seismicEventsChartDistXData","blastEventsChartDistXData","tempPoints","mName","chartLineName","chartLineIndex","key","type","yAxis","dataPoint","dataPointIndex","valueOf","zoomTempPoints","temp","push","concat","fullRangeChartLinesData","fullRangeTempPoints","sortBy","temperature","chartDataModelName","query","model_name","yAxisLegend","chartTitle","promise","queryRecord","title","getTitleAndUnits","axis","axisValues","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","useInteractiveGuideline","x","d","y","color","scale","category10","range","duration","showLegend","showDistX","noData","showYAxis","y2Axis","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","length","utils","getDateAutoscaleFormat","Date","axis1Title","axis2Title","y1Axis","axisLabel","axisLabelDistance","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","format","datum","call","controls","forEach","disabled","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","eventSize","timestamp","distXMouseMove","seismicEventsArray","distX0","onDistXTooltipShowCall","blastEventsArray","distX1","vibeEventsArray","distX2","distXIndex","data_set","activeTooltipContent","windowResize","update","usesPoints","chartName","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","getGatewayData","fields","items","filteredData","get","forEach","item","values","firmware","voltage","rssi","carrier","readings","uptime","recon","uploads","temperature","length","push","id","originalValue","save_values","actions","updateProperty","propertyName","propertyValue","set","extend","selected","defaultSelected","actions","handleSelectedFieldChange","newValue","set","LeftAxisDropdown","extend","tGraph","id","modelName","params","get","transitionTo","extend","rightAxisField","routeValue","defaultRightAxisField","getRouteValue","selected","toLowerCase","set","actions","handleRightAxisFieldChange","newValue","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeSize","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","username","get","data","authenticated","channelCount","id","pos","length","count","substring","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","checkChanged","object","staticChanged","document","getElementById","checked","activeChanged","repeatChanged","invertChanged","toggleActive","big","createAlert","selector","$","selected","val","forEach","selection","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","instrument","peekRecord","newAlert","createRecord","err","alertObjectValue","respType","addType","value","cb","wl","target","sel","selectedIndex","setError","isNaN","includes","save","then","results","newAnchorObject","newAnchor","alert","selectedCh","catch","reason","errors","status","resetNewGatewayObject","_this","set","CreateBluCellGateway","createGateway","object","store","get","newGatewayObject","setError","error","id","installDate","depth","gatewayType","peekRecord","active","interval_upload","query","filter","interval_value","interval_group_name","then","results","gatewayUploadInterval","catch","console","log","interval_read","gatewayReadInterval","moment","format","newGateway","dup","createRecord","err","message","includes","save","reason","init","arguments","resetNewRawDataValueObject","_this","gatewayValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newGatewayValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newGatewayValueObjectValues","actions","saveNew","gatewayValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newGatewayValues","savedGatewayValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","console","log","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","ajax","inject","service","store","tr","instID","activeSize","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","handleAlertObjectChange","onMetricChanged","metric","get","set","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","anchorList","computed","isSelected","forEach","element","channelCount","instrument","pos","length","numChans","parseInt","substring","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","console","log","$","headers","Authorization","localStorage","token","actions","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","selectedCh","newAnchor","createRecord","save","destroyRecord","result","findRecord","then","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","gatewayReadingsIntervals","init","_super","arguments","store","Ember","inject","service","isAuthenticated","selectedModel","editing","getGatewayUploadIntervalID","computed","gw","get","gatewayUploadInterval","id","toString","getGatewayReadIntervalID","gatewayReadInterval","setGatewayInterval","event","gateway","selectedOptions","Array","from","target","selectedValue","parseInt","map","option","value","intervalType","notSelected","findRecord","then","interval","notSelectedIntervalValue","group_name","query","filter","interval_value","interval_group_name","results","set","save","console","log","catch","error","updatePage","viewData","transitionTo","tGraph","editField","stopEditField","saveGateway","_this","t","confirm","window","location","href","sortBy","property","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","temperaturePoints","distXRiseUpAnimationDuration","leftAxis","computed","attrs","getQueryParams","rightAxis","GATEWAY_ENUM","Object","freeze","Firmware","Coordinator","Voltage","RSSI","carrier","Readings","Uptime","Reconnection","Uploads","var_1","var_2","var_3","Temperature","zoomDataPointsLeftAxis","zoomChartData","get","leftAxisIndex","zoomLeftAxis","map","item","i","values","zoomDataPointsRightAxis","zoomRightAxis","rightAxisIndex","zoomDataPoints","left","fullRangeDataPoints","fullRangePoints","itemHolder","linesKyes","keys","toJSON","getProperties","zoomTimePoints","fullRangeTimePoints","anchorDistances","zoomChartLinesData","_this","seismicEventsChartDistXData","blastEventsChartDistXData","tempPoints","mName","chartLineName","chartLineIndex","key","type","yAxis","dataPoint","dataPointIndex","valueOf","zoomTempPoints","temp","push","concat","fullRangeChartLinesData","fullRangeTempPoints","sortBy","temperature","chartDataModelName","query","model_name","yAxisLegend","chartTitle","promise","queryRecord","title","getTitleAndUnits","axis","axisValues","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","useInteractiveGuideline","x","d","y","color","scale","category10","range","duration","showLegend","showDistX","noData","showYAxis","y2Axis","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","length","utils","getDateAutoscaleFormat","Date","axis1Title","axis2Title","y1Axis","axisLabel","axisLabelDistance","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","format","datum","call","controls","forEach","disabled","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","eventSize","timestamp","distXMouseMove","seismicEventsArray","distX0","onDistXTooltipShowCall","blastEventsArray","distX1","vibeEventsArray","distX2","distXIndex","data_set","activeTooltipContent","windowResize","update","usesPoints","chartName","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","temperaturePoints","distXRiseUpAnimationDuration","leftAxis","computed","attrs","getQueryParams","rightAxis","GATEWAY_ENUM","Object","freeze","Firmware","Voltage","RSSI","carrier","Readings","Uptime","Reconnection","Uploads","Temperature","var_1","var_2","var_3","zoomTempPoints","zoomTempData","get","forEach","item","i","linesKyes","keys","toJSON","chartData","getProperties","push","values","zoomDataPointsLeftAxis","zoomChartData","leftAxisIndex","zoomLeftAxis","map","zoomDataPointsRightAxis","zoomRightAxis","rightAxisIndex","zoomDataPoints","left","fullRangeDataPoints","fullRangePoints","itemHolder","zoomTimePoints","fullRangeTimePoints","anchorDistances","zoomChartLinesData","_this","seismicEventsChartDistXData","blastEventsChartDistXData","tempPoints","mName","chartLineName","chartLineIndex","key","type","yAxis","dataPoint","dataPointIndex","valueOf","temp","concat","fullRangeChartLinesData","fullRangeTempPoints","sortBy","temperature","chartDataModelName","query","model_name","yAxisLegend","chartTitle","promise","queryRecord","title","getTitleAndUnits","axis","axisValues","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","useInteractiveGuideline","x","d","y","color","scale","category10","range","duration","showLegend","showDistX","noData","showYAxis","y2Axis","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","length","utils","getDateAutoscaleFormat","Date","axis1Title","axis2Title","y1Axis","axisLabel","axisLabelDistance","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","format","datum","call","controls","disabled","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","eventSize","timestamp","distXMouseMove","seismicEventsArray","distX0","onDistXTooltipShowCall","blastEventsArray","distX1","vibeEventsArray","distX2","distXIndex","data_set","activeTooltipContent","windowResize","update","usesPoints","chartName","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","getGatewayData","fields","items","filteredData","get","forEach","item","values","firmware","voltage","rssi","carrier","readings","uptime","recon","uploads","temperature","length","push","id","originalValue","save_values","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","LeftAxisDropdown","extend","tGraph","id","modelName","params","get","transitionTo","TemporalGatewayRightAxisDropdown","extend","setSelection","selected","set","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeSize","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","username","get","data","authenticated","channelCount","id","pos","length","count","substring","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","checkChanged","object","staticChanged","document","getElementById","checked","activeChanged","repeatChanged","invertChanged","toggleActive","big","createAlert","selector","$","selected","val","forEach","selection","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","instrument","peekRecord","newAlert","createRecord","err","alertObjectValue","respType","addType","value","cb","wl","target","sel","selectedIndex","setError","isNaN","includes","save","then","results","newAnchorObject","newAnchor","alert","selectedCh","catch","reason","errors","status","resetNewGatewayObject","_this","set","CreateBluCellGateway","createGateway","object","store","get","newGatewayObject","setError","error","id","installDate","depth","gatewayType","peekRecord","active","interval_upload","query","filter","interval_value","interval_group_name","then","results","gatewayUploadInterval","catch","console","log","interval_read","gatewayReadInterval","moment","format","newGateway","dup","createRecord","err","message","includes","save","reason","init","arguments","resetNewRawDataValueObject","_this","gatewayValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newGatewayValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newGatewayValueObjectValues","actions","saveNew","gatewayValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newGatewayValues","savedGatewayValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","console","log","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","store","inject","service","tr","instID","activeSize","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","handleAlertObjectChange","onMetricChanged","metric","get","set","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","anchorList","computed","isSelected","forEach","element","channelCount","instrument","pos","length","numChans","parseInt","substring","creationDateText","date","creationDate","triggeredTimeText","actions","updateSelectedAnchors","thing","update","Event","$","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","selectedCh","newAnchor","createRecord","save","destroyRecord","result","findRecord","id","then","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","gatewayReadingsIntervals","init","_super","arguments","store","Ember","inject","service","isAuthenticated","selectedModel","editing","getGatewayUploadIntervalID","computed","gw","get","gatewayUploadInterval","id","toString","getGatewayReadIntervalID","gatewayReadInterval","setGatewayInterval","event","gateway","selectedOptions","Array","from","target","selectedValue","parseInt","map","option","value","intervalType","notSelected","findRecord","then","interval","notSelectedIntervalValue","group_name","query","filter","interval_value","interval_group_name","results","set","save","console","log","catch","error","updatePage","viewData","transitionTo","tGraph","editField","stopEditField","saveGateway","_this","t","confirm","window","location","href","sortBy","property","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","temperaturePoints","distXRiseUpAnimationDuration","leftAxis","computed","attrs","getQueryParams","rightAxis","GATEWAY_ENUM","Object","freeze","Firmware","Coordinator","Voltage","RSSI","carrier","Readings","Uptime","Reconnection","Uploads","var_1","var_2","var_3","Temperature","zoomDataPointsLeftAxis","zoomChartData","get","leftAxisIndex","zoomLeftAxis","map","item","i","values","zoomDataPointsRightAxis","zoomRightAxis","rightAxisIndex","zoomDataPoints","left","fullRangeDataPoints","fullRangePoints","itemHolder","linesKyes","keys","toJSON","getProperties","zoomTimePoints","fullRangeTimePoints","anchorDistances","zoomChartLinesData","_this","seismicEventsChartDistXData","blastEventsChartDistXData","tempPoints","mName","chartLineName","chartLineIndex","key","type","yAxis","dataPoint","dataPointIndex","valueOf","zoomTempPoints","temp","push","concat","fullRangeChartLinesData","fullRangeTempPoints","sortBy","temperature","chartDataModelName","query","model_name","yAxisLegend","chartTitle","promise","queryRecord","title","getTitleAndUnits","axis","axisValues","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","useInteractiveGuideline","x","d","y","color","scale","category10","range","duration","showLegend","showDistX","noData","showYAxis","y2Axis","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","length","utils","getDateAutoscaleFormat","Date","axis1Title","axis2Title","y1Axis","axisLabel","axisLabelDistance","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","format","datum","call","controls","forEach","disabled","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","eventSize","timestamp","distXMouseMove","seismicEventsArray","distX0","onDistXTooltipShowCall","blastEventsArray","distX1","vibeEventsArray","distX2","distXIndex","data_set","activeTooltipContent","windowResize","update","usesPoints","chartName","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","temperaturePoints","distXRiseUpAnimationDuration","leftAxis","computed","attrs","getQueryParams","rightAxis","GATEWAY_ENUM","Object","freeze","Firmware","Voltage","RSSI","carrier","Readings","Uptime","Reconnection","Uploads","Temperature","var_1","var_2","var_3","zoomTempPoints","zoomTempData","get","forEach","item","i","linesKyes","keys","toJSON","chartData","getProperties","push","values","zoomDataPointsLeftAxis","zoomChartData","leftAxisIndex","zoomLeftAxis","map","zoomDataPointsRightAxis","zoomRightAxis","rightAxisIndex","zoomDataPoints","left","fullRangeDataPoints","fullRangePoints","itemHolder","zoomTimePoints","fullRangeTimePoints","anchorDistances","zoomChartLinesData","_this","seismicEventsChartDistXData","blastEventsChartDistXData","tempPoints","mName","chartLineName","chartLineIndex","key","type","yAxis","dataPoint","dataPointIndex","valueOf","temp","concat","fullRangeChartLinesData","fullRangeTempPoints","sortBy","temperature","chartDataModelName","query","model_name","yAxisLegend","chartTitle","promise","queryRecord","title","getTitleAndUnits","axis","axisValues","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","useInteractiveGuideline","x","d","y","color","scale","category10","range","duration","showLegend","showDistX","noData","showYAxis","y2Axis","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","length","utils","getDateAutoscaleFormat","Date","axis1Title","axis2Title","y1Axis","axisLabel","axisLabelDistance","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","format","datum","call","controls","disabled","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","eventSize","timestamp","distXMouseMove","seismicEventsArray","distX0","onDistXTooltipShowCall","blastEventsArray","distX1","vibeEventsArray","distX2","distXIndex","data_set","activeTooltipContent","windowResize","update","usesPoints","chartName","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","getGatewayData","fields","items","filteredData","get","forEach","item","values","firmware","voltage","rssi","carrier","readings","uptime","recon","uploads","temperature","length","push","id","originalValue","save_values","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","LeftAxisDropdown","extend","tGraph","id","modelName","params","get","transitionTo","TemporalGatewayRightAxisDropdown","extend","setSelection","selected","set","BreadCrumbs","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","substring","timeReference","instrument","peekRecord","undefined","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","instrumentStiffness","elasticLimitPct","ultimateLimitPct","elasticLimitFce","ultimateLimitFce","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","zeroTimestamp","installDate","instrumentType","peekRecord","headAt","bulbed","plated","active","ex","strokeLength","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","catch","reason","bulbChanged","document","getElementById","checked","plateChanged","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","isShowingModal","showModal","phoneNumber","carrier","referenceAnchors","loading","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","substring","onTimeReferenceChanged","timeReference","handleAlertObjectChange","onCarrierChanged","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","instrument","pos","length","numChans","parseInt","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","console","log","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","$","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","toggleModal","toggleProperty","handleSelection","selectedValue","EditInstrument","extend","updatePage","store","get","instrument","stiffness","Math","round","set","ex","save","viewData","id","endDateObj","moment","startDateObj","subtract","format","formattedEndDateObj","dateTimeFormat","baseUnit","transitionTo","queryParams","tGraph","editField","stopEditField","sGraph","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","plated","splice","unshift","push","length","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","anchors","anchor","anchorAXDistances","midPoints","headExclusion","leftAnchors","center","Math","ceil","concat","slice","midLeft","ctr","$","v","i","mid_temp","shift","pop","anchorBXDistances","anchorMidDistances","copy","midDistances","finalSize","mid","toFixed","len","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","chartLine","chartLineIndex","dataPoint","dataPointIndex","fullRangeChartLinesData","forEach","element","ad","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","ticks","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","yAxisUnit","init","_super","arguments","queryParams","URLSearchParams","window","location","search","yAxisUnitParam","get","set","seismicEventsChartDistXData","computed","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","tempSeismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","display","blastEvents","data_set","displayTime","displayTimestamp","displayEventSize","displayTonnes","displayLocation","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","modelName","plated","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","dataValuesCount","length","error","anchors","anchor","midPoints","ctr","mid","toFixed","splice","unshift","zoomChartLinesData","_this","vibeEventsChartDistXData","mName","forEach","element","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","pop","shift","temp","concat","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","chartTitle","substr","lastIndexOf","replace","promise","queryRecord","title","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","anchors","get","dist","map","anchor","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","resetNewBlastEventObject","_this","set","isVisible","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","newBlastEventObject","dateFormat","timeFormat","timestamp","delay","blastType","dateTimePicker","datePicker","east","north","depth","project","level","selectOptionsArray","computed","map","item","blastTypesSelectOptionsKyes","get","split","key","value","handleIsVisibleCreateNewFormChange","observer","actions","setProject","event","selectedId","target","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","addNew","object","saveNew","moment","format","peekRecord","newBlastEvent","createRecord","save","then","results","currentRouteName","currentRouteInstance","refresh","catch","error","console","cancelNew","didRender","willDestroyElement","datetimepicker","resetNewSeismicEventObject","_this","set","isVisible","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","newSeismicEventObject","dateFormat","timestamp","seismicType","dateTimePicker","east","north","depth","selectOptionsArray","computed","map","item","seismicTypesSelectOptionsKyes","get","split","key","value","handleIsVisibleCreateNewFormChange","observer","actions","addNew","object","saveNew","moment","format","peekRecord","newSeismicEvent","createRecord","savedObject","save","then","results","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","didInsertElement","map","L","center","lat","lng","zoom","imageOverlay","mapBounds","addTo","marker","popupContent","bindPopup","openPopup","computed","Ember","Component","extend","ajax","inject","service","session","isVisibleExportDataForm","instrumentId","fileFormat","loading","fileFormats","key","value","fileName","computed","get","fileLink","base","ENV","API_PROTOCOL","API_URL","API_PORT","handleIsVisibleCreateNewFormChange","observer","set","isExportLinkReady","actions","downloadFile","$t","$","currentUrl","window","location","href","urlSegments","split","originator","length","includes","params","URLSearchParams","keys","forEach","has","urlWithOriginator","filename","request","method","url","headers","data","authenticated","success","download","bind","done","msg","updateProperties","propertyNames","propertyValues","_this","propertyName","i","Array","isArray","cancel","Ember","Component","extend","ajax","inject","service","session","isVisibleExportDataForm","gatewayId","fileFormat","loading","fileFormats","key","value","fileName","computed","get","fileLink","base","ENV","API_PROTOCOL","API_URL","API_PORT","handleIsVisibleCreateNewFormChange","observer","set","isExportLinkReady","actions","downloadFile","$t","$","filename","console","log","split","includes","request","method","url","headers","data","authenticated","success","download","bind","done","msg","updateProperties","propertyNames","propertyValues","_this","length","forEach","propertyName","i","Array","isArray","cancel","Ember","Component","extend","isVisibleImportDataForm","isVisibleError","instrumentId","loading","fileFormat","fileFormats","key","value","isSubmitting","fileSettings","instrument_id","file_format","actions","updateProperties","propertyNames","propertyValues","_this","length","forEach","propertyName","i","set","Array","isArray","importFile","get","cancelImport","notSubmitting","errorHappened","message","console","log","run","scheduleOnce","Ember","Component","extend","isVisibleImportDataForm","isVisibleError","loading","isVisibleErrorChangeObserver","observer","get","error","instrumentId","fileFormat","dateFormat","dateFormats","key","value","fileFormats","isRAW","uniqueInstruments","showIsRAW","computed","uniqueInstrumentsKeys","Object","keys","includes","instrumentType","title","getUnitInstrComment","isSubmitting","fileSettings","instrument_id","file_format","date_format","actions","updateProperties","propertyNames","propertyValues","_this","length","forEach","propertyName","i","set","Array","isArray","importFile","cancelImport","notSubmitting","errorHappened","message","console","log","replace","run","scheduleOnce","Ember","Component","extend","isVisibleImportDataForm","isVisibleError","loading","isVisibleErrorChangeObserver","observer","get","error","gatewayId","fileFormat","dateFormat","dateFormats","key","value","fileFormats","isSubmitting","fileSettings","gateway_id","file_format","date_format","actions","updateProperties","propertyNames","propertyValues","_this","length","forEach","propertyName","i","set","Array","isArray","importFile","cancelImport","notSubmitting","errorHappened","message","console","log","replace","run","scheduleOnce","Ember","Component","extend","dataLegends","computed","objectKyes","Object","keys","get","toJSON","recordValues","item","getProperties","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","substring","timeReference","instrument","peekRecord","undefined","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","CreateDConvInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","baseLength","instrumentType","peekRecord","headAt","active","strokeLength","zeroTimestamp","moment","format","installDate","newInstrument","dup","createRecord","err","message","includes","save","then","results","number","distance","instrument","anchorCount","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","isShowingModal","showModal","phoneNumber","carrier","referenceAnchors","loading","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","substring","onCarrierChanged","onTimeReferenceChanged","timeReference","handleAlertObjectChange","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","instrument","pos","length","numChans","parseInt","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","console","log","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","toggleModal","toggleProperty","handleSelection","selectedValue","EditInstrument","extend","viewData","id","endDateObj","moment","startDateObj","subtract","format","formattedEndDateObj","dateTimeFormat","baseUnit","get","transitionTo","queryParams","tGraph","sGraph","editField","set","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","unshift","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","length","anchors","anchor","splice","anchorMidDistances","copy","midDistances","i","mid","push","toFixed","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","anchorDist","chartLine","chartLineIndex","dataPoint","dataPointIndex","concat","fullRangeChartLinesData","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","forEach","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","value1","value2","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","location","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","modelName","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","dataValuesCount","length","error","anchors","anchor","midPoints","ctr","toFixed","unshift","zoomChartLinesData","_this","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","pop","shift","temp","concat","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","chartTitle","substr","lastIndexOf","replace","promise","queryRecord","title","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","forEach","id","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","anchors","get","dist","map","anchor","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","substring","timeReference","instrument","peekRecord","undefined","console","log","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","zeroTimestamp","installDate","instrumentType","peekRecord","headAt","active","instrumentStiffness","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","anchorCount","parseInt","substring","length","ctr","number","distance","instrument","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","referenceAnchors","loading","editing","onTimeReferenceChanged","timeReference","get","handleAlertObjectChange","console","log","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","computed","instrument","pos","length","numChans","parseInt","substring","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","viewData","id","get","transitionTo","tGraph","sGraph","editField","set","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","plated","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","length","anchors","anchor","splice","anchorAXDistances","midPoints","headExclusion","leftAnchors","center","Math","ceil","concat","slice","midLeft","ctr","$","v","i","unshift","mid_temp","push","shift","pop","anchorBXDistances","anchorMidDistances","copy","midDistances","mid","toFixed","len","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","chartLine","chartLineIndex","dataPoint","dataPointIndex","fullRangeChartLinesData","forEach","element","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","vibeEventsChartDistXData","events","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","location","sortBy","blastEventsArray","data_set","tonnes","vibeEventsArray","ppa","ppv","freq","zoomTempPoints","item","discreteData","linesKeys","Object","keys","toJSON","chartData","getProperties","length","zoomDataPoints","linesKyes","KPA_TO_MMH20","modelName","chartType","attrs","getQueryParams","plated","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","anchors","numPorts","startVal","maxVal","ctr","dataValuesCount","error","anchor","midPoints","mid","toFixed","splice","headExclusion","leftAnchors","rightAnchors","center","Math","ceil","concat","slice","midLeft","midRight","shift","pop","unshift","sort","a","b","zoomChartLinesData","_this","mName","forEach","element","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","temp","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","undefined","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX2","onDistXTooltipShowCall","distX0","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","isVisibleCreateNewForm","displacementData2","computed","dv","displacementData","forEach","value","values","shift","anchorDistances","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","DropdownOptionComponent","Component","isSelected","args","value","selectValue","FileField","extend","session","isSubmitting","isSubmittingChangeObserver","Ember","observer","get","send","uploader","files","ajaxSettings","headers","Accept","withCredentials","Authorization","data","authenticated","fileSettings","filesDidChange","Uploader","create","url","ENV","API_PROTOCOL","API_URL","API_PORT","paramName","set","actions","submitFile","object","_this","isEmpty","format","file_format","dateFormat","date_format","filename","name","substring","lastIndexOf","ext","ok","id","gateway_id","errMsg","confirm","includes","upload","then","window","location","reload","error","responseJSON","sendAction","responseText","statusText","cancel","FileField","extend","session","isSubmitting","isSubmittingChangeObserver","Ember","observer","get","send","uploader","files","ajaxSettings","headers","Accept","withCredentials","Authorization","data","authenticated","fileSettings","filesDidChange","Uploader","create","url","ENV","API_PROTOCOL","API_URL","API_PORT","paramName","set","actions","submitFile","object","_this","isEmpty","format","file_format","dateFormat","date_format","filename","name","substring","lastIndexOf","ext","ok","id","instrument_id","errMsg","upload","then","window","location","reload","error","responseJSON","sendAction","responseText","statusText","cancel","FileField","extend","session","isSubmitting","isSubmittingChangeObserver","Ember","observer","get","send","uploader","files","ajaxSettings","headers","Accept","withCredentials","Authorization","data","authenticated","fileSettings","filesDidChange","Uploader","create","url","ENV","API_PROTOCOL","API_URL","API_PORT","paramName","set","actions","submitFile","object","_this","isEmpty","format","file_format","dateFormat","date_format","filename","name","substring","lastIndexOf","ext","ok","id","instrument_id","errMsg","confirm","includes","upload","then","window","location","reload","error","responseJSON","sendAction","responseText","statusText","cancel","Ember","Component","extend","pageValue","actions","updateProperty","propertyName","propertyValue","set","get","window","location","href","keyDown","e","keyCode","caller","target","send","value","Ember","Component","extend","sv","pv","searchValue","computed","get","attrs","value","set","pageValue","actions","updateProperty","propertyName","propertyValue","keyDown","e","keyCode","send","quickTableFilter","Ember","Component","extend","pageValue","actions","updateProperty","propertyName","propertyValue","set","get","window","location","href","keyDown","e","keyCode","caller","target","send","value","Ember","Component","extend","pageValue","startDate","endDate","search","init","_super","arguments","setSearchFieldsFromURL","queryParams","URLSearchParams","window","location","set","get","startDateParam","endDateParam","decodedStartDate","decodeURIComponent","console","log","decodedEndDate","formatDateForDatetimeLocal","dateStr","date","Date","toISOString","slice","actions","updateProperty","propertyName","changeEvent","target","value","newEndDate","calculateEndDate","searchValue","href","encodeURIComponent","reset","startDateObj","moment","add","format","keyDown","e","keyCode","caller","send","Ember","Component","extend","pageValue","actions","updateProperty","propertyName","propertyValue","set","get","window","location","href","keyDown","e","keyCode","caller","target","send","value","Ember","Component","extend","Ember","Component","extend","authError","router","isRowDeleteConfirmationDialog","gwId","processedGatewayAlerts","computed","gatewayAlerts","map","alertRow","actions","getId","alert","toggleRowDeleteConfirmationDialog","id","errBox","document","getElementById","hidden","curVal","get","set","createAlert","gwID","transitionTo","queryParams","gw_id","remove","model","object","_this","_store","hidd","save","then","deleteRecord","unloadRecord","catch","reason","status","errors","Ember","Component","extend","session","isRowDeleteConfirmationDialog","rdcd","store","childDict","init","_super","arguments","loadChildren","gateway","get","gatewayId","findRecord","reload","then","children","childObjects","map","child","toJSON","set","catch","error","console","inspectGateway","gw","gwc","toArray","setRDCD","value","notifyPropertyChange","gatewayChildren","computed","actions","toggleRowDeleteConfirmationDialog","id","curVal","remove","model","object","_this","_store","errBox","document","getElementById","hidd","save","deleteRecord","unloadRecord","reason","status","errors","hidden","Ember","Component","extend","store","router","session","expandedRowsArray","isRowDeleteConfirmationDialog","isRowExpanded","licenceIsValid","computed","valid","data","authenticated","isValid","expandedRows","index","gatewayChildren","gateway","get","children","get_id","id","actions","toggleExpansion","createGateway","transitionTo","toggleRowDeleteConfirmationDialog","curVal","set","toggleExpandedRow","row","remove","model","object","active","save","then","sendAction","catch","reason","console","log","removeGatewayWithoutNodes","errBox","document","getElementById","hidd","deleteRecord","unloadRecord","status","errors","hidden","removeGatewayWithNodes","_this","_store","badCodes","gatewayType","orphanGateway","findRecord","createRecord","name","includes","saveNodes","nodes","Promise","all","map","node","deleteGateway","refresh","GatewaySelectorComponent","Component","selectGateway","gateway","concatenatedValue","PhoneNumber","Carrier","args","onSelect","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","substring","timeReference","instrument","peekRecord","undefined","console","log","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","zeroTimestamp","installDate","instrumentType","peekRecord","headAt","active","instrumentStiffness","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","anchorCount","parseInt","substring","length","ctr","number","distance","instrument","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","onTimeReferenceChanged","timeReference","get","handleAlertObjectChange","console","log","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","anchorList","computed","isSelected","forEach","element","channelCount","instrument","pos","length","numChans","parseInt","substring","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","selectedCh","newAnchor","createRecord","save","destroyRecord","result","findRecord","then","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","viewData","id","get","transitionTo","tGraph","sGraph","editField","set","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","plated","splice","unshift","push","length","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","anchors","anchor","half_anchors","gauge","pop","last","sort","a","b","forEach","index","shift","anchorAXDistances","midPoints","headExclusion","leftAnchors","center","Math","ceil","concat","slice","midLeft","ctr","$","v","i","mid_temp","anchorBXDistances","anchorMidDistances","copy","midDistances","finalSize","mid","toFixed","len","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","chartLine","chartLineIndex","dataPoint","dataPointIndex","fullRangeChartLinesData","element","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","vibeEventsChartDistXData","events","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","location","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","modelName","plated","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","anchors","numPorts","startVal","maxVal","ctr","dataValuesCount","length","error","anchor","midPoints","mid","toFixed","splice","headExclusion","leftAnchors","rightAnchors","center","Math","ceil","concat","slice","midLeft","midRight","shift","pop","unshift","sort","a","b","zoomChartLinesData","_this","mName","forEach","element","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","temp","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","chartTitle","substr","lastIndexOf","replace","promise","queryRecord","title","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","anchors","get","dist","map","anchor","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","inst_id","actions","setID","inst","set","id","setValue","instrumentTypeID","Ember","Component","extend","router","session","isRowDeleteConfirmationDialog","licenceIsValid","computed","valid","data","authenticated","isValid","actions","createInstrument","get","transitionTo","toggleRowDeleteConfirmationDialog","id","curVal","set","remove","model","object","_this","_store","errBox","document","getElementById","hidd","save","then","deleteRecord","unloadRecord","catch","reason","status","errors","hidden","Ember","Component","extend","isVisibleImportKeyForm","isVisibleError","isSubmitting","loading","actions","updateProperties","propertyNames","propertyValues","_this","length","forEach","propertyName","i","set","Array","isArray","importKey","cancelImport","errorHappened","message","console","log","run","scheduleOnce","FileField","extend","session","isSubmitting","isSubmittingChangeObserver","Ember","observer","get","send","uploader","files","ajaxSettings","headers","Accept","withCredentials","Authorization","data","authenticated","fileSettings","filesDidChange","Uploader","create","url","ENV","API_PROTOCOL","API_URL","API_PORT","paramName","set","updateLicence","endsWith","response","fetch","method","ok","licence","json","attributes","location","reload","actions","submitFile","object","console","log","_this","isEmpty","value","$","css","upload","then","error","sendAction","statusText","cancel","LogViewerTableComponent","Component","logViewers","store","findAll","loadLogViewers","query","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","substring","timeReference","instrument","peekRecord","undefined","console","log","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","strokeLength","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","instrumentType","peekRecord","headAt","active","zeroTimestamp","moment","format","installDate","newInstrument","dup","createRecord","err","message","includes","save","then","results","number","distance","instrument","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","onTimeReferenceChanged","timeReference","get","handleAlertObjectChange","console","log","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","anchorList","computed","isSelected","forEach","element","channelCount","instrument","pos","length","numChans","parseInt","substring","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","unallowedValues","undefined","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","selectedCh","newAnchor","createRecord","save","destroyRecord","result","findRecord","then","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","viewData","id","endDateObj","moment","startDateObj","subtract","format","formattedEndDateObj","dateTimeFormat","baseUnit","get","transitionTo","queryParams","tGraph","sGraph","editField","set","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","unshift","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","length","anchors","anchor","splice","anchorMidDistances","copy","midDistances","i","mid","push","toFixed","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","chartLine","chartLineIndex","dataPoint","dataPointIndex","concat","fullRangeChartLinesData","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","forEach","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","yAxisUnit","init","_super","arguments","queryParams","URLSearchParams","window","location","search","yAxisUnitParam","get","set","seismicEventsChartDistXData","computed","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","modelName","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","dataValuesCount","length","error","anchors","anchor","midPoints","ctr","toFixed","unshift","zoomChartLinesData","_this","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","pop","shift","temp","concat","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","forEach","id","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","console","log","datum","call","dispatch","on","brushExtent","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","anchors","get","dist","map","anchor","index","modifiedDisplacementData","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","resetNewInstrumentObject","_this","set","CreateMultiExtoInstrument","onDropdownSearch","value","searchForExto","store","get","respData","query","small","search","then","data","loadInstruments","error","setID","instr","instrumentList","selectedInstruments","length","includes","addObject","resetInstrument","object","createInstrument","newInstrumentObject","setError","id","instrumentType","peekRecord","headAt","active","newInstrumentID","zeroTimestamp","moment","format","dup","forEach","index","instrumentPosition","existingInstrument","unloadRecord","newInstrument","createRecord","err","console","log","message","save","results","catch","reason","init","arguments","instruments","rawData","filteredInstruments","filter","instrument","title","toLowerCase","mappedGateways","map","instrumentID","position","buildInstrumentID","newID","buildInstrumentChannels","selectedInstrList","numberOfChannels","instrID","channel","substring","Ember","Component","extend","session","isRowDeleteConfirmationDialog","store","rowData","masterModifiedRawData","init","_super","arguments","displaceRowvalues","get","tempRowValues","objectAt","Number","key","buildMainRowData","multiExtoInstr","values","console","log","mainData","i","instr_position_index","instrumenPositionObj","subExtoID","id","channels","subRowData","length","slice","push","set","buildCustomAnchors","computed","extoInstrumentObj","anchors","instrumentID","instrPositionAttributesObj","findRecord","then","instrument","anchorPt","obj","forEach","element","catch","reason","getSpecificRowData","currMultiDExto","currentExtoInstr","index","actions","updateProperty","propertyName","propertyValue","Ember","Component","extend","session","isRowDeleteConfirmationDialog","store","init","_super","arguments","getAnchors","slaveInstrID","slaveInstrObjDataPromises","map","positionLabel","instrumentPosition","get","instrumentPositionID","instrPositionAttributesObj","then","anchors","anchorDistances","anchor","id","reason","slaveInstrObjData","Promise","all","filter","obj","set","actions","updateProperty","propertyName","propertyValue","resetNewInstrumentObject","_this","set","CreatePackInstrument","setID","instr","instrumentList","get","selectedInstruments","length","includes","addObject","viewData","id","transitionTo","tGraph","editField","stopEditField","saveInstrument","t","confirm","window","location","href","init","arguments","loadSelectedInstruments","instrument","selectedInstrs","i","instrPositionLabel","instrPositionObj","instrPositionAttributesObj","store","findRecord","then","anchorPt","obj","forEach","element","strokeLen","anchors","strokeLength","catch","reason","title","instrumentID","position","data","anchorPoints","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","actions","saveImage","console","log","document","querySelector","then","canvas","downloadLink","createElement","setAttribute","toBlob","blob","url","URL","createObjectURL","click","toggleLine","lineIndex","lineSettings","JSON","parse","localStorage","getItem","setItem","stringify","d3","select","style","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","location","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","indx","dataArry","mainArr","adjustedDataArry","lastPointDataIndicies","slaveInstrID","positionLabel","index","instrumentPosition","subArry","anchorIndex","value","push","Number","parseInt","slice","offsetValue","forEach","val","parseFloat","includes","modelName","fullRangeDataPoints","instrumentID","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","dataValuesCount","length","error","slaveInstrObjDataPromises","positionObjID","instrPositionAttributesObj","anchors","anchor","id","reason","slaveInstrObjData","Promise","all","filter","obj","finalAnchorDistances","slaveExto","i","concat","distance","newDist","toFixed","modifiedAnchorDistances","midPoints","unshift","ctr","zoomChartLinesData","_this","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","finalVal","pop","shift","temp","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","chartTitle","substr","lastIndexOf","replace","promise","queryRecord","title","didInsertElement","zoomChartSVG","fullRangeChartSVG","apiCallsPromises","randomHexColorCode","n","Math","random","toString","colorArray","numColor","colorHEX","RSVP","results","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","duration","showDistX","noData","legend","rightAlign","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","init","_super","arguments","getSelectedExtos","instrument","isVisibleCreateNewForm","store","router","session","selectedInstrs","i","instrPositionLabel","instrPositionObj","instr","title","id","instrumentID","position","data","set","selectedInstruments","actions","updateProperty","propertyName","propertyValue","Ember","Component","extend","session","isRowDeleteConfirmationDialog","rdcd","store","childDict","init","_super","arguments","actions","Ember","Component","extend","navbar","apiPort","ENV","API_PORT","navigateToAdmin","event","preventDefault","url","URL","window","location","href","port","open","username","get","data","authenticated","isValid","undefined","isWithinLimit","limit","modules","hasAlerts","perms","session","logout","invalidate","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeSize","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","username","get","data","authenticated","channelCount","id","pos","length","count","substring","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","checkChanged","object","staticChanged","document","getElementById","checked","activeChanged","repeatChanged","invertChanged","toggleActive","big","createAlert","selector","$","selected","val","forEach","selection","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","instrument","peekRecord","newAlert","createRecord","err","alertObjectValue","respType","addType","value","cb","wl","target","sel","selectedIndex","setError","isNaN","includes","save","then","results","newAnchorObject","newAnchor","alert","selectedCh","catch","reason","errors","status","resetNewGatewayObject","_this","set","CreateBluCellGateway","createGateway","object","store","get","newGatewayObject","setError","error","id","installDate","depth","gatewayType","peekRecord","typeID","active","interval_upload","query","filter","interval_value","interval_group_name","then","results","gatewayUploadInterval","catch","console","log","interval_read","gatewayReadInterval","moment","format","newGateway","dup","createRecord","err","message","includes","save","reason","setID","gw","parent","findRecord","value","parentGateway","init","arguments","loadGateways","gatewayList","rawData","filteredGateways","gateway","title","toLowerCase","mappedGateways","map","parentId","type","resetNewRawDataValueObject","_this","gatewayValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newGatewayValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newGatewayValueObjectValues","actions","saveNew","console","log","gatewayValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newGatewayValues","savedGatewayValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","ajax","inject","service","store","tr","instID","activeSize","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","handleAlertObjectChange","console","log","onMetricChanged","metric","get","set","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","anchorList","computed","isSelected","forEach","element","channelCount","instrument","pos","length","numChans","parseInt","substring","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","$","headers","Authorization","localStorage","token","actions","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","selectedCh","newAnchor","createRecord","save","destroyRecord","result","findRecord","then","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditGateway","extend","store","Ember","inject","service","gatewayReadingsIntervals","initialSelection","isAuthenticated","selectedModel","editing","init","_super","arguments","loadGateways","gatewayList","rawData","filteredGateways","filter","gateway","active","get","title","toLowerCase","parent","selectedItem","mappedGateways","map","gw","value","type","id","set","computed","gateways","getGatewayUploadIntervalID","gatewayUploadInterval","toString","getGatewayReadIntervalID","gatewayReadInterval","setGatewayInterval","event","selectedOptions","Array","from","target","selectedValue","parseInt","option","intervalType","notSelected","findRecord","then","interval","notSelectedIntervalValue","group_name","query","interval_value","interval_group_name","results","save","console","log","catch","error","updatePage","viewData","transitionTo","tGraph","editField","stopEditField","saveGateway","_this","t","confirm","window","location","href","sortBy","property","setID","parentGateway","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","temperaturePoints","distXRiseUpAnimationDuration","leftAxis","computed","attrs","getQueryParams","console","log","rightAxis","GATEWAY_ENUM","Object","freeze","Firmware","Coordinator","Voltage","RSSI","carrier","Readings","Uptime","Reconnection","Uploads","Temperature","var_1","var_2","var_3","zoomTempPoints","zoomTempData","get","forEach","item","i","linesKyes","keys","toJSON","chartData","getProperties","push","values","zoomDataPointsLeftAxis","zoomChartData","leftAxisIndex","zoomLeftAxis","map","JSON","stringify","zoomDataPointsRightAxis","zoomRightAxis","rightAxisIndex","zoomDataPoints","left","fullRangeDataPoints","fullRangePoints","itemHolder","zoomTimePoints","fullRangeTimePoints","anchorDistances","zoomChartLinesData","_this","seismicEventsChartDistXData","blastEventsChartDistXData","tempPoints","mName","chartLineName","chartLineIndex","key","type","yAxis","dataPoint","dataPointIndex","valueOf","temp","concat","fullRangeChartLinesData","fullRangeTempPoints","sortBy","temperature","chartDataModelName","query","model_name","yAxisLegend","chartTitle","promise","queryRecord","title","getTitleAndUnits","axis","axisValues","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","useInteractiveGuideline","x","d","y","color","scale","category10","range","duration","showLegend","showDistX","noData","showYAxis","y2Axis","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","length","utils","getDateAutoscaleFormat","Date","axis1Title","axis2Title","y1Axis","axisLabel","axisLabelDistance","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","format","datum","call","controls","disabled","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","eventSize","timestamp","distXMouseMove","seismicEventsArray","distX0","onDistXTooltipShowCall","blastEventsArray","distX1","vibeEventsArray","distX2","distXIndex","data_set","activeTooltipContent","windowResize","update","usesPoints","chartName","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","getGatewayData","fields","items","filteredData","get","forEach","item","values","firmware","coordinator","voltage","rssi","mesh_id","length","push","id","originalValue","save_values","actions","updateProperty","propertyName","propertyValue","console","log","set","extend","selected","defaultSelected","console","log","actions","handleSelectedFieldChange","newValue","set","LeftAxisDropdown","extend","tGraph","id","modelName","params","console","log","get","transitionTo","extend","rightAxisField","routeValue","defaultRightAxisField","console","log","getRouteValue","selected","toLowerCase","set","actions","handleRightAxisFieldChange","newValue","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","timeReference","instrument","peekRecord","undefined","zeroTimestamp","username","channelCount","id","pos","length","count","onCarrierChanged","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","activeSize","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","toggleModal","toggleProperty","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","unallowedValues","includes","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","newAlertObj","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","alert","selectedCh","reason","errors","status","catch","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","instrumentType","peekRecord","headAt","active","strokeLength","zeroTimestamp","moment","format","installDate","newInstrument","dup","createRecord","err","message","includes","save","then","results","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","metric","get","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","timeReference","editing","isShowingModal","showModal","phoneNumber","carrier","isRefAnchorDisabled","isTimeReferenceDisabled","referenceAnchors","loading","edited","isValidPhoneNumber","regex","test","computed","target","atIndex","indexOf","console","log","substring","handleAlertObjectChange","onMetricChanged","send","document","getElementById","onCarrierChanged","onMethodChanged","method","onResponseChanged","response","onVarChanged","onTimeReferenceChanged","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","instrument","pos","length","numChans","parseInt","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","toggleModal","toggleProperty","handleSelection","selectedValue","EditInstrument","extend","didReceiveAttrs","_super","arguments","project","level","setProject","event","selectedId","target","value","foundObject","projectLookupList","find","lookup","id","set","setLevel","levelLookupList","viewData","endDateObj","moment","startDateObj","subtract","format","formattedEndDateObj","dateTimeFormat","baseUnit","get","transitionTo","queryParams","tGraph","sGraph","editField","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","unshift","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","length","anchors","anchor","splice","anchorMidDistances","copy","midDistances","i","mid","push","toFixed","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","anchorDist","chartLine","chartLineIndex","dataPoint","dataPointIndex","concat","fullRangeChartLinesData","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","forEach","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","yAxisUnit","init","_super","arguments","queryParams","URLSearchParams","window","location","search","yAxisUnitParam","get","set","actions","saveImage","console","log","document","querySelector","then","canvas","downloadLink","createElement","setAttribute","toBlob","blob","url","URL","createObjectURL","click","toggleLine","lineIndex","lineSettings","JSON","parse","localStorage","getItem","setItem","stringify","d3","select","style","seismicEventsChartDistXData","computed","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","modelName","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","dataValuesCount","length","error","anchors","anchor","midPoints","ctr","toFixed","unshift","zoomChartLinesData","_this","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","pop","shift","temp","concat","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","chartTitle","substr","lastIndexOf","replace","promise","queryRecord","title","didInsertElement","zoomChartSVG","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","results","toString","forEach","id","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","rightAlign","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","anchors","get","dist","map","anchor","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","router","paginatorSize","newPage","currentPage","computed","get","pagination","page","totalPages","totalVisibleLinksCount","halfOfTotalVisibleLinksCount","Math","ceil","firstPageLink","queryParams","isQueryParams","values","lastPageLink","paginationLinks","routeLink","startPageOffset","endPageOffset","i","push","linkName","params","actions","goToPage","new_page","pages","id","transitionTo","keyDown","e","keyCode","send","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","timeReference","instrument","peekRecord","undefined","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","zeroTimestamp","installDate","instrumentType","peekRecord","headAt","active","instrumentStiffness","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","anchorCount","parseInt","substring","length","ctr","number","distance","instrument","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","onTimeReferenceChanged","timeReference","get","handleAlertObjectChange","console","log","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","computed","instrument","pos","length","numChans","parseInt","substring","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","viewData","id","get","transitionTo","tGraph","sGraph","editField","set","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","plated","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","length","anchors","anchor","splice","anchorAXDistances","midPoints","headExclusion","leftAnchors","center","Math","ceil","concat","slice","midLeft","ctr","$","v","i","unshift","mid_temp","push","shift","pop","anchorBXDistances","anchorMidDistances","copy","midDistances","mid","toFixed","len","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","chartLine","chartLineIndex","dataPoint","dataPointIndex","fullRangeChartLinesData","forEach","element","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","vibeEventsChartDistXData","events","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","location","sortBy","blastEventsArray","data_set","tonnes","vibeEventsArray","ppa","ppv","freq","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","KPA_TO_MMH20","modelName","chartType","attrs","getQueryParams","console","log","plated","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","anchors","numPorts","startVal","maxVal","ctr","dataValuesCount","length","error","anchor","midPoints","mid","toFixed","splice","headExclusion","leftAnchors","rightAnchors","center","Math","ceil","concat","slice","midLeft","midRight","shift","pop","unshift","sort","a","b","zoomChartLinesData","_this","mName","forEach","element","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","temp","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","undefined","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX2","onDistXTooltipShowCall","distX0","distX1","distXIndex","activeTooltipContent","windowResize","update","e","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","isVisibleCreateNewForm","displacementData2","computed","dv","displacementData","forEach","value","values","shift","anchorDistances","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","isShowingModal","host","computed","document","location","split","carrierList","data","get","carrierValue","item","atIndex","indexOf","substring","length","actions","close","set","selectGateway","phoneNumber","concatenatedValue","console","log","sendAction","toggleModal","toggleProperty","closeTargetSelector","gateways","sortedData","Object","values","carrier_list","sort","a","b","Country","localeCompare","reduce","acc","curr","Carrier","RawDropDown","RawPortDropDown","showPort","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeSize","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","username","get","data","authenticated","channelCount","id","pos","length","count","substring","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","checkChanged","object","staticChanged","document","getElementById","checked","activeChanged","repeatChanged","invertChanged","toggleActive","big","createAlert","selector","element","querySelector","selected","elem","selectedOptions","value","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","instrument","peekRecord","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","target","sel","selectedIndex","setError","isNaN","includes","save","then","results","newAnchorObject","newAnchor","alert","selectedCh","catch","reason","errors","status","resetNewInstrumentObject","_this","set","CreatePackInstrument","createInstrument","object","store","get","newInstrumentObject","setError","error","id","zeroTimestamp","installDate","instrumentType","peekRecord","headAt","stacked","active","strokeLength","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","number","distance","instrument","anchorCount","parseInt","substring","length","ctr","gauge","gaugeLength","headExclusionLength","isNaN","catch","reason","stackedChanged","document","getElementById","checked","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","ajax","inject","service","store","tr","instID","activeSize","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","handleAlertObjectChange","console","log","onMetricChanged","metric","get","set","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","preLoadActiveChannels","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","computed","instrument","pos","length","numChans","parseInt","substring","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","$","headers","Authorization","localStorage","token","actions","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","updatePage","store","get","instrument","anchors","forEach","anchor","index","number","total","length","gauge","distance","isNaN","set","save","setTimeout","alert","viewData","id","endDateObj","moment","startDateObj","subtract","format","formattedEndDateObj","dateTimeFormat","baseUnit","transitionTo","queryParams","tGraph","sGraph","editField","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","plated","splice","unshift","push","length","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","anchors","anchor","half_anchors","gauge","pop","last","sort","a","b","forEach","index","shift","anchorAXDistances","midPoints","headExclusion","leftAnchors","center","Math","ceil","concat","slice","midLeft","ctr","$","v","i","mid_temp","anchorBXDistances","anchorMidDistances","copy","midDistances","finalSize","mid","toFixed","len","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","chartLine","chartLineIndex","dataPoint","dataPointIndex","fullRangeChartLinesData","element","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","yAxisUnit","init","_super","arguments","queryParams","URLSearchParams","window","location","search","yAxisUnitParam","get","set","seismicEventsChartDistXData","computed","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","modelName","plated","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","anchors","numPorts","startVal","maxVal","ctr","dataValuesCount","length","error","anchor","midPoints","mid","toFixed","splice","headExclusion","leftAnchors","rightAnchors","center","Math","ceil","concat","slice","midLeft","midRight","shift","pop","unshift","sort","a","b","zoomChartLinesData","_this","mName","forEach","element","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","temp","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distXIndex","distX0","distX1","distX2","activeTooltipContent","onDistXTooltipShowCall","windowResize","update","e","log","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","anchors","get","dist","map","anchor","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","timeReference","instrument","peekRecord","undefined","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","setAxialStiffness","stiffness","get","toFixed","CreatePackInstrument","youngsModulus","console","log","bolt","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","handleBoltDiameterChange","event","boltDiameter","target","area","Math","PI","pow","axialStiffness","createInstrument","object","store","newInstrumentObject","setError","error","zeroTimestamp","installDate","instrumentType","peekRecord","headAt","stacked","active","crossSectionalArea","elasticLimitFce","strokeLength","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","number","distance","instrument","anchorCount","parseInt","substring","length","ctr","gauge","gaugeLength","headExclusionLength","isNaN","catch","reason","stackedChanged","document","getElementById","checked","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","isShowingModal","showModal","phoneNumber","carrier","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","handleAlertObjectChange","onCarrierChanged","onTimeReferenceChanged","timeReference","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","instrument","pos","length","numChans","parseInt","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","toggleModal","toggleProperty","handleSelection","selectedValue","EditInstrument","extend","init","_super","arguments","get","set","onYoungsModulusChanged","youngsModulus","console","log","bolt","handleElastLimitForce","Ember","observer","elf","toFixed","updateCrossSectionalArea","instrument","diameter","boltDiameter","area","Math","PI","pow","crossSectionalArea","axialStiffness","save","then","updatePage","store","anchors","forEach","anchor","index","number","distance","total","length","viewData","id","endDateObj","moment","startDateObj","subtract","format","formattedEndDateObj","dateTimeFormat","baseUnit","transitionTo","queryParams","tGraph","sGraph","editField","stopEditField","saveInstrument","_this","t","confirm","window","location","href","isStacked","computed","stackChanged","toggleProperty","property","object","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","isStacked","computed","get","zoomDataPoints","map","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","side","attrs","getQueryParams","length","values","splice","push","shift","ch1","ch2","ch3","ch4","ch5","ch6","error","fullRangeDataPoints","zoomTimePoints","itemTime","fullRangeTimePoints","anchorDistances","instType","instrument","dataValuesCount","counter","side_a","side_b","midPoints","anchors","anchor","console","log","indx","unshift","sort","a","b","forEach","point","ex","set","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorMidDistances","anchDist","anchorDistance","key","type","inlineHoverValuesSideOffset","offSet","zoomChartLinesData","_this","chartLine","chartLineIndex","dp","timestamp","dataPoint","dataPointIndex","sortBy","concat","fullRangeChartLinesData","ad","chartLineName","valueOf","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","switchTitle","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","color","duration","showDistX","showLegend","showXAxis","noData","forceX","addGraph","xAxis","tickPadding","showMaxMin","ticks","yAxis","axisLabel","tickFormat","format","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","legend","datum","call","dispatch","on","brushExtent","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","windowResize","update","e","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","yAxisUnit","init","_super","arguments","queryParams","URLSearchParams","window","location","search","yAxisUnitParam","get","set","seismicEventsChartDistXData","computed","key","type","color","values","map","event","valueOf","vibeEventsChartDistXData","events","console","log","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","data_set","tonnes","vibeEventsArray","ppa","ppv","freq","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","isStacked","zoomDataPoints","modelName","side","attrs","getQueryParams","length","splice","push","shift","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","dataValuesCount","error","anchors","anchor","singleAnchorDistance","side_a","side_b","midPoints","forEach","value","index","indx","anchorCount","newAnchorDistances","obj","sideA","sideB","zoomChartLinesData","_this","mName","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","pop","temp","concat","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","chartTitle","substr","lastIndexOf","replace","promise","queryRecord","title","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distX2","distXIndex","activeTooltipContent","windowResize","update","e","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","anchors","get","dist","map","anchor","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","TargetSelectorComponent","Component","openModal","showModal","closeModal","selectRecord","record","args","onSelect","handleRecordSelection","getCarriers","Ember","Component","extend","isChecked","computed","get","key","instrument","set","value","actions","change","object","_this","save","catch","reason","editError","document","getElementById","hidden","field","checked","window","scrollTo","update","originVal","field","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","isEditing","dateTimePicker","showClear","actions","edit","object","set","currentValue","moment","Date","format","element","tabindex","focus","save","value","newDate","catch","reason","editError","document","getElementById","hidden","window","scrollTo","cancel","willDestroyElement","datetimepicker","keyDown","e","keyCode","send","ctrlKey","Ember","Component","extend","isEditing","tagName","classNameBindings","isRowDeleteConfirmationDialog","rdcd","gatewayType","setRDCD","value","get","set","notifyPropertyChange","valueOver","computed","self","tableRowIndexString","String","gatewayValueObjectValues","obj","Object","assign","actions","edit","save","_this","values","gatewayValueObj","adapterOptions","then","results","_internalModel","_record","gatewayTime","catch","reason","console","log","errors","status","setProp","window","location","reload","cancel","remove","gatewayValuesModel","gatewayValueObject","badValues","undefined","originalValue","deleteRecord","removeObject","toggleRowDeleteConfirmationDialog","id","list","didRender","keyDown","e","keyCode","send","originEast","originNorth","originDepth","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","isEditing","east","north","depth","actions","edit","set","element","tabindex","focus","save","object","catch","reason","editError","document","getElementById","hidden","undefined","window","scrollTo","cancel","keyDown","e","keyCode","send","Ember","Component","extend","isEditable","isEditing","isTextInput","computed","get","isTextarea","actions","edit","set","element","tabindex","focus","save","object","cancel","keyDown","e","keyCode","send","ctrlKey","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","isEditable","isEditing","isTextInput","computed","isTextarea","actions","edit","set","element","tabindex","focus","save","object","parseFloat","then","update","cancel","keyDown","e","keyCode","send","ctrlKey","originVal","field","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","isEditable","isEditing","isTextInput","computed","isTextarea","actions","edit","set","element","tabindex","focus","save","object","catch","reason","editError","document","getElementById","hidden","undefined","window","scrollTo","cancel","keyDown","e","keyCode","send","ctrlKey","originVal","field","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","isEditable","isEditing","isTextInput","computed","isTextarea","actions","edit","set","element","tabindex","focus","save","object","console","log","catch","reason","editError","document","getElementById","hidden","undefined","window","scrollTo","cancel","keyDown","e","keyCode","send","ctrlKey","Ember","Component","extend","isEditing","tagName","classNameBindings","isRowDeleteConfirmationDialog","instrumentType","valueOver","computed","self","value","tableRowIndexString","String","get","displacementValueObjectValues","obj","Object","assign","temperatureValuesObject","objectAt","temperatureObjectValue","temporaryTemperature","e","actions","edit","set","save","_this","values","unshift","adapterOptions","then","results","instType","_internalModel","_record","shift","cancel","remove","displacementValueObject","displacementValuesModel","temperatureValuesModel","deleteRecord","removeObject","toggleRowDeleteConfirmationDialog","id","curVal","didRender","keyDown","keyCode","send","Ember","Component","extend","isEditing","tagName","classNameBindings","isRowDeleteConfirmationDialog","rdcd","instrumentType","loading","setRDCD","value","get","set","notifyPropertyChange","valueOver","computed","self","tableRowIndexString","String","displacementValueObjectValues","obj","instType","Object","assign","temperatureValuesObject","objectAt","temperatureObjectValue","temporaryTemperature","tempObject","vals","toFixed","e","console","log","isCheckedHelper","batchSelectedRowsObj","index","convertMMToAdictBits","arrayMMs","bitsArray","forEach","mmValue","push","parseFloat","actions","toggleIndivSwitch","document","getElementById","checked","edit","save","_this","values","unshift","oldObj","adapterOptions","then","results","_internalModel","_record","shift","catch","reason","errors","status","setProp","cancel","remove","displacementValueObject","displacementValuesModel","temperatureValuesModel","deleteRecord","removeObject","toggleRowDeleteConfirmationDialog","id","list","didRender","keyDown","keyCode","send","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","isEditing","store","inject","service","channelsNum","isToe","computed","isCollar","anchorsAmount","length","isAllAnchorsPopulated","allPopulated","objectLength","map","obj","indexOf","sortProperties","sortedInstrumentAnchors","sort","listedAnchors","object","newSet","anchorCount","forEach","anchor","hash","push","shift","temp","reverse","anchorsCSSCounteStyle","String","htmlSafe","actions","updateAnchorsCounter","j","set","edit","element","tabindex","focus","inputNewValue","currentAnchor","anchorKey","anchorValue","anchKeyPart","substring","currentAnchorNumber","replace","trim","notifyPropertyChange","prePopulateAnchors","anchorsArray","emptyAnchorsAmount","i","newAnchor","createRecord","number","distance","pushObjects","send","isAnchorNumbersCorrupted","save","currentObject","objectAt","cancel","rollbackAttributes","didRender","keyDown","e","keyCode","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","isEditing","store","inject","service","channelsNum","isToe","computed","isCollar","anchorsAmount","_anchorCount","length","set","key","value","isAllAnchorsPopulated","objectLength","map","obj","indexOf","sortProperties","sortedInstrumentAnchors","sort","anchorsCSSCounteStyle","String","htmlSafe","actions","updateAnchorsCounter","object","j","forEach","edit","element","tabindex","focus","inputNewValue","currentAnchor","newValue","notifyPropertyChange","prePopulateAnchors","anchorsArray","emptyAnchorsAmount","i","newAnchor","createRecord","number","distance","push","pushObjects","send","save","currentObject","objectAt","cancel","rollbackAttributes","didRender","keyDown","e","keyCode","Ember","Component","extend","originVal","field","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","store","inject","service","isEditable","isEditing","isRelational","isNew","selectOptionsArray","computed","map","item","selectOptionsKyes","split","key","value","modelName","actions","selectNewValue","set","send","onSelectionChange","edit","element","tabindex","focus","save","object","newSelectValue","findRecord","catch","reason","editError","document","getElementById","hidden","window","scrollTo","cancel","keyDown","e","keyCode","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","store","inject","service","isEditable","isEditing","isRelational","selectOptionsArray","computed","map","item","selectOptionsKyes","split","key","value","modelName","actions","selectNewValue","set","edit","element","tabindex","focus","save","object","cancel","didRender","keyDown","e","keyCode","send","originVal","field","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","store","inject","service","isEditable","isEditing","isRelational","selectOptionsArray","computed","valueArray","items","selectOptionsKyes","split","selectOptions","map","item","key","value","modelName","getOption","selectOptionKey","object","getProperties","queryValue","find","id","getOptionValue","actions","getNewOptionValue","selectNewValue","set","parent","send","edit","element","tabindex","focus","save","newSelectValue","catch","reason","editError","document","getElementById","hidden","window","scrollTo","cancel","keyDown","e","keyCode","originVal","field","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","store","inject","service","isEditable","isEditing","isRelational","selectOptionsArray","computed","map","item","selectOptionsKyes","split","console","log","key","value","modelName","actions","selectNewValue","set","onSelectionChange","send","edit","element","tabindex","focus","save","object","newSelectValue","peekRecord","catch","reason","editError","document","getElementById","hidden","window","scrollTo","cancel","keyDown","e","keyCode","originVal","field","Ember","Component","extend","editChanged","observer","get","editField","stopEditField","isEditing","dateTimePicker","showClear","actions","edit","object","set","moment","Date","format","element","tabindex","focus","save","value","newDate","catch","reason","editError","document","getElementById","hidden","window","scrollTo","cancel","willDestroyElement","datetimepicker","keyDown","e","keyCode","send","ctrlKey","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isRefAnchorDisabled","isTimeReferenceDisabled","activeSize","computed","get","username","data","authenticated","channelCount","id","pos","length","count","substring","onMetricChanged","metric","console","log","onMethodChanged","method","onResponseChanged","response","actions","checkChanged","object","staticChanged","document","getElementById","checked","activeChanged","repeatChanged","invertChanged","toggleActive","big","createAlert","selector","element","querySelector","selected","elem","selectedOptions","value","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","instrument","peekRecord","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","target","sel","selectedIndex","setError","isNaN","includes","save","then","results","newAnchorObject","newAnchor","alert","selectedCh","catch","reason","errors","status","resetNewInstrumentObject","_this","set","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","zeroTimestamp","installDate","instrumentType","peekRecord","headAt","bulbed","plated","stacked","active","instrumentStiffness","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","onTimeReferenceChanged","timeReference","get","handleAlertObjectChange","console","log","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","computed","instrument","pos","length","numChans","parseInt","substring","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","viewData","id","get","transitionTo","tGraph","sGraph","editField","set","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","plated","splice","unshift","push","length","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","anchors","anchor","half_anchors","gauge","pop","last","sort","a","b","forEach","index","shift","anchorAXDistances","midPoints","headExclusion","leftAnchors","center","Math","ceil","concat","slice","midLeft","ctr","$","v","i","mid_temp","anchorBXDistances","anchorMidDistances","copy","midDistances","finalSize","mid","toFixed","len","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","chartLine","chartLineIndex","dataPoint","dataPointIndex","fullRangeChartLinesData","element","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","location","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","modelName","plated","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","anchors","numPorts","startVal","maxVal","ctr","dataValuesCount","length","error","anchor","midPoints","mid","toFixed","splice","headExclusion","leftAnchors","rightAnchors","center","Math","ceil","concat","slice","midLeft","midRight","shift","pop","unshift","sort","a","b","zoomChartLinesData","_this","mName","forEach","element","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","temp","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","promise","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","isVisibleCreateNewForm","anchorDistances","computed","anchors","get","dist","map","anchor","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","tagName","orderingAscending","isSelectedSort","computed","selectedSortProperty","get","indexOf","substring","actions","sortBy","sortProperty","toggleProperty","sort","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","SvgInstrumentComponent","Component","height","args","width","orientation","anchors","type","Ember","Component","extend","BaseTemporalChartDropdownComponent","Component","constructor","arguments","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","Ember","Component","extend","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","timeReference","instrument","peekRecord","undefined","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","zeroTimestamp","installDate","instrumentType","peekRecord","headAt","active","instrumentStiffness","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","onTimeReferenceChanged","timeReference","get","handleAlertObjectChange","console","log","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","computed","instrument","pos","length","numChans","parseInt","substring","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","viewData","id","get","transitionTo","tGraph","sGraph","editField","set","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","plated","splice","unshift","push","length","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","anchors","anchor","half_anchors","gauge","pop","last","sort","a","b","forEach","index","shift","anchorAXDistances","midPoints","headExclusion","leftAnchors","center","Math","ceil","concat","slice","midLeft","ctr","$","v","i","mid_temp","anchorBXDistances","anchorMidDistances","copy","midDistances","finalSize","mid","toFixed","len","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","chartLine","chartLineIndex","dataPoint","dataPointIndex","fullRangeChartLinesData","element","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","location","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","modelName","plated","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","instType","instrument","anchors","numPorts","startVal","maxVal","ctr","dataValuesCount","length","error","anchor","midPoints","mid","toFixed","splice","headExclusion","leftAnchors","rightAnchors","center","Math","ceil","concat","slice","midLeft","midRight","shift","pop","unshift","sort","a","b","zoomChartLinesData","_this","vibeEventsChartDistXData","mName","forEach","element","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","temp","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","chartTitle","substr","lastIndexOf","replace","promise","queryRecord","title","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","toString","id","axisName","units","e","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","log","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","anchorDistances","computed","anchors","get","dist","map","anchor","actions","updateProperty","propertyName","propertyValue","set","Ember","Component","extend","Ember","Component","extend","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","timeReference","instrument","peekRecord","undefined","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","zeroTimestamp","installDate","strokeLength","instrumentType","peekRecord","headAt","active","instrumentStiffness","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","number","distance","instrument","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","shift","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","unshift","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","onTimeReferenceChanged","timeReference","get","handleAlertObjectChange","console","log","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","computed","instrument","pos","length","numChans","parseInt","substring","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","target","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","EditInstrument","extend","viewData","id","get","transitionTo","tGraph","sGraph","editField","set","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","location","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","zoomDataPoints","modelName","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","val","zoomChartLinesData","_this","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","length","pop","shift","temp","concat","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","forEach","id","instType","axisName","units","raw","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","getQueryParams","Ember","Component","extend","isVisibleCreateNewForm","isVisibleReadingCreated","multi","anchorDistances","computed","data","get","mode","toJSON","values","onCreateNewVisible","observer","set","actions","updateProperty","propertyName","propertyValue","Ember","Component","extend","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","timeReference","instrument","peekRecord","undefined","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","unallowedValues","includes","error","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","CreatePackInstrument","setProject","value","selectedId","foundObject","projectLookupList","find","lookup","id","setLevel","levelLookupList","createInstrument","object","store","get","newInstrumentObject","setError","error","zeroTimestamp","installDate","instrumentType","peekRecord","headAt","active","instrumentStiffness","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","number","distance","instrument","catch","reason","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","shift","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","unshift","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","router","inject","service","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","isShowingModal","showModal","phoneNumber","carrier","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","handleAlertObjectChange","onCarrierChanged","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","instrument","pos","length","numChans","parseInt","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","onTimeReferenceChanged","timeReference","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","toggleModal","toggleProperty","handleSelection","selectedValue","EditInstrument","extend","viewData","id","endDateObj","moment","startDateObj","subtract","format","formattedEndDateObj","baseUnit","get","dateTimeFormat","transitionTo","queryParams","tGraph","fGraph","editField","set","stopEditField","saveInstrument","_this","t","confirm","window","location","href","Ember","Component","extend","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","worker","Worker","capitalizeFirstLetter","string","charAt","toUpperCase","slice","getXYValueObj","xyValueObj","queryParams","URLSearchParams","window","location","search","advancedEndDate","get","advancedStartDate","advancedXMax","advancedXMin","advancedYAxisUnit","advancedYLeftMax","advancedYLeftMin","Number","parseFloat","chartMetric","computed","attrs","getQueryParams","recordsToDisplay","chDataPoints","chartData","ordinalValue","filteredData","firstValue","secondValue","map","item","anchorDistances","zoomDataPoints","zoomChartData","zoomTimePoints","i","temporaryObject","Object","valueOf","values","swap","items","leftIndex","rightIndex","temp","partition","left","right","pivot","maxValue","Math","floor","j","quickSort","index","length","_data","out","max","sortBy","getData","itemID","zoomChartLinesData","_this","graphPointValidator","x","y","xMin","xMax","yLeftMin","yLeftMax","points","data","channels","frequency","chart_type","valuesOfValues","log10","push","timestamp","size","shape","xGraphIndex","yGraphIndex","key","chartDataModelName","query","model_name","yAxisLegend","measurementTitle","substr","lastIndexOf","replace","promise","queryRecord","title","y1AxisTitle","units","axisName","trim","mainPartTitle","x1AxisTitle","didInsertElement","zoomChartSVG","d3","select","apiCallsPromises","RSVP","Promise","all","then","results","x_axisName","type","zoomChart","nv","models","scatterChart","margin","top","bottom","d","color","scale","category10","range","duration","showDistX","showDistY","showLegend","noData","addGraph","xAxis","axisLabel","axisLabelDistance","tickPadding","showMaxMin","tickFormat","format","yAxis","forceY","yScale","linear","xScale","distX","tooltip","contentGenerator","obj","toolTipText","timestampFormatter","time","newDate","Date","datum","transition","call","utils","windowResize","update","dispatch","on","e","log","JSON","stringify","sendAction","captureLargeDOM","element","chunkHeight","canvas","document","createElement","context","getContext","totalHeight","scrollHeight","totalWidth","scrollWidth","width","height","yOffset","console","viewport","cloneNode","style","overflow","transform","chunkCanvas","drawImage","resolve","toBlob","blob","actions","downloadScreenshot","getElementById","quality","dataUrl","link","download","href","click","error","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","yAxisUnit","init","_super","arguments","queryParams","URLSearchParams","window","location","search","yAxisUnitParam","get","set","seismicEventsChartDistXData","computed","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","data_set","tonnes","zoomTempPoints","zoomTempData","zoomChartData","item","linesKyes","Object","keys","toJSON","chartData","getProperties","filterArray","filter","elem","some","ele","capitalizeFirstLetter","string","charAt","toUpperCase","slice","chartMetric","attrs","getQueryParams","trim","recordsToDisplay","chDataPoints","metric","filteredData","zoomDataPoints","zoomTimePoints","i","temporaryObject","swap","items","leftIndex","rightIndex","temp","partition","left","right","pivot","maxValue","Math","floor","j","quickSort","index","length","_data","out","max","fullRangeDataPoints_OLD","fullRangeDataPoints","fullRangeChartData","fullRangeTimePoints","itemID","anchorDistances","zoomChartLinesData","_this","zoomChannelData","channelChartBarData","push","chartDataModelName","channelCount","forEach","barChartData","yAxis","dataPoint","dataPointIndex","dataPointValue","fullRangeChartLinesData","fullRangeChannelData","fullChartData","query","model_name","yAxisLegend","chartTitle","substr","lastIndexOf","replace","promise","queryRecord","title","y1AxisTitle","units","axisName","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","bottom","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","mainHeight","attr","mainMargin","customTickFunction","xAxis","tickPadding","ticks","showMaxMin","tickFormat","zoomChartXDomainLength","first","last","tickDate","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","getData","points","data","channels","valuesOfValues","shape","dispatch","on","brushExtent","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","sendAction","graph_type","scatter","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","Ember","Component","extend","batchSelectedRows","isMaxBatch","isVisibleCreateNewForm","getVisibleReadings","computed","get","length","anchorDistances","dist","getDisplacementValueObject","getDisplacementData","displacementData","getXYValueObj","xyValueObj","queryParams","URLSearchParams","window","location","search","advancedEndDate","advancedStartDate","advancedXMax","advancedXMin","advancedYAxisUnit","advancedYLeftMax","advancedYLeftMin","Number","parseFloat","maxBatchSwitchObserver","observer","isCheckedRowsValues","i","set","actions","toggleAllBatch","document","getElementById","checked","updateProperty","propertyName","propertyValue","updateTable","property","Ember","Component","extend","Ember","Component","extend","isEditing","tagName","classNameBindings","isRowDeleteConfirmationDialog","rdcd","instrumentType","setRDCD","value","get","set","notifyPropertyChange","valueOver","computed","self","tableRowIndexString","String","displacementValueObjectValues","obj","instType","Object","assign","temperatureValuesObject","objectAt","temperatureObjectValue","temporaryTemperature","toFixed","e","actions","edit","save","_this","values","unshift","adapterOptions","then","results","_internalModel","_record","shift","catch","reason","console","log","errors","status","setProp","cancel","remove","instrument_id","displacementValueObject","displacementValuesModel","temperatureValuesModel","list","id","deleteRecord","removeObject","toggleRowDeleteConfirmationDialog","didRender","keyDown","keyCode","send","resetNewAlertObject","_this","newAlertObject","set","Ember","Component","extend","init","_super","arguments","store","inject","service","session","dateFormat","installDate","activeExpanded","buttonSymbol","activeLabel","createMessage","isPerm","isActive","repeats","inverted","creationTimestamp","isAuthenticated","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","isShowingModal","showModal","phoneNumber","carrier","activeChannels","isRefAnchorDisabled","isTimeReferenceDisabled","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","timeReference","instrument","peekRecord","undefined","zeroTimestamp","activeSize","username","data","authenticated","channelCount","id","pos","length","count","onMetricChanged","metric","onMethodChanged","method","onResponseChanged","response","actions","handleActiveSelectChange","event","selectedOptions","Array","from","selectedValues","map","option","value","checkChanged","object","staticChanged","document","getElementById","checked","repeatChanged","invertChanged","createAlert","error","unallowedValues","includes","isTriggered","isHandled","initTriggerStamp","handleStamp","format","creator","newAlert","createRecord","err","val","alertObjectValue","respType","addType","cb","wl","sel","selectedIndex","setError","isNaN","save","then","results","newAnchorObject","newAnchor","forEach","alert","selectedCh","catch","reason","errors","status","toggleModal","toggleProperty","handleSelection","selectedValue","resetNewInstrumentObject","_this","set","CreatePackInstrument","extend","modelList","get","shortModelList","toArray","forEach","element","id","push","getModelById","modelId","find","model","is4500HH","console","log","selectedModel","modelName","isTypeGeoPt","selectedVendor","isTypeRocPws","vwProperties","authError","isAuthenticated","newInstrumentObject","headAt","zeroTimestamp","installDate","calcCoef1","calcCoef2","calcCoef3","calcCoef4","calcCoef5","project","level","actions","setProject","value","selectedId","foundObject","projectLookupList","lookup","setLevel","levelLookupList","setVendor","vendorID","send","setModel","modelID","setValue","prop","val","createInstrument","object","store","setError","error","instrumentType","peekRecord","active","moment","format","newInstrument","dup","createRecord","err","message","includes","save","then","results","findBy","anchorCount","parseInt","substring","length","ctr","number","distance","instrument","createVwProperties","vwPropertyData","index","vwp","port","propertyResults","catch","reason","channelsNum","channel","vwProperty","init","arguments","resetNewRawDataValueObject","_this","displacementValueObjectValues","get","set","format","Object","keys","forEach","key","index","Ember","Component","extend","store","inject","service","router","isVisibleCreateNewForm","dateFormat","dateTimePicker","temperatureObjectValue","newTimestampValue","newDisplacementValuesObject","computed","id","newTemperatureValuesObject","handleIsVisibleCreateNewFormChange","observer","i","length","newDisplacementValueObjectValues","actions","saveNew","displacementValues","temperatureValues","values","newTemperatureValues","createRecord","savedTemperatureValuesObject","save","adapterOptions","then","results","unshift","newDisplacementValues","savedDisplacementValuesObject","currentRouteName","currentRouteInstance","lookup","refresh","catch","reason","errors","status","setProp","cancelNew","object","didRender","willDestroyElement","datetimepicker","Ember","Component","extend","init","_super","arguments","set","initialAnchors","preLoadActiveChannels","store","inject","service","ajax","tr","instID","activeExpanded","buttonSymbol","activeLabel","saveMessage","updatedAnchors","anchors","initTriggerStamp","isVisibleError","emptyBoldError","noActChError","nonNumericValueError","wLError","wLNegError","targetError","phoneNumError","authError","editing","isShowingModal","showModal","phoneNumber","carrier","isValidPhoneNumber","regex","test","computed","target","get","atIndex","indexOf","console","log","substring","handleAlertObjectChange","onTimeReferenceChanged","timeReference","onCarrierChanged","onMetricChanged","metric","send","document","getElementById","onMethodChanged","method","onResponseChanged","response","findRecord","reload","then","alertObj","channels","forEach","anchor","push","isSelected","element","selectedCh","channelCount","instrument","pos","length","numChans","parseInt","activeSize","creationDateText","date","creationDate","triggeredTimeText","triggerTestAlert","id","url","ENV","API_PROTOCOL","API_URL","API_PORT","headers","Authorization","localStorage","token","actions","editField","stopEditField","updateSelectedAnchors","thing","update","Event","val","dict","obj","saveAlert","_this","alertObjectTarget","respType","alertObjectValue","noTarget","addType","changes","Map","key","hasOwnProperty","anchorsFinal","newAnchorObject","value","entries","alert","newAnchor","createRecord","save","destroyRecord","result","post","cb","wl","sel","selectedIndex","setError","isNaN","includes","big","broken","catch","reason","errors","status","staticChanged","isPerm","checked","activeChanged","isActive","toggleActive","triggerTest","isTriggered","theDate","Date","dateString","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","clearAlert","isHandled","handleStamp","resetHandle","toggleModal","toggleProperty","handleSelection","selectedValue","EditInstrumentPortDropDown","extend","editing","selectedVendor","selectedModel","selectedVendorID","Ember","computed","vendor","get","toArray","set","id","ex","selectedModelID","model","modelList","shortModelList","forEach","element","push","vendorName","EditInstrument","extend","didReceiveAttrs","_super","arguments","inst","instrument","init","vsProperties","get","length","console","log","createVwProperties","vwproperty","vwProperties","properties","toArray","forEach","prop","index","undefined","vendor","modelTypes","modelList","push","getModel","vwProperty","model","editing","selectedVendor","selectedModel","selectedProperty","project","level","Ember","computed","port","selectedVendorID","set","id","ex","selectedModelID","vendorId","shortModelList","element","vendorName","setProject","event","selectedId","target","value","foundObject","projectLookupList","find","lookup","setLevel","levelLookupList","willDestroyElement","args","selectProperty","findBy","serial","viewData","endDateObj","moment","startDateObj","subtract","format","formattedEndDateObj","dateTimeFormat","baseUnit","transitionTo","queryParams","tGraph","fGraph","setVendor","indexOf","setModel","modelID","vwmodel","save","editField","stopEditField","saveInstrument","_this","t","confirm","window","location","href","channelsNum","parseInt","channel","vwp","store","createRecord","then","propertyResults","catch","reason","Ember","Component","extend","didInsertElement","_super","arguments","Ember","Component","extend","store","inject","service","chartId","startTimestamp","endTimestamp","progressAnimationDuration","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","get","key","type","color","values","map","event","valueOf","blastEventsChartDistXData","seismicEventsArray","timestamp","format","eventSize","momentMagnitude","sortBy","blastEventsArray","tonnes","zoomDataPoints","item","linesKyes","Object","keys","toJSON","chartData","getProperties","modelName","unshift","error","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","dataValuesCount","length","anchors","anchor","splice","anchorMidDistances","copy","midDistances","i","mid","push","toFixed","anchorColors","d3","scale","category10","range","anchorDistancesChartReferencePoints","anchorDistance","inlineHoverValuesSideOffset","zoomChartLinesData","_this","chartLine","chartLineIndex","dataPoint","dataPointIndex","concat","fullRangeChartLinesData","chartLineName","numLines","lineDrawDelay","chartDataModelName","query","model_name","yAxisLegend","promise","title","substr","lastIndexOf","replace","didInsertElement","zoomChartSVG","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","then","results","instrument","toString","forEach","id","axisName","units","zoomChart","nv","models","lineChartProgressAnimationAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","distXAxisScale","duration","showDistX","showLegend","showXAxis","noData","ex","forceX","addGraph","xAxis","tickPadding","showMaxMin","yAxis","axisLabel","tickFormat","distXAxis","fullRangeChartXDomainLength","utils","getDateAutoscaleFormat","Date","distX","size","distXTooltipBottomOffset","distXRiseUpAnimationDelay","lineWidth","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","attrs","updateProperties","extent","fullRangeChart","onBrushCall","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","activeTooltipContent","windowResize","update","e","log","JSON","stringify","state","focus","line","syncBrushing","independentBrushing","showYAxis","getQueryParams","Ember","Component","extend","store","inject","service","modelName","init","_super","arguments","loadModelName","filterEventsByAttributes","events","instrumentAttributes","eventAttributes","filter","event","i","length","instrumentAttr","eventAttr","eventAttrValue","get","chartId","startTimestamp","endTimestamp","isDistXTooltip","distXRiseUpAnimationDuration","seismicEventsChartDistXData","computed","key","type","color","values","map","valueOf","blastEventsChartDistXData","instrument","blastEvents","seismicEventsArray","time","timestamp","format","eventSize","momentMagnitude","location","sortBy","getLevelId","instrumentLevelId","id","error","getProjectId","instrumentProject","fetchValueFromStore","record","findRecord","console","blastEventsArray","instrumentProjectId","levelValue","projectValue","data_set","tonnes","project","level","zoomTempPoints","chartDataResult","zoomTempData","item","toJSON","linesKeys","Object","keys","chartData","getProperties","currentPort","port","attrs","getQueryParams","zoomDataPoints","zoomData","linesKyes","push","fullRangeDataPoints","zoomTimePoints","fullRangeTimePoints","anchorDistances","zoomChartLinesData","_this","chartLineName","chartLineIndex","yAxis","dataPoint","dataPointIndex","pop","shift","temp","concat","fullRangeChartLinesData","chartDataModelName","query","model_name","yAxisLegend","promise","queryRecord","title","substr","lastIndexOf","replace","modelNames","vwmodelName","then","vwproperties","forEach","vwproperty","log","calibColLabel","didInsertElement","zoomChartSVG","d3","select","fullRangeChartSVG","apiCallsPromises","RSVP","Promise","all","results","toString","instType","axisName","units","usesPoints","chartName","zoomChart","nv","models","lineChartWithFocusAPI","margin","top","right","bottom","left","useInteractiveGuideline","x","d","y","scale","category10","range","duration","showDistX","noData","legend","addGraph","xAxis","ticks","tickPadding","showMaxMin","tickFormat","zoomChartXDomainLength","utils","getDateAutoscaleFormat","Date","y1Axis","axisLabel","axisLabelDistance","y2Axis","distX","size","distXTooltipBottomOffset","isFixedDistXTooltip","distXRiseUpAnimationDelay","lineWidth","numDecimals","datum","call","dispatch","on","brushExtent","set","tooltip","hidden","updateProperties","extent","fullRangeChart","onBrushCall","selectControls","series","disabled","updateDistXTooltip","tooltipContent","tooltipText","tooltipClass","ppv","ppa","freq","distXMouseMove","distX0","onDistXTooltipShowCall","distX1","distXIndex","distX2","activeTooltipContent","windowResize","update","e","JSON","stringify","state","sendAction","graph_type","scatter","line","focus","syncBrushing","independentBrushing","showXAxis","showYAxis","fullRangeChartXDomainLength","ex","DropdownComponent","Component","constructor","arguments","loadInstrument","instrument","store","findRecord","args","instrumentId","Ember","Component","extend","isVisibleCreateNewForm","store","inject","service","trueAnchorDistances","channelsNum","get","iterations","Math","floor","linear","calib","depth","set","i","push","console","log","modelNames","computed","vwmodelName","query","then","vwproperties","length","forEach","vwproperty","calibColLabel","anchorDistances","channel","actions","updateProperty","propertyName","propertyValue","Ember","Component","extend","Ember","Component","extend","DropdownComponent","Component","constructor","arguments","loadInstrument","instrument","store","findRecord","args","instrumentId","Ember","Controller","extend","page_size","page","search","breadCrumbs","label","path","actions","sortBy","property","set","updateProperty","propertyName","propertyValue","ApplicationController","invalidateSession","console","log","session","invalidate","Ember","Controller","extend","_my_init","run","scheduleOnce","queryParams","page_size","eventsMeta","ordering","search","isVisibleRowDetails","isRowDeleteConfirmationDialog","isVisibleCreateNewForm","permissionError","project","level","breadCrumbs","label","path","actions","updateProperty","propertyName","propertyValue","set","vewRowDetails","id","curVal","get","toggleRowDeleteConfirmationDialog","remove","model","object","_this","deleteRecord","save","then","removeObject","catch","reason","errors","status","send","sortBy","property","setProject","event","selectedId","target","value","foundObjects","foundObject","find","lookup","console","log","setLevel","Ember","Controller","extend","store","inject","service","instType","id","gwType","gwId","isVisibleError","duplicateError","typeError","fieldError","instruments","searchedValue","loading","_my_init","set","newInstr","query","small","exclude","then","map","instr","title","get","value","type","on","allInstruments","computed","filter","instrument","instrumentChanged","instrumentTypeID","model","allGateways","gateways","gateway","gatewayChanged","gatewayTypeID","breadCrumbs","obj","label","path","actions","submit","transitionToRoute","setError","error","setValue","property","setID","inst","console","log","Ember","Controller","extend","gwType","id","isVisibleError","duplicateError","typeError","fieldError","allGateways","computed","filter","gateway","gateways","map","title","get","value","type","gatewayChanged","set","gatewayTypeID","model","breadCrumbs","obj","label","path","actions","submit","transitionToRoute","setError","error","setValue","property","setID","gw","CreateGatewayController","label","path","choseForm","value","console","log","Ember","set","submit","id","transitionToRoute","setError","error","CreateInstrumentController","label","path","choseForm","value","Ember","set","store","query","instrument_type","then","vendors","submit","id","transitionToRoute","setError","error","sortTypesByTitle","typesArray","sort","a","b","title","getInstrumentTypes","types","model","instrumentTypes","newTypesArr","forEach","element","push","resetNewLookupObject","_this","set","CreateInstrumentController","label","path","choseType","value","Ember","submit","id","transitionToRoute","createLookup","object","store","get","newLookupObject","name","type","alert","console","log","JSON","stringify","newLookup","dup","createRecord","err","setError","message","save","then","results","error","catch","reason","init","arguments","Ember","Controller","extend","breadCrumbs","get","alert","obj","label","path","model","instrumentTypeName","set","instrument","actions","saved","transitionToRoute","setError","error","value","Ember","Controller","extend","breadCrumbs","get","alert","obj","label","path","model","gatewayTypeName","set","instrument","actions","saved","transitionToRoute","setError","error","value","Ember","Controller","extend","session","queryParams","init","_super","arguments","queryParamParentGateway","parentGateway","window","localStorage","setItem","storedParentGateway","getItem","set","get","_parentGateway","key","value","breadCrumbs","gateway","obj","label","path","model","gatewayTypeLabel","computed","modelTemp","gatewayType","title","hasGraphs","getPerms","undefined","hasAlerts","perms","data","authenticated","modules","actions","viewData","id","transitionToRoute","tGraph","chart","saveToLocalStorage","loadFromLocalStorage","Ember","Controller","extend","session","breadCrumbs","get","instrument","obj","label","path","model","hasGraphs","getPerms","undefined","hasAlerts","perms","data","authenticated","modules","ports","computed","channelsNum","parseInt","ex","numberOfPorts","channel","push","route","console","log","JSON","stringify","actions","selectProperty","value","inst","prop","toArray","findBy","vendor","serial","viewData","id","transitionToRoute","tGraph","chart","sGraph","fGraph","Ember","Controller","extend","breadCrumbs","get","alert","obj","label","path","model","instrumentTypeName","set","instrument","actions","saved","transitionToRoute","setError","error","value","Ember","Controller","extend","xyRangeObj","router","inject","service","instrumentId","instrumentType","instrumentTypeId","name","location","level","borehole","project","modelName","activeInstrumentMeta","frequencyGraphController","controller","chartDataValueName","frequency","chartData","chart","chartDataPoints","adjust_scales","auto_scale","x_min","x_max","x_min_old","x_max_old","x_min_auto","x_max_auto","y_min","y_max","y_min_old","y_max_old","y_min_auto","y_max_auto","auto_scale_2","y_min_2","y_max_2","y_min_old_2","y_max_old_2","y_min_auto_2","y_max_auto_2","lastClick","instrumentAnchors","instrumentAnchorsSorting","chart_type","log_frequency","display_records","breadCrumbs","computed","get","mName","instID","instrument","toUpperCase","obj","label","path","query","model","chartChanged","observer","xyRangeValues","yDomain","yAxis","scale","domain","xDomain","xAxis","set","toFixed","xValueChanged","update","error","console","valueChanged","autoScaleChanged","getInstrumentObject","displayData","details","detailString","projectId","projectName","levelId","levelName","badCodes","includes","undefined","substr","length","bluVibe","instrumentAnchorsSorted","sort","refHeadPosition","rawData","timeRef","flipSigns","allInstruments","filter","instruments","map","title","value","initialInstrumentSelection","id","writeCookie","findBy","actions","updateNav","licence","modules","isValid","withinLimit","temporal","document","getElementById","style","display","spatial","alerts","updateProperties","propertyNames","propertyValues","_this","forEach","propertyName","i","toggleProperty","property","send","toggleLocalProperty","onUpdateTransitionTo","selection","RouterService","transitionTo","setChart","setData","data","selectTemps","points","ctr","disabled","userDisabled","selectReadings","activate","inst","readCookie","run","scheduleOnce","days","date","expires","Date","setTime","getTime","toGMTString","cookie","c","ca","nameEQ","split","charAt","substring","indexOf","Ember","Controller","extend","queryParams","start_timestamp","end_timestamp","num_points_requested","ref_head_position","ref_anchor","zeroed","modelName","flip_signs","frequency","chart","chart_type","display_records","raw","actions","setData","data","send","setChart","updateProperties","propertyNames","propertyValues","_this","length","forEach","propertyName","i","set","getQueryParams","variable","get","toggleProperty","property","Ember","Controller","extend","page_size","page","search","breadCrumbs","label","path","actions","sortBy","property","set","updateProperty","propertyName","propertyValue","refreshRoute","send","Ember","Controller","extend","_my_init","run","scheduleOnce","store","inject","service","queryParams","page_size","instrumentsMeta","ordering","search","searchTgt","page","lat","lng","zoom","mapBounds","computed","actions","sortByA","property","set","sortByI","sortByG","Ember","Controller","extend","page_size","page","search","breadCrumbs","label","path","actions","sortBy","property","set","updateProperty","propertyName","propertyValue","KeysController","updateActive","theModel","valid","active","ctr","tooltip","licenceKeys","forEach","theItem","id","isValidKey","count","numInst","modules","key","type","capitalizeFirstLetter","key2","set","remove","model","object","_this","_store","get","deleteRecord","save","then","unloadRecord","catch","reason","status","errors","errBox","hidden","toggleRowDeleteConfirmationDialog","curVal","Ember","string","charAt","toUpperCase","slice","ListLookupController","Ember","computed","valid","session","data","authenticated","isValid","startEditing","lookupId","lookup","console","log","set","stopEditing","setRDCD","value","rdcd","get","notifyPropertyChange","createLookup","router","transitionTo","updateActive","model","lookups","forEach","item","JSON","stringify","toggleRowDeleteConfirmationDialog","id","list","save","_this","_store","then","catch","reason","status","errors","errBox","hidden","remove","object","deleteRecord","unloadRecord","Ember","Controller","extend","page_size","page","search","breadCrumbs","label","path","actions","sortBy","property","set","updateProperty","propertyName","propertyValue","refreshRoute","send","LoginController","dothing","authenticate","e","preventDefault","identification","password","errorMessage","session","error","isAuthenticated","set","handleAuthentication","updateIdentification","target","value","updatePassword","ApplicationController","addTask","taskName","tasks","pushObject","name","percentage","updateTask","task","findBy","removeTask","removeObject","updateTaskStatus","taskId","response","fetch","status","json","setTimeout","Ember","Controller","extend","isVisibleExportDataForm","isVisibleImportDataForm","displacementValuesMeta","permissionError","linear","calib","depth","port_number","breadCrumbs","computed","get","instrument","obj","label","path","id","model","hasPorts","channelsNum","parseInt","ports","numberOfPorts","channel","push","linearData","calibData","depthData","isWire","prop","actions","updateProperty","propertyName","propertyValue","set","toggleDataType","property","toggleProperty","Ember","Controller","extend","queryParams","isVisibleExportDataForm","isVisibleImportDataForm","gatewayValuesMeta","permissionError","linear","calib","depth","raw_parent_gateway","breadCrumbs","computed","get","console","log","gateway","obj","label","path","id","model","actions","updateProperty","propertyName","propertyValue","set","toggleProperty","property","Ember","Controller","extend","_my_init","run","scheduleOnce","queryParams","page_size","eventsMeta","ordering","search","isVisibleImportDataForm","isVisibleRowDetails","isRowDeleteConfirmationDialog","isVisibleCreateNewForm","permissionError","breadCrumbs","label","path","actions","updateProperty","propertyName","propertyValue","set","vewRowDetails","id","curVal","get","toggleRowDeleteConfirmationDialog","toggleProperty","property","remove","model","object","_this","deleteRecord","save","then","removeObject","catch","reason","errors","status","send","sortBy","Ember","Controller","extend","loading","router","inject","service","authorized","computed","settings","get","auth","forEach","element","timeZones","id","title","resetLoading","set","actions","onClickLog","console","log","transitionTo","activate","Ember","Controller","extend","_my_init","run","scheduleOnce","on","instrumentId","instrumentType","instrumentTypeId","name","location","level","project","borehole","modelName","activeInstrumentMeta","spatialGraphController","inject","controller","eventType","blastType","seismicType","chartDataValueName","chartData","instrumentAnchors","instrumentAnchorsSorting","vendor","breadCrumbs","computed","get","chart","mName","instID","instrument","obj","label","path","query","model","id","store","peekRecord","isThermo","isRebar","displayData","details","detailString","projectId","projectName","levelId","levelName","badCodes","includes","undefined","substr","length","isAdictMDT","toLowerCase","vendorType","instrumentAnchorsSorted","sort","instrumentAnchorsForAdictMDT","pop","allInstruments","filter","refHeadPosition","timeRef","flipSigns","instruments","map","title","value","frequencySelect","groupTime","groupWindow","initialInstrumentSelection","writeCookie","findBy","actions","updateNav","licence","modules","isValid","withinLimit","temporal","document","getElementById","style","display","spatial","frequency","alerts","updateProperties","propertyNames","propertyValues","_this","forEach","propertyName","i","set","toggleProperty","property","send","updateActivefrequency","capitalize","frequency_num","events_only","updateGroupMode","group_window","freq","group_time","onUpdateTransitionTo","selection","typeID","isRebarGraph","RouterService","transitionTo","setChart","setData","data","activate","inst","readCookie","days","date","expires","Date","setTime","getTime","toGMTString","cookie","c","ca","nameEQ","split","charAt","substring","indexOf","Ember","Controller","extend","queryParams","start_timestamp","end_timestamp","num_points_requested","ref_head_position","ref_anchor","zeroed","modelName","flip_signs","event_type","blast_type","seismic_type","frequency","frequency_num","events_only","group_time","group_window","side","actions","setData","data","send","setChart","chart","updateProperties","propertyNames","propertyValues","_this","length","forEach","propertyName","i","set","getQueryParams","variable","get","toggleProperty","property","Ember","Controller","extend","queryParams","_my_init","run","scheduleOnce","on","gatewayId","gatewayType","gatewayTypeId","name","location","level","project","modelName","activeGatewayMeta","temporalGatewayGraphController","inject","controller","chartDataValueName","chartData","chart","chartDataPoints","adjust_scales","auto_scale","y_min","y_max","y_min_old","y_max_old","y_min_auto","y_max_auto","auto_scale_2","y_min_2","y_max_2","y_min_old_2","y_max_old_2","y_min_auto_2","y_max_auto_2","lastClick","gatewayAnchors","gatewayAnchorsSorting","depthChecked","chart_type","display_records","left_axis_field","right_axis_field","port","chart_parent_gateway","parentGateway","rawChecked","computed","get","breadCrumbs","badCodes","mName","gateway","gatewayID","id","includes","obj","label","path","query","model","chartChanged","observer","domain","y1Axis","scale","set","toFixed","y2Axis","send","valueChanged","yDomain1","update","autoScaleChanged","valueChanged2","yDomain2","autoScaleChanged2","window_value","window","displayData","details","detailString","substring","length","temperatureIsValid","gatewayAnchorsSorted","sort","depthData","depth","timeRef","allGateway","filter","map","title","value","initialGatewaySelection","writeCookie","findBy","actions","selectAxis","setDepth","updateNav","licence","modules","isValid","withinLimit","temporal","document","getElementById","style","display","spatial","frequency","alerts","updateProperties","propertyNames","propertyValues","_this","forEach","propertyName","i","toggleDataType","property","toggleProperty","toggleLocalProperty","propValue","updateLocalProperty","propertyValue","onUpdateTransitionTo","selection","tra","setChart","setData","data","disableTemp","points","element","yAxis","disabled","userDisabled","saveImage","html2canvas","querySelector","allowTaint","foreignObjectRendering","onrendered","canvas","downloadLink","createElement","setAttribute","toBlob","blob","url","URL","createObjectURL","click","selectTemps","ctr","selectReadings","activate","readCookie","transitionToRoute","numDecimals","roundVal","Math","pow","answer","ceil","floor","days","date","expires","Date","setTime","getTime","toGMTString","cookie","c","ca","nameEQ","split","charAt","indexOf","Ember","Controller","extend","queryParams","start_timestamp","end_timestamp","num_points_requested","ref_anchor","zeroed","depth","modelName","window","chart","chart_type","display_records","right_axis_field","left_axis_field","port","chart_parent_gateway","temporalGraphsController","inject","controller","depthObserver","observer","get","send","actions","toggleDataType","property","set","setData","data","setChart","updateWindow","updateProperties","propertyNames","propertyValues","_this","length","forEach","propertyName","i","getQueryParams","variable","toggleProperty","propValue","Ember","Controller","extend","willDestroy","_super","arguments","activeInstrumentMeta","get","set","init","_my_init","on","instrumentId","instrumentType","instrumentTypeId","name","location","level","borehole","project","modelName","temporalGraphController","inject","controller","eventType","blastType","seismicType","chartDataValueName","chartData","frequency","tiltMode","chart","chartDataPoints","adjust_scales","zeroed","auto_scale","y_min","y_max","y_min_old","y_max_old","y_min_auto","y_max_auto","auto_scale_2","y_min_2","y_max_2","y_min_old_2","y_max_old_2","y_min_auto_2","y_max_auto_2","lastClick","instrumentAnchors","instrumentAnchorsSorting","test","linearChecked","calibChecked","depthChecked","tiltZUp","chart_type","display_records","previousAnchor","router","service","vendor","port","selectedAnchor","shouldRerender","instrument","computed","content","getAnchor","instrumentTypeTitle","title","getInstrumentTypeToLower","toLowerCase","isDPPC","rawChecked","id","store","peekRecord","breadCrumbs","mName","instID","obj","label","path","query","model","chartChanged","observer","domain","y1Axis","scale","toFixed","y2Axis","send","valueChanged","yDomain1","update","autoScaleChanged","valueChanged2","yDomain2","autoScaleChanged2","isVelocityGraph","bluVibeEvent","window_value","window","typeSelect","isThermo","isPiezo","isWire","displayData","details","detailString","projectId","projectName","levelId","levelName","badCodes","includes","undefined","substr","length","displacementIsValid","axialDisplacementIsValid","velocityIsValid","temporalVelocityName","accelerationIsValid","temporalAccelerationName","strainIsValid","temporalStrainName","strainRateIsValid","temporalStrainRateName","axialIsValid","bendingIsValid","loadIsValid","temporalLoadName","temperatureIsValid","bluVibe","isAdictMDT","vendorType","e","console","log","instSelectedAnchor","instrumentAnchorsSorted","sort","instrumentAnchorsForAdictMDT","pop","refHeadPosition","linearData","calibData","depthData","depth","timeRef","flipSigns","allInstruments","filter","instruments","map","value","initialInstrumentSelection","writeCookie","findBy","randomValue","actions","setRandomValue","Math","floor","random","updatePort","newPortValue","currentPortValue","resetZoom","start_timestamp","end_timestamp","transitionTo","queryParams","handleAnchorSelection","event","save","setDepth","setLinear","setCalib","updateNav","licence","modules","isValid","withinLimit","temporal","document","getElementById","style","display","spatial","alerts","updateProperties","propertyNames","propertyValues","_this","forEach","propertyName","i","toggleDataType","property","toggleProperty","toggleZeroedGraph","toggleLocalProperty","propValue","updateLocalProperty","propertyValue","onUpdateTransitionTo","selection","RouterService","onUpdateTransitionToVibe","setChart","setData","data","disableTemp","points","element","yAxis","disabled","userDisabled","saveImage","html2canvas","querySelector","allowTaint","foreignObjectRendering","then","canvas","downloadLink","createElement","setAttribute","toBlob","blob","url","URL","createObjectURL","click","selectTemps","ctr","selectReadings","activate","inst","readCookie","run","scheduleOnce","numDecimals","roundVal","pow","answer","ceil","days","date","expires","Date","setTime","getTime","toGMTString","cookie","c","ca","nameEQ","split","charAt","substring","indexOf","Ember","Controller","extend","queryParams","start_timestamp","end_timestamp","num_points_requested","ref_head_position","ref_anchor","zeroed","linear","calib","depth","modelName","flip_signs","event_type","blast_type","tiltMode","window","seismic_type","frequency","chart","chart_type","display_records","port","selectedAnchor","temporalGraphsController","inject","controller","linearObserver","observer","get","send","calibObserver","depthObserver","actions","toggleDataType","property","set","setData","data","setChart","updateVibe","vibeID","updateWindow","updateProperties","propertyNames","propertyValues","_this","length","forEach","propertyName","i","getQueryParams","variable","toggleProperty","propValue","queryParamsDidChange","changes","from","to","Ember","Controller","extend","_my_init","run","scheduleOnce","headerTitles","computed","titles","queryParams","page_size","eventsMeta","ordering","search","isVisibleRowDetails","isRowDeleteConfirmationDialog","isVisibleCreateNewForm","permissionError","breadCrumbs","label","path","actions","updateProperty","propertyName","propertyValue","set","vewRowDetails","id","curVal","get","toggleRowDeleteConfirmationDialog","remove","model","object","_this","deleteRecord","save","then","removeObject","catch","reason","errors","status","send","sortBy","property","activeClass","val","Ember","Helper","helper","alertGetId","alertRow","gw","get","gwId","appVersion","_","hash","version","config","APP","versionOnly","hideSha","shaOnly","hideVersion","match","showExtended","versionExtendedRegExp","versionRegExp","shaRegExp","arrayAt","params","arr","index","undefined","anchorDistances","Ember","Helper","helper","buttonclass","anchor","ref_anchor","String","Ember","Helper","helper","refAnchor","anchorNumber","result","toString","console","log","currentDate","params","format","formatNumber","params","parseFloat","toFixed","Ember","Helper","helper","getArrayElement","params","undefined","index","Ember","Helper","helper","getArrayValue","array","idx","Ember","Helper","helper","ifEmptyStringOrNull","params","undefined","Ember","Helper","helper","isGreaterThan","params","Ember","Helper","helper","isInstrumentAnchorsSet","instrumentAnchors","instrumentAnchorsDistances","map","obj","get","indexOf","length","Ember","Helper","helper","isStrokeLengthRequiredAndSet","instrument","type","get","stroke","Ember","Helper","helper","logger","obj","console","log","pageTitle","parseint","params","parseInt","pluralize","range","values","start","count","ret","i","push","Ember","Helper","helper","singularize","sum","params","reduce","a","b","Ember","Helper","helper","validateDExto","params","key","value","displacementObj","data","tempData","slice","refInstrument","masterInstrument","masterDataArray","channels","currentInstrIndex","i","instr_position_index","instrumenPositionObj","id","instrumentID","Number","subExtoID","length","slaveDataArray","push","Ember","Helper","helper","validateInitialChannels","params","channelString","referenceAnchorObj","Ember","Helper","helper","name","version","config","APP","initialize","name","initialize","application","arguments","inject","name","initialize","app","arguments","register","ContainerDebugAdapter","inject","name","initialize","setupContainer","name","initialize","registry","config","ENV","rootURL","baseURL","Configuration","load","initialize","application","arguments","config","exportApplicationGlobal","theGlobal","window","global","self","value","globalName","Ember","String","classify","modulePrefix","reopen","willDestroy","_super","apply","name","initialize","Config","load","ENV","name","name","initialize","name","initialize","name","initialize","DS","Model","extend","values","attr","DS","Model","extend","selectedCh","attr","alert","belongsTo","DS","Model","extend","active","attr","inactive","total","alert","DS","Model","extend","isPerm","attr","isActive","isTriggered","isHandled","repeats","repeatWindow","initTriggerStamp","handleStamp","metric","direction","value","severity","response","target","inverted","refAnchor","message","windowType","windowLength","method","creator","creationDate","timeReference","lastStamp","instrument","belongsTo","async","gateway","anchors","hasMany","DS","Model","extend","number","attr","distance","instrument","belongsTo","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","timestamp","attr","defaultValue","location","east","north","depth","comments","isVisible","delay","level","belongsTo","async","project","stope","tonnes","size","blastType","DS","Model","extend","title","attr","blastEvent","hasMany","DS","Model","extend","instrument","attr","hasTemp","units","temporalDisplacementName","temporalVelocityName","temporalAccelerationName","temporalStrainName","temporalStrainRateName","temporalLoadName","spatialDisplacementName","spatialVelocityName","spatialAccelerationName","spatialStrainName","spatialStrainRateName","spatialLoadName","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","frequency","attr","values","DS","Model","extend","frequency","attr","values","DS","Model","extend","parentGateway","belongsTo","async","inverse","childGateway","isCurrent","attr","DS","Model","extend","intervalValue","attr","intervalName","intervalGroupName","DS","Model","extend","active","attr","inactive","total","alert","DS","Model","extend","values","attr","DS","Model","extend","title","attr","DS","Model","extend","values","attr","DS","Model","extend","parentGateway","belongsTo","inverse","undefined","async","children","hasMany","name","attr","gatewayType","project","location","depth","level","installDate","installedBy","purpose","notes","alerts","gatewayTypeID","active","gatewayReadInterval","gatewayUploadInterval","gatewayMeshCycleInterval","gatewayTransmissionPowerInterval","currentParent","targetUrl","lteBand","uploadStatus","apn","parentGatewayId","meshID","hasChildren","DS","Model","extend","title","attr","DS","Model","extend","active","attr","inactive","total","alert","DS","Model","extend","title","attr","base_unit","vendor","belongsTo","async","DS","Model","extend","channelsNum","attr","portsNum","name","zeroTimestamp","location","east","north","depth","azimuth","dip","project","belongsTo","async","level","borehole","installDate","installedBy","purpose","notes","anchorCount","anchors","hasMany","vwproperty","headAt","instrumentType","alerts","instrumentTypeID","instrumentStiffness","instrumentLength","strokeLength","baseLength","headExclusionLength","gaugeLength","referenceAnchor","bulbed","plated","stacked","active","elasticLimitPct","plasticLimitPct","ultimateLimitPct","elasticLimitFce","plasticLimitFce","ultimateLimitFce","youngsModulus","crossSectionalArea","boltDiameter","selectedAnchor","calculatedElasticLimitForce","Ember","computed","elf","axialStiffness","toFixed","console","log","vendor","undefined","stiffness","instrumentPosition1","inverse","instrumentPosition2","instrumentPosition3","instrumentPosition4","instrumentPosition5","DS","Model","extend","isValidKey","attr","startDate","endDate","numInst","softwareVersion","companyName","modules","DS","Model","extend","isValid","attr","withinLimit","companyName","modules","DS","Model","extend","values","attr","LogViewerModel","async","Model","DS","Model","extend","name","attr","type","value","DS","Model","extend","title","attr","symbol","unit","DS","Model","extend","title","attr","isRequired","defaultValue","value","valueType","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","timestamp","attr","defaultValue","location","east","north","depth","comments","isVisible","momentMagnitude","seismicMoment","sourceRadius","peakParticleVelocity","peakParticleAcceleration","energy","size","seismicType","belongsTo","async","DS","Model","extend","title","attr","seismicEvent","hasMany","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","DS","Model","extend","values","attr","VendorModel","async","Model","DS","Model","extend","timestamp","attr","defaultValue","instrument","ch1","trigger01","frequency01","amplitude01","ppv01","ppa01","duration01","ch2","trigger02","frequency02","amplitude02","ppv02","ppa02","duration02","ch3","trigger03","frequency03","amplitude03","ppv03","ppa03","duration03","ch4","trigger04","frequency04","amplitude04","ppv04","ppa04","duration04","DS","Model","extend","values","attr","DS","Model","extend","modelName","attr","vwproperty","hasMany","async","vwvendor","belongsTo","DS","Model","extend","port","attr","tempChan","serial","calcCoef1","calcCoef2","calcCoef3","calcCoef4","calcCoef5","calcCoef6","calcCoef7","calcCoef8","instrument","belongsTo","async","vwmodel","vendor","modelTypes","DS","Model","extend","vendorName","attr","vwmodel","hasMany","async","Router","config","locationType","rootURL","map","route","path","AuthenticatedRoute","beforeModel","transition","session","requireAuthentication","AlertsRoute","extend","queryParams","page","refreshModel","page_size","ordering","search","afterModel","resolvedModel","pageSize","alerts","query","alertMeta","meta","alertsController","controllerFor","send","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","console","log","getPerms","undefined","get","transitionTo","model","params","_this","Ember","RSVP","Promise","resolve","reject","instrument_isnull","stats","queryRecord","types","store","findAll","gateway_types","then","extend","BlastEventRoute","beforeModel","transition","session","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","blast","get","findAll","then","BlastsRoute","extend","queryParams","page","refreshModel","page_size","ordering","search","model","params","Ember","RSVP","hash","blastEvents","get","query","blastTypes","findAll","levelLookupList","store","name","projectLookupList","afterModel","resolvedModel","pageSize","eventsMeta","meta","blastEventsController","controllerFor","send","beforeModel","transition","session","requireAuthentication","CreateAlertRoute","extend","queryParams","inst_id","refreshModel","session","router","beforeModel","transition","requireAuthentication","perms","getPerms","undefined","get","transitionTo","data","authenticated","modules","model","params","_this","Ember","RSVP","Promise","resolve","reject","instrument","findRecord","instrumentTypes","store","findAll","then","CreateAlertRoute","extend","queryParams","gw_id","refreshModel","session","router","beforeModel","transition","requireAuthentication","perms","getPerms","undefined","get","transitionTo","data","authenticated","modules","model","params","_this","inst_id","Ember","RSVP","Promise","resolve","reject","gateways","findRecord","gatewayTypes","store","findAll","then","query","small","CreateGatewayRoute","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","getPerms","undefined","console","log","JSON","stringify","get","transitionTo","afterModel","model","types","gatewayTypes","content","sort","compare","params","_this","Ember","RSVP","Promise","resolve","reject","gateways","store","query","small","findAll","then","a","b","parseInt","id","CreateInstrumentRoute","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","getPerms","undefined","get","transitionTo","afterModel","model","types","instrumentTypes","content","sort","compare","params","_this","Ember","RSVP","Promise","resolve","reject","instrument","vendors","store","findAll","vwVendors","vwModels","headAts","levelLookupList","query","name","projectLookupList","then","a","b","parseInt","id","CreateLookupRoute","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","getPerms","undefined","get","transitionTo","afterModel","model","params","_this","lookups","store","findAll","counter","allNamesWithIds","seenNames","Set","forEach","lookup","name","has","add","push","id","uniqueNames","console","log","JSON","stringify","EditAlertRoute","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","getPerms","undefined","get","transitionTo","model","params","_this","Ember","RSVP","Promise","resolve","reject","instrumentTypes","store","findAll","alert","findRecord","alert_id","include","reload","then","EditGatewayAlertRoute","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","getPerms","undefined","get","transitionTo","model","params","_this","Ember","RSVP","Promise","resolve","reject","gatewayTypes","store","findAll","alert","findRecord","alert_id","include","gateway_isnull","reload","then","EditGatewayRoute","parentGateway","refreshModel","beforeModel","transition","session","requireAuthentication","model","params","localStorage","setItem","_this","Ember","RSVP","Promise","resolve","reject","gateways","store","query","small","gateway","get","findRecord","gateway_id","gatewayTypes","findAll","alerts","search","gateway_isnull","gatewayReadingIntervals","then","intervalResult","intervalReadings","filter","interval","intervalGroupName","gatewayUploadIntervals","intervalUploads","gatewayMeshCycleIntervals","gatewayRadioPowerLevelIntervals","EditInstrumentRoute","beforeModel","transition","session","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","instrument","get","findRecord","instrument_id","instrumentTypes","store","findAll","vendors","headAts","alerts","vwVendors","vwModels","levelLookupList","query","name","projectLookupList","then","FrequencyGraphsRoute","extend","model","params","a","get","Ember","RSVP","hash","instrument","queryRecord","instrument_id","setupController","controller","controllerFor","set","activate","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","getPerms","transitionTo","Ember","Route","extend","queryParams","start_timestamp","refreshModel","end_timestamp","num_points_requested","ref_head_position","ref_anchor","zeroed","raw","flip_signs","event_type","blast_type","seismic_type","frequency","display_records","chart_type","advancedYAxisUnit","advancedStartDate","advancedEndDate","advancedYLeftMax","advancedYLeftMin","advancedYRightMax","advancedYRightMin","advancedXMax","advancedXMin","model","params","_this","page_size","routeParams","paramsFor","instrument_id","seismicEvents","RSVP","Promise","resolve","reject","blastEvents","zoomDataQueryParams","copy","store","query","model_name","then","zoomData","closestZeroTimestamp","meta","zoomDataStartTimestamp","zoomDataEndTimestamp","typeID","substr","length","prevModel","temperatureParams","console","log","instrument","queryRecord","graphs","findAll","afterModel","resolvedModel","frequencyGraphsController","controllerFor","send","get","obj","content","type","toString","forEach","item","id","name","chartName","actions","setDataR","data","setChartR","chart","willTransition","GatewayAlertsRoute","extend","queryParams","page","refreshModel","page_size","ordering","search","afterModel","resolvedModel","gatewayPageSize","gatewayAlerts","query","gatewayAlertMeta","meta","alertsController","controllerFor","send","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","getPerms","undefined","get","transitionTo","model","params","_this","Ember","RSVP","Promise","resolve","reject","gateway__isnull","types","store","findAll","then","alerts","GatewayRoute","extend","queryParams","page","refreshModel","page_size","ordering","search","actions","refresh","afterModel","resolvedModel","transition","console","log","pageSize","gateway","query","gatewayMeta","meta","gatewayController","controllerFor","session","store","refreshLicence","send","beforeModel","requireAuthentication","window","localStorage","removeItem","model","params","_this","Ember","RSVP","Promise","resolve","reject","parent_gateway","get","gatewayStats","queryRecord","then","IndexRoute","page","refreshModel","page_size","ordering","search","searchTgt","resolvedModel","session","store","refreshLicence","beforeModel","transition","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","alertsParams","queryParams","test","slice","opt","console","log","alerts","get","query","instruments","alertStats","queryRecord","instrumentStats","gateway","gatewayStats","levelLookupList","name","projectLookupList","then","stats","InstrumentsRoute","extend","queryParams","page","refreshModel","page_size","ordering","search","afterModel","resolvedModel","transition","pageSize","instruments","query","instrumentMeta","meta","instrumentsController","controllerFor","session","store","refreshLicence","send","beforeModel","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","get","instrumentStats","queryRecord","levelLookupList","name","projectLookupList","then","KeysRoute","beforeModel","transition","session","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","licenceKeys","get","query","then","afterModel","resolvedModel","controllerFor","send","store","refreshLicence","KeysRoute","beforeModel","transition","session","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","lookups","store","findAll","then","afterModel","resolvedModel","controllerFor","send","refreshLicence","LogViewerRoute","extend","queryParams","page","refreshModel","page_size","ordering","search","startDate","endDate","actions","refresh","afterModel","resolvedModel","transition","pageSize","logViewer","query","logViewerMeta","meta","logViewerController","controllerFor","session","store","refreshLicence","send","beforeModel","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","errorTypeLookups","name","get","logViewerStats","queryRecord","then","LoginRoute","beforeModel","transition","from","session","prohibitAuthentication","RawDataRoute","page","refreshModel","page_size","paginate_from_zero","port","linear","calib","depth","port_number","advancedDateTimeFormat","advancedYAxisUnit","advancedStartDate","advancedEndDate","advancedYLeftMax","advancedYLeftMin","advancedYRightMax","advancedYRightMin","advancedXMax","advancedXMin","resetController","controller","isExiting","transition","console","log","set","beforeModel","session","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","instrument","get","findRecord","instrument_id","displacementValuesParams","model_name","originator","temperatureValuesParams","displacementValues","store","query","temperatureValues","instrumentTypes","findAll","then","afterModel","resolvedModel","rawDataValuesController","controllerFor","send","id","meta","RawGatewayDataRoute","page","refreshModel","page_size","paginate_from_zero","raw_parent_gateway","beforeModel","transition","session","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","gateway","get","findRecord","gateway_id","gatewayValuesParams","model_name","console","log","JSON","stringify","gatewayValues","store","query","gatewayTypes","findAll","then","afterModel","resolvedModel","rawDataValuesController","controllerFor","send","id","meta","SeismicEventRoute","beforeModel","transition","session","requireAuthentication","model","params","_this","Ember","RSVP","Promise","resolve","reject","seismic","get","findAll","then","SeismicsRoute","extend","queryParams","page","refreshModel","page_size","ordering","search","model","params","Ember","RSVP","hash","seismicEvents","get","query","seismicTypes","findAll","afterModel","resolvedModel","pageSize","eventsMeta","meta","seismicEventsController","controllerFor","send","beforeModel","transition","session","requireAuthentication","SettingsRoute","extend","model","params","get","query","beforeModel","transition","controllerFor","resetLoading","session","requireAuthentication","FrequencyGraphsRoute","extend","model","params","Ember","RSVP","hash","instrument","get","queryRecord","instrument_id","setupController","controller","controllerFor","set","activate","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","getPerms","transitionTo","Ember","Route","extend","queryParams","start_timestamp","refreshModel","end_timestamp","num_points_requested","ref_head_position","ref_anchor","zeroed","flip_signs","event_type","blast_type","seismic_type","frequency","frequency_num","events_only","group_time","group_window","progress_timestamps","side","model","params","_this","page_size","routeParams","paramsFor","instrument_id","seismicEvents","RSVP","Promise","resolve","reject","blastEvents","zoomDataQueryParams","copy","store","query","model_name","then","zoomData","closestZeroTimestamp","meta","zoomDataStartTimestamp","zoomDataEndTimestamp","typeID","substr","length","prevModel","zoomDataSecondCall","fullRangeData","get","instrument","queryRecord","graphs","findAll","is_visible","afterModel","resolvedModel","spatialGraphsController","controllerFor","send","mName","iName","obj","type","toString","forEach","item","id","name","lastIndexOf","exception","console","log","spatialDisplacementName","spatialVelocityName","spatialAccelerationName","spatialStrainName","spatialStrainRateName","spatialLoadName","chartName","chartNameL","indexOf","capitalize","chartNameR","actions","setDataR","data","temporalGraphsController","setChartR","chart","willTransition","TemporalGatewayGraphsRoute","extend","model","params","a","get","Ember","RSVP","hash","gateway","queryRecord","gateway_id","setupController","controller","controllerFor","set","activate","perms","session","data","authenticated","modules","beforeModel","transition","requireAuthentication","getPerms","transitionTo","Ember","Route","extend","queryParams","start_timestamp","refreshModel","end_timestamp","num_points_requested","ref_head_position","ref_anchor","zeroed","linear","calib","depth","flip_signs","event_type","blast_type","seismic_type","frequency","chart_parent_gateway","chart_type","window","display_records","tiltMode","tiltZUp","model","params","_this","page_size","routeParams","paramsFor","gateway_id","RSVP","Promise","resolve","reject","zoomDataQueryParams","left_axis_field","right_axis_field","parentGateway","set","store","query","model_name","then","zoomData","closestZeroTimestamp","meta","zoomDataStartTimestamp","zoomDataEndTimestamp","gatewayID","zoomDataSecondCall","fullRangeData","raw","gateway","queryRecord","graphs","findAll","afterModel","resolvedModel","temporalGraphsController","controllerFor","send","get","level","obj","type","newObj","forEach","item","id","name","substr","lastIndexOf","exception","chartName","chartNameL","indexOf","chartNameR","actions","setDataR","data","setChartR","chart","willTransition","TemporalGraphsRoute","extend","model","params","a","get","Ember","RSVP","hash","instrument","queryRecord","instrument_id","setupController","controller","controllerFor","set","activate","resetController","isExiting","transition","content","save","e","console","log","perms","session","data","authenticated","modules","beforeModel","requireAuthentication","getPerms","transitionTo","Ember","Route","extend","afterModel","model","transition","_super","arguments","controller","set","instrument","selectedAnchor","queryParams","start_timestamp","refreshModel","end_timestamp","num_points_requested","ref_head_position","ref_anchor","zeroed","linear","calib","depth","flip_signs","event_type","blast_type","seismic_type","frequency","chart_type","window","display_records","port","advancedYAxisUnit","advancedStartDate","advancedEndDate","advancedYLeftMax","advancedYLeftMin","advancedYRightMax","advancedYRightMin","advancedXMax","advancedXMin","tiltMode","tiltZUp","resetController","isExiting","params","_this","page_size","routeParams","paramsFor","instrument_id","seismicEvents","RSVP","Promise","resolve","reject","blastEvents","vibeEvents","zoomDataQueryParams","copy","SINGLE_QUERY","zoomDataSecondCall","fullRangeData","store","query","model_name","then","zoomData","closestZeroTimestamp","meta","zoomDataStartTimestamp","zoomDataEndTimestamp","mName","isVibeGraph","SECOND_QUERY","raw","FULLRANGE_DATA","temperatureParams","zoomTempData","queryRecord","graphs","findAll","is_visible","query_name","vibeEventParams","vibe_id","resolvedModel","temporalGraphsController","controllerFor","send","get","level","obj","type","toString","forEach","item","id","name","substr","lastIndexOf","exception","temporalDisplacementName","undefined","temporalVelocityName","temporalStrainName","temporalStrainRateName","temporalLoadName","chartName","chartNameL","substring","indexOf","capitalize","chartNameR","finalVal","actions","setDataR","data","setChartR","chart","willTransition","VibrationsRoute","extend","queryParams","page","refreshModel","page_size","ordering","search","model","params","Ember","RSVP","hash","vibrationEvents","get","query","afterModel","resolvedModel","pageSize","eventsMeta","meta","vibeEventsController","controllerFor","send","beforeModel","transition","session","requireAuthentication","ApplicationSerializer","JSONAPISerializer","CustomAjaxService","AjaxService","ENV","API_PROTOCOL","API_URL","API_PORT","headers","session","data","authenticated","CookiesService","computedFromConfig","prop","ENV","extend","hasEmberTether","hasLiquidWormhole","hasLiquidTether","destinationElementId","get","Ember","MomentService","extend","defaultFormat","config","SessionService","ApplicationSessionStore","CookieStore","refreshLicence","cookie","restore","url","ENV","API_PROTOCOL","API_URL","API_PORT","endsWith","response","fetch","method","headers","authenticated","login","ok","licence","json","data","isValid","attributes","limit","modules","persist","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","Ember","HTMLBars","template","DS","Transform","extend","deserialize","serialized","serialize","deserialized","DS","Transform","extend","deserialize","serialized","serialize","deserialized","DS","Transform","extend","deserialize","serialized","serialize","deserialized"],"mappings":"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AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACRA,WAASC,mBAAT,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,aAAf,EAA8B;AACxC,aAAKC,GAAL,CAASF,YAAT,EAAuBC,aAAvB;AACH;;AAHI;AAjByB,GAAvB,C;;;;;;;;;;;;;iBCSAE,KAAK,CAACC,SAAN,CAAgBC,MAAhB,CAAuB,EAAvB,C;;;;;;;;;;;;;iBCAAC,KAAK,CAACC,SAAN,CAAgBC,MAAhB,CAAuB,CAClC;AACA;AACA;AACA;AACA;AACA;AACA;AAPkC,GAAvB,C;;;;;;;;;;;;;ACbf;AAGe,QAAMC,uBAAN,SAAsCC,kBAAtC,CAAgD;AAC/C,QAAVC,UAAU,GAAG;AACf,WAAKC,IAAL,CAAUC,KAAV,KAAoB,KAAKD,IAAL,CAAUE,WAA9B;AACD;;AAH4D;;;;;ACH/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;iBCLeC,mBAAUC,MAAV,CAAiB;AAC5BC,IAAAA,OAAO,EAAE,sBADmB;AAE5BC,IAAAA,YAAY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,OA7BI;;AA8BLC,MAAAA,MAAM,GAAE,CACJ;AACA;AACA;AACH;;AAlCI;AA5DmB,GAAjB,C;;;;;ACRf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;MCPqBC,uB,kEAAN,MAAMA,uBAAN,SAAsCC,kBAAtC,CAAgD;AAAA;AAAA;;AAAA;;AAAA,oCAItD,EAJsD;;AAAA,yCAKjD,EALiD;AAAA;;AAO/C,QAAVC,UAAU,GAAG;AACf,aAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB,YAAnB,CAAP;AACD;;AAGDC,IAAAA,cAAc,GAAG;AACf,WAAKF,KAAL,CAAWG,KAAX,CAAiB,YAAjB,EAA+B;AAAE;AAAF,OAA/B;AACD;;AAd4D,G;;;;;;;;;ACL/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACRA,WAASC,mBAAT,CAA6BC,KAA7B,EAAoC;AAChC,QAAIC,cAAc,GAAG;AACjB,sBAAgB,EADC;AAEj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,CAAWE,eAAlB;AACH;AACJ;;iBAEcC,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBR,OAApB,C;;;;;ACjBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACVO,WAASS,WAAT;AAA8C;AAA9C,IAA0D;AAAA,QAArC,CAACC,MAAD,EAASC,UAAU,GAAG,CAAtB,CAAqC;AAE7D;AACAD,IAAAA,MAAM,GAAGE,MAAM,CAACF,MAAD,CAAf;AACAC,IAAAA,UAAU,GAAGC,MAAM,CAACD,UAAD,CAAnB,CAJ6D,CAK7D;;AAEF,QAAID,MAAM,KAAKC,UAAf,EAA2B;AACzB;AACA,aAAO,uCAAP;AACH;;AAEC,WAAO,gCAAP;AACD;;iBAEc,oBAAOF,WAAP,C;;;;;ACjBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;iBCVeI,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoB,gBAAoC;AAAA,QAA3B,CAACC,SAAD,EAAYC,YAAZ,CAA2B;AACrE,QAAIC,MAAM,GAAGF,SAAS,CAACG,QAAV,OAAyBF,YAAY,CAACE,QAAb,EAAtC;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAa,4BAA2BL,SAAU,mBAAkBC,YAAa,aAAYC,MAAO,EAApG;AACA,WAAOA,MAAP;AACD,GAJc,C;;;;;;;;;;;;;iBCCA,oBAAO,SAASI,WAAT,CAAqBC;AAAM;AAA3B,IAAuC;AACzD,WAAO,uBAASC,MAAT,CAAgBD,MAAM,CAAC,CAAD,CAAtB,CAAP;AACH,GAFc,C;;;;;ACHf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChBO,WAASE,YAAT,CAAsBC,MAAtB,EAA8B;AACjC,WAAOC,UAAU,CAACD,MAAM,CAAC,CAAD,CAAP,CAAV,CAAsBE,OAAtB,CAA8BF,MAAM,CAAC,CAAD,CAApC,CAAP;AACH;;iBAEcG,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBN,YAApB,C;;;;;;;;;;;;;;ACJR,WAASO,eAAT,CAAyBC;AAAM;AAA/B,IAA2C;AAChD,QAAIA,MAAM,CAAC,CAAD,CAAN,IAAa,OAAOA,MAAM,CAAC,CAAD,CAAb,KAAqBC,SAAtC,EAAiD;AAC3C,UAAIC,KAAK,GAAGF,MAAM,CAAC,CAAD,CAAlB;AACA,aAAOA,MAAM,CAAC,CAAD,CAAN,CAAWE,KAAX,CAAP;AACH;AACJ;;iBAEcC,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBN,eAApB,C;;;;;;;;;;;;;;ACPR,WAASO,aAAT,CAAuBC,KAAvB,EAA8BC,GAA9B,EAAmC;AACxC,QAAI;AACF;AACA;AACA,aAAOD,KAAK,CAACC,GAAD,CAAZ;AACD,KAJD,CAIE,MAAM;AACN,aAAO,KAAP;AACD;AACF;;iBAGcC,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBL,aAApB,C;;;;;ACbf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChBO,WAASM,mBAAT,CAA6BC;AAAM;AAAnC,IAA+C;AAClD,QAAI,OAAOA,MAAM,CAAC,CAAD,CAAb,KAAqBC,SAAzB,EAAoC;AAChC,UAAID,MAAM,CAAC,CAAD,CAAN,KAAc,IAAd,IAAsBA,MAAM,CAAC,CAAD,CAAN,KAAc,EAApC,IAA0CA,MAAM,CAAC,CAAD,CAAN,KAAc,GAA5D,EAAiE;AAC7D,eAAO,IAAP;AACH;AACJ;AACJ;;iBAEcE,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBL,mBAApB,C;;;;;ACVf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChBO,WAASM,aAAT,CAAuBC,MAAvB,EAA+B;AAClC,QAAIA,MAAM,CAAC,CAAD,CAAN,IAAaA,MAAM,CAAC,CAAD,CAAvB,EAA4B;AACxB,aAAOA,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAAzB;AACH;AACJ;;iBAEcC,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBJ,aAApB,C;;;;;;;;;;;;;;ACNR,WAASK,sBAAT,OAAqD;AAAA,QAArB,CAACC,iBAAD,CAAqB;AAExD,QAAIC,0BAA0B,GAAGD,iBAAiB,CAACE,GAAlB,CAAsB,UAASC,GAAT,EAAa;AAChE,aAAOA,GAAG,CAACC,GAAJ,CAAQ,UAAR,MAAwB,EAAxB,IAA8BD,GAAG,CAACC,GAAJ,CAAQ,UAAR,MAAwB,IAA7D;AACH,KAFgC,CAAjC;;AAIA,QAAIH,0BAA0B,CAACI,OAA3B,CAAmC,KAAnC,IAA4C,CAAC,CAA7C,IAAkDJ,0BAA0B,CAACK,MAA3B,KAAsC,CAA5F,EAA+F;AAC3F,aAAO,KAAP;AACH,KAFD,MAEO;AACH,aAAO,IAAP;AACH;AACJ;;iBAEcC,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBV,sBAApB,C;;;;;ACff;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACVO,WAASW,4BAAT,CAAsCC,UAAtC,EAAkD;AAErD,QAAIC,IAAI,GAAGD,UAAU,CAAC,CAAD,CAAV,CAAcE,GAAd,CAAkB,kBAAlB,CAAX;AACA,QAAIC,MAAM,GAAGH,UAAU,CAAC,CAAD,CAAV,CAAcE,GAAd,CAAkB,cAAlB,CAAb,CAHqD,CAKrD;;AAEA,YAAOD,IAAP;AACI,WAAK,CAAL;AACA,WAAK,CAAL;AACA,WAAK,CAAL;AACA,WAAK,CAAL;AACI,YAAIE,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,CAAlC,EAAqC;AACjC,iBAAO,KAAP;AACH,SAFD,MAEO;AACH,iBAAO,IAAP;AACH;;AACD;;AACJ;AACI,eAAO,IAAP;AAZR;AAcH;;iBAEcC,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBP,4BAApB,C;;;;;ACzBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChBO,WAASQ,MAAT,OAAuB;AAAA,QAAP,CAACC,GAAD,CAAO;AAC1BC,IAAAA,OAAO,CAACC,GAAR,CAAY,qCAAZ;AACAD,IAAAA,OAAO,CAACC,GAAR,CAAYF,GAAZ;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAY,oCAAZ;AACA,WAAO,EAAP,CAJ0B,CAIf;AACd;;iBAEc,oBAAOH,MAAP,C;;;;;ACTf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;iBChBeI,kB;;;;;;;;;;;;;ACAR,WAASC,QAAT,CAAkBC;AAAM;AAAxB,IAAoC;AACzC,WAAOC,QAAQ,CAACD,MAAM,CAAC,CAAD,CAAP,CAAf;AACD;;iBAEc,oBAAOD,QAAP,C;;;;;ACNf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;iBCXeG,kB;;;;ACDf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChBO,WAASC,KAAT,CAAeC,MAAf,EAAuB;AAC1B,QAAIC,KAAK,GAAGD,MAAM,CAAC,CAAD,CAAlB;AACA,QAAIE,KAAK,GAAGF,MAAM,CAAC,CAAD,CAAlB;AAEA,QAAIG,GAAG,GAAG,EAAV;;AACA,SAAI,IAAIC,CAAC,GAAG,CAAZ,EAAeA,CAAC,GAAGF,KAAnB,EAA0BE,CAAC,EAA3B,EAA+B;AAC7BD,MAAAA,GAAG,CAACE,IAAJ,CAASD,CAAC,GAACH,KAAX;AACD;;AACD,WAAOE,GAAP;AACH;;iBAEcG,KAAK,CAACC,MAAN,CAAaC,MAAb,CAAoBT,KAApB,C;;;;;ACbf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;iBCjBeU,oB;;;;;;;;;;;;;ACDR,WAASC,GAAT,CAAaC,MAAb,EAAqB;AACxB,WAAOA,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;;;;;iBCVeC,mBAAGC,SAAH,CAAaC,MAAb,CAAoB;AACjCC,IAAAA,WAAW,CAACC,UAAD,EAAa;AACtB,aAAOA,UAAP,CADsB,CACH;AACpB,KAHgC;;AAKjCC,IAAAA,SAAS,CAACC,YAAD,EAAe;AACtB,UAAGA,YAAY,KAAK,EAApB,EAAwB;AACtBA,QAAAA,YAAY,GAAG,IAAf;AACD;;AACD,aAAOA,YAAP,CAJsB,CAID;AACtB;;AAVgC,GAApB,C;;;;;ACFf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;iBCVeC,mBAAGC,SAAH,CAAaC,MAAb,CAAoB;AACjCC,IAAAA,WAAW,CAACC,UAAD,EAAa;AACtB,aAAOA,UAAP,CADsB,CACH;AACpB,KAHgC;;AAKjCC,IAAAA,SAAS,CAACC,YAAD,EAAe;AACtB,UAAGA,YAAY,KAAK,IAApB,EAA0B;AACxBA,QAAAA,YAAY,GAAG,EAAf;AACD;;AACD,aAAOA,YAAP,CAJsB,CAID;AACtB;;AAVgC,GAApB,C;;;;;ACFf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;","file":"geotechnical-data-platform-new.js"}