summaryrefslogtreecommitdiff
path: root/public/javascripts/related_assets.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/javascripts/related_assets.js')
-rw-r--r--public/javascripts/related_assets.js28
1 files changed, 22 insertions, 6 deletions
diff --git a/public/javascripts/related_assets.js b/public/javascripts/related_assets.js
index 2955cbf..3340fa7 100644
--- a/public/javascripts/related_assets.js
+++ b/public/javascripts/related_assets.js
@@ -5,6 +5,8 @@ related_assets = {
5 var createUrl = container.data("create-url"); 5 var createUrl = container.data("create-url");
6 var list = $("#related_asset_list"); 6 var list = $("#related_asset_list");
7 7
8 related_assets.update_headline_badge(list);
9
8 initSearchPicker({ 10 initSearchPicker({
9 inputSelector: "#related_asset_search_term", 11 inputSelector: "#related_asset_search_term",
10 resultsSelector: "#related_asset_search_results", 12 resultsSelector: "#related_asset_search_results",
@@ -13,12 +15,9 @@ related_assets = {
13 renderResults: function(data, results) { 15 renderResults: function(data, results) {
14 var found = false; 16 var found = false;
15 data.forEach(function(asset) { 17 data.forEach(function(asset) {
16 var item = $( 18 var item = $("<a>", { href: "#", "class": "related_asset_result" });
17 "<a href='#' class='related_asset_result'>" + 19 item.append($("<img>", { src: asset.thumb_url, alt: "" }));
18 "<img src='" + asset.thumb_url + "' alt=''>" + 20 item.append($("<span>").text(asset.name || ""));
19 "<span>" + asset.name + "</span>" +
20 "</a>"
21 );
22 item.bind("click", function() { 21 item.bind("click", function() {
23 related_assets.attach(asset.id, createUrl, list); 22 related_assets.attach(asset.id, createUrl, list);
24 return false; 23 return false;
@@ -45,6 +44,7 @@ related_assets = {
45 url: ui.item.data("url"), 44 url: ui.item.data("url"),
46 data: "position=" + newPosition 45 data: "position=" + newPosition
47 }); 46 });
47 related_assets.update_headline_badge(list);
48 } 48 }
49 }); 49 });
50 50
@@ -55,11 +55,23 @@ related_assets = {
55 url: item.data("url"), 55 url: item.data("url"),
56 success: function() { 56 success: function() {
57 item.remove(); 57 item.remove();
58 related_assets.update_headline_badge(list);
58 } 59 }
59 }); 60 });
60 }); 61 });
61 }, 62 },
62 63
64 update_headline_badge: function(list) {
65 list.find(".related_asset_headline_badge").remove();
66 var first = list.children("li").first();
67 if (first.length) {
68 $("<span>", {
69 "class": "related_asset_headline_badge",
70 "title": "Shown automatically as this page's headline image"
71 }).text("Headline").insertBefore(first.find(".related_asset_remove"));
72 }
73 },
74
63 attach: function(assetId, createUrl, list) { 75 attach: function(assetId, createUrl, list) {
64 $.ajax({ 76 $.ajax({
65 type: "POST", 77 type: "POST",
@@ -69,9 +81,13 @@ related_assets = {
69 success: function(related) { 81 success: function(related) {
70 var item = $($("#related_asset_template").html().trim()); 82 var item = $($("#related_asset_template").html().trim());
71 item.attr("data-url", related.url); 83 item.attr("data-url", related.url);
84 item.attr("data-large-url", related.large_url);
85 item.attr("data-original-url", related.original_url);
86 item.attr("data-name", related.name);
72 item.find("img").attr("src", related.thumb_url); 87 item.find("img").attr("src", related.thumb_url);
73 list.append(item); 88 list.append(item);
74 list.sortable("refresh"); 89 list.sortable("refresh");
90 related_assets.update_headline_badge(list);
75 $("#related_asset_search_term").val(""); 91 $("#related_asset_search_term").val("");
76 $("#related_asset_search_results").slideUp().empty(); 92 $("#related_asset_search_results").slideUp().empty();
77 } 93 }