From 33af1be68091c9f5423b96ad2bf9527e71547b5a Mon Sep 17 00:00:00 2001
From: X O <xo@wvvw.me>
Date: Sun, 3 Jan 2016 17:34:28 +1030
Subject: [PATCH] speed up page loading & fix poster sorting

---
 gui/slick/js/core.js      |  16 ++++++++++++----
 gui/slick/js/core.min.js  | Bin 68547 -> 68660 bytes
 gui/slick/views/home.mako |  18 +++++++++---------
 3 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/gui/slick/js/core.js b/gui/slick/js/core.js
index c4cb8db07..d11143cd3 100644
--- a/gui/slick/js/core.js
+++ b/gui/slick/js/core.js
@@ -45,6 +45,15 @@ function isMeta(pyVar, result){
 var SICKRAGE = {
     common: {
         init: function() {
+            (function init() {
+                var imgDefer = document.getElementsByTagName('img');
+                for (var i=0; i<imgDefer.length; i++) {
+                    if(imgDefer[i].getAttribute('data-src')) {
+                        imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));
+                    }
+                }
+            })();
+
             $.confirm.options = {
                 confirmButton: "Yes",
                 cancelButton: "Cancel",
@@ -1793,11 +1802,11 @@ var SICKRAGE = {
             });
 
             // Handle filtering in the poster layout
-            $('#filterShowName').on('input', _.debounce(function (e) {
+            $('#filterShowName').on('input', _.debounce(function() {
                 $('.show-grid').isotope({
                     filter: function () {
-                      var name = $('div.show-title', this).text();
-                      return (name.toLowerCase().indexOf(e.target.value.toLowerCase()) !== -1);
+                      var name = $(this).data('name');
+                      return name.toLowerCase();
                     }
                 });
             }, 500));
@@ -1885,7 +1894,6 @@ var SICKRAGE = {
                     5: function(node) { return $(node).find("span:first").text(); },
                     6: function(node) { return $(node).data('show-size'); },
                     7: function(node) { return $(node).find("img").attr("alt"); }
-
                 },
                 widgets: ['saveSort', 'zebra', 'stickyHeaders', 'filter', 'columnSelector'],
                 headers: {
diff --git a/gui/slick/js/core.min.js b/gui/slick/js/core.min.js
index 1036343312e0c8d5b50291c3921a2d96bca097cc..36c27618963d1bd9fbc4c6a202f4bc17150ce1a8 100644
GIT binary patch
delta 271
zcmX>+on^}mmJOLK^@?ewdC4W2`FR?e)oJ-f8fA$^3W>HU`N^fZsd*)O>8T~IIjJCK
zu~TJ8V!B^qZmNb-W^THYrcRQrfpwBiqFzpFUV2G}b&|HWW@2<wEJ%-INl8&=QfW!5
zhEhsmNuq9XQL>Vzni^QTIJE>Jt)T>x(g91PBTFFZ)2!9d)Y+WL@~NE3nrm`&&2pAn
z&03wwjx|!7m1@;BCTDJuo}9W=Y;r<7%VdGOY+#)lN_mO7sY;sGMX4pFMR^K|dL{Wj
f`Q@oa&WXjT8k_GdJsHf%HF@dJmd#qfW(ooTG<{-8

delta 153
zcmdlogXQpamJOLKn*~@ul}~1=UCwIFRjXM$*`Y;x^T}Fu4aUUDAC?*>CfTZJD5YeU
z=@n<>m+O{fmgJ-=>6Bz-7HjI2q*jz@Xj&JgmXsFd=^859+9v6h<oo28rxrOU7N=@x
v>SgAoq*nN+X(Z~EBo?Komgtow=9H$QD%$M3>}2p{@n0>BT$^YAnkfhX0aH0^

diff --git a/gui/slick/views/home.mako b/gui/slick/views/home.mako
index efa1090e2..7f72b5311 100644
--- a/gui/slick/views/home.mako
+++ b/gui/slick/views/home.mako
@@ -92,7 +92,7 @@
 % for curLoadingShow in sickbeard.showQueueScheduler.action.loadingShowList:
     % if curLoadingShow.show is None:
         <div class="show-container" data-name="0" data-date="010101" data-network="0" data-progress="101">
-            <img alt="" title="${curLoadingShow.show_name}" class="show-image" style="border-bottom: 1px solid #111;" src="${srRoot}/images/poster.png" />
+            <img alt="" title="${curLoadingShow.show_name}" class="show-image" style="border-bottom: 1px solid #111;" src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="${srRoot}/images/poster.png" />
             <div class="show-details">
                 <div class="show-add">Loading... (${curLoadingShow.show_name})</div>
             </div>
@@ -165,7 +165,7 @@
 %>
     <div class="show-container" id="show${curShow.indexerid}" data-name="${curShow.name}" data-date="${data_date}" data-network="${curShow.network}" data-progress="${progressbar_percent}">
         <div class="show-image">
-            <a href="${srRoot}/home/displayShow?show=${curShow.indexerid}"><img alt="" class="show-image" src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=poster_thumb" /></a>
+            <a href="${srRoot}/home/displayShow?show=${curShow.indexerid}"><img alt="" class="show-image" src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=poster_thumb" /></a>
         </div>
 
         <div class="progressbar hidden-print" style="position:relative;" data-show-id="${curShow.indexerid}" data-progress-percentage="${progressbar_percent}"></div>
@@ -209,9 +209,9 @@
                     <td class="show-table">
                         % if sickbeard.HOME_LAYOUT != 'simple':
                             % if curShow.network:
-                                <span title="${curShow.network}"><img class="show-network-image" src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=network" alt="${curShow.network}" title="${curShow.network}" /></span>
+                                <span title="${curShow.network}"><img class="show-network-image" src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=network" alt="${curShow.network}" title="${curShow.network}" /></span>
                             % else:
-                                <span title="No Network"><img class="show-network-image" src="${srRoot}/images/network/nonetwork.png" alt="No Network" title="No Network" /></span>
+                                <span title="No Network"><img class="show-network-image" src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="${srRoot}/images/network/nonetwork.png" alt="No Network" title="No Network" /></span>
                             % endif
                         % else:
                             <span title="${curShow.network}">${curShow.network}</span>
@@ -371,7 +371,7 @@
         <td class="tvShow">
             <div class="imgsmallposter ${sickbeard.HOME_LAYOUT}">
                 <a href="${srRoot}/home/displayShow?show=${curShow.indexerid}" title="${curShow.name}">
-                    <img src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=poster_thumb" class="${sickbeard.HOME_LAYOUT}" alt="${curShow.indexerid}"/>
+                    <img src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=poster_thumb" class="${sickbeard.HOME_LAYOUT}" alt="${curShow.indexerid}"/>
                 </a>
                 <a href="${srRoot}/home/displayShow?show=${curShow.indexerid}" style="vertical-align: middle;">${curShow.name}</a>
             </div>
@@ -381,7 +381,7 @@
             <span style="display: none;">${curShow.name}</span>
             <div class="imgbanner ${sickbeard.HOME_LAYOUT}">
                 <a href="${srRoot}/home/displayShow?show=${curShow.indexerid}">
-                <img src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=banner" class="${sickbeard.HOME_LAYOUT}" alt="${curShow.indexerid}" title="${curShow.name}"/>
+                <img src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=banner" class="${sickbeard.HOME_LAYOUT}" alt="${curShow.indexerid}" title="${curShow.name}"/>
             </div>
         </td>
     % elif sickbeard.HOME_LAYOUT == 'simple':
@@ -391,10 +391,10 @@
     % if sickbeard.HOME_LAYOUT != 'simple':
         <td align="center">
         % if curShow.network:
-            <span title="${curShow.network}" class="hidden-print"><img id="network" width="54" height="27" src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=network" alt="${curShow.network}" title="${curShow.network}" /></span>
+            <span title="${curShow.network}" class="hidden-print"><img id="network" width="54" height="27" src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="${srRoot}/showPoster/?show=${curShow.indexerid}&amp;which=network" alt="${curShow.network}" title="${curShow.network}" /></span>
             <span class="visible-print-inline">${curShow.network}</span>
         % else:
-            <span title="No Network" class="hidden-print"><img id="network" width="54" height="27" src="${srRoot}/images/network/nonetwork.png" alt="No Network" title="No Network" /></span>
+            <span title="No Network" class="hidden-print"><img id="network" width="54" height="27" src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="${srRoot}/images/network/nonetwork.png" alt="No Network" title="No Network" /></span>
             <span class="visible-print-inline">No Network</span>
         % endif
         </td>
@@ -417,7 +417,7 @@
 
         <td align="center">
             <% paused = int(curShow.paused) == 0 and curShow.status == 'Continuing' %>
-            <img src="${srRoot}/images/${('no16.png', 'yes16.png')[bool(paused)]}" alt="${('No', 'Yes')[bool(paused)]}" width="16" height="16" />
+            <img src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="${srRoot}/images/${('no16.png', 'yes16.png')[bool(paused)]}" alt="${('No', 'Yes')[bool(paused)]}" width="16" height="16" />
         </td>
 
         <td align="center">
-- 
GitLab