diff options
Diffstat (limited to 'public/javascripts/related_assets.js')
| -rw-r--r-- | public/javascripts/related_assets.js | 28 |
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 | } |
