Commit 1c26762e authored by nextime's avatar nextime

Moved optimized css/js of standard gui in resources

parent a14fc69c
<? <?
$GUIDEBUG=FALSE; $GUIDEBUG=FALSE;
$GUIDEBUG=TRUE; //$GUIDEBUG=TRUE;
function getBaseGuiPath() function getBaseGuiPath()
......
...@@ -709,42 +709,43 @@ ...@@ -709,42 +709,43 @@
if(es.readystate=='CLOSED') if(es.readystate=='CLOSED')
es = new EventSource("/sse"); es = new EventSource("/sse");
} }
$(window).load(function(){
$.get("/rest/v1.2/daemonstatus/json", $.get("/rest/v1.2/daemonstatus/json",
function(r){
if(r.data=='boardsdetection')
{
$("#modal_fixed").load('/resources/modals/autodetection_run.html');
$("#modal_fixed").modal('show');
}
}
);
setInterval(function(i){
//console.debug("setinterval");
$.get("/rest/v1.2/keepalive/json",
function(r){ function(r){
//console.debug(r); if(r.data=='boardsdetection')
//console.debug("getok");
//if('vibrate' in navigator) {
// // ... vibrate for a second
// navigator.vibrate(1000);
//}
if(r.data=='SLOGGEDOUT')
{ {
location.reload(); $("#modal_fixed").load('/resources/modals/autodetection_run.html');
$("#modal_fixed").modal('show');
} }
if($("#modal_offline").attr('aria-hidden')=='false')
$("#modal_offline").modal('hide');
}).fail(function(r){
console.debug("getfail");
console.debug(r);
$("#modal_offline").modal('show');
} }
); );
},5000);
$.get("/rest/v1.2/notifications/count/json", function(r){ $("#notifybadge").text(r.data);});
setInterval(function(i){
//console.debug("setinterval");
$.get("/rest/v1.2/keepalive/json",
function(r){
//console.debug(r);
//console.debug("getok");
//if('vibrate' in navigator) {
// // ... vibrate for a second
// navigator.vibrate(1000);
//}
if(r.data=='SLOGGEDOUT')
{
location.reload();
}
if($("#modal_offline").attr('aria-hidden')=='false')
$("#modal_offline").modal('hide');
}).fail(function(r){
console.debug("getfail");
console.debug(r);
$("#modal_offline").modal('show');
}
);
},5000);
$.get("/rest/v1.2/notifications/count/json", function(r){ $("#notifybadge").text(r.data);});
});
...@@ -10,7 +10,6 @@ CSS="../../resources/bootstrap/css/bootstrap.min.css ...@@ -10,7 +10,6 @@ CSS="../../resources/bootstrap/css/bootstrap.min.css
../../resources/bootstrap-switch/static/stylesheets/bootstrap-switch.css ../../resources/bootstrap-switch/static/stylesheets/bootstrap-switch.css
../../resources/js/jqplot/jquery.jqplot.min.css ../../resources/js/jqplot/jquery.jqplot.min.css
../../resources/noUiSlider/jquery.nouislider.css ../../resources/noUiSlider/jquery.nouislider.css
css/style.css
" "
JS=" JS="
...@@ -21,7 +20,6 @@ JS=" ...@@ -21,7 +20,6 @@ JS="
js/starthammer.js js/starthammer.js
../../resources/hammer.js/plugins/jquery.hammer.js/jquery.hammer.js ../../resources/hammer.js/plugins/jquery.hammer.js/jquery.hammer.js
../../resources/bootstrap/js/bootstrap.min.js ../../resources/bootstrap/js/bootstrap.min.js
../../resources/js/respond.min.js
../../resources/bootstrap-switch/static/js/bootstrap-switch.min.js ../../resources/bootstrap-switch/static/js/bootstrap-switch.min.js
../../resources/Snap.js/snap.min.js ../../resources/Snap.js/snap.min.js
../../resources/AppScroll.js/AppScroll.min.js ../../resources/AppScroll.js/AppScroll.min.js
...@@ -44,10 +42,9 @@ js/starthammer.js ...@@ -44,10 +42,9 @@ js/starthammer.js
../../resources/css-element-queries/src/ElementQueries.js ../../resources/css-element-queries/src/ElementQueries.js
js/fastclick.js js/fastclick.js
js/speech.js js/speech.js
js/domotika.js
" "
echo -n > css/combined.min.css echo -n > ../../resources/gui/css/combined.min.css
echo -n > js/combined.min.js echo -n > ../../resources/gui/js/combined.min.js
export IFS=" export IFS="
" "
for c in $CSS for c in $CSS
...@@ -61,7 +58,7 @@ for c in $CSS ...@@ -61,7 +58,7 @@ for c in $CSS
echo "already minified..." echo "already minified..."
cp $c /tmp/$o.compressed cp $c /tmp/$o.compressed
fi fi
cat /tmp/$o.compressed >> css/combined.min.css cat /tmp/$o.compressed >> ../../resources/gui/css/combined.min.css
done done
for j in $JS for j in $JS
...@@ -73,20 +70,20 @@ for j in $JS ...@@ -73,20 +70,20 @@ for j in $JS
#java -jar ../../../tools/compiler.jar --js $mydir/$j --js_output_file /tmp/$o.compressed >/dev/null 2>&1 #java -jar ../../../tools/compiler.jar --js $mydir/$j --js_output_file /tmp/$o.compressed >/dev/null 2>&1
$YUI --type js --nomunge -o /tmp/$o.compressed $j >/dev/null 2>&1 $YUI --type js --nomunge -o /tmp/$o.compressed $j >/dev/null 2>&1
if [ -f /tmp/$o.compressed ] ; then if [ -f /tmp/$o.compressed ] ; then
cat /tmp/$o.compressed >> js/combined.min.js cat /tmp/$o.compressed >> ../../resources/gui/js/combined.min.js
else else
echo "cannot use closure, use htmlcompressor..." echo "cannot use closure, use htmlcompressor..."
#sed -e 's/ \/\/.*$//' $mydir/$j > /tmp/$o.pass1 #sed -e 's/ \/\/.*$//' $mydir/$j > /tmp/$o.pass1
#java -jar ../../../tools/htmlcompressor-1.5.3.jar --nomunge -o /tmp/$o.compressed /tmp/$o.pass1 #java -jar ../../../tools/htmlcompressor-1.5.3.jar --nomunge -o /tmp/$o.compressed /tmp/$o.pass1
cp $mydir/$j /tmp/$o.compressed cp $mydir/$j /tmp/$o.compressed
cat /tmp/$o.compressed >> js/combined.min.js cat /tmp/$o.compressed >> ../../resources/gui/js/combined.min.js
fi fi
else else
echo "already minified..." echo "already minified..."
cat $j >> js/combined.min.js cat $j >> ../../resources/gui/js/combined.min.js
fi fi
echo -n 'SIZE: ' echo -n 'SIZE: '
du -chs js/combined.min.js du -chs ../../resources/gui/js/combined.min.js
done done
...@@ -52,7 +52,7 @@ function chartsPlot() ...@@ -52,7 +52,7 @@ function chartsPlot()
} }
} }
$(document).ready(function(){ $(window).load(function(){
chartsPlot(); chartsPlot();
setInterval(chartsPlot, 10000); setInterval(chartsPlot, 10000);
}); });
......
...@@ -12,7 +12,9 @@ ...@@ -12,7 +12,9 @@
<!-- Include all compiled plugins (below), or include individual files as needed --> <!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="/resources/bootstrap/js/bootstrap.min.js"></script> <script src="/resources/bootstrap/js/bootstrap.min.js"></script>
<!-- Optionally enable responsive features in IE8 --> <!-- Optionally enable responsive features in IE8 -->
<!--[if IE 8]>
<script src="/resources/js/respond.min.js"></script> <script src="/resources/js/respond.min.js"></script>
<![endif]-->
<!-- bootstrap switch --> <!-- bootstrap switch -->
<script src="/resources/bootstrap-switch/static/js/bootstrap-switch.min.yui.js"></script> <script src="/resources/bootstrap-switch/static/js/bootstrap-switch.min.yui.js"></script>
<!-- Snap.js --> <!-- Snap.js -->
...@@ -45,5 +47,6 @@ ...@@ -45,5 +47,6 @@
<script src="<?=$BASEGUIPATH;?>/js/speech.js"></script> <script src="<?=$BASEGUIPATH;?>/js/speech.js"></script>
<script src="<?=$BASEGUIPATH;?>/js/domotika.js"></script> <script src="<?=$BASEGUIPATH;?>/js/domotika.js"></script>
<? } else { ?> <? } else { ?>
<script src="<?=$BASEGUIPATH;?>/js/combined.min.js"></script> <script src="/resources/gui/js/combined.min.js"></script>
<script src="<?=$BASEGUIPATH;?>/js/domotika.js"></script>
<? } ?> <? } ?>
...@@ -25,5 +25,6 @@ ...@@ -25,5 +25,6 @@
<link href="<?=$BASEGUIPATH;?>/css/style.css" rel="stylesheet" media="screen" /> <link href="<?=$BASEGUIPATH;?>/css/style.css" rel="stylesheet" media="screen" />
<? } else { ?> <? } else { ?>
<link href="<?=$BASEGUIPATH;?>/css/combined.min.css" rel="stylesheet" media="screen" /> <link href="/resources/gui/css/combined.min.css" rel="stylesheet" media="screen" />
<link href="<?=$BASEGUIPATH;?>/css/style.css" rel="stylesheet" media="screen" />
<? } ?> <? } ?>
a:2:{s:9:"timestamp";i:1388713246;s:12:"translations";a:17:{s:4:"home";s:4:"home";s:5:"blind";s:10:"tapparelle";s:8:"cancello";s:8:"cancelli";s:5:"clima";s:5:"clima";s:4:"door";s:5:"porte";s:3:"led";s:3:"led";s:5:"light";s:4:"luci";s:7:"scenari";s:7:"scenari";s:6:"socket";s:5:"prese";s:6:"valvle";s:7:"valvole";s:6:"sensor";s:7:"sensori";s:6:"camera";s:10:"telecamere";s:6:"window";s:8:"finestre";s:4:"user";s:4:"user";s:4:"none";s:15:"Nessuna Sezione";s:5:"phone";s:8:"telefono";s:5:"index";s:4:"Home";}} a:2:{s:9:"timestamp";i:1395332244;s:12:"translations";a:18:{s:4:"home";s:4:"home";s:5:"blind";s:10:"tapparelle";s:8:"cancello";s:8:"cancelli";s:5:"clima";s:5:"clima";s:4:"door";s:5:"porte";s:3:"led";s:3:"led";s:5:"light";s:4:"luci";s:7:"scenari";s:7:"scenari";s:6:"socket";s:5:"prese";s:6:"valvle";s:7:"valvole";s:6:"sensor";s:7:"sensori";s:6:"camera";s:10:"telecamere";s:6:"window";s:8:"finestre";s:4:"user";s:4:"user";s:4:"none";s:15:"Nessuna Sezione";s:5:"phone";s:8:"telefono";s:5:"index";s:4:"Home";s:4:"gate";s:8:"cancelli";}}
\ No newline at end of file \ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -57,6 +57,16 @@ from twisted.web.twcgi import CGIScript, FilteredScript ...@@ -57,6 +57,16 @@ from twisted.web.twcgi import CGIScript, FilteredScript
log = logging.getLogger( 'Webgui' ) log = logging.getLogger( 'Webgui' )
curdir=os.path.abspath(os.path.dirname(sys.argv[0])) curdir=os.path.abspath(os.path.dirname(sys.argv[0]))
EXCLUDELIST=(
'.swf',
'.png',
'.jpg',
'.gif',
'.gz',
'.tgz'
'.zip'
)
class GzipRequest(object): class GzipRequest(object):
"""Wrapper for a request that applies a gzip content encoding""" """Wrapper for a request that applies a gzip content encoding"""
...@@ -88,6 +98,7 @@ class GzipRequest(object): ...@@ -88,6 +98,7 @@ class GzipRequest(object):
if 'content-length' in self.request.headers: if 'content-length' in self.request.headers:
del self.request.headers['content-length'] del self.request.headers['content-length']
# Borrow header information from twisted.web2 gzip filter # Borrow header information from twisted.web2 gzip filter
self.request.headers['pippo']='sarca'
self.request.write('\037\213\010\000' '\0\0\0\0' '\002\377') self.request.write('\037\213\010\000' '\0\0\0\0' '\002\377')
self.crc = zlib.crc32(data, self.crc) self.crc = zlib.crc32(data, self.crc)
self.size += len(data) self.size += len(data)
...@@ -117,7 +128,7 @@ class StaticFile(static.File): ...@@ -117,7 +128,7 @@ class StaticFile(static.File):
# Some flash file ( flowplayer.. ) needs # Some flash file ( flowplayer.. ) needs
# to be server without gzip compression or # to be server without gzip compression or
# they will not work sometime... # they will not work sometime...
if self.basename().endswith('.swf'): if self.basename().endswith(EXCLUDELIST):
return static.File.render(self, request) return static.File.render(self, request)
accept_encoding = request.getHeader('accept-encoding') accept_encoding = request.getHeader('accept-encoding')
if accept_encoding: if accept_encoding:
......
...@@ -40,6 +40,7 @@ import logging ...@@ -40,6 +40,7 @@ import logging
log = logging.getLogger( 'Proxy' ) log = logging.getLogger( 'Proxy' )
class WebProxyClient(ProxyClient): class WebProxyClient(ProxyClient):
def handleHeader(self, key, value): def handleHeader(self, key, value):
if key.lower() == 'location': if key.lower() == 'location':
log.debug("Manage location header") log.debug("Manage location header")
......
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIEGTCCAwGgAwIBAgIJAMk5siMVWV4UMA0GCSqGSIb3DQEBBQUAMIGiMQswCQYD MIIEFTCCAv2gAwIBAgIJAI5lrgU6bzXkMA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD
VQQGEwJJVDEOMAwGA1UECAwFSXRhbHkxFzAVBgNVBAcMDkxvbmF0ZSBQb3p6b2xv VQQGEwJJVDEPMA0GA1UECAwGTWlsYW5vMRcwFQYDVQQHDA5Mb25hdGUgUG96em9s
MRswGQYDVQQKDBJVbml4bWVkaWEgRG9tb3Rpa2ExETAPBgNVBAsMCERvbW90aWth bzEZMBcGA1UECgwQVW5peG1lZGlhIFMuci5sLjEPMA0GA1UECwwGTmV4bGFiMRkw
MRgwFgYDVQQDDA9xLnVuaXhtZWRpYS5uZXQxIDAeBgkqhkiG9w0BCQEWEWluZm9A FwYDVQQDDBB0ZXNsYS5uZXhsYWIudGhjMSAwHgYJKoZIhvcNAQkBFhFpbmZvQHVu
dW5peG1lZGlhLml0MB4XDTEzMTAyNTE0MzAxNFoXDTIzMTAyMzE0MzAxNFowgaIx aXhtZWRpYS5pdDAeFw0xNDA0MDcwMDU4MjJaFw0yNDA0MDQwMDU4MjJaMIGgMQsw
CzAJBgNVBAYTAklUMQ4wDAYDVQQIDAVJdGFseTEXMBUGA1UEBwwOTG9uYXRlIFBv CQYDVQQGEwJJVDEPMA0GA1UECAwGTWlsYW5vMRcwFQYDVQQHDA5Mb25hdGUgUG96
enpvbG8xGzAZBgNVBAoMElVuaXhtZWRpYSBEb21vdGlrYTERMA8GA1UECwwIRG9t em9sbzEZMBcGA1UECgwQVW5peG1lZGlhIFMuci5sLjEPMA0GA1UECwwGTmV4bGFi
b3Rpa2ExGDAWBgNVBAMMD3EudW5peG1lZGlhLm5ldDEgMB4GCSqGSIb3DQEJARYR MRkwFwYDVQQDDBB0ZXNsYS5uZXhsYWIudGhjMSAwHgYJKoZIhvcNAQkBFhFpbmZv
aW5mb0B1bml4bWVkaWEuaXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB QHVuaXhtZWRpYS5pdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALeG
AQCcElJ2ftEl340LDArcXYU0je6lS/VpOgmpUlBj/tErN8fwXgboge8sTea6KGeg DAV/dPljFlccXdjcN/0Yn71lcowSWALi9DCkdJxzxl+cdfZ4St8R6SnFY/KtOWc0
94nS7em9eq9raCx/xas35wL0NzC3Fu9Fefr39yd1X45t767Qd3SN0NdGvFtcuzgv Hys2s58N4c+efNmlWS2kqQ/aqMFAeEzqiAArSXnBtKLP00Z1rR+TCLRHsJEYFvjZ
CIjRtfnPD0TYvwCVXEVCHGz5+Hay34o4xBKFtNJ+0cnD2XmsXSrApzaQzhvTCre4 jbfHYgAFmlGN4OweluYOI/yu5VcH/H8BtvAzzongvCyH7lDIpC7uUCuGj/fQUf6H
kIL3N/8yYG6fD20ZcG4eV+W0oMZuWQg4bzwBwHsJcZ7vHZ1j1sDhusYG9yGZ5NsX e2uD/tZRwVs4qBO2RVFWFy6fTHdv/GX7j1yqOPKyzjNIY/cKtju4LYDBswhUxOij
i+elELgSKNB3UOT8vMhcQL/HqmN8nnczOQu5h8UCd7CLcsNLpSNLJPP9gs9NcKvk 3k/kF6lxNYxL80sXMyh+sVoAIMNCzRH4RAVDyfm/z966LHcywt1qwwzv1KYxlOrW
7vQyciAxsTMBArxFvM9oD8YlAgMBAAGjUDBOMB0GA1UdDgQWBBRYYQgdU1lrrSGx mPM9l7ZzkAf/oUPXoRcCAwEAAaNQME4wHQYDVR0OBBYEFMNtdJ4E5Z+0z4OCy77E
ynmPmpTF0L08aDAfBgNVHSMEGDAWgBRYYQgdU1lrrSGxynmPmpTF0L08aDAMBgNV zUdqo95FMB8GA1UdIwQYMBaAFMNtdJ4E5Z+0z4OCy77EzUdqo95FMAwGA1UdEwQF
HRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQBM4fvgqmwziDAIBxf8ibZxwu+/ MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAEX8dlT1HxxB4nJoIWjFMzkL6X13d76F
Z1XTxMWimH7slR2+KT1s38JTAT0EjDUes56fSHLQoRdgq1snVNBS0YhxJbo3RT5Q w/lmPyrzk+SwdAuGXKE3tThsjMc3hKU5t9v05+l62aE+v0BoUxt65TOP0m9PhDko
GB4DiljMDDpI6xcm8GsEH7U15Q932SXcLP11qRik2pHzMWvlLod+8DnxxUjotYR1 MkU0nUkDFtazSYwEZOH7ts6Bl+wrnbWsr34eh7GEdaIp339BgmB0PkyXe0EXoGrz
NPRqykP4rfnjQ2GE9I7tfArm4Cz1lg6SqByrVN+3DPHkuw2LXx9AMW8hKpPUK4oA /yxna8L7oL6Ysqr0qwgakp9aKQGMnFOs/e06/INceERleueosOMPHWce4UdJBmC6
8zbPjciFpEkjt6h6d6ScaTS8EwIfWeJmUA9jbCUwldJTyYtkbz8l1t9FA2YIvB0m uz9tW8ZgGKC8eKk0hL8QleOJQAK/09cmh9H1SlSC4XkmVy7VzWgXg+kRkRgpBHgN
1Xl0OIa+u7pj+DW1lJFod9vV4P62yxYY3OX1CVIURz5li1WNLhT0FHgZLkFc FXdjtPRrfmLHNC2n46+p3Q6x1aF7/rNFnZ9a3ZoZObX35/G3Myot/UE=
-----END CERTIFICATE----- -----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY----- -----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY----- -----END RSA PRIVATE KEY-----
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment