|
|
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Complaints</title>
- <meta name="viewport" content="initial-scale=1.0">
- <meta charset="utf-8">
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
- <script src="socket.io/node_modules/socket.io-client/dist/socket.io.js"></script>
- <style>
- #map {
- height: 100%;
- }
-
- html, body {
- height: 100%;
- margin: 0;
- padding: 0;
- }
- </style>
-
- <style>
-
- #img:hover{
- color: #424242;
- -webkit-transition: all .3s ease-in;
- -moz-transition: all .3s ease-in;
- -ms-transition: all .3s ease-in;
- -o-transition: all .3s ease-in;
- transition: all .3s ease-in;
- opacity: 1;
- transform: scale(1.15);
- -ms-transform: scale(1.15); /* IE 9 */
- -webkit-transform: scale(1.15); /* Safari and Chrome */
- max-width: 400px;
- max-height: 400px;
- }
-
- #img-user{
- max-width: 150px;
- max-height: 150px;
- }
-
- .title{
- text-align: left;
- }
-
- td{
- padding: 20px 10px;
- }
-
- .popup{
- display: none; /* Hidden by default */
- position: fixed; /* Stay in place */
- left: 0;
- top: 0;
- width: 100%; /* Full width */
- height: 100%; /* Full height */
- overflow: auto; /* Enable scroll if needed */
- background-color: rgb(0,0,0); /* Fallback color */
- background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
- padding-top: 60px;
- }
-
- #table,#table-user{
- background: white;
- padding: 40px 60px;
- }
-
- #content, #user-content{
- display: inline-block;
- margin-top: 125px;
- background: white;
- }
- #submit{
- top: 50%;
- transform: translateY(-50%);
- }
-
- </style>
-
- </head>
- <body>
- <audio id="audio" src="http://www.soundjay.com/button/beep-07.wav" autoplay="false"></audio>
- <div id="map"></div>
-
-
-
- <!-- ANANA SOKIYIM JAVASCRIPT
- Sen nası gereksiz bir dilsin amk bütün bi gecemi yedin
- ben senenin ebeni sikiyim inşallah seni yazan programcının götüne av tüfeği girer
- AYNISI SOCKET.IO IÇIN DE GEÇERLİ ALLAHIM KAFAYI YİCEM ADAMLAR HERALDE "ACABA NE KADAR ÖZÜRLÜ BI FRAMERWORK YAZARIZ DUYE BAŞLAMIŞLAR IŞE"-->
-
-
- <div id = "popup" align = "center" class = "popup">
-
- <div id = "content">
-
- <form onsubmit="sendUpdate(this);console.log('submitting');return false;" action = "." id = "submission_form">
-
- <table border="0" cellpadding="10" cellspacing="0" id = "table" class = "modal">
- <tr>
- <td rowspan="2" colspan="7"><img src="cityscape.png" alt="img"id = "img"></td>
- <td colspan="2" class="title"><strong>Priority: </strong></td>
- <td colspan="1" id = "priority">7</td>
- </tr>
- <tr>
- <td colspan="2" class="title"><strong>Type: </strong></td>
- <td colspan="1" id = "type"> Ambulance</td>
- </tr>
- <tr>
- <td colspan="4" class="title"><strong>Submitter: </strong></td>
- <td colspan="6">
- <a href="#" id = "user" class = "panel" onclick=
- "document.getElementById('popup').style.display='none';
- document.getElementById('user-popup').style.display='block';
- setUser(this.getAttribute('userid'))"
-
- >Efe Aydın </a>
- </td>
- </tr>
- <tr>
- <td colspan="4" class="title"><strong>Message: </strong></td>
- <td colspan="6" id = "message">Test ambulance</td>
- </tr>
- <tr>
- <td colspan="4" class="title"><strong>Tags: </strong></td>
- <td colspan="6" id = "tags">Test tags</td>
- </tr>
- <tr>
- <td colspan="4" class="title"><strong>Message: </strong></td>
- <td colspan="6" id = "input"> <textarea name="message" rows="5" cols="30" id="response">Please enter response.</textarea>
- </td>
- </tr>
- <tr>
- <td colspan="10">
- <input type="submit" id = "submit">
- </td>
- </tr>
- </table>
- </form>
-
- </div>
-
-
- </div>
-
- <div id = "user-popup" align = "center" class="popup">
-
- <div id = "user-content">
- <table border="0" cellpadding="10" cellspacing="0" id = "table-user" class = "modal">
-
- <tr>
- <td rowspan="3" colspan="7"><img src="cityscape.png" alt="img"id = "img-user"></td>
- <td colspan="2" class="title"><strong>Name: </strong></td>
- <td colspan="1" id = "name">Efe Aydın</td>
- </tr>
- <tr>
- <td colspan="2" class="title"><strong>TC: </strong></td>
- <td colspan="1" id = "tc">111111111111</td>
- </tr>
- <tr>
- <td colspan="2" class="title"><strong>Trust: </strong></td>
- <td colspan="1" id = "trust">7</td>
- </tr>
-
- <tr>
- <td colspan="4" class="title"><strong>Phone: </strong></td>
- <td colspan="6" id="phone">
- 0 555 555 55 55
- </td>
- </tr>
- <tr>
- <td colspan="4" class="title"><strong>E-mail: </strong></td>
- <td colspan="6" id = "email">efeaydin@citizenview.com</td>
- </tr>
- <tr>
- <td colspan="4" class="title"><strong>Health: </strong></td>
- <td colspan="6" id = "health">Test tags</td>
- </tr>
- </table>
- <button onclick=
- "document.getElementById('popup').style.display='block';
- document.getElementById('user-popup').style.display='none';"
- style="margin-bottom: 5px;">OK</button>
- </div>
-
- </div>
-
- <script>
- function setUser(id) {
- if(!(id in users)) {
- $.get("https://" + document.domain + ":5000/users/" + id, function (dataStr, status) {
- data_user = $.parseJSON(dataStr)
- users[id]=data_user
- document.getElementById("name").innerHTML = users[id]["realname"];
- document.getElementById("tc").innerHTML = users[id]["TC"];
- document.getElementById("trust").innerHTML = users[id]["trustability"];
- document.getElementById("phone").innerHTML = users[id]["tel"];
- document.getElementById("email").innerHTML = users[id]["email"];
- document.getElementById("img-user").setAttribute("src","https://" + document.domain + ":5000"+users[id]["avatar"])
- });
- }else {
- document.getElementById("name").innerHTML = users[id]["realname"];
- document.getElementById("tc").innerHTML = users[id]["TC"];
- document.getElementById("trust").innerHTML = users[id]["trustability"];
- document.getElementById("phone").innerHTML = users[id]["tel"];
- document.getElementById("email").innerHTML = users[id]["email"];
- document.getElementById("img-user").setAttribute("src","data:image/png;base64," + users[id]["image"])
- }
- }
- function sendUpdate(form) {
- params = "?";
-
- params += "message=" + document.getElementById("response").value + "&";
- params += "id=" + form.getAttribute("id") + "&";
- params += "index=" + form.getAttribute("index");
- $.get("https://" + document.domain + ":5000/complaints_update" + params, function (dataStr, status) {
- });
- }
- </script>
-
- <script>
- var modal = document.getElementById('popup');
-
- window.onclick = function(event) {
- if (event.target == modal) {
- modal.style.display = "none";
- }
- }
- </script>
-
- <script>
- var map;
- function initMap() {
- map = new google.maps.Map(document.getElementById('map'), {
- center: {lat: 39.92, lng: 32.85},
- zoom: 13
- });
- }
- </script>
-
- <script>
- var sound = document.getElementById("audio");
- var markers = [];
-
- var socket = io.connect('http://' + document.domain + ':' + location.port + "/complaints_socket");
- console.log('http://' + document.domain + ":4000/complaints_socket")
- console.log(socket);
-
- var markers = [];
- var denunciation_count = markers.length;
- var users = {};
- setInterval(function () {
- socket.emit("check",{})
- },1000);
- var LatLng = null;
- socket.on("new",function (dataStr) {
- for (var i = 0; i < markers.length; i++) {
- markers.pop().setMap(null);
- }
- console.log("Update received!")
- data = $.parseJSON(dataStr);
- for(var key in data) {
- data[key].forEach(function (element,index) {
- if(element["lng"] === undefined || element["lat"] === undefined){
- return;
- }
- LatLng = {lat: parseFloat(element["lat"]), lng: parseFloat(element["lng"])};
- var marker = new google.maps.Marker({
- position: {lat: parseFloat(element["lat"]), lng: parseFloat(element["lng"])},
- map: map,
- label: element["response"]["priority"].toString(),
- title: element["datetime"]
- });
-
- marker.addListener('click', function () {
- document.getElementById('popup').style.display = 'block';
- document.getElementById("priority").innerHTML = element["response"]["priority"];
- if(element["response"]["status"]){
- document.getElementById("response").innerHTML = element["response"]["message"];
- }
- document.getElementById("submission_form").setAttribute("index",index);
- document.getElementById("submission_form").setAttribute("id",key);
- document.getElementById("type").innerHTML = "Road Damage";
- document.getElementById("message").innerHTML = element["content"];
-
- if (!(key in users)) {
- $.get("https://" + document.domain + ":5000/users/" + key, function (dataStr, status) {
- data_user = $.parseJSON(dataStr);
- users[key] = data_user;
- document.getElementById("user").innerHTML = users[key]["realname"];
- });
- } else {
- document.getElementById("user").innerHTML = users[key]["realname"];
- }
- document.getElementById("user").setAttribute("userid", key);
- document.getElementById("img").setAttribute("src", "data:image/png;base64," + element["img"])
- });
-
- });
- }
- map.setCenter(LatLng);
-
- if (denunciation_count < markers.length) {
- sound.play();
- }
- denunciation_count = markers.length;
- });
-
- </script>
-
- <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBuOC03IHPA_6TPnfk18b0SAgD1uge4-dk&callback=initMap" async defer></script>
-
- </body>
- </html>
|