From 12d36dd474b220645aa912d35c1e3a063febd1b8 Mon Sep 17 00:00:00 2001 From: Andy McKay Date: Tue, 1 Feb 2011 12:00:42 -0800 Subject: [PATCH] coping with the template change and adding in cache busting for extra points (bug 628792) --- .../devhub/addons/forms_shared/media.html | 2 +- media/js/zamboni/devhub.js | 21 ++++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/apps/devhub/templates/devhub/addons/forms_shared/media.html b/apps/devhub/templates/devhub/addons/forms_shared/media.html index 6f000f2801..28c2c6faf3 100644 --- a/apps/devhub/templates/devhub/addons/forms_shared/media.html +++ b/apps/devhub/templates/devhub/addons/forms_shared/media.html @@ -133,7 +133,7 @@ {% endif %} {% else %} {% for preview in addon.previews.all() %} -
+
{% endfor %} {% endif %} diff --git a/media/js/zamboni/devhub.js b/media/js/zamboni/devhub.js index ee8171dbdd..8a6d9cc449 100644 --- a/media/js/zamboni/devhub.js +++ b/media/js/zamboni/devhub.js @@ -1303,32 +1303,37 @@ var imageStatus = { this.poller = window.setTimeout(this.check, 100); } }, + newurl: function(org) { + var bst = new Date().getTime(); + (org.indexOf('?') > -1) ? org = org+'&'+bst : org= org+'?'+bst; + return org; + }, stop: function () { window.clearTimeout(this.poller); this.poller = null; $('#edit-addon-media').find('b.save-badge').remove(); $('#edit-addon-media').find('img').each(function() { - var org = $(this).attr('src'); - var bst = new Date().getTime(); - (org.indexOf('?') > -1) ? org = org+'&'+bst : org= org+'?'+bst; - $(this).attr('src', org); + $(this).attr('src', imageStatus.newurl($(this).attr('src'))); }) this.previews(skip_errors=false); }, previews: function(skip_errors) { - $("div.preview-unknown").each(function(e) { + $("div.preview-thumb").each(function(e) { var $this = $(this); // No need to keep rechecking bad images until the polling // returns good. - if (skip_errors && $this.hasClass('preview-error')) { + if ((skip_errors && $this.hasClass('preview-error')) || + $this.hasClass('preview-successful')) { return; } + var img = Image(); img.onload = function() { - $this.removeClass('preview-error preview-unknown').addClass('preview-thumb'); - $this.attr('style', 'background-image:url(' + $this.attr('data-url') + ')'); + $this.removeClass('preview-error preview-unknown').addClass('preview-successful'); + $this.attr('style', 'background-image:url(' + imageStatus.newurl($this.attr('data-url')) + ')'); } img.onerror = function() { + $this.attr('style', ''); $this.addClass('preview-error'); } img.src = $this.attr('data-url');