{"version":3,"sources":["alt.js","actions/AppActions.js","lib/Path.js","lib/setValueByPath.js","stores/AppStore.js","lib/notifier.js","components/Menu.js","lib/config.js","lib/connection.js","components/Home.js","lib/RequestMethod.js","lib/nullsyValueToEmptyString.js","lib/isNullsy.js","lib/objectToQuerystring.js","lib/isNullOrWhitespace.js","lib/request.js","lib/handleRequestError.js","lib/http.js","lib/PlacementMode.js","lib/addEnumMethods.js","components/Pager.js","components/Items.js","components/forms/BoundSelect.js","lib/fetchLookups.js","components/HealthAndSafety.js","lib/ctrlS.js","components/forms/FormGroup.js","components/forms/BoundTextInput.js","components/forms/BoundEnumSelect.js","components/forms/BoundTextArea.js","components/forms/BoundDecimalInput.js","history.js","lib/navigateTo.js","components/forms/BoundCheckbox.js","lib/validateItem.js","lib/getColors.js","components/Item.js","lib/toInputDate.js","components/forms/BoundDateInput.js","components/Incident.js","components/HealthAndSafetyData.js","components/HealthAndSafetySync.js","components/SpatialAnchors.js","components/SpatialAnchor.js","App.js","registerServiceWorker.js","index.js"],"names":["alt","Alt","AppActions","statePath","data","part","persist","stateArray","createActions","Path","Object","classCallCheck","this","args","Array","prototype","slice","call","arguments","route","selectn","_","isArray","concat","apply","map","arg","String","split","construct","toConsumableArray","initial","join","setRouteValue","obj","value","o","x","each","key","parent","newObject","fetchObject","property","last","push","remove","r","isEqual","setValue","setValueByPath","path","AppStore","bindListeners","handleUpdateState","UPDATE_STATE","handleUpdateStates","UPDATE_STATES","_ref","states","_this","state","createStore","defaultNotification","title","message","level","position","autoDismiss","dismissible","action","actionState","NotificationLevel","Notify","Success","Info","Warning","Error","notifier","Notifier","notificationSystem","Level","notification","n","assign","addNotification","Menu","props","possibleConstructorReturn","getPrototypeOf","toggle","bind","assertThisInitialized","isOpen","setState","pathname","react_default","a","createElement","Navbar","color","dark","className","expand","Link","to","index_es","icon","faHome","NavbarToggler","onClick","Collapse","navbar","Nav","NavItem","style","React","Component","config","Config","apiServiceBaseUri","window","location","host","mixiplyUri","connection","HubConnectionBuilder","withUrl","build","Home","_Component","inherits","createClass","setTimeout","updateStates","localStorage","getItem","visibility","updateState","setItem","_this$props","apiKey","mixId","groupName","connectionError","connected","joined","_this$props$visibilit","Container","es_FormGroup","row","Label","for","sm","Col","InputGroup","Input","type","id","onChange","event","updateStateAndLocalStorage","target","InputGroupAddon","addonType","Button","setVisibility","faEyeSlash","faEye","UncontrolledTooltip","placement","Alert","joinGroup","_this$props2","invoke","RequestMethod","Get","Post","Put","Delete","nullsyValueToEmptyString","isUndefined","isNull","isNaN","isNullsy","objectToQuerystring","params","search","appendParams","_loop","param","hasOwnProperty","item","encodeURIComponent","isObject","isNullOrWhitespace","text","trim","length","extractValue","collection","sendData","req","options","files","formData","FormData","append","JSON","stringify","i","file","Blob","File","fileName","send","request","method","url","headers","replace","$0","token","test","interpolateUrl","xsrfToken","matches","document","cookie","match","decodeURIComponent","decodeError","getXsrfCookie","addXsrfToken","addContentType","queryString","appendSearchParams","Promise","resolve","reject","_i","_Object$keys","keys","set","applyHeaders","post","put","del","get","applyMethod","makeRequest","Request","end","err","response","body","getErrorMessage","modelState","errors","getModelStateErrors","handleRequestError","error","isHtml","statusText","statusCode","label","callback","open","write","notify","console","log","apiGetDeleteArguments","find","_$filter","filter","isFunction","_$filter2","slicedToArray","_$filter2$","onSuccess","noop","_$filter2$2","onError","apiPostPutArguments","_$filter3","_$filter4","_$filter5","_$filter6","_$filter6$","_$filter6$2","getHeaders","accessToken","authorization","tokenHasExpired","expires","minutes","secondsSinceUnixEpoch","utc","moment","unix","diff","minutesRemaining","getAccessToken","stores","then","catch","enumObj","addEnumMethods","None","Preview","parse","propertyNamesByValue","reduce","result","name","parseEnum","nameOfEnumValue","namesByValue","capitalize","kebabCase","keyOfEnumValue","Pager","pageSize","total","skip","onPageSelected","pageIndex","lowerIndex","upperIndex","pages","index","s","number","current","pageLinks","page","PaginationItem","active","PaginationLink","href","selectedIndex","indexOf","prevLink","previous","disabled","aria-label","nextLink","next","disbaled","Pagination","Items","update","items","rows","description","positionX","positionY","positionZ","scaleX","scaleY","scaleZ","rotationX","rotationY","rotationZ","PlacementMode","placementMode","layer","fluid","rel","Table","size","hover","colSpan","components_Pager","BoundSelect","onSelected","optionElements","objectWithoutProperties","option","newValue","componentProps","fetchLookups","l","lookups","HealthAndSafety","searchParams","siteName","siteType","siteLatitude","siteLongitude","region","hazards","incidentType","isInjury","incidentRiskRating","activityTaskInvolved","consequenceDescription","consequence","incidentCategory","incidentSubCategory","incidentLevel","injuryType","injuryTypeShort","injuryBodyPart","injuryConsequence","incidentCount","injuryCount","incidentDate","reportedDate","actualDate","filterRow","renderLookup","Spinner","_this2","_this$props2$searchPa","lookupOptions","lookup","forms_BoundSelect","_this$props3","_this$props3$searchPa","objectSpread","ctrlS","onSave","charCode","fromCharCode","which","toLowerCase","ctrlKey","preventDefault","metaKey","FormGroup","htmlFor","children","BoundTextInput","onChangeListener","getValue","element","val","BoundEnumSelect","enumType","onEnumSelected","applyFilter","BoundTextArea","format","BoundDecimalInput","Number","history","createBrowserHistory","navigateTo","pathOrLocationDescriptor","BoundCheckbox","checked","handleOnChange","inlineLabel","CustomInput","inline","validateItem","isValidMixId","exec","isValidData","validateDataMessage","e","getColors","colors","getColorsFromValue","v","getColorsFromObject","p","uniq","Item","nextProps","_this$props$step","step","_this$props$lockScale","lockScale","_validateItem","onKeyDown","save","forms_FormGroup","forms_BoundTextInput","maxLength","forms_BoundEnumSelect","Row","form","md","forms_BoundDecimalInput","forms_BoundCheckbox","oldValue","onScaleChanged","forms_BoundTextArea","c","height","width","backgroundColor","n1","n2","_this$props2$lockScal","pop","pcChange","calcPc","applyChange","propertyToChange","isFinite","toLocaleString","maximumFractionDigits","newValuePath","_this3","_this$props4","_validateItem2","isNew","content","sendUpdate","toInputDate","dateString","_dateString$split$0$s","_dateString$split$0$s2","yyyy","MM","dd","BoundDateInput","_dateString$split","_dateString$split2","toISODate","Incident","incident","fetchSiteLatLong","forms_BoundDateInput","siteNames","includes","lat","long","onSelectedCallback","HealthAndSafetyData","display","HealthAndSafetySync","sync","renderSiteName","SpatialAnchors","anchors","anchor","dateTimeCreatedUtc","local","SpatialAnchor","App","NotificationSystem_default","ref","initialize","components_Menu","Route","exact","render","Home_Home","SpatialAnchors_SpatialAnchors","SpatialAnchor_SpatialAnchor","Items_Items","Item_Item","HealthAndSafety_HealthAndSafety","HealthAndSafetyData_HealthAndSafetyData","HealthAndSafetySync_HealthAndSafetySync","Incident_Incident","getState","withRouter","connectToStores","Boolean","hostname","baseUrl","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","Router","basename","src_App","start","toString","on","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.dd6d93df.chunk.js","sourcesContent":["import Alt from 'alt';\r\nconst alt = new Alt();\r\nexport default alt;","import alt from './../alt';\r\n\r\nclass AppActions {\r\n updateState(statePath, data, part, persist) {\r\n return {\r\n statePath,\r\n data,\r\n part,\r\n persist\r\n };\r\n }\r\n\r\n updateStates(stateArray) {\r\n return stateArray;\r\n }\r\n}\r\n\r\nexport default alt.createActions(AppActions);","import selectn from 'selectn';\r\nimport _ from 'lodash';\r\n\r\nclass Path {\r\n constructor() {\r\n const args = [...arguments];\r\n\r\n const route = selectn('0.route', args);\r\n\r\n this.route = _.isArray(route)\r\n ? route\r\n : [].concat.apply([], args.map(arg => String(arg).split('.')));\r\n }\r\n\r\n create() {\r\n return new Path(...this.route, ...arguments);\r\n }\r\n\r\n parent() {\r\n return new Path(..._.initial(this.route));\r\n }\r\n\r\n toString() {\r\n return this.route.join('.');\r\n }\r\n}\r\n\r\nexport default Path;","import _ from 'lodash';\r\nimport Path from './Path';\r\n\r\nfunction fetchObject(obj, route) {\r\n let x = obj;\r\n _.each(route, key => {\r\n x = x[key] || newObject(x, key);\r\n });\r\n\r\n return x;\r\n}\r\n\r\nfunction newObject(parent, key) {\r\n let obj = {};\r\n parent[key] = obj;\r\n return obj;\r\n}\r\n\r\nfunction setValue(obj, property, value) {\r\n obj[property] = value;\r\n}\r\n\r\nfunction setRouteValue(obj, route, value, part) {\r\n let o = fetchObject(obj, _.initial(route));\r\n\r\n let property = _.last(route);\r\n\r\n switch (part) {\r\n case 'delete':\r\n delete o[property];\r\n break;\r\n case 'array-add':\r\n if (o[property]) {\r\n o[property].push(value);\r\n }\r\n break;\r\n case 'array-remove':\r\n if (o[property]) {\r\n _.remove(o[property], r => _.isEqual(r, value));\r\n }\r\n break;\r\n case 'array-concat':\r\n if (o[property]) {\r\n o[property] = o[property].concat(value);\r\n } else {\r\n o[property] = value;\r\n }\r\n break;\r\n default:\r\n setValue(o, property, value);\r\n break;\r\n }\r\n}\r\n\r\nexport default function setValueByPath(obj, path, value, part) {\r\n let route = new Path(path).route;\r\n setRouteValue(obj, route, value, part);\r\n}","import alt from './../alt';\r\nimport AppActions from './../actions/AppActions';\r\nimport setValueByPath from './../lib/setValueByPath';\r\nimport _ from 'lodash';\r\n\r\nclass AppStore {\r\n constructor() {\r\n this.bindListeners({\r\n handleUpdateState: AppActions.UPDATE_STATE,\r\n handleUpdateStates: AppActions.UPDATE_STATES\r\n });\r\n }\r\n\r\n handleUpdateState({statePath, data, part}) {\r\n if (statePath) {\r\n setValueByPath(this, statePath, data, part);\r\n }\r\n }\r\n\r\n handleUpdateStates(states) {\r\n _.each(states, state => {\r\n setValueByPath(this, state.statePath, state.data, state.part);\r\n });\r\n }\r\n}\r\n\r\nexport default alt.createStore(AppStore, 'AppStore');","const defaultNotification = {\r\n \"title\": \"\",\r\n \"message\": \"\",\r\n \"level\": \"info\",\r\n \"position\": \"tr\",\r\n \"autoDismiss\": 5,\r\n \"dismissible\": true,\r\n \"action\": null,\r\n \"actionState\": false\r\n};\r\n\r\nconst NotificationLevel = {\r\n Notify: \"notify\",\r\n Success: \"success\",\r\n Info: \"info\",\r\n Warning: \"warning\",\r\n Error: \"error\"\r\n};\r\n\r\nclass Notifier {\r\n constructor() {\r\n this.notificationSystem = null;\r\n this.Level = NotificationLevel;\r\n }\r\n\r\n initialize(notificationSystem) {\r\n this.notificationSystem = notificationSystem;\r\n }\r\n\r\n notify(notification) {\r\n let n = Object.assign({}, defaultNotification, notification);\r\n\r\n this.notificationSystem.addNotification(n);\r\n }\r\n}\r\n\r\nconst notifier = new Notifier();\r\n\r\nexport default notifier;","import React from 'react';\r\nimport {\r\n Collapse,\r\n Navbar,\r\n NavbarToggler,\r\n Nav,\r\n NavItem\r\n} from 'reactstrap';\r\nimport {Link} from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faHome } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nclass Menu extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.toggle = this.toggle.bind(this);\r\n this.state = {\r\n isOpen: false\r\n };\r\n }\r\n\r\n toggle() {\r\n this.setState({\r\n isOpen: !this.state.isOpen\r\n });\r\n }\r\n\r\n render() {\r\n const {pathname} = this.props;\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n}\r\n\r\nexport default Menu;","class Config {\r\n constructor() {\r\n const apiServiceBaseUri = 'https://' + window.location.host + '/';\r\n\r\n this.apiServiceBaseUri = apiServiceBaseUri;\r\n this.mixiplyUri = 'https://mixiply.com/';\r\n }\r\n}\r\n\r\nconst config = new Config();\r\nexport default config;","import config from './config';\r\nimport {HubConnectionBuilder} from '@aspnet/signalr';\r\n\r\nconst connection = new HubConnectionBuilder().withUrl(config.mixiplyUri + \"liveDataHub\").build();\r\nexport default connection;","import React, {Component} from 'react';\r\nimport {Button, Col, Container, FormGroup, Input, InputGroup, InputGroupAddon, Label, Alert, UncontrolledTooltip} from \"reactstrap\";\r\nimport AppActions from './../actions/AppActions';\r\nimport connection from './../lib/connection';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faEyeSlash, faEye } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nexport class Home extends Component {\r\n componentDidMount() {\r\n setTimeout(() => {\r\n AppActions.updateStates([\r\n {statePath: 'apiKey', data: window.localStorage.getItem('apiKey') || ''},\r\n {statePath: 'mixId', data: window.localStorage.getItem('mixId') || ''},\r\n {statePath: 'groupName', data: window.localStorage.getItem('groupName') || ''}\r\n ]);\r\n }, 0);\r\n }\r\n\r\n setVisibility(visibility) {\r\n AppActions.updateState(\"visibility\", !visibility);\r\n }\r\n\r\n updateStateAndLocalStorage(key, value) {\r\n AppActions.updateState(key, value);\r\n window.localStorage.setItem(key, value);\r\n }\r\n\r\n render() {\r\n const {apiKey, mixId, groupName, connectionError, connected, joined, visibility=true} = this.props;\r\n\r\n return (\r\n \r\n

Digital Twin Portal

\r\n\r\n \r\n \r\n \r\n \r\n this.updateStateAndLocalStorage('apiKey', event.target.value)} />\r\n \r\n {\r\n this.setVisibility(visibility);\r\n }}\r\n >\r\n {visibility ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {visibility ? \"Hide\": \"Show\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.updateStateAndLocalStorage('mixId', event.target.value)}/>\r\n \r\n \r\n\r\n \r\n \r\n \r\n this.updateStateAndLocalStorage('groupName', event.target.value)}/>\r\n \r\n \r\n {connectionError && {connectionError}}\r\n {connected && Connected}\r\n {joined && Joined {joined}}\r\n {connected && joined !== groupName && }\r\n
\r\n );\r\n }\r\n\r\n joinGroup() {\r\n const {mixId, groupName} = this.props;\r\n\r\n connection.invoke(\"Join\", mixId, groupName);\r\n\r\n AppActions.updateState('joined', groupName);\r\n }\r\n}","const RequestMethod = {\r\n Get: 'GET',\r\n Post: 'POST',\r\n Put: 'PUT',\r\n Delete: 'DELETE'\r\n};\r\n\r\nexport default RequestMethod;","import isNullsy from './isNullsy';\r\n\r\nexport default function (value) {\r\n if (isNullsy(value)) {\r\n return '';\r\n }\r\n\r\n return value;\r\n};","import _ from 'lodash';\r\n\r\nexport default function (value) {\r\n return _.isUndefined(value) || _.isNull(value) || _.isNaN(value);\r\n};","import nullsyValueToEmptyString from './nullsyValueToEmptyString';\r\nimport _ from 'lodash';\r\n\r\nfunction appendParams(path, search, params) {\r\n if (params) {\r\n for (let param in params) {\r\n if (params.hasOwnProperty(param)) {\r\n let value = nullsyValueToEmptyString(params[param]);\r\n\r\n if (_.isArray(value)) {\r\n _.each(value, function (item) {\r\n item = nullsyValueToEmptyString(item);\r\n search.push(path + param + '=' + encodeURIComponent(item));\r\n });\r\n }\r\n else if (_.isObject(value)) {\r\n appendParams(param + '.', search, value);\r\n }\r\n else {\r\n search.push(path + param + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default function (params) {\r\n const search = [];\r\n appendParams('', search, params);\r\n return search.join('&');\r\n}","import _ from 'lodash';\r\n\r\nexport default function (text) {\r\n return _.trim(text || '').length === 0;\r\n}","import Request from 'superagent';\r\nimport RequestMethod from './RequestMethod';\r\nimport config from './../lib/config';\r\nimport selectn from 'selectn';\r\nimport objectToQuerystring from './../lib/objectToQuerystring';\r\nimport isNullOrWhitespace from \"./isNullOrWhitespace\";\r\n\r\nfunction request(options) {\r\n options.method = options.method || RequestMethod.Get;\r\n options.url = options.url || '';\r\n options.headers = options.headers || {};\r\n options.params = options.params || {};\r\n options.data = options.data || {};\r\n\r\n interpolateUrl(options);\r\n addXsrfToken(options);\r\n addContentType(options);\r\n appendSearchParams(options);\r\n\r\n return new Promise(function (resolve, reject) {\r\n const req = makeRequest(Request, options);\r\n\r\n req\r\n .end((err, response) => {\r\n if (err) {\r\n reject(err);\r\n } else {\r\n // const location = getLocation(options.method, response);\r\n\r\n resolve(response.body || response.text);\r\n }\r\n });\r\n });\r\n}\r\n\r\nfunction getLocation(method, response) {\r\n if (method !== RequestMethod.Put) {\r\n return null;\r\n }\r\n\r\n return selectn('header.location', response);\r\n}\r\n\r\nfunction appendSearchParams(options) {\r\n const queryString = objectToQuerystring(options.params);\r\n\r\n if (!isNullOrWhitespace(queryString)) {\r\n options.url += '?' + queryString;\r\n }\r\n\r\n return options;\r\n}\r\n\r\nfunction interpolateUrl(options) {\r\n options.url = options.url.replace(\r\n /:([a-zA-Z]+[\\w-]*)/g,\r\n ($0, token) => {\r\n // Try to move matching token from the params collection.\r\n if (options.params.hasOwnProperty(token)) {\r\n return (extractValue(options.params, token));\r\n }\r\n // Try to move matching token from the data collection.\r\n if (options.data.hasOwnProperty(token)) {\r\n return (extractValue(options.data, token));\r\n }\r\n // If a matching value couldn't be found, just replace\r\n // the token with the empty string.\r\n return (\"\");\r\n }\r\n );\r\n\r\n // Clean up any repeating slashes.\r\n options.url = options.url.replace(/(?:[^:])\\/{2,}/g, \"/\");\r\n\r\n // Clean up any trailing slashes.\r\n options.url = options.url.replace(/\\/+$/g, \"\");\r\n\r\n if (!/^https?:\\/\\//.test(options.url)) {\r\n options.url = config.apiServiceBaseUri + options.url;\r\n }\r\n\r\n return options;\r\n}\r\n\r\nfunction extractValue(collection, key) {\r\n var value = collection[key];\r\n delete (collection[key]);\r\n return value;\r\n}\r\n\r\nfunction addXsrfToken(options) {\r\n var xsrfToken = getXsrfCookie();\r\n if (xsrfToken) {\r\n options.headers[\"X-XSRF-TOKEN\"] = xsrfToken;\r\n }\r\n\r\n return options;\r\n}\r\n\r\nfunction getXsrfCookie() {\r\n var matches = document.cookie.match(/\\bXSRF-TOKEN=([^\\s;]+)/);\r\n try {\r\n return (matches && decodeURIComponent(matches[1]));\r\n } catch (decodeError) {\r\n return (\"\");\r\n }\r\n}\r\n\r\nfunction addContentType(options) {\r\n if (options.files && options.files.length && options.files[0]) {\r\n options.headers[\"Content-Type\"] = void 0;\r\n } else if (options.method !== RequestMethod.Get) {\r\n options.headers[\"Content-Type\"] = \"application/json; charset=UTF-8\";\r\n }\r\n\r\n return options;\r\n}\r\n\r\nfunction makeRequest(req, options) {\r\n req = applyMethod(req, options);\r\n req = applyHeaders(req, options);\r\n\r\n return req;\r\n}\r\n\r\nfunction applyHeaders(req, options) {\r\n for (let key of Object.keys(options.headers)) {\r\n req = req.set(key, options.headers[key]);\r\n }\r\n\r\n return req;\r\n}\r\n\r\nfunction sendData(req, options) {\r\n if (options.files && options.files.length && options.files[0]) {\r\n const formData = new FormData();\r\n formData.append(\"data\", JSON.stringify(options.data, null, 2));\r\n for (let i = 0; i < options.files.length; i++) {\r\n let file = options.files[i];\r\n let isBlob = file instanceof Blob;\r\n if (isBlob && 'fileName' in file) {\r\n file = new File([file], file.fileName, {type: file.type});\r\n }\r\n\r\n formData.append(\"file\" + i, file);\r\n }\r\n\r\n return req.send(formData);\r\n }\r\n\r\n return req.send(options.data);\r\n}\r\n\r\nfunction applyMethod(req, options) {\r\n switch (options.method) {\r\n case RequestMethod.Post:\r\n return sendData(req.post(options.url), options);\r\n case RequestMethod.Put:\r\n return sendData(req.put(options.url), options);\r\n case RequestMethod.Delete:\r\n return req.del(options.url);\r\n default:\r\n return req.get(options.url);\r\n }\r\n}\r\n\r\nexport default request;","import notifier from './../lib/notifier';\r\n\r\nfunction getModelStateErrors(modelState) {\r\n const errors = [];\r\n for (let key of Object.keys(modelState)) {\r\n errors.push((key ? `${key}: ` : '') + `${modelState[key].join(', ')}`);\r\n }\r\n\r\n return errors.join('; ');\r\n}\r\n\r\nfunction getErrorMessage(response) {\r\n if (response.type === 'application/json' && response.body) {\r\n if (response.body.message) {\r\n if (response.body.modelState) {\r\n return response.body.message + ' ' + getModelStateErrors(response.body.modelState)\r\n }\r\n\r\n return response.body.message;\r\n }\r\n\r\n return JSON.stringify(response.body, null, 2);\r\n }\r\n\r\n return response.text;\r\n}\r\n\r\nexport default function handleRequestError(error) {\r\n const response = error.response;\r\n\r\n if (response) {\r\n const isHtml = response.type === 'text/html';\r\n const title = `${response.statusText} ${response.statusCode}`;\r\n const message = isHtml ? '' : getErrorMessage(response);\r\n\r\n const action = isHtml\r\n ? {\r\n label: 'View error detail',\r\n callback: function () {\r\n const errorResponseWindow = window.open('', 'errorResponseWindow', 'toolbar=1,scrollbars=1,location=1,statusbar=0,menubar=1,resizable=1,width=800,height=600');\r\n errorResponseWindow.document.write(response.text);\r\n }\r\n }\r\n : null;\r\n\r\n notifier.notify({\r\n level: notifier.Level.Error,\r\n title: title,\r\n message: message,\r\n action\r\n });\r\n }\r\n else {\r\n if (error.message) {\r\n notifier.notify({\r\n level: notifier.Level.Error,\r\n title: 'Error',\r\n message: error.message\r\n });\r\n }\r\n else if (typeof error === \"object\") {\r\n notifier.notify({\r\n level: notifier.Level.Error,\r\n title: 'Error',\r\n message: JSON.stringify(error, null, 2)\r\n });\r\n } else {\r\n notifier.notify({\r\n level: notifier.Level.Error,\r\n title: 'Error',\r\n message: 'An error occurred, please check console for details.'\r\n });\r\n\r\n console.log(error);\r\n }\r\n }\r\n}","import alt from './../alt';\r\nimport RequestMethod from './../lib/RequestMethod';\r\nimport request from './../lib/request';\r\nimport selectn from 'selectn';\r\nimport _ from 'lodash';\r\nimport handleRequestError from './../lib/handleRequestError';\r\nimport moment from 'moment';\r\nimport AppActions from './../actions/AppActions';\r\n\r\nfunction apiGetDeleteArguments() {\r\n const args = [...arguments];\r\n\r\n const params = _.find(args, arg => typeof arg === \"object\") || void 0;\r\n const [onSuccess = _.noop, onError = handleRequestError] = _.filter(args, arg => _.isFunction(arg));\r\n\r\n return {\r\n params,\r\n onSuccess,\r\n onError\r\n };\r\n}\r\n\r\nfunction apiPostPutArguments() {\r\n const args = [...arguments];\r\n\r\n let [params, data] = _.filter(args, arg => !_.isFunction(arg) && !_.isArray(arg));\r\n\r\n if (!data) {\r\n data = params;\r\n params = {};\r\n }\r\n\r\n const [onSuccess = _.noop, onError = handleRequestError] = _.filter(args, arg => _.isFunction(arg));\r\n const files = _.find(args, arg => _.isArray(arg)) || [];\r\n\r\n return {\r\n params,\r\n data,\r\n onSuccess,\r\n onError,\r\n files\r\n };\r\n}\r\n\r\nfunction getHeaders(accessToken) {\r\n const headers = {};\r\n\r\n if (accessToken) {\r\n headers.authorization = `Bearer ${accessToken}`;\r\n }\r\n\r\n const apiKey = window.localStorage.getItem('apiKey');\r\n\r\n if (apiKey) {\r\n headers['Api-Key'] = apiKey;\r\n }\r\n\r\n return headers;\r\n}\r\n\r\nfunction minutesRemaining(secondsSinceUnixEpoch) {\r\n const utc = moment.utc();\r\n const expiry = moment.unix(+(secondsSinceUnixEpoch));\r\n return expiry.diff(utc, 'minutes');\r\n}\r\n\r\nfunction tokenHasExpired(expires) {\r\n if (expires) {\r\n let minutes = minutesRemaining(expires);\r\n\r\n console.log('Expires in ' + minutes + ' minutes.');\r\n\r\n if (minutes <= 5) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction getAccessToken(alt, updateState) {\r\n return new Promise(function (resolve, reject) {\r\n const state = alt.stores.AppStore.state;\r\n const accessToken = selectn('authData.accessToken', state);\r\n\r\n if (accessToken) {\r\n let expires = selectn('authData.expires', state);\r\n\r\n if (tokenHasExpired(expires)) {\r\n resolve(null);\r\n } else {\r\n resolve(accessToken);\r\n }\r\n } else {\r\n resolve(null);\r\n }\r\n });\r\n}\r\n\r\nexport function get(url, params, onSuccess, onError) {\r\n const args = apiGetDeleteArguments(params, onSuccess, onError);\r\n\r\n getAccessToken(alt, AppActions.updateState).then(accessToken => {\r\n request({\r\n method: RequestMethod.Get,\r\n url,\r\n params: args.params,\r\n headers: getHeaders(accessToken)\r\n })\r\n .then(args.onSuccess)\r\n .catch(args.onError);\r\n });\r\n}\r\n\r\nexport function getAll(requestPromises) {\r\n const updateState = AppActions.updateState;\r\n\r\n return new Promise(function (resolve, reject) {\r\n getAccessToken(alt, updateState)\r\n .then(accessToken => {\r\n Promise.all(requestPromises)\r\n .then(resolve)\r\n .catch(reject);\r\n })\r\n .catch(reject);\r\n });\r\n}\r\n\r\nexport function post(url, params, data, onSuccess, onError) {\r\n const args = apiPostPutArguments(params, data, onSuccess, onError);\r\n\r\n getAccessToken(alt, AppActions.updateState).then(accessToken => {\r\n request({\r\n method: RequestMethod.Post,\r\n url,\r\n params: args.params,\r\n data: args.data,\r\n headers: getHeaders(accessToken),\r\n files: args.files\r\n })\r\n .then(args.onSuccess)\r\n .catch(args.onError);\r\n });\r\n}\r\n\r\nexport function put(url, params, data, onSuccess, onError) {\r\n const args = apiPostPutArguments(params, data, onSuccess, onError);\r\n\r\n getAccessToken(alt, AppActions.updateState).then(accessToken => {\r\n request({\r\n method: RequestMethod.Put,\r\n url,\r\n params: args.params,\r\n data: args.data,\r\n headers: getHeaders(accessToken),\r\n files: args.files\r\n })\r\n .then(args.onSuccess)\r\n .catch(args.onError);\r\n });\r\n}\r\n\r\nexport function del(url, params, onSuccess, onError) {\r\n const args = apiGetDeleteArguments(params, onSuccess, onError);\r\n\r\n getAccessToken(alt, AppActions.updateState).then(accessToken => {\r\n request({\r\n method: RequestMethod.Delete,\r\n url,\r\n params: args.params,\r\n headers: getHeaders(accessToken)\r\n })\r\n .then(args.onSuccess)\r\n .catch(args.onError);\r\n });\r\n}","import addEnumMethods from './addEnumMethods';\r\n\r\nconst PlacementMode = {\r\n None: 0,\r\n Preview: 1\r\n};\r\n\r\nexport default addEnumMethods(PlacementMode);","import _ from 'lodash';\r\n\r\nexport function nameOfEnumValue(enumObj) {\r\n const namesByValue = _.reduce(Object.keys(enumObj), (result, value) => {\r\n result[enumObj[value]] = _.capitalize(_.kebabCase(value).replace(/-/g, ' '));\r\n return result;\r\n }, {});\r\n\r\n return function (value) {\r\n if (value !== null) {\r\n return namesByValue.hasOwnProperty(value) ? namesByValue[value] : String(value);\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport function keyOfEnumValue(enumObj) {\r\n const namesByValue = _.reduce(Object.keys(enumObj), (result, value) => {\r\n result[enumObj[value]] = value;\r\n return result;\r\n }, {});\r\n\r\n return function (value) {\r\n if (value !== null) {\r\n return namesByValue.hasOwnProperty(value) ? namesByValue[value] : String(value);\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport function parseEnum(enumObj) {\r\n const propertyNamesByValue = _.reduce(Object.keys(enumObj), (result, name) => {\r\n if (!_.isFunction(name)) {\r\n result[String(enumObj[name])] = enumObj[name];\r\n }\r\n\r\n return result;\r\n }, {});\r\n\r\n return function (value) {\r\n if (value !== null) {\r\n return propertyNamesByValue.hasOwnProperty(String(value)) ? propertyNamesByValue[value] : enumObj[value] ;\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport default function addEnumMethods(enumObj) {\r\n enumObj.parse = parseEnum(enumObj);\r\n enumObj.nameOfEnumValue = nameOfEnumValue(enumObj);\r\n enumObj.keyOfEnumValue = keyOfEnumValue(enumObj);\r\n\r\n return enumObj;\r\n}","import React from 'react';\r\nimport _ from 'lodash';\r\n\r\nimport {Pagination, PaginationItem, PaginationLink} from 'reactstrap';\r\n\r\nclass Pager extends React.Component {\r\n render() {\r\n const {pageSize, total, skip, onPageSelected} = this.props;\r\n\r\n if (total === void 0) {\r\n return null;\r\n }\r\n\r\n const pageIndex = (skip / pageSize);\r\n const lowerIndex = (pageIndex - 20) < 0 ? 0 : pageIndex - 20;\r\n const upperIndex = pageIndex + 20;\r\n\r\n const pages = [];\r\n let index = 0;\r\n for (let s = 0; s < total; s += pageSize) {\r\n if (index >= lowerIndex && index <= upperIndex) {\r\n pages.push({\r\n skip: s,\r\n index,\r\n number: index + 1,\r\n current: s === skip\r\n });\r\n }\r\n\r\n index++;\r\n }\r\n\r\n if (pages.length <= 1) {\r\n return null;\r\n }\r\n\r\n const pageLinks = _.map(pages, page => {\r\n return page.current\r\n ? \r\n \r\n {page.number} (current)\r\n \r\n \r\n : \r\n onPageSelected(page.skip)}>\r\n {page.number}\r\n \r\n \r\n }\r\n );\r\n\r\n const selectedIndex = _.indexOf(pages, skip);\r\n\r\n const prevLink = selectedIndex === 0\r\n ? \r\n \r\n \r\n : \r\n onPageSelected(pages[selectedIndex - 1])}/>\r\n \r\n ;\r\n\r\n const nextLink = selectedIndex === (pages.length - 1)\r\n ? \r\n \r\n \r\n : \r\n onPageSelected(pages[selectedIndex + 1])}/>\r\n \r\n ;\r\n\r\n return
\r\n \r\n
;\r\n }\r\n}\r\n\r\nexport default Pager;","import React, {Component} from 'react';\r\nimport {Container, Table} from \"reactstrap\";\r\nimport AppActions from './../actions/AppActions';\r\nimport {get} from './../lib/http';\r\nimport PlacementMode from \"../lib/PlacementMode\";\r\nimport _ from 'lodash';\r\nimport Pager from \"./Pager\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nconst pageSize = 20;\r\n\r\nexport class Items extends Component {\r\n componentWillMount() {\r\n const {skip} = this.props;\r\n\r\n this.update(skip || 0);\r\n }\r\n\r\n render() {\r\n const {items, total, skip} = this.props;\r\n\r\n const rows = _.map(items, item => \r\n {item.id}\r\n {item.type}\r\n {item.description}\r\n {item.positionX}, {item.positionY}, {item.positionZ}\r\n {item.scaleX}, {item.scaleY}, {item.scaleZ}\r\n {item.rotationX}, {item.rotationY}, {item.rotationZ}\r\n {PlacementMode.nameOfEnumValue(item.placementMode)}\r\n {item.layer}\r\n \r\n Edit\r\n \r\n );\r\n\r\n const mixId = window.localStorage.getItem('mixId') || '';\r\n\r\n return (\r\n \r\n

Items

\r\n\r\n

https://{window.location.host}/api/data/{mixId}

\r\n\r\n Mix\r\n id: {mixId}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {rows}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
IdTypeDescriptionPositionScaleRotationPlacement modeLayer 
New
\r\n\r\n this.update(skip)}/>\r\n \r\n );\r\n }\r\n\r\n update(skip) {\r\n const mixId = window.localStorage.getItem('mixId') || '';\r\n\r\n get('api/items', {skip: skip, mixId}, (data) => {\r\n AppActions.updateStates([\r\n {statePath: 'skip', data: skip || 0},\r\n {statePath: 'items', data: data.items},\r\n {statePath: 'total', data: data.total}\r\n ]);\r\n });\r\n }\r\n}","import React, {Component} from 'react';\r\nimport _ from 'lodash';\r\nimport AppActions from './../../actions/AppActions';\r\n\r\nclass BoundSelect extends Component {\r\n render() {\r\n const {path, value, options, onSelected, ...componentProps} = this.props;\r\n\r\n const handleChange = (event) => {\r\n const newValue = event.target.value;\r\n\r\n if (_.isFunction(onSelected)) {\r\n onSelected(newValue);\r\n } else {\r\n AppActions.updateState(path, newValue);\r\n }\r\n };\r\n\r\n const optionElements = _(options)\r\n .map(option => )\r\n .value();\r\n\r\n return \r\n }\r\n}\r\n\r\nexport default BoundSelect;","import {get} from './http';\r\nimport AppActions from './../actions/AppActions';\r\n\r\nexport default function fetchLookups() {\r\n const l = [\r\n 'SiteName',\r\n 'SiteType',\r\n 'Region',\r\n 'Hazards',\r\n 'IncidentType',\r\n 'IsInjury',\r\n 'IncidentRiskRating',\r\n 'ActivityTaskInvolved',\r\n 'ConsequenceDescription',\r\n 'Consequence',\r\n 'IncidentCategory',\r\n 'IncidentSubCategory',\r\n 'IncidentLevel',\r\n 'InjuryType',\r\n 'InjuryTypeShort',\r\n 'InjuryBodyPart',\r\n 'InjuryConsequence'\r\n ];\r\n\r\n get('api/incidents/lookups', {l}, (lookups) => {\r\n AppActions.updateStates([\r\n {statePath: 'lookups', data: lookups}\r\n ]);\r\n });\r\n}\r\n","import React, {Component} from 'react';\r\nimport {Container, Spinner, Table} from \"reactstrap\";\r\nimport AppActions from './../actions/AppActions';\r\nimport {get} from './../lib/http';\r\nimport Pager from \"./Pager\";\r\nimport {Link} from \"react-router-dom\";\r\nimport _ from 'lodash';\r\nimport BoundSelect from \"./forms/BoundSelect\";\r\nimport fetchLookups from \"../lib/fetchLookups\";\r\n\r\nconst pageSize = 20;\r\n\r\nexport class HealthAndSafety extends Component {\r\n componentWillMount() {\r\n const {skip} = this.props;\r\n\r\n this.update(skip || 0);\r\n }\r\n\r\n render() {\r\n const {items, total, skip, lookups, searchParams} = this.props;\r\n\r\n const rows = _.map(items, item => \r\n {item.id}\r\n {item.siteName}\r\n {item.siteType}\r\n {item.siteLatitude}\r\n {item.siteLongitude}\r\n {item.region}\r\n {item.hazards}\r\n {item.incidentType}\r\n {String(item.isInjury)}\r\n {item.incidentRiskRating}\r\n {item.activityTaskInvolved}\r\n {item.consequenceDescription}\r\n {item.consequence}\r\n {item.incidentCategory}\r\n {item.incidentSubCategory}\r\n {item.incidentLevel}\r\n {item.injuryType}\r\n {item.injuryTypeShort}\r\n {item.injuryBodyPart}\r\n {item.injuryConsequence}\r\n {item.incidentCount}\r\n {item.injuryCount}\r\n {item.incidentDate}\r\n {item.reportedDate}\r\n {item.actualDate}\r\n \r\n Edit\r\n \r\n );\r\n\r\n const filterRow = \r\n \r\n {this.renderLookup('siteName')}\r\n {this.renderLookup('siteType')}\r\n \r\n \r\n {this.renderLookup('region')}\r\n {this.renderLookup('hazards')}\r\n {this.renderLookup('incidentType')}\r\n {this.renderLookup('isInjury')}\r\n {this.renderLookup('incidentRiskRating')}\r\n {this.renderLookup('activityTaskInvolved')}\r\n {this.renderLookup('consequenceDescription')}\r\n {this.renderLookup('consequence')}\r\n {this.renderLookup('incidentCategory')}\r\n {this.renderLookup('incidentSubCategory')}\r\n {this.renderLookup('incidentLevel')}\r\n {this.renderLookup('injuryType')}\r\n {this.renderLookup('injuryTypeShort')}\r\n {this.renderLookup('injuryBodyPart')}\r\n {this.renderLookup('injuryConsequence')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n\r\n return (\r\n \r\n

