Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
hitachi-weather
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
hitachi-weather
Commits
36667ea3
Commit
36667ea3
authored
Oct 27, 2022
by
Kornkitt Poolsup
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove footer
parent
71576979
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
348 additions
and
52 deletions
+348
-52
cctv.html
+133
-31
temp.html
+215
-21
No files found.
cctv.html
View file @
36667ea3
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"
rel=
"stylesheet"
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"
crossorigin=
"anonymous"
>
integrity=
"sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"
crossorigin=
"anonymous"
>
<link
href=
"https://fonts.googleapis.com/css?family=Poppins&display=swap"
rel=
"stylesheet"
/>
<link
href=
"https://fonts.googleapis.com/css?family=Poppins&display=swap"
rel=
"stylesheet"
/>
<link
href=
'https://fonts.googleapis.com/css?family=Kanit'
rel=
'stylesheet'
>
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css"
>
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css"
>
<!-- <link href="./css/main.css" rel="stylesheet" /> -->
<!-- <link href="./css/main.css" rel="stylesheet" /> -->
<!-- <?xml version="1.0" encoding="utf-8"?> -->
<!-- <?xml version="1.0" encoding="utf-8"?> -->
...
@@ -197,7 +198,7 @@
...
@@ -197,7 +198,7 @@
<nav
class=
"navbar shadow-sm bg-body rounded"
<nav
class=
"navbar shadow-sm bg-body rounded"
style=
"background-color: #FFFFFF; width: 100%; padding-bottom: 6px;"
>
style=
"background-color: #FFFFFF; width: 100%; padding-bottom: 6px;"
>
<div
class=
"container-fluid"
>
<div
class=
"container-fluid"
>
<span
class=
"navbar-brand mt-3 mb-0 h1"
style=
"color: #36455A;"
><b>
Good Morning
</b></span>
<span
id=
"greeting"
class=
"navbar-brand mt-3 mb-0 h1"
style=
"color: #36455A;"
><b>
Good Morning
</b></span>
</div>
</div>
<div
class=
"container-fluid"
>
<div
class=
"container-fluid"
>
<p
id=
"showtime"
style=
"color: #6A6F7D;"
>
-
</p>
<p
id=
"showtime"
style=
"color: #6A6F7D;"
>
-
</p>
...
@@ -213,14 +214,14 @@
...
@@ -213,14 +214,14 @@
<div
class=
"container-fluid mt-3"
id=
"camerapage"
>
<div
class=
"container-fluid mt-3"
id=
"camerapage"
>
<div
class=
"row row-flex"
>
<div
class=
"row row-flex"
>
<div
class=
"col"
>
<div
class=
"col"
>
<p><b>
Public view snapshot
</b></p>
<p><b
id=
"publicview-header"
>
Public view snapshot
</b></p>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
<img
id=
"cam01"
src=
"https://occ-hitachi.nexpie.com/data/z1/cam1.png"
class=
"card-img-top"
width=
"100%"
>
<img
id=
"cam01"
src=
"https://occ-hitachi.nexpie.com/data/z1/cam1.png"
class=
"card-img-top"
width=
"100%"
>
<div
class=
"card-body"
style=
"display: flex; justify-content: space-between;"
>
<div
class=
"card-body"
style=
"display: flex; justify-content: space-between;"
>
<b>
<b>
<p
style=
"font-size: large;"
>
Camera 01
</p>
<p
style=
"font-size: large;"
>
Camera 01
</p>
</b>
</b>
<p
id=
"cam
era
01-time"
style=
" color: #A1A8B9;"
></p>
<p
id=
"cam01-time"
style=
" color: #A1A8B9;"
></p>
</div>
</div>
</div>
</div>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
...
@@ -229,7 +230,7 @@
...
@@ -229,7 +230,7 @@
<b>
<b>
<p
style=
"font-size: large;"
>
Camera 02
</p>
<p
style=
"font-size: large;"
>
Camera 02
</p>
</b>
</b>
<p
id=
"cam
era
02-time"
style=
" color: #A1A8B9;"
></p>
<p
id=
"cam02-time"
style=
" color: #A1A8B9;"
></p>
</div>
</div>
</div>
</div>
<div
class=
"card shadow-sm p-3 mb-1 bg-body rounded"
style=
"border-width: 0px;"
>
<div
class=
"card shadow-sm p-3 mb-1 bg-body rounded"
style=
"border-width: 0px;"
>
...
@@ -238,7 +239,7 @@
...
@@ -238,7 +239,7 @@
<b>
<b>
<p
style=
"font-size: large;"
>
Camera 03
</p>
<p
style=
"font-size: large;"
>
Camera 03
</p>
</b>
</b>
<p
id=
"ca
mera03
-time"
style=
" color: #A1A8B9;"
></p>
<p
id=
"ca
rd
-time"
style=
" color: #A1A8B9;"
></p>
</div>
</div>
</div>
</div>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
...
@@ -247,7 +248,7 @@
...
@@ -247,7 +248,7 @@
<b>
<b>
<p
style=
"font-size: large;"
>
Camera 04
</p>
<p
style=
"font-size: large;"
>
Camera 04
</p>
</b>
</b>
<p
id=
"cam
era
04-time"
style=
" color: #A1A8B9;"
></p>
<p
id=
"cam04-time"
style=
" color: #A1A8B9;"
></p>
</div>
</div>
</div>
</div>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
...
@@ -256,7 +257,7 @@
...
@@ -256,7 +257,7 @@
<b>
<b>
<p
style=
"font-size: large;"
>
Camera 05
</p>
<p
style=
"font-size: large;"
>
Camera 05
</p>
</b>
</b>
<p
id=
"cam
era
05-time"
style=
" color: #A1A8B9;"
></p>
<p
id=
"cam05-time"
style=
" color: #A1A8B9;"
></p>
</div>
</div>
</div>
</div>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
...
@@ -266,7 +267,7 @@
...
@@ -266,7 +267,7 @@
<b>
<b>
<p
style=
"font-size: large;"
>
Camera 06
</p>
<p
style=
"font-size: large;"
>
Camera 06
</p>
</b>
</b>
<p
id=
"cam
era
06-time"
style=
" color: #A1A8B9;"
></p>
<p
id=
"cam06-time"
style=
" color: #A1A8B9;"
></p>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -277,35 +278,123 @@
...
@@ -277,35 +278,123 @@
<script>
<script>
var
update_interval
=
false
;
var
update_interval
=
false
;
var
lang
=
"en"
;
function
reviseTimeFormat
(
t
)
{
function
reviseTimeFormat
(
t
)
{
var
day
=
[
"Sunday"
,
"Monday"
,
"Tuesday"
,
"Wednesday"
,
"Thursday"
,
"Friday"
,
"Saturday"
];
var
day
=
[
var
month
=
[
"January"
,
"February"
,
"March"
,
"April"
,
"May"
,
"June"
,
"July"
,
"August"
,
"September"
,
"October"
,
"November"
,
"December"
];
{
"en"
:
"Sunday"
,
"th"
:
"อาทิตย์"
},
{
"en"
:
"Monday"
,
"th"
:
"จันทร์"
},
{
"en"
:
"Tuesday"
,
"th"
:
"อังคาร"
},
{
"en"
:
"Wednesday"
,
"th"
:
"พุธ"
},
{
"en"
:
"Thursday"
,
"th"
:
"พฤหัสบดี"
},
{
"en"
:
"Friday"
,
"th"
:
"ศุกร์"
},
{
"en"
:
"Saturday"
,
"th"
:
"เสาร์"
}
];
var
month
=
[
{
"en"
:
"January"
,
"th"
:
"มกราคม"
},
{
"en"
:
"February"
,
"th"
:
"กุมภาพันธ์"
},
{
"en"
:
"March"
,
"th"
:
"มีนาคม"
},
{
"en"
:
"April"
,
"th"
:
"เมษายน"
},
{
"en"
:
"May"
,
"th"
:
"พฤษภาคม"
},
{
"en"
:
"June"
,
"th"
:
"มิถุนายน"
},
{
"en"
:
"July"
,
"th"
:
"กรกฎาคม"
},
{
"en"
:
"August"
,
"th"
:
"สิงหาคม"
},
{
"en"
:
"September"
,
"th"
:
"กันยายน"
},
{
"en"
:
"October"
,
"th"
:
"ตุลาคม"
},
{
"en"
:
"November"
,
"th"
:
"พฤศจิกายน"
},
{
"en"
:
"December"
,
"th"
:
"ธันวาคม"
}
];
return
t
?
day
[
t
.
getDay
()][
lang
]
+
(
lang
==
"en"
?
" "
:
"ที่ "
)
+
t
.
getDate
().
toString
()
+
(
lang
==
"en"
?
", "
:
" "
)
+
month
[
t
.
getMonth
()][
lang
]
:
"-"
;
}
function
setupLang
()
{
let
headers
=
{
"th"
:
{
"publicview-header"
:
"ภาพถ่ายภายในอาคาร"
},
"en"
:
{
"publicview-header"
:
"Camera snapshot in building"
}
}
return
t
?
day
[
t
.
getDay
()]
+
" "
+
t
.
getDate
().
toString
()
+
", "
+
month
[
t
.
getMonth
()]
:
"-"
;
for
(
var
i
in
headers
[
lang
])
{
// console.log(headers[lang][i]);
document
.
getElementById
(
i
).
innerHTML
=
headers
[
lang
][
i
];
document
.
getElementById
(
i
).
style
.
fontFamily
=
(
lang
==
"en"
)
?
"Poppins"
:
"Kanit"
;
}
}
}
function
getCamera
()
{
function
getCamera
()
{
$
(
"#cam01"
).
attr
(
'src'
,
'https://occ-hitachi.nexpie.com/data/z1/cam1.png?time='
+
new
Date
().
getTime
());
// $("#cam01").attr('src', 'https://occ-hitachi.nexpie.com/data/z1/cam1.png?time=' + new Date().getTime());
$
(
"#cam02"
).
attr
(
'src'
,
'https://occ-hitachi.nexpie.com/data/z1/cam2.png?time='
+
new
Date
().
getTime
());
// $("#cam02").attr('src', 'https://occ-hitachi.nexpie.com/data/z1/cam2.png?time=' + new Date().getTime());
$
(
"#cam03"
).
attr
(
'src'
,
'https://occ-hitachi.nexpie.com/data/z1/cam3.png?time='
+
new
Date
().
getTime
());
// $("#cam03").attr('src', 'https://occ-hitachi.nexpie.com/data/z1/cam3.png?time=' + new Date().getTime());
$
(
"#cam04"
).
attr
(
'src'
,
'https://occ-hitachi.nexpie.com/data/z1/cam4.png?time='
+
new
Date
().
getTime
());
// $("#cam04").attr('src', 'https://occ-hitachi.nexpie.com/data/z1/cam4.png?time=' + new Date().getTime());
$
(
"#cam05"
).
attr
(
'src'
,
'https://occ-hitachi.nexpie.com/data/z1/cam5.png?time='
+
new
Date
().
getTime
());
// $("#cam05").attr('src', 'https://occ-hitachi.nexpie.com/data/z1/cam5.png?time=' + new Date().getTime());
$
(
"#cam06"
).
attr
(
'src'
,
'https://occ-hitachi.nexpie.com/data/z1/cam6.png?time='
+
new
Date
().
getTime
());
// $("#cam06").attr('src', 'https://occ-hitachi.nexpie.com/data/z1/cam6.png?time=' + new Date().getTime());
var
date_show
=
new
Date
().
toLocaleString
();
// var date_show = new Date().toLocaleString();
console
.
log
(
date_show
);
// console.log(date_show);
$
(
"#camera01-time"
).
text
(
date_show
);
// $("#camera01-time").text(date_show);
$
(
"#camera02-time"
).
text
(
date_show
);
// $("#camera02-time").text(date_show);
$
(
"#camera03-time"
).
text
(
date_show
);
// $("#camera03-time").text(date_show);
$
(
"#camera04-time"
).
text
(
date_show
);
// $("#camera04-time").text(date_show);
$
(
"#camera05-time"
).
text
(
date_show
);
// $("#camera05-time").text(date_show);
$
(
"#camera06-time"
).
text
(
date_show
);
// $("#camera06-time").text(date_show);
$
.
ajax
({
type
:
"GET"
,
url
:
"https://occ-hitachi.nexpie.com/data/z1/snapshot.json"
,
complete
:
function
(
e
,
xhr
,
settings
)
{
switch
(
e
.
status
)
{
case
500
:
console
.
log
(
'500 internal server error!'
);
break
;
case
404
:
console
.
log
(
'404 Page not found!'
);
break
;
case
401
:
console
.
log
(
'401 unauthorized access'
);
break
;
}
}
}).
done
(
function
(
data
)
{
var
obj
=
typeof
data
==
"string"
?
JSON
.
parse
(
data
)
:
data
;
for
(
var
cam
in
obj
)
{
$
(
`#
${
cam
}
`
).
attr
(
'src'
,
obj
[
cam
].
img
);
$
(
`#
${
cam
}
-time`
).
text
(
new
Date
(
obj
[
cam
].
ts
).
toLocaleString
());
}
});
}
}
function
showtime
()
{
function
showtime
()
{
var
hour
=
new
Date
().
getHours
();
var
greeting
=
""
if
(
hour
>=
5
&&
hour
<
12
)
{
greeting
=
{
"en"
:
"Good Morning"
,
"th"
:
"อรุณสวัสดิ์"
}
}
else
if
(
hour
>=
12
&&
hour
<
18
)
{
greeting
=
{
"en"
:
"Good Afternoon"
,
"th"
:
"สวัสดียามบ่าย"
}
}
else
if
(
hour
>=
18
||
hour
>
0
)
{
greeting
=
{
"en"
:
"Good Evening"
,
"th"
:
"สวัสดียามเย็น"
}
}
document
.
getElementById
(
"greeting"
).
innerText
=
greeting
[
lang
];
document
.
getElementById
(
"showtime"
).
innerText
=
reviseTimeFormat
(
new
Date
());
document
.
getElementById
(
"showtime"
).
innerText
=
reviseTimeFormat
(
new
Date
());
document
.
getElementById
(
"greeting"
).
style
.
fontFamily
=
(
lang
==
"en"
)
?
"Poppins"
:
"Kanit"
;
document
.
getElementById
(
"showtime"
).
style
.
fontFamily
=
(
lang
==
"en"
)
?
"Poppins"
:
"Kanit"
;
}
}
function
updateHTML
()
{
function
updateHTML
()
{
...
@@ -321,11 +410,28 @@
...
@@ -321,11 +410,28 @@
}
}
function
init
()
{
function
init
()
{
const
params
=
new
Proxy
(
new
URLSearchParams
(
window
.
location
.
search
),
{
get
:
(
searchParams
,
prop
)
=>
searchParams
.
get
(
prop
),
});
// Get the value of "lang" in eg "https://example.com/?lang=some_value"
console
.
log
(
"lang = "
,
params
.
lang
)
let
lang_support
=
[
"en"
,
"th"
];
console
.
log
(
lang_support
.
includes
(
params
.
lang
));
if
(
!
lang_support
.
includes
(
params
.
lang
))
{
window
.
open
(
""
,
"_blank"
,
""
);
window
.
close
();
}
lang
=
params
.
lang
;
// "some_value"
getCamera
();
getCamera
();
showtime
();
showtime
();
console
.
log
(
"init"
)
console
.
log
(
"init"
)
setupLang
();
setInterval
(
updateHTML
,
1000
);
setInterval
(
updateHTML
,
1000
);
}
}
init
();
init
();
...
@@ -336,9 +442,6 @@
...
@@ -336,9 +442,6 @@
crossorigin=
"anonymous"
></script>
crossorigin=
"anonymous"
></script>
</body>
</body>
<footer>
<footer>
<div
class=
"container-fluid"
>
<p
style=
"color: #A1A8B9;"
>
Copyright © 2022 Created by NEXPIE Co., Ltd.
</p>
</div>
</footer>
</footer>
</html>
</html>
\ No newline at end of file
temp.html
View file @
36667ea3
...
@@ -9,7 +9,9 @@
...
@@ -9,7 +9,9 @@
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"
rel=
"stylesheet"
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"
crossorigin=
"anonymous"
>
integrity=
"sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"
crossorigin=
"anonymous"
>
<link
href=
"https://fonts.googleapis.com/css?family=Poppins&display=swap"
rel=
"stylesheet"
/>
<link
href=
"https://fonts.googleapis.com/css?family=Poppins&display=swap"
rel=
"stylesheet"
/>
<link
href=
'https://fonts.googleapis.com/css?family=Kanit'
rel=
'stylesheet'
>
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css"
>
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css"
>
<script
type=
"text/javascript"
src=
"http://maps.googleapis.com/maps/api/js?sensor=false"
></script>
<!-- <link href="./css/main.css" rel="stylesheet" /> -->
<!-- <link href="./css/main.css" rel="stylesheet" /> -->
<!-- <?xml version="1.0" encoding="utf-8"?> -->
<!-- <?xml version="1.0" encoding="utf-8"?> -->
<style>
<style>
...
@@ -254,7 +256,7 @@
...
@@ -254,7 +256,7 @@
<nav
class=
"navbar shadow-sm bg-body rounded"
<nav
class=
"navbar shadow-sm bg-body rounded"
style=
"background-color: #FFFFFF; width: 100%; padding-bottom: 6px;"
>
style=
"background-color: #FFFFFF; width: 100%; padding-bottom: 6px;"
>
<div
class=
"container-fluid"
>
<div
class=
"container-fluid"
>
<span
class=
"navbar-brand mt-3 mb-0 h1"
style=
"color: #36455A;"
><b>
Good Morning
</b></span>
<span
id=
"greeting"
class=
"navbar-brand mt-3 mb-0 h1"
style=
"color: #36455A;"
><b>
Good Morning
</b></span>
</div>
</div>
<div
class=
"container-fluid"
>
<div
class=
"container-fluid"
>
<p
id=
"showtime"
style=
"color: #6A6F7D;"
>
-
</p>
<p
id=
"showtime"
style=
"color: #6A6F7D;"
>
-
</p>
...
@@ -268,7 +270,7 @@
...
@@ -268,7 +270,7 @@
<!-- Homepage -->
<!-- Homepage -->
<div
class=
"container-fluid mt-3"
id=
"homepage"
style=
"display: inline-block;"
>
<div
class=
"container-fluid mt-3"
id=
"homepage"
style=
"display: inline-block;"
>
<div
class=
"row row-flex mb-3"
style=
"color: #36455A;"
>
<div
class=
"row row-flex mb-3"
style=
"color: #36455A;"
>
<p><b>
In building environment
</b></p>
<p><b
id=
"inbuild"
>
In building environment
</b></p>
<div
class=
"col-4"
>
<div
class=
"col-4"
>
<div
class=
"card shadow-sm p-3 bg-body rounded"
<div
class=
"card shadow-sm p-3 bg-body rounded"
style=
"border-width: 0px; display: flex; justify-content: center; height: 100%;"
>
style=
"border-width: 0px; display: flex; justify-content: center; height: 100%;"
>
...
@@ -310,7 +312,10 @@
...
@@ -310,7 +312,10 @@
</div>
</div>
<p
style=
"font-size: min(max(8px, 2.75vw), 15px); text-align: center; align-items: center;"
>
<p
style=
"font-size: min(max(8px, 2.75vw), 15px); text-align: center; align-items: center;"
>
Temperature
<br><span
style=
"color: #A1A8B9;"
>
(°C)
</span></p>
<span
id=
"temp-header"
>
Temperature
</span>
<br>
<span
style=
"color: #A1A8B9;"
>
(°C)
</span>
</p>
</div>
</div>
</div>
</div>
<div
class=
"col-4"
>
<div
class=
"col-4"
>
...
@@ -347,7 +352,9 @@
...
@@ -347,7 +352,9 @@
</svg>
</svg>
</div>
</div>
<p
style=
"font-size: min(max(9px, 3vw), 15px); text-align: center; align-items: center;"
>
<p
style=
"font-size: min(max(9px, 3vw), 15px); text-align: center; align-items: center;"
>
Humidity
<br><span
style=
"color: #A1A8B9;"
>
(%HR)
</span>
<span
id=
"humid-header"
>
Humidity
</span>
<br>
<span
style=
"color: #A1A8B9;"
>
(%HR)
</span>
</p>
</p>
</div>
</div>
</div>
</div>
...
@@ -397,7 +404,7 @@
...
@@ -397,7 +404,7 @@
<div
class=
"container-fluid mt-3"
id=
"forecastpage"
>
<div
class=
"container-fluid mt-3"
id=
"forecastpage"
>
<div
class=
"row row-flex"
>
<div
class=
"row row-flex"
>
<div
class=
"col"
style=
"width: 100%;"
>
<div
class=
"col"
style=
"width: 100%;"
>
<p><b>
Outside building environment
</b></p>
<p><b
id=
"outbuild"
>
Outside building environment
</b></p>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
<div
class=
"card shadow-sm p-3 mb-2 bg-body rounded"
style=
"border-width: 0px;"
>
<div
class=
"row"
>
<div
class=
"row"
>
...
@@ -464,7 +471,7 @@
...
@@ -464,7 +471,7 @@
<br>
<b>
<br>
<b>
<p
id=
"forecast-precip"
style=
"color: #36455A; font-size: large;"
>
-
</p>
<p
id=
"forecast-precip"
style=
"color: #36455A; font-size: large;"
>
-
</p>
</b>
</b>
<p
style=
"font-size: min(max(9px, 3vw), 15px);"
>
Precipitation
</p>
<p
id=
"precip-header"
style=
"font-size: min(max(9px, 3vw), 15px);"
>
Precipitation
</p>
</div>
</div>
<div
class=
"col-4"
style=
"color: #6A6F7D; text-align: center; align-items: center;"
>
<div
class=
"col-4"
style=
"color: #6A6F7D; text-align: center; align-items: center;"
>
<svg
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
<svg
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
...
@@ -487,7 +494,7 @@
...
@@ -487,7 +494,7 @@
<br>
<b>
<br>
<b>
<p
id=
"forecast-humid"
style=
"color: #36455A; font-size: large;"
>
-
</p>
<p
id=
"forecast-humid"
style=
"color: #36455A; font-size: large;"
>
-
</p>
</b>
</b>
<p
style=
"font-size: min(max(9px, 3vw), 15px);"
>
Humidity
</p>
<p
id=
"humid-header2"
style=
"font-size: min(max(9px, 3vw), 15px);"
>
Humidity
</p>
</div>
</div>
<!-- <div class="column-line" style="display: inline;"></div> -->
<!-- <div class="column-line" style="display: inline;"></div> -->
<div
class=
"col-4"
style=
"color: #6A6F7D; text-align: center; align-items: center;"
>
<div
class=
"col-4"
style=
"color: #6A6F7D; text-align: center; align-items: center;"
>
...
@@ -515,7 +522,7 @@
...
@@ -515,7 +522,7 @@
<br>
<b>
<br>
<b>
<p
id=
"forecast-ws"
style=
"color: #36455A; font-size: large;"
>
-
</p>
<p
id=
"forecast-ws"
style=
"color: #36455A; font-size: large;"
>
-
</p>
</b>
</b>
<p
style=
"font-size: min(max(9px, 3vw), 15px);"
>
Wind Speed
</p>
<p
id=
"wind-speed-header"
style=
"font-size: min(max(9px, 3vw), 15px);"
>
Wind Speed
</p>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -529,6 +536,7 @@
...
@@ -529,6 +536,7 @@
<script>
<script>
var
update_interval
=
false
;
var
update_interval
=
false
;
var
lang
=
"en"
;
function
capitalize
(
str
)
{
function
capitalize
(
str
)
{
if
(
typeof
str
!==
"string"
)
{
return
;
}
if
(
typeof
str
!==
"string"
)
{
return
;
}
...
@@ -549,11 +557,133 @@
...
@@ -549,11 +557,133 @@
}
:
null
;
}
:
null
;
}
}
function
weatherConditions
(
description
)
{
let
conditions
=
{
"thunderstorm with light rain"
:
"พายุฝนฟ้าคะนอง ฝนตกเล็กน้อย"
,
"thunderstorm with rain"
:
"พายุฝนฟ้าคะนอง มีฝน"
,
"thunderstorm with heavy rain"
:
"พายุฝนฟ้าคะนอง ฝนตกหนัก"
,
"light thunderstorm"
:
"พายุฝนฟ้าคะนองเบาบาง"
,
"thunderstorm"
:
"พายุฝนฟ้าคะนอง"
,
"heavy thunderstorm"
:
"พายุฝนฟ้าคะนองหนัก"
,
"ragged thunderstorm"
:
"พายุฝนฟ้าคะนองรุนแรง"
,
"thunderstorm with light drizzle"
:
"มีฝนฟ้าคะนองและมีละอองฝนเล็กน้อย"
,
"thunderstorm with drizzle"
:
"มีฝนฟ้าคะนองและมีฝนปรอย ๆ"
,
"thunderstorm with heavy drizzle"
:
"มีพายุฟ้าคะนองและมีฝนโปรยปราย"
,
"light intensity drizzle"
:
"ฝนปรอย ๆ"
,
"drizzle"
:
"ฝนพรำ"
,
"heavy intensity drizzle"
:
"ฝนหนัก"
,
"light intensity drizzle rain"
:
"ฝนโปรยปราย"
,
"drizzle rain"
:
"ฝนปรอย"
,
"heavy intensity drizzle rain"
:
"มีฝน"
,
"shower rain and drizzle"
:
"มีฝนตกโปรยปราย"
,
"heavy shower rain and drizzle"
:
"มีฝนตกหนัก"
,
"shower drizzle"
:
"มีฝนตกปรอย ๆ"
,
"light rain"
:
"ฝนตกเล็กน้อย"
,
"moderate rain"
:
"ฝนตก"
,
"heavy intensity rain"
:
"ฝนตกหนัก"
,
"very heavy rain"
:
"ฝนตกหนักมาก"
,
"extreme rain"
:
"ฝนตกรุนแรง"
,
"freezing rain"
:
"ฝนเยือกแข็ง"
,
"light intensity shower rain"
:
"ฝนตกโปรยปรายเบา ๆ"
,
"shower rain"
:
"ฝนกตกโปรยปราย"
,
"heavy intensity shower rain"
:
"ฝนกตกโปรยปรายหนัก"
,
"ragged shower rain"
:
"ฝนตก"
,
"light snow"
:
"มีหิมะเล็กน้อย"
,
"Snow"
:
"หิมะ"
,
"Heavy snow"
:
"หิมะตกหนัก"
,
"Sleet"
:
"ลูกเห็บ"
,
"Light shower sleet"
:
"มีลูกเห็บตกเล็กน้อย"
,
"Shower sleet"
:
"มีลูกเห็บตก"
,
"Light rain and snow"
:
"มีฝนและหิมะตกเล็กน้อย"
,
"Rain and snow"
:
"มีฝนและหิมะ"
,
"Light shower snow"
:
"มีหิมะตกเล็กน้อย"
,
"Shower snow"
:
"มีหิมะตก"
,
"Heavy shower snow"
:
"มีหิมะตกหนัก"
,
"mist"
:
"มีหมอก"
,
"Smoke"
:
"มีกลุ่มควัน"
,
"Haze"
:
"มีหมอกควัน"
,
"sand/ dust whirls"
:
"มีฝุ่นหรือทรายหมุนวน"
,
"fog"
:
"มีหมอกตก"
,
"sand"
:
"มีทราย"
,
"dust"
:
"มีฝุ่น"
,
"volcanic ash"
:
"มีเขม่าจากปล่องภูเขาไฟ"
,
"squalls"
:
"ฝนไล่ช้าง"
,
"tornado"
:
"พายุไต้ฝุ่น"
,
"clear sky"
:
"ฟ้าโปร่ง"
,
"few clouds"
:
"มีเมฆเล็กน้อย"
,
"few clouds: 11-25%"
:
"มีเมฆเล็กน้อย: 11-25%"
,
"scattered clouds"
:
"มีเมฆกระจายตัวเป็นหย่อม ๆ"
,
"scattered clouds: 25-50%"
:
"มีเมฆกระจายตัวเป็นหย่อม ๆ: 25-50%"
,
"broken clouds"
:
"มีเมฆมาก"
,
"broken clouds: 51-84%"
:
"มีเมฆมาก: 51-84%"
,
"overcast clouds"
:
"เมฆครื้ม"
,
"overcast clouds: 85-100%"
:
"เมฆครื้ม: 85-100%"
};
return
conditions
[
description
];
}
function
reviseTimeFormat
(
t
)
{
function
reviseTimeFormat
(
t
)
{
var
day
=
[
"Sunday"
,
"Monday"
,
"Tuesday"
,
"Wednesday"
,
"Thursday"
,
"Friday"
,
"Saturday"
];
var
day
=
[
var
month
=
[
"January"
,
"February"
,
"March"
,
"April"
,
"May"
,
"June"
,
"July"
,
"August"
,
"September"
,
"October"
,
"November"
,
"December"
];
{
"en"
:
"Sunday"
,
"th"
:
"อาทิตย์"
},
{
"en"
:
"Monday"
,
"th"
:
"จันทร์"
},
{
"en"
:
"Tuesday"
,
"th"
:
"อังคาร"
},
{
"en"
:
"Wednesday"
,
"th"
:
"พุธ"
},
{
"en"
:
"Thursday"
,
"th"
:
"พฤหัสบดี"
},
{
"en"
:
"Friday"
,
"th"
:
"ศุกร์"
},
{
"en"
:
"Saturday"
,
"th"
:
"เสาร์"
}
];
var
month
=
[
{
"en"
:
"January"
,
"th"
:
"มกราคม"
},
{
"en"
:
"February"
,
"th"
:
"กุมภาพันธ์"
},
{
"en"
:
"March"
,
"th"
:
"มีนาคม"
},
{
"en"
:
"April"
,
"th"
:
"เมษายน"
},
{
"en"
:
"May"
,
"th"
:
"พฤษภาคม"
},
{
"en"
:
"June"
,
"th"
:
"มิถุนายน"
},
{
"en"
:
"July"
,
"th"
:
"กรกฎาคม"
},
{
"en"
:
"August"
,
"th"
:
"สิงหาคม"
},
{
"en"
:
"September"
,
"th"
:
"กันยายน"
},
{
"en"
:
"October"
,
"th"
:
"ตุลาคม"
},
{
"en"
:
"November"
,
"th"
:
"พฤศจิกายน"
},
{
"en"
:
"December"
,
"th"
:
"ธันวาคม"
}
];
return
t
?
day
[
t
.
getDay
()][
lang
]
+
(
lang
==
"en"
?
" "
:
"ที่ "
)
+
t
.
getDate
().
toString
()
+
(
lang
==
"en"
?
", "
:
" "
)
+
month
[
t
.
getMonth
()][
lang
]
:
"-"
;
}
function
setupLang
()
{
let
headers
=
{
"th"
:
{
"inbuild"
:
"สิ่งแวดล้อมภายในอาคาร"
,
"outbuild"
:
"สิ่งแวดล้อมภายนอกอาคาร"
,
"temp-header"
:
"อุณหภูมิ"
,
"humid-header"
:
"ความชื้น"
,
"precip-header"
:
"หยาดน้ำฟ้า"
,
"humid-header2"
:
"ความชื้น"
,
"wind-speed-header"
:
"ความเร็วลม"
},
"en"
:
{
"inbuild"
:
"In building environment"
,
"outbuild"
:
"Outside building environment"
,
"temp-header"
:
"Temperature"
,
"humid-header"
:
"Humidity"
,
"precip-header"
:
"Precipitation"
,
"humid-header2"
:
"Humidity"
,
"wind-speed-header"
:
"Wind Speed"
}
}
return
t
?
day
[
t
.
getDay
()]
+
" "
+
t
.
getDate
().
toString
()
+
", "
+
month
[
t
.
getMonth
()]
:
"-"
;
for
(
var
i
in
headers
[
lang
])
{
// console.log(headers[lang][i]);
document
.
getElementById
(
i
).
innerHTML
=
headers
[
lang
][
i
];
document
.
getElementById
(
i
).
style
.
fontFamily
=
(
lang
==
"en"
)
?
"Poppins"
:
"Kanit"
;
}
}
}
function
getData
()
{
function
getData
()
{
...
@@ -609,8 +739,6 @@
...
@@ -609,8 +739,6 @@
</svg>`
;
</svg>`
;
}
}
console
.
log
(
obj
.
data
)
console
.
log
(
obj
.
data
)
}
}
});
});
...
@@ -647,6 +775,8 @@
...
@@ -647,6 +775,8 @@
if
(
obj
.
data
.
list
[
d
].
dt
*
1000
>
now
)
{
if
(
obj
.
data
.
list
[
d
].
dt
*
1000
>
now
)
{
dt
=
obj
.
data
.
list
[
d
].
dt
;
dt
=
obj
.
data
.
list
[
d
].
dt
;
location
=
obj
.
data
.
city
.
name
;
location
=
obj
.
data
.
city
.
name
;
location_lat
=
obj
.
data
.
city
.
coord
.
lat
;
location_lon
=
obj
.
data
.
city
.
coord
.
lon
;
temperature
=
obj
.
data
.
list
[
d
].
main
[
"temp"
]
-
273.15
;
temperature
=
obj
.
data
.
list
[
d
].
main
[
"temp"
]
-
273.15
;
precip
=
obj
.
data
.
list
[
d
].
pop
*
100
;
precip
=
obj
.
data
.
list
[
d
].
pop
*
100
;
...
@@ -654,19 +784,47 @@
...
@@ -654,19 +784,47 @@
ws
=
obj
.
data
.
list
[
d
].
wind
[
"speed"
];
ws
=
obj
.
data
.
list
[
d
].
wind
[
"speed"
];
pic
=
obj
.
data
.
list
[
d
].
weather
[
0
][
"icon"
]
+
".png"
;
pic
=
obj
.
data
.
list
[
d
].
weather
[
0
][
"icon"
]
+
".png"
;
description
=
obj
.
data
.
list
[
d
].
weather
[
0
][
"description"
]
description
=
obj
.
data
.
list
[
d
].
weather
[
0
][
"description"
]
?
((
lang
==
"en"
)
?
capitalize
(
obj
.
data
.
list
[
d
].
weather
[
0
][
"description"
])
:
weatherConditions
(
obj
.
data
.
list
[
d
].
weather
[
0
][
"description"
]))
:
"-"
console
.
log
(
pic
,
description
);
console
.
log
(
pic
,
description
);
break
;
break
;
}
}
}
}
console
.
log
(
location_lat
,
location_lon
,
location
)
// if (location_lat && location_lon) {
// $.ajax({
// type: "GET",
// url: "http://maps.googleapis.com/maps/api/geocode/json?latlng="+location_lat+","+location_lon+ "&sensor=true&language=" + lang,
// complete: function (e, xhr, settings) {
// switch (e.status) {
// case 500:
// console.log('500 internal server error!');
// break;
// case 404:
// console.log('404 Page not found!');
// break;
// case 401:
// console.log('401 unauthorized access');
// break;
// }
// }
// }).done(function(data){
// // alert(JSON.stringify(data));
// console.dir(data);
// document.getElementById("forecast-location").innerText = location || "-";
// document.getElementById("forecast-location").style.fontFamily = (lang == "en") ? "Poppins" : "Kanit";
// });
// }
document
.
getElementById
(
"forecast-location"
).
innerText
=
location
||
"-"
;
document
.
getElementById
(
"forecast-location"
).
innerText
=
location
||
"-"
;
document
.
getElementById
(
"forecast-location"
).
style
.
fontFamily
=
(
lang
==
"en"
)
?
"Poppins"
:
"Kanit"
;
document
.
getElementById
(
"forecasttime"
).
innerText
=
dt
?
reviseTimeFormat
(
new
Date
(
dt
*
1000
))
:
"-"
;
document
.
getElementById
(
"forecasttime"
).
innerText
=
dt
?
reviseTimeFormat
(
new
Date
(
dt
*
1000
))
:
"-"
;
document
.
getElementById
(
"forecasttime"
).
style
.
fontFamily
=
(
lang
==
"en"
)
?
"Poppins"
:
"Kanit"
;
document
.
getElementById
(
"forecast-pic"
).
src
=
"icon/"
+
pic
;
document
.
getElementById
(
"forecast-pic"
).
src
=
"icon/"
+
pic
;
$
(
"#forecast-description"
).
text
(
description
);
$
(
"#forecast-description"
).
text
(
capitalize
(
description
||
"-"
));
document
.
getElementById
(
"forecast-description"
).
style
.
fontFamily
=
(
lang
==
"en"
)
?
"Poppins"
:
"Kanit"
;
$
(
"#forecast-temperature"
).
text
(
$
(
"#forecast-temperature"
).
text
(
typeof
(
temperature
)
==
"number"
?
typeof
(
temperature
)
==
"number"
?
Math
.
round
(
temperature
).
toString
()
:
"-"
Math
.
round
(
temperature
).
toString
()
:
"-"
...
@@ -679,7 +837,30 @@
...
@@ -679,7 +837,30 @@
}
}
function
showtime
()
{
function
showtime
()
{
var
hour
=
new
Date
().
getHours
();
var
greeting
=
""
if
(
hour
>=
5
&&
hour
<
12
)
{
greeting
=
{
"en"
:
"Good Morning"
,
"th"
:
"อรุณสวัสดิ์"
}
}
else
if
(
hour
>=
12
&&
hour
<
18
)
{
greeting
=
{
"en"
:
"Good Afternoon"
,
"th"
:
"สวัสดียามบ่าย"
}
}
else
if
(
hour
>=
18
||
hour
>
0
)
{
greeting
=
{
"en"
:
"Good Evening"
,
"th"
:
"สวัสดียามเย็น"
}
}
document
.
getElementById
(
"greeting"
).
innerText
=
greeting
[
lang
];
document
.
getElementById
(
"showtime"
).
innerText
=
reviseTimeFormat
(
new
Date
());
document
.
getElementById
(
"showtime"
).
innerText
=
reviseTimeFormat
(
new
Date
());
document
.
getElementById
(
"greeting"
).
style
.
fontFamily
=
(
lang
==
"en"
)
?
"Poppins"
:
"Kanit"
;
document
.
getElementById
(
"showtime"
).
style
.
fontFamily
=
(
lang
==
"en"
)
?
"Poppins"
:
"Kanit"
;
}
}
function
updateHTML
()
{
function
updateHTML
()
{
...
@@ -696,12 +877,29 @@
...
@@ -696,12 +877,29 @@
}
}
function
init
()
{
function
init
()
{
const
params
=
new
Proxy
(
new
URLSearchParams
(
window
.
location
.
search
),
{
get
:
(
searchParams
,
prop
)
=>
searchParams
.
get
(
prop
),
});
// Get the value of "lang" in eg "https://example.com/?lang=some_value"
console
.
log
(
"lang = "
,
params
.
lang
)
let
lang_support
=
[
"en"
,
"th"
];
console
.
log
(
lang_support
.
includes
(
params
.
lang
));
if
(
!
lang_support
.
includes
(
params
.
lang
))
{
window
.
open
(
""
,
"_blank"
,
""
);
window
.
close
();
}
lang
=
params
.
lang
;
// "some_value"
getData
();
getData
();
getForecast
();
getForecast
();
showtime
();
showtime
();
console
.
log
(
"init"
)
console
.
log
(
"init"
)
setupLang
();
setInterval
(
updateHTML
,
1000
);
setInterval
(
updateHTML
,
1000
);
}
}
init
();
init
();
...
@@ -712,9 +910,6 @@
...
@@ -712,9 +910,6 @@
crossorigin=
"anonymous"
></script>
crossorigin=
"anonymous"
></script>
</body>
</body>
<footer>
<footer>
<div
class=
"container-fluid"
>
<p
style=
"color: #A1A8B9;"
>
Copyright © 2022 Created by NEXPIE Co., Ltd.
</p>
</div>
</footer>
</footer>
</html>
</html>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment