feluelle commented on a change in pull request #5997: [AIRFLOW-5396] - Add 
button Auto Refresh
URL: https://github.com/apache/airflow/pull/5997#discussion_r321135817
 
 

 ##########
 File path: airflow/www/templates/airflow/dag.html
 ##########
 @@ -573,5 +581,59 @@ <h4 class="modal-title" id="dagModalLabel">
       $.post(url);
     });
 
+    // AutoRefresh
+    AUTO_REFRESH_COOKIE_NAME = 'airflow_auto_refresh_enabled'
+
+    setCookie = (cname, cvalue, exdays) => {
+    var d = new Date();
+      d.setTime(d.getTime() + (exdays*24*60*60*1000));
+      var expires = "expires="+ d.toUTCString();
+      document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
+    }
+
+    getCookie = (cname)=> {
+      var name = cname + "=";
+      var decodedCookie = decodeURIComponent(document.cookie);
+      var ca = decodedCookie.split(';');
+      for(var i = 0; i <ca.length; i++) {
+        var c = ca[i];
+        while (c.charAt(0) == ' ') {
+          c = c.substring(1);
+        }
+        if (c.indexOf(name) == 0) {
+          return c.substring(name.length, c.length);
+        }
+      }
+      return "";
+    }
+
+    rmCookie = (cname)=>{
+      setCookie(cname, '', 0)
+    }
+
+    isAutoRefreshEnabled = ()=>{
+        return getCookie(AUTO_REFRESH_COOKIE_NAME)==1
+    }
+
+    toggleAutoRefresh = ()=>{
+      if(isAutoRefreshEnabled()){
+        $('#label-auto-refresh').html('Auto Refresh')
+        rmCookie(AUTO_REFRESH_COOKIE_NAME)
+      }else{
+        setCookie(AUTO_REFRESH_COOKIE_NAME, 1)
+      }
+    }
+
+    setInterval(()=>{
+        if (isAutoRefreshEnabled())
+            location.reload()
 
 Review comment:
   In the graph view there is a button 
![image](https://user-images.githubusercontent.com/23282078/64324886-74692480-cfc7-11e9-8761-ea3c3e0e1719.png)
 in the top right corner.
   
   It seems to only refresh the graph view (haven't looked more into it *) 
which I think would be what you want.
   
   *_you could search in the **www** or **www_rbac** (depends on whether you 
want to support 1.10.x or not) for `refresh_button` (the class attribute of the 
button)_

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to