Health and safety

\r\n\r\n Data import/export\r\n Digital twin sync\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {filterRow}\r\n {!items && \r\n \r\n }\r\n {rows}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
IdSite NameSite TypeSite LatitudeSite LongitudeRegionHazardsIncident TypeIs InjuryIncident Risk RatingActivity Task InvolvedConsequence DescriptionConsequenceIncident CategoryIncident Sub CategoryIncident LevelInjury TypeInjury Type ShortInjury Body PartInjury ConsequenceIncident CountInjury CountIncident DateReported DateActual Date 
New
\r\n\r\n {items && this.update(skip)}/>}\r\n\r\n
\r\n );\r\n }\r\n\r\n renderLookup(property) {\r\n const {lookups, skip, searchParams = {}} = this.props;\r\n\r\n const onSelected = newValue => {\r\n AppActions.updateStates([\r\n {statePath: `searchParams.${property}`, data: newValue}\r\n ]);\r\n\r\n setTimeout(() => {\r\n this.update(skip || 0);\r\n }, 0);\r\n };\r\n\r\n const lookupOptions = _.map(lookups && lookups[property], lookup => ({\r\n value: lookup,\r\n text: lookup\r\n }));\r\n\r\n const options = [{value: '', text: '\r\n {options}\r\n \r\n }\r\n}\r\n\r\nexport default BoundEnumSelect;","import React, {Component} from 'react';\r\nimport _ from 'lodash';\r\nimport AppActions from './../../actions/AppActions';\r\n\r\nclass BoundTextArea extends Component {\r\n render() {\r\n const props = this.props;\r\n const path = props.path;\r\n const format = props.format;\r\n const value = format === 'array'\r\n ? props.value.join('\\r\\n')\r\n : props.value;\r\n\r\n const handleChange = (event) => {\r\n const element = event.target;\r\n const getValue = props.getValue || ((val) => val);\r\n const newValue = getValue(element.value);\r\n\r\n AppActions.updateState(path, newValue);\r\n };\r\n\r\n return ;\r\n }\r\n}\r\n\r\nexport default BoundTextArea;","import React, {Component} from 'react';\r\nimport _ from 'lodash';\r\nimport AppActions from './../../actions/AppActions';\r\n\r\nclass BoundDecimalInput extends Component {\r\n render() {\r\n const { path, value, onChangeListener, getValue, ...componentProps } = this.props;\r\n\r\n const handleChange = event => {\r\n const element = event.target;\r\n const _getValue = getValue || (val => val);\r\n const newValue = Number(_getValue(element.value));\r\n\r\n AppActions.updateState(path, newValue);\r\n\r\n if (_.isFunction(onChangeListener)) {\r\n onChangeListener(newValue, path, value);\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default BoundDecimalInput;","import { createBrowserHistory } from \"history\";\r\n\r\nconst history = createBrowserHistory();\r\n\r\nexport default history;","import history from './../history';\r\n\r\nexport default function (pathOrLocationDescriptor) {\r\n setTimeout(() => history.push(pathOrLocationDescriptor), 1);\r\n}","import React, {Component} from 'react';\r\nimport _ from 'lodash';\r\nimport AppActions from './../../actions/AppActions';\r\nimport { CustomInput } from 'reactstrap';\r\n\r\nclass BoundCheckbox extends Component {\r\n render() {\r\n const { path, checked, handleOnChange, inlineLabel, ...componentProps} = this.props;\r\n\r\n const handleChange = (event) => {\r\n const checked = event.target.checked;\r\n\r\n if (_.isFunction(handleOnChange)) {\r\n handleOnChange(checked);\r\n } else {\r\n AppActions.updateState(path, checked);\r\n }\r\n };\r\n\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default BoundCheckbox;","export default function validateItem(item) {\r\n const isValidMixId =\r\n !item ||\r\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.exec(\r\n item.mixId\r\n );\r\n\r\n let data = null;\r\n\r\n try {\r\n if (item) {\r\n data = JSON.parse(item.data);\r\n }\r\n\r\n return { isValidMixId, isValidData: true, data, validateDataMessage: null };\r\n } catch (e) {\r\n return {\r\n isValidMixId,\r\n isValidData: false,\r\n data,\r\n validateDataMessage: e.message\r\n };\r\n }\r\n}\r\n","import _ from 'lodash';\r\n\r\nexport default function getColors(data) {\r\n const colors = [];\r\n\r\n function getColorsFromValue(value) {\r\n if (value) {\r\n if (typeof value === \"string\") {\r\n if ((/^#([0-9a-f]{6}|[0-9a-f]{3})$/i).exec(value)) {\r\n colors.push(value);\r\n }\r\n } else if (_.isArray(value)) {\r\n _.each(value, v => getColorsFromValue(v));\r\n } else if (typeof value === \"object\") {\r\n getColorsFromObject(value);\r\n }\r\n }\r\n }\r\n\r\n function getColorsFromObject(obj) {\r\n if (obj) {\r\n for (let p in obj) {\r\n getColorsFromValue(obj[p]);\r\n }\r\n }\r\n }\r\n\r\n getColorsFromObject(data);\r\n\r\n return _.uniq(colors);\r\n}","import React, { Component } from \"react\";\r\nimport { Button, Col, Container, Row, Alert } from \"reactstrap\";\r\nimport selectn from \"selectn\";\r\nimport AppActions from \"./../actions/AppActions\";\r\nimport { get } from \"./../lib/http\";\r\nimport notifier from \"./../lib/notifier\";\r\nimport PlacementMode from \"../lib/PlacementMode\";\r\nimport _ from \"lodash\";\r\nimport ctrlS from \"../lib/ctrlS\";\r\nimport FormGroup from \"./forms/FormGroup\";\r\nimport BoundTextInput from \"./forms/BoundTextInput\";\r\nimport BoundEnumSelect from \"./forms/BoundEnumSelect\";\r\nimport BoundTextArea from \"./forms/BoundTextArea\";\r\nimport BoundDecimalInput from \"./forms/BoundDecimalInput\";\r\nimport { post } from \"../lib/http\";\r\nimport navigateTo from \"../lib/navigateTo\";\r\nimport connection from \"./../lib/connection\";\r\nimport BoundCheckbox from \"./forms/BoundCheckbox\";\r\nimport validateItem from \"./../lib/validateItem\";\r\nimport getColors from \"./../lib/getColors\";\r\n\r\nexport class Item extends Component {\r\n componentWillMount() {\r\n const id = selectn(\"match.params.id\", this.props);\r\n\r\n this.update(id);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const id = selectn(\"match.params.id\", nextProps);\r\n if (id !== selectn(\"match.params.id\", this.props)) {\r\n this.update(id);\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n item,\r\n connected,\r\n joined,\r\n step = 0.1,\r\n lockScale = true\r\n } = this.props;\r\n\r\n const onKeyDown = (event) => {\r\n ctrlS(event, () => {\r\n this.save();\r\n });\r\n };\r\n\r\n const {\r\n isValidMixId,\r\n isValidData,\r\n data,\r\n validateDataMessage\r\n } = validateItem(item);\r\n\r\n const colors = getColors(data);\r\n\r\n return (\r\n \r\n

Item

\r\n {item && item.id &&

{item.id}

}\r\n {item && item.id && (\r\n

\r\n https://{window.location.host}/api/data/{item.mixId}/{item.id}\r\n

\r\n )}\r\n\r\n {/*
{JSON.stringify(item, null, 2)}
*/}\r\n\r\n {item && (\r\n
\r\n \r\n \r\n {!isValidMixId && Invalid id}\r\n {isValidMixId && (\r\n \r\n Open in Mixiply\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n this.onChange(value, path)}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n this.onChange(value, path)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onChange(value, path)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onChange(value, path)\r\n }\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n this.onChange(value, path)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onChange(value, path)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onChange(value, path)\r\n }\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n this.onScaleChanged(value, path, oldValue)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onScaleChanged(value, path, oldValue)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n this.onScaleChanged(value, path, oldValue)\r\n }\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n {_.map(colors, (c) => (\r\n \r\n ))}\r\n {!isValidData && (\r\n {validateDataMessage}\r\n )}\r\n
\r\n \r\n\r\n
\r\n {connected && joined && item.id && (\r\n Joined {joined}\r\n )}\r\n this.save()}\r\n >\r\n Save\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n\r\n calcPc(n1, n2) {\r\n return (n2 - n1) / n1;\r\n }\r\n\r\n onScaleChanged(value, path, oldValue) {\r\n const { item, lockScale = true } = this.props;\r\n const property = path.split(\".\").pop();\r\n\r\n if (lockScale) {\r\n const pcChange = this.calcPc(oldValue, value);\r\n\r\n const applyChange = (propertyToChange) => {\r\n let newValue = item[propertyToChange] * (1 + pcChange);\r\n\r\n if (isNaN(newValue) || !isFinite(newValue)) {\r\n return;\r\n }\r\n\r\n newValue = Number(\r\n newValue.toLocaleString(\"fullwide\", { maximumFractionDigits: 2 })\r\n );\r\n\r\n const newValuePath = `item.${propertyToChange}`;\r\n AppActions.updateState(newValuePath, newValue);\r\n this.onChange(newValue, newValuePath);\r\n };\r\n\r\n switch (property) {\r\n case \"scaleX\":\r\n this.onChange(value, path);\r\n applyChange(\"scaleY\");\r\n applyChange(\"scaleZ\");\r\n\r\n break;\r\n case \"scaleY\":\r\n this.onChange(value, path);\r\n applyChange(\"scaleX\");\r\n applyChange(\"scaleZ\");\r\n break;\r\n case \"scaleZ\":\r\n this.onChange(value, path);\r\n applyChange(\"scaleX\");\r\n applyChange(\"scaleY\");\r\n break;\r\n }\r\n\r\n return;\r\n }\r\n\r\n this.onChange(value, path);\r\n }\r\n\r\n onChange(value, path) {\r\n const { item, joined } = this.props;\r\n\r\n const groupName = joined;\r\n\r\n const property = path.split(\".\").pop();\r\n console.log({ id: item.id, value, property });\r\n\r\n if (item && item.id && groupName) {\r\n try {\r\n connection\r\n .invoke(\"SendDataToOthers\", item.mixId, groupName, {\r\n type: \"PropertyUpdate\",\r\n id: item.id,\r\n property,\r\n value\r\n })\r\n .catch((err) => {\r\n return console.error(err);\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n\r\n sendUpdate(id, mixId, groupName, type) {\r\n if (id && groupName) {\r\n try {\r\n connection\r\n .invoke(\"SendDataToOthers\", mixId, groupName, {\r\n type,\r\n id\r\n })\r\n .catch((err) => {\r\n return console.error(err);\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n\r\n save() {\r\n const { item, joined } = this.props;\r\n\r\n const { isValidMixId, isValidData } = validateItem(item);\r\n\r\n if (!isValidMixId || !isValidData) {\r\n notifier.notify({\r\n level: notifier.Level.Error,\r\n title: \"Error\",\r\n message: \"Fix validation errors and try again\"\r\n });\r\n\r\n return;\r\n }\r\n\r\n const isNew = item.id === null;\r\n\r\n const onSaved = (content) => {\r\n if (isNew) {\r\n this.sendUpdate(content.id, item.mixId, joined, \"ItemCreated\");\r\n\r\n notifier.notify({\r\n level: notifier.Level.Success,\r\n title: \"Success\",\r\n message: \"Item created\"\r\n });\r\n\r\n navigateTo(`/item/${content.id}`);\r\n return;\r\n }\r\n\r\n this.sendUpdate(item.id, item.mixId, joined, \"ItemUpdated\");\r\n\r\n notifier.notify({\r\n level: notifier.Level.Success,\r\n title: \"Success\",\r\n message: \"Item updated\"\r\n });\r\n\r\n this.update(item.id);\r\n };\r\n\r\n post(\"api/items\", item, onSaved);\r\n }\r\n\r\n update(id) {\r\n const mixId = window.localStorage.getItem(\"mixId\") || \"\";\r\n\r\n if (id === \"_\") {\r\n const item = {\r\n id: null,\r\n mixId,\r\n description: \"\",\r\n type: \"\",\r\n layer: \"\",\r\n positionX: 0,\r\n positionY: 0,\r\n positionZ: 0,\r\n scaleX: 1,\r\n scaleY: 1,\r\n scaleZ: 1,\r\n rotationX: 0,\r\n rotationY: 0,\r\n rotationZ: 0,\r\n placementMode: PlacementMode.Preview,\r\n data: \"{}\"\r\n };\r\n\r\n setTimeout(\r\n () => AppActions.updateStates([{ statePath: \"item\", data: item }]),\r\n 0\r\n );\r\n\r\n return;\r\n }\r\n\r\n get(\"api/items/:id\", { id }, (data) => {\r\n AppActions.updateStates([{ statePath: \"item\", data: data }]);\r\n });\r\n }\r\n}\r\n","import isNullOrWhitespace from \"./isNullOrWhitespace\";\r\n\r\nexport function toISODate(dateString) {\r\n if (isNullOrWhitespace(dateString)) {\r\n return '';\r\n }\r\n\r\n const [yyyy, MM, dd] = dateString.split('-');\r\n return `${yyyy}-${MM}-${dd}T00:00:00`;\r\n}\r\n\r\nexport default function toInputDate(dateString) {\r\n if (isNullOrWhitespace(dateString)) {\r\n return '';\r\n }\r\n\r\n const [yyyy, MM, dd] = (dateString.split('T')[0]).split('-');\r\n\r\n return `${yyyy}-${MM}-${dd}`;\r\n}","import React, { Component } from 'react';\r\nimport _ from 'lodash';\r\nimport AppActions from './../../actions/AppActions';\r\nimport toInputDate, {toISODate} from \"../../lib/toInputDate\";\r\n\r\nclass BoundDateInput extends Component {\r\n render() {\r\n const { path, value, onChangeListener, getValue, ...componentProps } = this.props;\r\n\r\n const handleChange = event => {\r\n const element = event.target;\r\n const _getValue = getValue || (val => val);\r\n const newValue = toISODate(_getValue(element.value));\r\n\r\n AppActions.updateState(path, newValue);\r\n\r\n if (_.isFunction(onChangeListener)) {\r\n onChangeListener(newValue, path);\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default BoundDateInput;","import React, {Component} from 'react';\r\nimport {Button, Col, Container, Row, FormGroup, Label} from \"reactstrap\";\r\nimport selectn from 'selectn';\r\nimport AppActions from './../actions/AppActions';\r\nimport {get} from './../lib/http';\r\nimport notifier from './../lib/notifier';\r\nimport _ from 'lodash';\r\nimport ctrlS from \"../lib/ctrlS\";\r\nimport BoundTextInput from \"./forms/BoundTextInput\";\r\nimport {post} from \"../lib/http\";\r\nimport navigateTo from \"../lib/navigateTo\";\r\nimport BoundCheckbox from \"./forms/BoundCheckbox\";\r\nimport fetchLookups from \"../lib/fetchLookups\";\r\nimport BoundSelect from \"./forms/BoundSelect\";\r\nimport BoundDateInput from \"./forms/BoundDateInput\";\r\n\r\nexport class Incident extends Component {\r\n componentWillMount() {\r\n const id = selectn('match.params.id', this.props);\r\n\r\n this.update(id);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const id = selectn('match.params.id', nextProps);\r\n if (id !== selectn('match.params.id', this.props)) {\r\n this.update(id);\r\n }\r\n }\r\n\r\n render() {\r\n const {incident} = this.props;\r\n\r\n const onKeyDown = (event) => {\r\n ctrlS(event, () => {\r\n this.save();\r\n });\r\n };\r\n\r\n return (\r\n \r\n

Incident

\r\n\r\n {incident &&
\r\n\r\n \r\n \r\n \r\n {this.renderLookup('siteName', incident.siteName, siteName => this.fetchSiteLatLong(siteName))}\r\n \r\n \r\n this.fetchSiteLatLong(siteName)}/>\r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('siteType', incident.siteType)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('region', incident.region)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('hazards', incident.hazards)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('incidentType', incident.incidentType)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('incidentRiskRating', incident.incidentRiskRating)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('activityTaskInvolved', incident.activityTaskInvolved)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('consequenceDescription', incident.consequenceDescription)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('consequence', incident.consequence)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('incidentCategory', incident.incidentCategory)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('incidentSubCategory', incident.incidentSubCategory)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('incidentLevel', incident.incidentLevel)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('injuryType', incident.injuryType)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('injuryTypeShort', incident.injuryTypeShort)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('injuryBodyPart', incident.injuryBodyPart)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderLookup('injuryConsequence', incident.injuryConsequence)}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
}\r\n
\r\n );\r\n }\r\n\r\n fetchSiteLatLong(siteName) {\r\n const {lookups} = this.props;\r\n\r\n const siteNames = lookups.siteName;\r\n\r\n if (_.includes(siteNames, siteName)) {\r\n get(\r\n 'api/incidents/latlong',\r\n {siteName},\r\n data => {\r\n AppActions.updateStates([\r\n {statePath: 'incident.siteLatitude', data: data.lat},\r\n {statePath: 'incident.siteLongitude', data: data.long}\r\n ]);\r\n });\r\n }\r\n }\r\n\r\n renderLookup(property, value, onSelectedCallback) {\r\n const {lookups} = this.props;\r\n\r\n const onSelected = newValue => {\r\n AppActions.updateStates([\r\n {statePath: `incident.${property}`, data: newValue}\r\n ]);\r\n\r\n if (_.isFunction(onSelectedCallback)) {\r\n onSelectedCallback(newValue);\r\n }\r\n };\r\n\r\n const lookupOptions = _.map(lookups && lookups[property], lookup => ({\r\n value: lookup,\r\n text: lookup\r\n }));\r\n\r\n const options = [{value: '', text: ''}, ...lookupOptions];\r\n\r\n return ;\r\n }\r\n\r\n sync() {\r\n const {sync} = this.props;\r\n\r\n const isValidMixId =\r\n (/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)\r\n .exec(sync.mixId);\r\n\r\n if (!isValidMixId) {\r\n notifier.notify({\r\n level: notifier.Level.Error,\r\n title: 'Error',\r\n message: 'Invalid mix id'\r\n });\r\n\r\n return;\r\n }\r\n\r\n if (isNullOrWhitespace(sync.siteName)) {\r\n notifier.notify({\r\n level: notifier.Level.Error,\r\n title: 'Error',\r\n message: 'Site name not set'\r\n });\r\n\r\n return;\r\n }\r\n\r\n const onSyncComplete = (content) => {\r\n notifier.notify({\r\n level: notifier.Level.Success,\r\n title: 'Success',\r\n message: 'Sync complete'\r\n });\r\n };\r\n\r\n post('api/incidents/sync', sync, onSyncComplete);\r\n }\r\n\r\n update() {\r\n const {lookups} = this.props;\r\n\r\n AppActions.updateState('sync', {\r\n siteName: '',\r\n mixId: window.localStorage.getItem('mixId') || ''\r\n });\r\n\r\n if (!lookups) {\r\n fetchLookups();\r\n }\r\n }\r\n}","import React, {Component} from 'react';\r\nimport {Container, Table} from \"reactstrap\";\r\nimport AppActions from './../actions/AppActions';\r\nimport {get} from './../lib/http';\r\nimport _ from 'lodash';\r\nimport Pager from \"./Pager\";\r\nimport {Link} from \"react-router-dom\";\r\nimport moment from \"moment\";\r\n\r\nconst pageSize = 20;\r\n\r\nexport class SpatialAnchors extends Component {\r\n componentWillMount() {\r\n const {skip} = this.props;\r\n\r\n this.update(skip || 0);\r\n }\r\n\r\n render() {\r\n const {anchors, total, skip} = this.props;\r\n\r\n const rows = _.map(anchors, anchor => \r\n {anchor.id}\r\n {moment.utc(anchor.dateTimeCreatedUtc).local().format(\"DD/MM/YYYY H:mm:ss\")}\r\n {anchor.data}\r\n \r\n Edit\r\n \r\n );\r\n\r\n const mixId = window.localStorage.getItem('mixId') || '';\r\n\r\n return (\r\n \r\n

