1+ <%
2+ const MOON = ' 🌙' ;
3+ const SUN = ' ☀️' ;
4+ // convert unix_timestamp to local datetime
5+ unixTsToLocalTime = (unix_ts ) => {
6+ // Create a new JavaScript Date object based on the timestamp
7+ // multiplied by 1000 so that the argument is in milliseconds, not seconds.
8+ var date = new Date (unix_ts * 1000 );
9+ // Hours part from the timestamp
10+ var hours = date .getHours ();
11+ // Minutes part from the timestamp
12+ var minutes = " 0" + date .getMinutes ();
13+ // Seconds part from the timestamp
14+ var seconds = " 0" + date .getSeconds ();
15+ // Will display time in 10:30:23 format
16+ return hours + ' :' + minutes .substr (- 2 ) + ' :' + seconds .substr (- 2 );
17+ }
18+ trendingTemperature = (dataArr ) => {
19+ var sum = 0 ;
20+ for (var item of dataArr) {
21+ sum += item .temp ;
22+ }
23+ let average = sum / dataArr .length ;
24+ let diff = average - dataArr[0 ].temp ;
25+ if ( diff > 0 ) {
26+ if (diff <= 3 ){ return " Slight warming trend ahead." ; }
27+ else if (diff > 3 && diff <= 10 ) { return " Moderate warming trend ahead." ; }
28+ else { return " Considerable warming trend ahead." ; }
29+ } else {
30+ if (diff >= - 3 ){ return " Slight cooling trend ahead." ; }
31+ else if (diff < - 3 && diff <= - 10 ) { return " Moderate cooling trend ahead." ; }
32+ else { return " Considerable warming trend ahead." ; }
33+ }
34+ }
35+ // check if client allows saving session data
36+ storageAvailable = (type ) => {
37+ let storage;
38+ try {
39+ storage = window [type];
40+ const x = ' __storage_test__' ;
41+ storage .setItem (x, x);
42+ storage .removeItem (x);
43+ return true ;
44+ }
45+ catch (e) {
46+ return e instanceof DOMException && (
47+ // everything except Firefox
48+ e .code === 22 ||
49+ // Firefox
50+ e .code === 1014 ||
51+ // test name field too, because code might not be present
52+ // everything except Firefox
53+ e .name === ' QuotaExceededError' ||
54+ // Firefox
55+ e .name === ' NS_ERROR_DOM_QUOTA_REACHED' ) &&
56+ // acknowledge QuotaExceededError only if there's something already stored
57+ (storage && storage .length !== 0 );
58+ }
59+ }
60+ // save data to session memory client-side
61+ saveClientData = (key , value ) => {
62+ if (storageAvailable (String )) {
63+ // Yippee! We can use localStorage awesomeness
64+ // Save data to sessionStorage
65+ sessionStorage .setItem (key, value);
66+ // Get saved data from sessionStorage
67+ let data = sessionStorage .getItem (key);
68+ alert (methodString + ' says my data is ' + data);
69+ }
70+ else {
71+ // Too bad, no localStorage for us
72+ alert (methodString + ' says Web Storage API is disabled.' )
73+ }
74+ }
75+ // retrieve saved session data
76+ getClientData = (key ) => {
77+ if (storageAvailable (String )) {
78+ return sessionStorage .getItem (key);
79+ } else {
80+ return null ;
81+ }
82+ }
83+ // delete session data
84+ deleteClientData = (key ) => {
85+ // Remove saved data from sessionStorage
86+ sessionStorage .removeItem (key);
87+ }
88+ %>
0 commit comments