Keep html in template, use data attribute for img
authorOlaf Conradi <olaf@conradi.org>
Sat, 29 Dec 2012 22:44:26 +0000 (23:44 +0100)
committerOlaf Conradi <olaf@conradi.org>
Sat, 29 Dec 2012 22:44:26 +0000 (23:44 +0100)
Revert previous changes to fix browser preloading a template variable as image.
Images use a data attribute within templates as src.
Javascript will substitute them.

js/acl.js
view/acl_selector.tpl
view/smarty3/acl_selector.tpl
view/theme/frost-mobile/acl_selector.tpl
view/theme/frost-mobile/js/acl.js
view/theme/frost-mobile/smarty3/acl_selector.tpl
view/theme/frost/js/acl.js
view/theme/frost/smarty3/acl_selector.tpl

index 4f43252..36cf749 100644 (file)
--- a/js/acl.js
+++ b/js/acl.js
@@ -247,12 +247,17 @@ ACL.prototype.populate = function(data){
        var height = Math.ceil(data.tot / that.nw) * 42;
        that.list_content.height(height);
        $(data.items).each(function(){
-               html = "<div class='acl-list-item {4} {5}' title='{6}' id='{2}{3}'><img src='{0}'/><p>{1}</p>"+that.item_tpl+"</div>";
-               html = html.format( this.photo, this.name, this.type, this.id, '', this.network, this.link );
+               html = "<div class='acl-list-item {4} {5}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
+               html = html.format(this.photo, this.name, this.type, this.id, '', this.network, this.link);
                if (this.uids!=undefined) that.group_uids[this.id] = this.uids;
                //console.log(html);
                that.list_content.append(html);
        });
+       $(".acl-list-item img[data-src]").each(function(i, el){
+               // Replace data-src attribute with src attribute for every image
+               $(el).attr('src', $(el).data("src"));
+               $(el).removeAttr("data-src");
+       });
        that.update_view();
 }
 
index e2b85e3..837225a 100644 (file)
@@ -9,6 +9,7 @@
 </div>
 
 <div class="acl-list-item" rel="acl-template" style="display:none">
+       <img data-src="{0}"><p>{1}</p>
        <a href="#" class='acl-button-show'>$show</a>
        <a href="#" class='acl-button-hide'>$hide</a>
 </div>
index bc669a2..e9f8030 100644 (file)
@@ -9,6 +9,7 @@
 </div>
 
 <div class="acl-list-item" rel="acl-template" style="display:none">
+       <img data-src="{0}"><p>{1}</p>
        <a href="#" class='acl-button-show'>{{$show}}</a>
        <a href="#" class='acl-button-hide'>{{$hide}}</a>
 </div>
index e79a689..df34a1a 100644 (file)
@@ -9,6 +9,7 @@
 </div>
 
 <div class="acl-list-item" rel="acl-template" style="display:none">
+       <img data-src="{0}"><p>{1}</p>
        <a href="#" class='acl-button-show'>$show</a>
        <a href="#" class='acl-button-hide'>$hide</a>
 </div>
index 6feded6..20f0d46 100644 (file)
@@ -247,12 +247,17 @@ ACL.prototype.populate = function(data){
 /*     var height = Math.ceil(data.tot / that.nw) * 42;
        that.list_content.height(height);*/
        $j(data.items).each(function(){
-               html = "<div class='acl-list-item {4} {5}' title='{6}' id='{2}{3}'><img src='{0}'/><p>{1}</p>"+that.item_tpl+"</div>";
+               html = "<div class='acl-list-item {4} {5}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
                html = html.format( this.photo, this.name, this.type, this.id, '', this.network, this.link );
                if (this.uids!=undefined) that.group_uids[this.id] = this.uids;
                //console.log(html);
                that.list_content.append(html);
        });
+       $(".acl-list-item img[data-src]").each(function(i, el){
+               // Replace data-src attribute with src attribute for every image
+               $(el).attr('src', $(el).data("src"));
+               $(el).removeAttr("data-src");
+       });
        that.update_view();
 }
 
index 361bf88..f3b1abe 100644 (file)
@@ -9,6 +9,7 @@
 </div>
 
 <div class="acl-list-item" rel="acl-template" style="display:none">
+       <img data-src="{0}"><p>{1}</p>
        <a href="#" class='acl-button-show'>{{$show}}</a>
        <a href="#" class='acl-button-hide'>{{$hide}}</a>
 </div>
index 0f080cf..6b443b2 100644 (file)
@@ -247,12 +247,17 @@ ACL.prototype.populate = function(data){
        var height = Math.ceil(data.tot / that.nw) * 42;
        that.list_content.height(height);
        $j(data.items).each(function(){
-               html = "<div class='acl-list-item {4} {5}' title='{6}' id='{2}{3}'><img src='{0}'/><p>{1}</p>"+that.item_tpl+"</div>";
+               html = "<div class='acl-list-item {4} {5}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
                html = html.format( this.photo, this.name, this.type, this.id, '', this.network, this.link );
                if (this.uids!=undefined) that.group_uids[this.id] = this.uids;
                //console.log(html);
                that.list_content.append(html);
        });
+       $(".acl-list-item img[data-src]").each(function(i, el){
+               // Replace data-src attribute with src attribute for every image
+               $(el).attr('src', $(el).data("src"));
+               $(el).removeAttr("data-src");
+       });
        that.update_view();
 }
 
index 361bf88..f3b1abe 100644 (file)
@@ -9,6 +9,7 @@
 </div>
 
 <div class="acl-list-item" rel="acl-template" style="display:none">
+       <img data-src="{0}"><p>{1}</p>
        <a href="#" class='acl-button-show'>{{$show}}</a>
        <a href="#" class='acl-button-hide'>{{$hide}}</a>
 </div>