Spatial Anchors

\r\n\r\n Mix\r\n id: {mixId}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {rows}\r\n \r\n
IdCreatedData 
\r\n\r\n this.update(skip)}/>\r\n \r\n );\r\n }\r\n\r\n update(skip) {\r\n const mixId = window.localStorage.getItem('mixId') || '';\r\n\r\n get('api/anchors/paged/:mixId', {skip: skip, mixId}, (data) => {\r\n AppActions.updateStates([\r\n {statePath: 'skip', data: skip || 0},\r\n {statePath: 'anchors', data: data.items},\r\n {statePath: 'total', data: data.total}\r\n ]);\r\n });\r\n }\r\n}","import React, {Component} from 'react';\r\nimport {Button, Container, Alert} from \"reactstrap\";\r\nimport selectn from 'selectn';\r\nimport AppActions from './../actions/AppActions';\r\nimport {get} from './../lib/http';\r\nimport notifier from './../lib/notifier';\r\nimport _ from 'lodash';\r\nimport ctrlS from \"../lib/ctrlS\";\r\nimport FormGroup from \"./forms/FormGroup\";\r\nimport BoundTextInput from \"./forms/BoundTextInput\";\r\nimport BoundTextArea from \"./forms/BoundTextArea\";\r\nimport {post} from \"../lib/http\";\r\nimport connection from './../lib/connection';\r\nimport validateItem from \"./../lib/validateItem\";\r\nimport getColors from \"./../lib/getColors\";\r\nimport moment from 'moment';\r\n\r\nexport class SpatialAnchor extends Component {\r\n componentWillMount() {\r\n const id = selectn('match.params.id', this.props);\r\n\r\n this.update(id);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const id = selectn('match.params.id', nextProps);\r\n if (id !== selectn('match.params.id', this.props)) {\r\n this.update(id);\r\n }\r\n }\r\n\r\n render() {\r\n const {anchor, connected, joined} = this.props;\r\n\r\n const onKeyDown = (event) => {\r\n ctrlS(event, () => {\r\n this.save();\r\n });\r\n };\r\n\r\n const {isValidMixId, isValidData, data, validateDataMessage} = validateItem(anchor);\r\n\r\n const colors = getColors(data);\r\n\r\n return (\r\n \r\n

