Browse Source

Added variable type - alarm

Signed-off-by: chanhoonseng <chanhoonseng3101@gmail.com>
chanhoonseng 7 years ago
parent
commit
39a3eb8aaa
4 changed files with 236 additions and 2 deletions
  1. 79 2
      designer.html
  2. 58 0
      static/alarm_active.svg
  3. 58 0
      static/alarm_inactive.svg
  4. 41 0
      status.html

+ 79 - 2
designer.html

@@ -99,6 +99,14 @@
 {% else %}
 {% end %}
 
+{% if data['style'][key]['type'] == "alarm" %}
+<div style='position: absolute; top: {{ data['style'][key]['top'] }}; left:{{ data['style'][key]['left'] }}; width:{{ data['style'][key]['width'] }}px; height:{{ data['style'][key]['height'] }}px;' data-type="{{ data['style'][key]['type'] }}" data-off="{{ data['style'][key]['off'] }}" data-on="{{ data['style'][key]['on'] }}" class='varbox' id="{{ key }}">
+<img width='100%' height='100%' src='{{ static_url("alarm_inactive.svg") }}'></img>
+</div>
+{% else %}
+{% end %}
+
+
 {% if data['style'][key]['type'] == "integer-to-string" %}
 <div style='position: absolute; top: {{ data['style'][key]['top'] }}; left:{{
     data['style'][key]['left'] }}; width:{{ data['style'][key]['width'] }}px;
@@ -148,6 +156,7 @@
   <option value="data">data</option>
   <option value="valve">valve</option>
   <option value="commbit">commbit</option>
+  <option value="alarm">alarm</option>
   <option value="integer-to-string">integer-to-string</option>
   <option value="header">header</option>
   <option value="calc">calc</option>
@@ -160,7 +169,7 @@
 <span class="info">Virtual ID</span>
 <input type="text" id="virtual_id_text" placeholder="text" style="font-size:16pt; width=100px;"/>
 <br /><br />
-<span class="info">Title</span>tt_chg_day_vis:
+<span class="info">Title</span>:
 
 <input type="text" id="elem_title_text" placeholder="text" style="font-size:16pt; width=100px;"/>
 <input type="text" id="elem_title_size" placeholder="size" style="font-size:16pt; width=100px;"/>
@@ -491,7 +500,51 @@ function add() {
                 $('#elem_unit_text').addClass('glowing_border');
             }
 
