瀏覽代碼

Merge pull request #8 from sle118/Over_The_Air_Update

Over the air update
Sébastien 5 年之前
父節點
當前提交
d99460f7e5
共有 3 個文件被更改,包括 54 次插入7 次删除
  1. 42 7
      components/wifi-manager/code.js
  2. 3 0
      components/wifi-manager/index.html
  3. 9 0
      components/wifi-manager/style.css

+ 42 - 7
components/wifi-manager/code.js

@@ -308,6 +308,7 @@ $(document).ready(function(){
     $('#fwcheck').on("click", function(){
         $("#releaseTable").html("");
         $.getJSON(releaseURL, function(data) {
+            var i=0;
             data.forEach(function(release) {
                 var url = '';
                 release.assets.forEach(function(asset) {
@@ -321,23 +322,57 @@ $(document).ready(function(){
                 body = body.replace(/[\s\S]+(### Revision Log[\s\S]+)### ESP-IDF Version Used[\s\S]+/, "$1");
                 body = body.replace(/- \(.+?\) /g, "- ");
                 var [date, time] = release.created_at.split('T');
+                var trclass = (i++ > 6)?' hide':'';
                 $("#releaseTable").append(
-                    "<tr>"+
-                    "<td data-toggle='tooltip' title='"+body+"'>"+ver+"</td>"+
-                    "<td>"+idf+"</td>"+
-                    "<td>"+date+"</td>"+
-                    "<td>"+cfg+"</td>"+
-                    "<td>"+branch+"</td>"+
-                    "<td><input id='generate-command' type='button' class='btn btn-success' value='Select' data-url='"+url+"' onclick='setURL(this);' /></td>"+
+                    "<tr class='release"+trclass+"'>"+
+                        "<td data-toggle='tooltip' title='"+body+"'>"+ver+"</td>"+
+                        "<td>"+idf+"</td>"+
+                        "<td>"+date+"</td>"+
+                        "<td>"+cfg+"</td>"+
+                        "<td>"+branch+"</td>"+
+                        "<td><input id='generate-command' type='button' class='btn btn-success' value='Select' data-url='"+url+"' onclick='setURL(this);' /></td>"+
                     "</tr>"
                 );
             });
+            if (i > 7) {
+                $("#releaseTable").append(
+                    "<tr id='showall'>"+
+                        "<td colspan='6'>"+
+                            "<input type='button' id='showallbutton' class='btn btn-info' value='Show older releases' />"+
+                        "</td>"+
+                    "</tr>"
+                );
+                $('#showallbutton').on("click", function(){
+                    $("tr.hide").removeClass("hide");
+                    $("tr#showall").addClass("hide");
+                });
+            }
+            $("#searchfw").css("display", "inline");
         })
         .fail(function() {
             alert("failed to fetch release history!");
         });
     });
 
+    $('input#searchinput').on("input", function(){
+        var s = $('input#searchinput').val();
+        var re = new RegExp(s, "gi");
+        if (s.length == 0) {
+            $("tr.release").removeClass("hide");
+        } else if (s.length < 3) {
+            $("tr.release").addClass("hide");
+        } else {
+            $("tr.release").addClass("hide");
+            $("tr.release").each(function(tr){
+                $(this).find('td').each (function() {
+                    if ($(this).html().match(re)) {
+                        $(this).parent().removeClass('hide');
+                    }
+                });
+            });
+        }
+    });
+
     //first time the page loads: attempt to get the connection status and start the wifi scan
     refreshAP();
     getConfig();

+ 3 - 0
components/wifi-manager/index.html

@@ -270,6 +270,9 @@
                     <div class="buttons">
                         <input type="button" id="fwcheck" class="btn btn-info" value="Check for updates" />
                     </div>
+                    <div id="searchfw" class="form-group">
+                        <input class="form-control form-control-sm" id="searchinput" type="text" placeholder="search releases" id="inputSmall">
+                    </div>
                     <table class="table table-hover">
                         <thead>
                             <tr>

+ 9 - 0
components/wifi-manager/style.css

@@ -352,3 +352,12 @@ div#message {
     border-radius: 8px;
     box-shadow: 0px 5px 2px -5px rgba(255, 255, 255, 0.5) inset, 0px 10px 20px -5px rgba(255, 255, 255, 0.1) inset, 0 0px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 1px rgba(0, 0, 0, 0.12), 0 1px 10px 0 rgba(0, 0, 0, 0.3);
 }
+
+tr.hide {
+    display: none;
+}
+
+#searchfw {
+    float: right;
+    display: none;
+}