Spatial Anchor

\r\n {anchor && anchor.id &&
\r\n

{anchor.id}

\r\n

Created: {moment.utc(anchor.dateTimeCreatedUtc).local().format(\"DD/MM/YYYY H:mm:ss\")}

\r\n
}\r\n\r\n {anchor &&
\r\n \r\n \r\n {!isValidMixId && Invalid id}\r\n {isValidMixId &&\r\n Open\r\n in Mixiply}\r\n \r\n\r\n \r\n \r\n {_.map(colors, c =>
)}\r\n {!isValidData && {validateDataMessage}}\r\n
\r\n \r\n\r\n
\r\n {connected && joined && anchor.id && Joined {joined}}\r\n \r\n
\r\n\r\n
}\r\n\r\n \r\n );\r\n }\r\n\r\n sendUpdate(id, mixId, groupName, type) {\r\n if (id && groupName) {\r\n try {\r\n connection.invoke(\"SendDataToOthers\", mixId, groupName, {\r\n type,\r\n id\r\n }).catch((err) => {\r\n return console.error(err);\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n\r\n save() {\r\n const {anchor, joined} = this.props;\r\n\r\n const {isValidMixId, isValidData} = validateItem(anchor);\r\n\r\n if (!isValidMixId || !isValidData) {\r\n notifier.notify({\r\n level: notifier.Level.Error,\r\n title: 'Error',\r\n message: 'Fix validation errors and try again'\r\n });\r\n\r\n return;\r\n }\r\n\r\n const onSaved = (content) => {\r\n\r\n this.sendUpdate(anchor.id, anchor.mixId, joined, 'AnchorUpdated');\r\n\r\n notifier.notify({\r\n level: notifier.Level.Success,\r\n title: 'Success',\r\n message: 'Anchor updated'\r\n });\r\n\r\n this.update(anchor.id);\r\n };\r\n\r\n post(\"api/anchors/\" + anchor.id, anchor, onSaved);\r\n }\r\n\r\n update(id) {\r\n get(\r\n 'api/anchors/:id',\r\n {id},\r\n data => {\r\n AppActions.updateStates([\r\n {statePath: 'anchor', data: data}\r\n ]);\r\n });\r\n }\r\n}","import React, {Component} from 'react';\r\nimport AppStore from './stores/AppStore';\r\nimport connectToStores from 'alt-utils/lib/connectToStores';\r\nimport NotificationSystem from 'react-notification-system';\r\nimport notifier from './lib/notifier';\r\nimport Menu from \"./components/Menu\";\r\nimport * as selectn from \"selectn\";\r\nimport {Route} from \"react-router-dom\";\r\nimport {Home} from './components/Home';\r\nimport {Items} from \"./components/Items\";\r\nimport {HealthAndSafety} from \"./components/HealthAndSafety\";\r\nimport {Item} from \"./components/Item\";\r\nimport {Incident} from \"./components/Incident\";\r\nimport {withRouter} from 'react-router-dom';\r\nimport {HealthAndSafetyData} from \"./components/HealthAndSafetyData\";\r\nimport {HealthAndSafetySync} from \"./components/HealthAndSafetySync\";\r\nimport {SpatialAnchors} from \"./components/SpatialAnchors\";\r\nimport {SpatialAnchor} from \"./components/SpatialAnchor\";\r\n\r\nclass App extends Component {\r\n static getStores() {\r\n return [AppStore];\r\n }\r\n\r\n static getPropsFromStores() {\r\n return {\r\n state: AppStore.getState()\r\n };\r\n }\r\n\r\n render() {\r\n const pathname = selectn('location.pathname', this.props);\r\n\r\n return (\r\n
\r\n notificationSystem && notifier.initialize(notificationSystem)}/>\r\n \r\n\r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n }/>\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connectToStores(App));","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Router } from 'react-router-dom';\r\nimport App from './App';\r\nimport {unregister} from './registerServiceWorker';\r\nimport history from \"./history\";\r\nimport connection from \"./lib/connection\";\r\nimport AppActions from './actions/AppActions';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nconnection.start().catch((err) => {\r\n AppActions.updateState('connectionError', err.toString());\r\n return console.error(err.toString());\r\n});\r\n\r\nconnection.on(\"Connected\", () => {\r\n AppActions.updateState('connected', true);\r\n});\r\n\r\nunregister();\r\n// registerServiceWorker();"],"sourceRoot":""}