- 
+        } else if (vartype == "alarm") {
+
+            if (varattr=="virtual") {
+                virtual_name = "virtual_" + varname + "_" + virtual_id;
+                if ( $("#" + virtual_name).length > 0 ) {
+                    for (i = 0; i < 50; i++) {
+                        virtual_name = "virtual_" + varname + "_" + i.toString();
+                        console.log($("#" + virtual_name).length);
+                        if (!$("#" + virtual_name).length){
+                            break;
+                         }
+                    }
+                }
+                varname = virtual_name;
+            }
+
+            console.log("alarm");
+            if (unit_text.length > 0) {
+                var token = JSON.parse(unit_text);
+                data_on = token["on"];
+                data_off = token["off"];
+
+                 html_text = "<div " +
+                    "style='position: absolute; " +
+                           "top:0; " +
+                           "left:0;' " +
+                    "class='varbox box_highlight' " +
+                    "id='" + varname +
+                    "' data-type='" + vartype +
+                    "' data-cond='" + data_condition +
+                    "' data-lesser='" + data_lesser +
+                            "' data-larger='" + data_larger +
+                            "' data-on='" + data_on +
+                            "' data-off='" + data_off +
+                    "'>" +
+                            "<img width='100%' height='100%' " +
+                    "src='{{ static_url("alarm_inactive.svg") }}'></img>" +
+                        "</div>";
+                 $('#elem_unit_text').removeClass('glowing_border');
+            } else{
+                console.log("NoInput");
+                html_text = "";
+                $('#elem_unit_text').addClass('glowing_border');
+            }
+
 	} else if (vartype == "integer-to-string") {
             console.log("Integer2String");
             
@@ -671,6 +724,17 @@ function mysave(data) {
                     tmp["on"] = $("#"+key).attr("data-on");
                     tmp["off"] = $("#"+key).attr("data-off");
                 }
+            } else if ( $("#"+key).attr("data-type") == "alarm" ) {
+                if ((varname == key) && (varattr == "normal")) {
+                    var unit_text = $("#elem_unit_text").val();
+                    unit_text = unit_text.trim();
+                    var dtoken = JSON.parse(unit_text);
+                    tmp["on"] = dtoken["on"];
+                    tmp["off"] = dtoken["off"];
+                } else {
+                    tmp["on"] = $("#"+key).attr("data-on");
+                    tmp["off"] = $("#"+key).attr("data-off");
+                }
 
             } else if ( $("#"+key).attr("data-type") == "integer-to-string" ) {
                 if ((varname == key)&& (varattr == "normal")) {
@@ -834,6 +898,17 @@ function mysave(data) {
                     tmp["on"] = $("#"+key).attr("data-on");
                     tmp["off"] = $("#"+key).attr("data-off");
                 }
+            } else if ( $("#"+key).attr("data-type") == "alarm" ) {
+                if (varname == key) {
+                    var unit_text = $("#elem_unit_text").val();
+                    unit_text = unit_text.trim();
+                    var dtoken = JSON.parse(unit_text);
+                    tmp["on"] = dtoken["on"];
+                    tmp["off"] = dtoken["off"];
+                } else {
+                    tmp["on"] = $("#"+key).attr("data-on");
+                    tmp["off"] = $("#"+key).attr("data-off");
+                }
 
             } else if ( $("#"+key).attr("data-type") == "integer-to-string" ) {
                 if (varname == key) {
@@ -1149,6 +1224,8 @@ function highlight(mydata) {
         $("#elem_unit_text").val("{'on':"+$("#"+varname).attr("data-on") + ",'off':"+$("#"+varname).attr("data-off")+"}" );
     } else if (vartype == "commbit") {
         $("#elem_unit_text").val("{'on':"+$("#"+varname).attr("data-on") + ",'off':"+$("#"+varname).attr("data-off")+"}" );
+    } else if (vartype == "alarm") {
+        $("#elem_unit_text").val("{'on':"+$("#"+varname).attr("data-on") + ",'off':"+$("#"+varname).attr("data-off")+"}" );
     } else if (vartype == "integer-to-string") {
         $("#elem_title_text").val($("#"+varname + " .title").text().trim());
         $("#elem_title_size").val("");

File diff suppressed because it is too large
+ 58 - 0
static/alarm_active.svg


File diff suppressed because it is too large
+ 58 - 0
static/alarm_inactive.svg


+ 41 - 0
status.html

@@ -127,6 +127,28 @@ data-type="{{ data['style'][key]['type'] }}" data-off="{{ data['style'][key]['of
 {% else %}
 {% end %}
 
+{% if data['style'][key]['type'] == "alarm" %}
+{% if "ref" in data['style'][key] %}
+<div tooltip="{{ data['style'][key]['ref'] }}"
+{% else %}
+<div tooltip="{{ key }}"
+{% end %}
+style='position: absolute; top: {{ data['style'][key]['top'] }}; left:{{ data['style'][key]['left'] }}; width:{{ data['style'][key]['width'] }}px; height:{{ data['style'][key]['height'] }}px;'
+{% if "ref" in data['style'][key] %}
+data-type="{{ data['style'][key]['type'] }}" data-off="{{ data['style'][key]['off'] }}" data-on="{{ data['style'][key]['on'] }}" onclick="window.open('http://pcebessadei.competence-e.kit.edu/adei-battery/#module=graph&{{ data['varname'][data['style'][key]['ref']]}}&experiment=-&window=86400&module=graph&virtual=srctree&srctree=&infomod=legend', '_blank');" class='databox' id="{{ key }}">
+<img width='100%' height='100%' src='{{ static_url("alarm_inactive.svg") }}'></img>
+</div>
+{% else %}
+data-type="{{ data['style'][key]['type'] }}" data-off="{{ data['style'][key]['off'] }}" data-on="{{ data['style'][key]['on'] }}" onclick="window.open('http://pcebessadei.competence-e.kit.edu/adei-battery/#module=graph&{{ data['varname'][key]}}&experiment=-&window=86400&module=graph&virtual=srctree&srctree=&infomod=legend', '_blank');" class='databox' id="{{ key }}">
+<img width='100%' height='100%' src='{{ static_url("alarm_inactive.svg") }}'></img>
+</div>
+{% end %}
+
+{% else %}
+{% end %}
+
+
+
 {% if data['style'][key]['type'] == "integer-to-string" %}
 <div tooltip="{{ key }}" style='position: absolute; top: {{
     data['style'][key]['top'] }}; left:{{ data['style'][key]['left'] }};
@@ -255,6 +277,16 @@ function myTimer() {
                         if (parseFloat(response[key]) == parseFloat(off_attr)) {
                             $("img", "#" + key).attr("src", "{{ static_url('Bit_red.svg') }}");
                         }
+                    } else if (data_type == "alarm") {
+                        //console.log("alarm");
+                        var on_attr = $("#" + key).attr('data-on');
+                        var off_attr = $("#" + key).attr('data-off');
+                        if (parseFloat(response[key]) == parseFloat(on_attr)) {
+                            $("img", "#" + key).attr("src", "{{ static_url('alarm_active.svg') }}");
+                        }
+                        if (parseFloat(response[key]) == parseFloat(off_attr)) {
+                            $("img", "#" + key).attr("src", "{{ static_url('alarm_inactive.svg') }}");
+                        }
 		    } else if (data_type == "integer-to-string") {
                         //console.log("integer-to-string");
                         var dict_attr = JSON.parse($("#" + key).attr('data-dict'));
@@ -345,6 +377,15 @@ function myTimer() {
                                     if (parseFloat(response[ref]) == parseFloat(off_attr)) {
                                         $("img", "#" + key).attr("src", "{{ static_url('Bit_red.svg') }}");
                                 }
+                            } else if (data_type == "alarm") {
+                        var on_attr = $("#" + key).attr('data-on');
+                        var off_attr = $("#" + key).attr('data-off');
+                                    if (parseFloat(response[ref]) == parseFloat(on_attr)) {
+                                        $("img", "#" + key).attr("src", "{{ static_url('alarm_active.svg') }}");
+                                }
+                                    if (parseFloat(response[ref]) == parseFloat(off_attr)) {
+                                        $("img", "#" + key).attr("src", "{{ static_url('alarm_inactive.svg') }}");
+                                }
 
 		            } else if (data_type == "integer-to-string") {
                         var dict_attr = JSON.parse($("#" + key).attr('data-dict'));

Some files were not shown because too many files changed in this diff