Commit 6fd3cea87ec366ee66d96d359ab8cbaeabd9223d

Authored by Antonio Terceiro
1 parent 431ec85f

Adding images to the text from the zoom dialog

Showing 1 changed file with 25 additions and 19 deletions   Show diff stats
public/javascripts/article.js
@@ -27,12 +27,16 @@ jQuery(function($) { @@ -27,12 +27,16 @@ jQuery(function($) {
27 var button_add = $('.text-editor-sidebar meta[name=button.add]').attr('value'); 27 var button_add = $('.text-editor-sidebar meta[name=button.add]').attr('value');
28 var button_zoom = $('.text-editor-sidebar meta[name=button.zoom]').attr('value'); 28 var button_zoom = $('.text-editor-sidebar meta[name=button.zoom]').attr('value');
29 29
30 - function add_to_text_button(item) {  
31 - return '<a class="button icon-add" data-item-url="' + item.url + '" href="#"><span>' + button_add + '</span></span>'; 30 + function add_to_text_button() {
  31 + return '<a class="button icon-add add-to-text" href="#"><span>' + button_add + '</span></a>';
32 } 32 }
33 33
34 - function zoom_button(item) {  
35 - return '<a class="button icon-zoom" href="#" title="' + button_zoom + '"><span>' + button_zoom + '/span></a>'; 34 + function add_to_text_link() {
  35 + return '<a class="add-to-text" href="#">' + button_add + '</a>';
  36 + }
  37 +
  38 + function zoom_button() {
  39 + return '<a class="button icon-zoom zoom" href="#" title="' + button_zoom + '"><span>' + button_zoom + '</span></a>';
36 } 40 }
37 41
38 function list_items(items, selector) { 42 function list_items(items, selector) {
@@ -55,11 +59,11 @@ jQuery(function($) { @@ -55,11 +59,11 @@ jQuery(function($) {
55 }); 59 });
56 60
57 $.each(images, function(i, item) { 61 $.each(images, function(i, item) {
58 - html_for_items += '<div class="item image" data-item="span"><span><img src="' + item.url + '"/></span><div class="controls image-controls">' + add_to_text_button(item) + zoom_button(item) + '</div></div>'; 62 + html_for_items += '<div class="item image" data-item="span"><span><img src="' + item.url + '"/></span><div class="controls image-controls">' + add_to_text_button() + zoom_button() + '</div></div>';
59 }); 63 });
60 64
61 $.each(files, function(i, item) { 65 $.each(files, function(i, item) {
62 - html_for_items += '<div class="item file ' + item.icon + '" data-item="div"><div><a href="' + item.url + '">' + item.title + '</a></div> <div class="controls file-controls">' + add_to_text_button(item) + '</div></div>'; 66 + html_for_items += '<div class="item file ' + item.icon + '" data-item="div"><div><a href="' + item.url + '">' + item.title + '</a></div> <div class="controls file-controls">' + add_to_text_button() + '</div></div>';
63 }); 67 });
64 68
65 $.each(errors, function(i, item) { 69 $.each(errors, function(i, item) {
@@ -67,21 +71,23 @@ jQuery(function($) { @@ -67,21 +71,23 @@ jQuery(function($) {
67 }); 71 });
68 72
69 $(selector).html(html_for_items); 73 $(selector).html(html_for_items);
70 - $(selector).find('.controls a.icon-add').click(function() {  
71 - var $item = $(this).closest('.item');  
72 - var html_selector = $item.attr('data-item');  
73 - insert_item_in_text($item.find(html_selector));  
74 - return false;  
75 - });  
76 - $(selector).find('.controls a.icon-zoom').click(function() {  
77 - var $item = $(this).closest('.item');  
78 - var html_selector = $item.attr('data-item');  
79 - var img = $item.find(html_selector).find('img').attr('src');  
80 - $.colorbox({ html: '<img src="' + img + '" style="max-width: 580px; max-height: 580px"/>', maxWidth: '640px', maxHeight: '640px', scrolling: false });  
81 - return false;  
82 - });  
83 } 74 }
84 75
  76 + $('.controls a.add-to-text').live('click', function() {
  77 + var $item = $(this).closest('.item');
  78 + var html_selector = $item.attr('data-item');
  79 + insert_item_in_text($item.find(html_selector));
  80 + $.colorbox.close();
  81 + return false;
  82 + });
  83 + $('.controls a.zoom').live('click', function() {
  84 + var $item = $(this).closest('.item');
  85 + var html_selector = $item.attr('data-item');
  86 + var img = $item.find(html_selector).find('img').attr('src');
  87 + $.colorbox({ html: '<div class="item" data-item="div"><div><img src="' + img + '" style="max-width: 580px; max-height: 580px"/></div>' + '<div class="controls" style="padding-top: 5px;">' + add_to_text_link() + '</div></div>', maxWidth: '640px', maxHeight: '670px', scrolling: false });
  88 + return false;
  89 + });
  90 +
85 // FIXME the user may also want to add the item to the abstract textarea! 91 // FIXME the user may also want to add the item to the abstract textarea!
86 var text_field = 'article_body'; 92 var text_field = 'article_body';
87 93