crimagify 0.0.4.1 → 0.0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/app/assets/images/crimagify/loader.gif +0 -0
  2. data/app/assets/javascripts/crimagify/actions_cropper.js.erb +93 -54
  3. data/app/assets/javascripts/crimagify/nested_forms.js +0 -1
  4. data/app/uploaders/crimagify/image_uploader.rb +0 -1
  5. data/app/views/crimagify/crop_partials/_crop.html.erb +3 -2
  6. data/app/views/crimagify/crop_partials/_fields_cropper.html.erb +8 -2
  7. data/app/views/crimagify/crop_partials/_nested_cropper.html.erb +10 -4
  8. data/app/views/crimagify/cropper/params_cropper.js.erb +2 -2
  9. data/app/views/crimagify/cropper/partial_cropper.js.erb +1 -1
  10. data/config/routes.rb +1 -1
  11. data/lib/crimagify/dinamic_image_methods.rb +0 -2
  12. data/lib/crimagify/image_functions.rb +82 -65
  13. data/lib/crimagify/version.rb +1 -1
  14. data/lib/generators/crimagify/install/templates/cropify_cropper.css.scss +14 -4
  15. data/test/dummy/app/assets/stylesheets/cropify_cropper.css.scss +13 -3
  16. data/test/dummy/db/development.sqlite3 +0 -0
  17. data/test/dummy/tmp/cache/assets/BFE/970/sprockets%2F30266f7b0568399408a62e791a943446 +0 -0
  18. data/test/dummy/tmp/cache/assets/C23/400/sprockets%2F31710301f0d68b89727f5de964446610 +0 -0
  19. data/test/dummy/tmp/cache/assets/C5C/9B0/sprockets%2F15de52d1348636c46c264b383e859178 +0 -0
  20. data/test/dummy/tmp/cache/assets/C89/AB0/sprockets%2Fb28911e594d62f33df83c6027881163e +0 -0
  21. data/test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212 +0 -0
  22. data/test/dummy/tmp/cache/assets/CAA/620/sprockets%2F87b209c0c9da28094a8d5581a21262c6 +0 -0
  23. data/test/dummy/tmp/cache/assets/CB2/7F0/sprockets%2F9d79a842f086f17d3420e5cb88710c10 +0 -0
  24. data/test/dummy/tmp/cache/assets/CC5/570/sprockets%2F211be4002a7a1a8f11857810cf1a69c3 +0 -0
  25. data/test/dummy/tmp/cache/assets/CCA/5A0/sprockets%2F9794363cc8757789c805e806117dbead +0 -0
  26. data/test/dummy/tmp/cache/assets/CCF/070/sprockets%2Fe71f67011a3c7e8b2e31cf1002f67334 +0 -0
  27. data/test/dummy/tmp/cache/assets/CD7/6F0/sprockets%2Fbd3936370d0f952ada5774e2230046ed +0 -0
  28. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  29. data/test/dummy/tmp/cache/assets/CD8/B70/sprockets%2F4050a4e5062ab95c9f32e9b6940821ea +0 -0
  30. data/test/dummy/tmp/cache/assets/CDB/BD0/sprockets%2F1d5c7429b4cf0789d312f44baf234128 +0 -0
  31. data/test/dummy/tmp/cache/assets/CDE/630/sprockets%2Fd3217db38c3298665ad1764b8aa834d0 +0 -0
  32. data/test/dummy/tmp/cache/assets/CEA/190/sprockets%2Fe2a2e53348a237eb8252961469e9db6f +0 -0
  33. data/test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2 +0 -0
  34. data/test/dummy/tmp/cache/assets/D14/160/sprockets%2F2d8298c2af479291177f37bbe3cfb104 +0 -0
  35. data/test/dummy/tmp/cache/assets/D16/590/sprockets%2Fe9a4950396d61dbb93b6d026903c4e9c +0 -0
  36. data/test/dummy/tmp/cache/assets/D2B/D40/sprockets%2F08f64c2abc913b994e96839eb878b09f +0 -0
  37. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  38. data/test/dummy/tmp/cache/assets/D3E/720/sprockets%2F35d0451f9ab46f6f545c61780ced1cb5 +0 -0
  39. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  40. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  41. data/test/dummy/tmp/cache/assets/D5C/D50/sprockets%2Fe330f0191f6e216f00eb2d47db93d2ac +0 -0
  42. data/test/dummy/tmp/cache/assets/D67/010/sprockets%2Fb3bbbe034f6b30f67c16a59645163cef +0 -0
  43. data/test/dummy/tmp/cache/assets/D74/2B0/sprockets%2F8a5a5074b61fe8e54fce43ba927f8f01 +0 -0
  44. data/test/dummy/tmp/cache/assets/D77/EB0/sprockets%2F7541cf4defe7dc0f0d7f0569118812ef +0 -0
  45. data/test/dummy/tmp/cache/assets/D92/780/sprockets%2Fe00bd900494a85ab3db4af4d38424eee +0 -0
  46. data/test/dummy/tmp/cache/assets/D95/F80/sprockets%2Ff68e0b654fed6adf4d0ee2234401c54a +0 -0
  47. data/test/dummy/tmp/cache/assets/DA3/240/sprockets%2F9ac0e714a9bb9e2bc07e5f1bf4958a29 +0 -0
  48. data/test/dummy/tmp/cache/assets/DA6/C00/sprockets%2F9fa8c473721cd82eaa4d72f83d3f3ae7 +0 -0
  49. data/test/dummy/tmp/cache/assets/DBE/590/sprockets%2F5811e14b7e52b4da2c33cfbd4e70ced3 +0 -0
  50. data/test/dummy/tmp/cache/assets/DC2/D80/sprockets%2F8e0bc3d2a3b84707bfe7a5dc361cac36 +0 -0
  51. data/test/dummy/tmp/cache/assets/DCF/F70/sprockets%2Fc119cf14b6cf9190b47c78a0b6fcd7dc +0 -0
  52. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  53. data/test/dummy/tmp/cache/assets/DE0/F00/sprockets%2Fed1206acb831f2fcedb0aa737361aaa4 +0 -0
  54. data/test/dummy/tmp/cache/assets/DFB/300/sprockets%2F51ee7b463da46d7ceb9a145abfd08fc3 +0 -0
  55. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  56. data/test/dummy/tmp/cache/assets/E19/2A0/sprockets%2F10fcfbe6ebae11a40c8eac41939a1b9a +0 -0
  57. data/test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/cropify_cropper.css.scssc +0 -0
  58. data/test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/cropify_mixin.css.scssc +0 -0
  59. data/test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/scaffolds.css.scssc +0 -0
  60. metadata +91 -2
@@ -11,21 +11,40 @@ var array_names = [];
11
11
 
12
12
  $(function(){
13
13
 
14
+ $body = $('body');
15
+
14
16
  // Events only for crimagify without nested models
15
- $(".uploader").on("change", function(evt){
17
+ $body.on("change",".uploader", function(evt){
16
18
  var $this = $(this);
19
+ var $div_closest = $this.closest('.global_parent');
17
20
  var $cropper = $("#cropper_div");
18
- var parent_element_id = $this.closest('.global_parent').attr("id");
19
- var name_version = $this.closest('.global_parent').attr("name");
20
-
21
- /**/
22
- if($cropper.length){
23
- $cropper.hide('slow', function(){
24
- //$cropper.closest('div.global_parent').find('.uploader').val('');
21
+ var parent_element_id = $div_closest.attr("id");
22
+ var name_version = $div_closest.attr("name");
23
+
24
+ $div_closest.find('.crimagify_inputs').hide();
25
+ $div_closest.find('.crimagify_loader').show();
26
+ setTimeout(function(){
27
+ if($cropper.length){
25
28
  $cropper.hide('slow', function(){
26
- $cropper.remove();
29
+ //$cropper.closest('div.global_parent').find('.uploader').val('');
30
+ $cropper.hide('slow', function(){
31
+ $cropper.remove();
32
+ });
33
+
34
+ if (validate_image(evt) == true) {
35
+ var reader =  new FileReader();
36
+ reader.onloadend = function(e){
37
+ render_image_temporal(e.target.result, parent_element_id, name_version);
38
+ render_image = e.target.result;
39
+ };
40
+ reader.readAsDataURL(evt.target.files[0]);
41
+ }else{
42
+ $div_closest.find('.crimagify_inputs').show();
43
+ $div_closest.find('.crimagify_loader').hide();
44
+ $this.val('');
45
+ };
27
46
  });
28
-
47
+ }else{
29
48
  if (validate_image(evt) == true) {
30
49
  var reader =  new FileReader();
31
50
  reader.onloadend = function(e){
@@ -34,91 +53,104 @@ $(function(){
34
53
  };
35
54
  reader.readAsDataURL(evt.target.files[0]);
36
55
  }else{
56
+ $div_closest.find('.crimagify_inputs').show();
57
+ $div_closest.find('.crimagify_loader').hide();
37
58
  $this.val('');
38
59
  };
39
- });
40
- }else{
41
- if (validate_image(evt) == true) {
42
- var reader =  new FileReader();
43
- reader.onloadend = function(e){
44
- render_image_temporal(e.target.result, parent_element_id, name_version);
45
- render_image = e.target.result;
46
- };
47
- reader.readAsDataURL(evt.target.files[0]);
48
- }else{
49
- $this.val('');
50
- };
51
- }
52
- /**/
53
- });
60
+ }
61
+ }, 1000);
62
+ });
54
63
 
55
64
  // Events only for crimagify with nested models
56
65
  $(".nested_crimagify_images").on("change",".nested_uploader",function(evt){
57
66
  $this = $(this);
58
67
  var $cropper = $("#cropper_div");
68
+ var $div_closest = $this.closest('.global_parent');
59
69
  // TYPE: user, big, small, etc
60
- var name_version = $this.closest(".global_parent").attr("name");
70
+ var name_version = $div_closest.attr("name");
61
71
  // SECTION CROPPER: imgaA, imgB, imgC, etc
62
- var parent_element_type = $this.closest(".global_parent").data("img");
72
+ var parent_element_type = $div_closest.data("img");
63
73
  // ID FIELDSET
64
74
  var parent_tag_id = $this.closest(".fieldset_crimagify_nested").attr("id");
65
- if($cropper.length){
66
- $cropper.fadeOut(1000, function(){
67
- $cropper.remove();
68
- if (validate_image(evt) == true) {
75
+
76
+ $div_closest.find('.crimagify_inputs').hide();
77
+ $div_closest.find('.crimagify_loader').show();
78
+
79
+ setTimeout(function(){
80
+ if($cropper.length){
81
+ $cropper.fadeOut(1000, function(){
82
+ $cropper.remove();
83
+ if (validate_image(evt) == true) {
84
+ var reader =  new FileReader();
85
+ reader.onloadend = function(e){
86
+ render_image_temporal_nested(e.target.result,parent_tag_id,name_version,parent_element_type);
87
+ render_image = e.target.result;
88
+ };
89
+ reader.readAsDataURL(evt.target.files[0]);
90
+ }else{
91
+ $div_closest.find('.crimagify_inputs').show();
92
+ $div_closest.find('.crimagify_loader').hide();
93
+ $this.val('');
94
+ };
95
+ });
96
+ }else{
97
+ if (validate_image(evt) == true) {
69
98
  var reader =  new FileReader();
70
- reader.onloadend = function(e){
99
+ reader.onloadend = function(e){
71
100
  render_image_temporal_nested(e.target.result,parent_tag_id,name_version,parent_element_type);
72
101
  render_image = e.target.result;
73
102
  };
74
-
75
103
  reader.readAsDataURL(evt.target.files[0]);
76
104
  }else{
105
+ $div_closest.find('.crimagify_inputs').show();
106
+ $div_closest.find('.crimagify_loader').hide();
77
107
  $this.val('');
78
108
  };
79
- });
80
- }else{
81
- if (validate_image(evt) == true) {
82
- var reader =  new FileReader();
83
- reader.onloadend = function(e){
84
- render_image_temporal_nested(e.target.result,parent_tag_id,name_version,parent_element_type);
85
- render_image = e.target.result;
86
- };
87
- reader.readAsDataURL(evt.target.files[0]);
88
- }else{
89
- $this.val('');
90
- };
91
- }
109
+ }
110
+ }, 1000)
111
+
92
112
  });
93
113
  /*===== Cancel Crop ======*/
94
- $(".nested_crimagify_images").on("click",".cancel_crop",function(evt){
114
+ $body.on("click",".cancel_crop",function(evt){
95
115
  evt.preventDefault();
116
+ var $this = $(this);
117
+ var $div_closest = $this.closest('.global_parent');
118
+
96
119
  $("#cropper_div").hide("slow", function(){
97
120
  $("#cropper_div").remove();
98
121
  });
122
+ $div_closest.find('.crimagify_inputs').show();
123
+ $div_closest.find('.crimagify_loader').hide();
99
124
  $(".nested_uploader").val('');
100
125
  });
101
- $(".parent_image").on("click",'.cancel_crop',function(evt){
126
+ $body.on("click",'.cancel_crop',function(evt){
102
127
  evt.preventDefault();
128
+ var $this = $(this);
129
+ var $div_closest = $this.closest('.global_parent');
103
130
  $("#cropper_div").hide("slow", function(){
104
131
  $("#cropper_div").remove();
105
132
  });
133
+ $div_closest.find('.crimagify_inputs').show();
134
+ $div_closest.find('.crimagify_loader').hide();
106
135
  $(".uploader").val('');
107
136
  });
108
137
  /*====== Crop Image ========*/
109
138
 
110
- $(".nested_crimagify_images").on("click",".crop_image",function(){
139
+ $body.on("click",".crop_image",function(){
111
140
  //parent_element_id is filled with the value of DIV parent closest: "imgA","imgB","imgZ"
112
141
  parameters($(this));
142
+ $('a.actions_links').hide();
143
+ $(this).next('img.loader_image').show();
113
144
  });
114
145
 
115
- $(".parent_image").on("click",'.crop_image',function(){
146
+ $body.on("click",'.crop_image',function(){
116
147
  //parent_element_id is filled with the value of DIV parent closest: "imgA","imgB","imgZ"
117
148
  parameters($(this));
149
+ $('a.actions_links').hide();
150
+ $(this).next('img.loader_image').show();
118
151
  });
119
152
  });
120
153
 
121
-
122
154
  function validate_image(evt,callback){
123
155
  var size = evt.target.files[0].size/1024;
124
156
  var type = evt.target.files[0].type;
@@ -297,9 +329,14 @@ function parameters($crop){
297
329
  data: data,
298
330
  dataType: "script",
299
331
  success: function(){
300
- $("#cropper_div").hide("slow", function(){
301
- $("#cropper_div").remove();
302
- });
332
+ setTimeout(function() {
333
+ $("#cropper_div").hide("slow", function(){
334
+ $("#cropper_div").remove();
335
+ });
336
+ }, 600);
337
+ $parent_tag.find('.crimagify_inputs').show();
338
+ $parent_tag.find('.crimagify_loader').hide();
339
+
303
340
  },
304
341
  error: function(a,b,c){
305
342
  console.log("error a");
@@ -308,6 +345,8 @@ function parameters($crop){
308
345
  console.dir(b);
309
346
  console.log("error c");
310
347
  console.dir(c);
348
+ $('a.actions_links').hide();
349
+ $('a.actions_links').next('img.loader_image').show();
311
350
  }
312
351
  });
313
352
  };
@@ -8,7 +8,6 @@ $(function(){
8
8
  $this = $frmCrimagify;
9
9
  var $fieldset = $frmCrimagify.find(".fieldset_crimagify_nested")
10
10
  for (var i = 0; i<$fieldset.length;i++){
11
- console.log(i)
12
11
  var $new_fieldset = $($fieldset[i]);
13
12
  $new_fieldset.attr("id", "nested_"+i);
14
13
  $new_fieldset.attr("id","nested_" + i);
@@ -44,7 +44,6 @@ module Crimagify
44
44
 
45
45
  array_versions = enable_processing.uniq
46
46
  array_versions.each do |item|
47
- puts "creando la version de imagen #{item}.."
48
47
  item = item.to_sym
49
48
  version item do
50
49
  process :crop
@@ -7,8 +7,9 @@
7
7
  <% end %>
8
8
  <%= hidden_field_tag :cropping,{}, :value => true, :id => "temp_image" %>
9
9
  <div class="actions">
10
- <%= link_to "Cancel", "", :remote => true, :class => "cancel_crop", :id => "cancel_crop" %>
11
- <%= link_to "Crop Image", "", :remote => true, :id => "crop_image", :class => "crop_image" %>
10
+ <%= link_to "Cancel", "", :remote => true, :class => "cancel_crop actions_links", :id => "cancel_crop" %>
11
+ <%= link_to "Crop Image", "", :remote => true, :id => "crop_image", :class => "crop_image actions_links" , :disabled => 'disabled'%>
12
+ <%= image_tag "crimagify/loader.gif" , :class => "loader_image"%>
12
13
  <div class="clear"></div>
13
14
  </div>
14
15
  </div>
@@ -14,18 +14,24 @@
14
14
  <div id="parent_image" class="parent_image crimagify_parent_image" style="display:block;float:left"></div>
15
15
  <div class="crimagify_default_image">
16
16
  <span>
17
- <%= image_tag url_image, image_options %>
17
+ <%= image_tag url_image, image_options %>
18
18
  </span>
19
19
  </div>
20
20
  <div class="crimagify_clear"></div>
21
21
  <div class="crimagify_otions">
22
+ <div class="crimagify_inputs">
22
23
  <label class="crimagify_otions">
23
24
  <%= choose_text %>
24
25
  </label>
25
- <%= file_field_tag :image, :id => "uploader", :class => "uploader" %>
26
+ <%= file_field_tag :image, :id => "uploader_#{version_name}", :class => "uploader crimagify_simple_uploader crimagify_uploader" %>
27
+ </div>
28
+ <div class="crimagify_loader">
29
+ <%= image_tag "crimagify/loader.gif"%>
30
+ </div>
26
31
  </div>
27
32
 
28
33
  <div class="crimagify_clear"></div>
29
34
  </div>
35
+ <div class="crimagify_clear"></div>
30
36
  </div>
31
37
  </div>
@@ -19,13 +19,19 @@
19
19
  </div>
20
20
  <div class="crimagify_clear"></div>
21
21
  <div class="crimagify_otions">
22
- <label class="crimagify_otions">
23
- <%= choose_text %>
24
- </label>
25
- <%= file_field_tag :image, :class => "nested_uploader crimagify_nested_uploader" %>
22
+ <div class="crimagify_inputs">
23
+ <label class="crimagify_otions">
24
+ <%= choose_text %>
25
+ </label>
26
+ <%= file_field_tag "", :name=>"crimagify_nested_uploader", :class => "nested_uploader crimagify_nested_uploader crimagify_uploader" %>
27
+ </div>
28
+ <div class="crimagify_loader">
29
+ <%= image_tag "crimagify/loader.gif"%>
30
+ </div>
26
31
  </div>
27
32
  <div class="crimagify_clear"></div>
28
33
  </div>
34
+ <div class="crimagify_clear"></div>
29
35
  </div>
30
36
 
31
37
  <!--<div class="control-group string">
@@ -17,7 +17,7 @@
17
17
  $areaImg.find(".<%=j @img[:parent_element_id] %>_crop_w").attr("value", "<%= @img[:crop_w] %>");
18
18
  $areaImg.find(".<%=j @img[:parent_element_id] %>_crop_h").attr("value", "<%= @img[:crop_h] %>");
19
19
  } else{
20
- $areaImg.find(".img_start").hide("slow", function(){});
20
+ $areaImg.find(".img_start").parents('div.crimagify_default_image').hide("slow", function(){});
21
21
  $areaImg.find(".parent_image").append("<%=j render :partial => 'crimagify/crop_partials/img_final', :object => @img, :locals => { :f => 'f' } %>");
22
22
  $areaImg.find(".image_temporal_<%=j @img[:parent_element_id] %>").attr("value", "<%= @img[:path_image] %>");
23
23
  $areaImg.find(".id_images").attr("value", array_names);
@@ -41,7 +41,7 @@
41
41
  $parent.find("#<%=j @img[:parent_element_id] %>_crop_w").attr("value", "<%= @img[:crop_w] %>");
42
42
  $parent.find("#<%=j @img[:parent_element_id] %>_crop_h").attr("value", "<%= @img[:crop_h] %>");
43
43
  } else{
44
- $parent.find(".img_start").hide("slow", function(){});
44
+ $parent.find(".img_start").parents('div.crimagify_default_image').hide("slow", function(){});
45
45
  $parent.find(".parent_image").append("<%=j render :partial => 'crimagify/crop_partials/img_final', :object => @img, :locals => { :f => 'f' } %>");
46
46
  $parent.find(".image_temporal").attr("value", "<%= @img[:path_image] %>");
47
47
  $("#id_images").attr("value", array_names);
@@ -3,5 +3,5 @@ if ($("#<%=j @params[:parent_element_id] %>").find(".parent_image").length) {
3
3
  $("#<%=j @params[:parent_element_id] %>").find(".parent_image").append("<%=j render :partial => '/crimagify/crop_partials/crop', :object => '@params' %>");
4
4
  }
5
5
  } else{
6
- console.log("por favor agregue el elemento")
6
+ console.log("Please, select one file!")
7
7
  };
data/config/routes.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  Crimagify::Engine.routes.draw do
2
2
  post "partial_cropper", :to => "cropper#partial_cropper"#, :as => :partial_cropper
3
3
  post "partial_nested_cropper", :to => "cropper#partial_nested_cropper"#, :as => :partial_cropper
4
- post "params_cropper", :to => "cropper#params_cropper", :as => :params_cropper
4
+ post "params_cropper", :to => "cropper#params_cropper", :as => :params_cropper
5
5
  end
@@ -40,10 +40,8 @@ module Crimagify
40
40
  image = image_url(size_image) rescue ""
41
41
  if image == ""
42
42
  if ENV['DEFAULT_IMAGE'].nil?
43
- puts ENV['DEFAULT_IMAGE']
44
43
  image = "/crimagify/no_selected.png"
45
44
  else
46
- puts ENV['DEFAULT_IMAGE']
47
45
  image = ENV['DEFAULT_IMAGE']
48
46
  end
49
47
  end
@@ -54,6 +54,13 @@ module Crimagify
54
54
  def update_images(object, params = {}, nested = false)
55
55
  if nested
56
56
  params.each do |key, value|
57
+
58
+ if value[:_destroy] == 'false'
59
+ destroy_attribute = false
60
+ else
61
+ destroy_attribute = true
62
+ end
63
+
57
64
  parent = value[:parent]
58
65
  parent_id = value[:parent_id]
59
66
  save_parent_values = value.clone
@@ -70,7 +77,7 @@ module Crimagify
70
77
  end
71
78
  end
72
79
  end
73
-
80
+
74
81
  save_parent_values.delete(:parent)
75
82
  save_parent_values.delete(:parent_id)
76
83
  save_parent_values.delete(:id_images)
@@ -79,7 +86,7 @@ module Crimagify
79
86
 
80
87
  save_parent_values["#{object.class.name.underscore}_id"] = object.id
81
88
  parent_class = parent.constantize
82
- if parent_id == ''
89
+ if parent_id == '' && destroy_attribute == false
83
90
  save_parent = parent_class.new(save_parent_values)
84
91
  if save_parent.save
85
92
  if id_array != []
@@ -115,7 +122,7 @@ module Crimagify
115
122
  end
116
123
  else
117
124
  object_parent_image = parent_class.find(parent_id)
118
- if value[:_destroy]
125
+ if destroy_attribute
119
126
  object_parent_image.destroy
120
127
  else
121
128
  if object_parent_image.update_attributes(save_parent_values)
@@ -189,75 +196,85 @@ module Crimagify
189
196
  end
190
197
  end
191
198
 
192
- def create_new_images(object, params, nested = false)
193
- if nested
194
- params.each do |key, value|
195
- parent = value[:parent]
196
- parent_id = value[:parent_id]
197
- save_parent_values = value.clone
198
- id_array = []
199
-
200
- value.each do |key|
201
- name = key[0].split("_")
202
- if name.length.to_i == 3 && "#{name[0]}_#{name[1]}" == "image_temporal"
203
- id_array << name[2].to_s
199
+ def create_new_images(object, params = nil, nested = false)
200
+
201
+ if !params.nil?
202
+ if nested
203
+ params.each do |key, value|
204
+ if value[:_destroy] == 'false'
205
+ destroy_attribute = false
206
+ else
207
+ destroy_attribute = true
204
208
  end
205
- id_array.each do |image_name|
206
- if key[0].match(image_name)
207
- save_parent_values.delete(key[0].to_sym)
209
+ if !destroy_attribute
210
+ parent = value[:parent]
211
+ parent_id = value[:parent_id]
212
+ save_parent_values = value.clone
213
+ id_array = []
214
+
215
+ value.each do |key|
216
+ name = key[0].split("_")
217
+ if name.length.to_i == 3 && "#{name[0]}_#{name[1]}" == "image_temporal"
218
+ id_array << name[2].to_s
219
+ end
220
+ id_array.each do |image_name|
221
+ if key[0].match(image_name)
222
+ save_parent_values.delete(key[0].to_sym)
223
+ end
224
+ end
208
225
  end
209
- end
210
- end
211
- save_parent_values.delete(:parent)
212
- save_parent_values.delete(:parent_id)
213
- save_parent_values.delete(:id_images)
214
- save_parent_values.delete(:id)
215
- save_parent_values.delete(:_destroy)
226
+ save_parent_values.delete(:parent)
227
+ save_parent_values.delete(:parent_id)
228
+ save_parent_values.delete(:id_images)
229
+ save_parent_values.delete(:id)
230
+ save_parent_values.delete(:_destroy)
216
231
 
217
232
 
218
- save_parent_values["#{object.class.name.underscore}_id"] = object.id
219
- parent_class = parent.constantize
220
- save_parent = parent_class.new(save_parent_values)
233
+ save_parent_values["#{object.class.name.underscore}_id"] = object.id
234
+ parent_class = parent.constantize
235
+ save_parent = parent_class.new(save_parent_values)
221
236
 
222
- if save_parent.save
223
- id_array.map { |image_name|
224
- path = value["image_temporal_#{image_name}"]
237
+ if save_parent.save
238
+ id_array.map { |image_name|
239
+ path = value["image_temporal_#{image_name}"]
225
240
 
226
- if path.to_s != "" && File.exist?(path.to_s)
227
- img = save_new_image(path.to_s,
228
- value["#{image_name}_crop_x"],
229
- value["#{image_name}_crop_y"],
230
- value["#{image_name}_crop_w"],
231
- value["#{image_name}_crop_h"],
232
- save_parent.class.name,
233
- save_parent.id,
234
- image_name,
235
- false)
236
- img.save!
237
- img.crop_avatar_real
241
+ if path.to_s != "" && File.exist?(path.to_s)
242
+ img = save_new_image(path.to_s,
243
+ value["#{image_name}_crop_x"],
244
+ value["#{image_name}_crop_y"],
245
+ value["#{image_name}_crop_w"],
246
+ value["#{image_name}_crop_h"],
247
+ save_parent.class.name,
248
+ save_parent.id,
249
+ image_name,
250
+ false)
251
+ img.save!
252
+ img.crop_avatar_real
253
+ end
254
+ }
238
255
  end
239
- }
240
- end
241
- end
242
- else
243
- id_array = params[:id_images].split(",")
244
- id_array.map { |image_name|
245
- path = params["image_temporal_#{image_name}"]
246
- if !(path.to_s == "") && File.exist?(path.to_s)
247
- img = save_new_image(path.to_s,
248
- params["#{image_name}_crop_x"],
249
- params["#{image_name}_crop_y"],
250
- params["#{image_name}_crop_w"],
251
- params["#{image_name}_crop_h"],
252
- object.class.name,
253
- object.id,
254
- image_name,
255
- false)
256
- img.save!
257
- img.crop_avatar_real
258
- end
259
- }
260
- end
256
+ end
257
+ end
258
+ else
259
+ id_array = params[:id_images].split(",")
260
+ id_array.map { |image_name|
261
+ path = params["image_temporal_#{image_name}"]
262
+ if !(path.to_s == "") && File.exist?(path.to_s)
263
+ img = save_new_image(path.to_s,
264
+ params["#{image_name}_crop_x"],
265
+ params["#{image_name}_crop_y"],
266
+ params["#{image_name}_crop_w"],
267
+ params["#{image_name}_crop_h"],
268
+ object.class.name,
269
+ object.id,
270
+ image_name,
271
+ false)
272
+ img.save!
273
+ img.crop_avatar_real
274
+ end
275
+ }
276
+ end
277
+ end
261
278
  end
262
279
  end
263
280
  end
@@ -1,3 +1,3 @@
1
1
  module Crimagify
2
- VERSION = "0.0.4.1"
2
+ VERSION = "0.0.4.2"
3
3
  end
@@ -24,7 +24,12 @@ div.crimagify_item{
24
24
 
25
25
  }
26
26
  div.crimagify_otions{
27
-
27
+ div.crimagify_inputs{
28
+ position:relative;
29
+ }
30
+ div.crimagify_loader{
31
+ display:none;
32
+ }
28
33
  }
29
34
  }//div.crimagify_container
30
35
  }//div.crimagify_item
@@ -43,7 +48,7 @@ div#cropper_div{
43
48
  z-index: 1000 !important;
44
49
  @include dropShadow();
45
50
  border:1px solid #777 !important;
46
- padding:10px !important;
51
+ padding:10px !importan
47
52
  z-index:10 !important;
48
53
  position:relative !important;
49
54
  }
@@ -65,6 +70,9 @@ div#cropper_div{
65
70
  @include rounded(5px);
66
71
  margin:0 10px 0 0 !important;
67
72
  float:right !important;
73
+ }
74
+ a.actions_links{
75
+
68
76
  }
69
77
  a#crop_image{
70
78
  color:#FFFFFF !important;
@@ -79,6 +87,9 @@ div#cropper_div{
79
87
  @include boxShadow(1px 1px 4px,#000);
80
88
  margin:0 !important;
81
89
  }
90
+ img.loader_image{
91
+ display:none;
92
+ }
82
93
  }
83
94
  }
84
95
  }
@@ -87,5 +98,4 @@ div#cropper_div{
87
98
  }
88
99
  .refresh_image{
89
100
  position: relative !important;
90
- }
91
-
101
+ }
@@ -24,7 +24,12 @@ div.crimagify_item{
24
24
 
25
25
  }
26
26
  div.crimagify_otions{
27
-
27
+ div.crimagify_inputs{
28
+ position:relative;
29
+ }
30
+ div.crimagify_loader{
31
+ display:none;
32
+ }
28
33
  }
29
34
  }//div.crimagify_container
30
35
  }//div.crimagify_item
@@ -65,6 +70,9 @@ div#cropper_div{
65
70
  @include rounded(5px);
66
71
  margin:0 10px 0 0 !important;
67
72
  float:right !important;
73
+ }
74
+ a.actions_links{
75
+
68
76
  }
69
77
  a#crop_image{
70
78
  color:#FFFFFF !important;
@@ -79,6 +87,9 @@ div#cropper_div{
79
87
  @include boxShadow(1px 1px 4px,#000);
80
88
  margin:0 !important;
81
89
  }
90
+ img.loader_image{
91
+ display:none;
92
+ }
82
93
  }
83
94
  }
84
95
  }
@@ -87,5 +98,4 @@ div#cropper_div{
87
98
  }
88
99
  .refresh_image{
89
100
  position: relative !important;
90
- }
91
-
101
+ }
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crimagify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4.1
4
+ version: 0.0.4.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-09 00:00:00.000000000 Z
12
+ date: 2013-05-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -99,6 +99,7 @@ extensions: []
99
99
  extra_rdoc_files: []
100
100
  files:
101
101
  - app/assets/images/crimagify/Jcrop.gif
102
+ - app/assets/images/crimagify/loader.gif
102
103
  - app/assets/images/crimagify/no_selected_image.jpg
103
104
  - app/assets/javascripts/crimagify/actions_cropper.js.erb
104
105
  - app/assets/javascripts/crimagify/application.js
@@ -189,6 +190,7 @@ files:
189
190
  - test/dummy/config/locales/en.yml
190
191
  - test/dummy/config/routes.rb
191
192
  - test/dummy/config.ru
193
+ - test/dummy/db/development.sqlite3
192
194
  - test/dummy/db/migrate/20130423160421_create_crimagify_images.crimagify.rb
193
195
  - test/dummy/db/migrate/20130423164431_create_users.rb
194
196
  - test/dummy/db/migrate/20130424155649_create_products.rb
@@ -209,6 +211,49 @@ files:
209
211
  - test/dummy/test/unit/helpers/users_helper_test.rb
210
212
  - test/dummy/test/unit/product_test.rb
211
213
  - test/dummy/test/unit/user_test.rb
214
+ - test/dummy/tmp/cache/assets/BFE/970/sprockets%2F30266f7b0568399408a62e791a943446
215
+ - test/dummy/tmp/cache/assets/C23/400/sprockets%2F31710301f0d68b89727f5de964446610
216
+ - test/dummy/tmp/cache/assets/C5C/9B0/sprockets%2F15de52d1348636c46c264b383e859178
217
+ - test/dummy/tmp/cache/assets/C89/AB0/sprockets%2Fb28911e594d62f33df83c6027881163e
218
+ - test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212
219
+ - test/dummy/tmp/cache/assets/CAA/620/sprockets%2F87b209c0c9da28094a8d5581a21262c6
220
+ - test/dummy/tmp/cache/assets/CB2/7F0/sprockets%2F9d79a842f086f17d3420e5cb88710c10
221
+ - test/dummy/tmp/cache/assets/CC5/570/sprockets%2F211be4002a7a1a8f11857810cf1a69c3
222
+ - test/dummy/tmp/cache/assets/CCA/5A0/sprockets%2F9794363cc8757789c805e806117dbead
223
+ - test/dummy/tmp/cache/assets/CCF/070/sprockets%2Fe71f67011a3c7e8b2e31cf1002f67334
224
+ - test/dummy/tmp/cache/assets/CD7/6F0/sprockets%2Fbd3936370d0f952ada5774e2230046ed
225
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
226
+ - test/dummy/tmp/cache/assets/CD8/B70/sprockets%2F4050a4e5062ab95c9f32e9b6940821ea
227
+ - test/dummy/tmp/cache/assets/CDB/BD0/sprockets%2F1d5c7429b4cf0789d312f44baf234128
228
+ - test/dummy/tmp/cache/assets/CDE/630/sprockets%2Fd3217db38c3298665ad1764b8aa834d0
229
+ - test/dummy/tmp/cache/assets/CEA/190/sprockets%2Fe2a2e53348a237eb8252961469e9db6f
230
+ - test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2
231
+ - test/dummy/tmp/cache/assets/D14/160/sprockets%2F2d8298c2af479291177f37bbe3cfb104
232
+ - test/dummy/tmp/cache/assets/D16/590/sprockets%2Fe9a4950396d61dbb93b6d026903c4e9c
233
+ - test/dummy/tmp/cache/assets/D2B/D40/sprockets%2F08f64c2abc913b994e96839eb878b09f
234
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
235
+ - test/dummy/tmp/cache/assets/D3E/720/sprockets%2F35d0451f9ab46f6f545c61780ced1cb5
236
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
237
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
238
+ - test/dummy/tmp/cache/assets/D5C/D50/sprockets%2Fe330f0191f6e216f00eb2d47db93d2ac
239
+ - test/dummy/tmp/cache/assets/D67/010/sprockets%2Fb3bbbe034f6b30f67c16a59645163cef
240
+ - test/dummy/tmp/cache/assets/D74/2B0/sprockets%2F8a5a5074b61fe8e54fce43ba927f8f01
241
+ - test/dummy/tmp/cache/assets/D77/EB0/sprockets%2F7541cf4defe7dc0f0d7f0569118812ef
242
+ - test/dummy/tmp/cache/assets/D92/780/sprockets%2Fe00bd900494a85ab3db4af4d38424eee
243
+ - test/dummy/tmp/cache/assets/D95/F80/sprockets%2Ff68e0b654fed6adf4d0ee2234401c54a
244
+ - test/dummy/tmp/cache/assets/DA3/240/sprockets%2F9ac0e714a9bb9e2bc07e5f1bf4958a29
245
+ - test/dummy/tmp/cache/assets/DA6/C00/sprockets%2F9fa8c473721cd82eaa4d72f83d3f3ae7
246
+ - test/dummy/tmp/cache/assets/DBE/590/sprockets%2F5811e14b7e52b4da2c33cfbd4e70ced3
247
+ - test/dummy/tmp/cache/assets/DC2/D80/sprockets%2F8e0bc3d2a3b84707bfe7a5dc361cac36
248
+ - test/dummy/tmp/cache/assets/DCF/F70/sprockets%2Fc119cf14b6cf9190b47c78a0b6fcd7dc
249
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
250
+ - test/dummy/tmp/cache/assets/DE0/F00/sprockets%2Fed1206acb831f2fcedb0aa737361aaa4
251
+ - test/dummy/tmp/cache/assets/DFB/300/sprockets%2F51ee7b463da46d7ceb9a145abfd08fc3
252
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
253
+ - test/dummy/tmp/cache/assets/E19/2A0/sprockets%2F10fcfbe6ebae11a40c8eac41939a1b9a
254
+ - test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/cropify_cropper.css.scssc
255
+ - test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/cropify_mixin.css.scssc
256
+ - test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/scaffolds.css.scssc
212
257
  - test/fixtures/crimagify/images.yml
213
258
  - test/integration/navigation_test.rb
214
259
  - test/test_helper.rb
@@ -287,6 +332,7 @@ test_files:
287
332
  - test/dummy/config/locales/en.yml
288
333
  - test/dummy/config/routes.rb
289
334
  - test/dummy/config.ru
335
+ - test/dummy/db/development.sqlite3
290
336
  - test/dummy/db/migrate/20130423160421_create_crimagify_images.crimagify.rb
291
337
  - test/dummy/db/migrate/20130423164431_create_users.rb
292
338
  - test/dummy/db/migrate/20130424155649_create_products.rb
@@ -307,6 +353,49 @@ test_files:
307
353
  - test/dummy/test/unit/helpers/users_helper_test.rb
308
354
  - test/dummy/test/unit/product_test.rb
309
355
  - test/dummy/test/unit/user_test.rb
356
+ - test/dummy/tmp/cache/assets/BFE/970/sprockets%2F30266f7b0568399408a62e791a943446
357
+ - test/dummy/tmp/cache/assets/C23/400/sprockets%2F31710301f0d68b89727f5de964446610
358
+ - test/dummy/tmp/cache/assets/C5C/9B0/sprockets%2F15de52d1348636c46c264b383e859178
359
+ - test/dummy/tmp/cache/assets/C89/AB0/sprockets%2Fb28911e594d62f33df83c6027881163e
360
+ - test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212
361
+ - test/dummy/tmp/cache/assets/CAA/620/sprockets%2F87b209c0c9da28094a8d5581a21262c6
362
+ - test/dummy/tmp/cache/assets/CB2/7F0/sprockets%2F9d79a842f086f17d3420e5cb88710c10
363
+ - test/dummy/tmp/cache/assets/CC5/570/sprockets%2F211be4002a7a1a8f11857810cf1a69c3
364
+ - test/dummy/tmp/cache/assets/CCA/5A0/sprockets%2F9794363cc8757789c805e806117dbead
365
+ - test/dummy/tmp/cache/assets/CCF/070/sprockets%2Fe71f67011a3c7e8b2e31cf1002f67334
366
+ - test/dummy/tmp/cache/assets/CD7/6F0/sprockets%2Fbd3936370d0f952ada5774e2230046ed
367
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
368
+ - test/dummy/tmp/cache/assets/CD8/B70/sprockets%2F4050a4e5062ab95c9f32e9b6940821ea
369
+ - test/dummy/tmp/cache/assets/CDB/BD0/sprockets%2F1d5c7429b4cf0789d312f44baf234128
370
+ - test/dummy/tmp/cache/assets/CDE/630/sprockets%2Fd3217db38c3298665ad1764b8aa834d0
371
+ - test/dummy/tmp/cache/assets/CEA/190/sprockets%2Fe2a2e53348a237eb8252961469e9db6f
372
+ - test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2
373
+ - test/dummy/tmp/cache/assets/D14/160/sprockets%2F2d8298c2af479291177f37bbe3cfb104
374
+ - test/dummy/tmp/cache/assets/D16/590/sprockets%2Fe9a4950396d61dbb93b6d026903c4e9c
375
+ - test/dummy/tmp/cache/assets/D2B/D40/sprockets%2F08f64c2abc913b994e96839eb878b09f
376
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
377
+ - test/dummy/tmp/cache/assets/D3E/720/sprockets%2F35d0451f9ab46f6f545c61780ced1cb5
378
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
379
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
380
+ - test/dummy/tmp/cache/assets/D5C/D50/sprockets%2Fe330f0191f6e216f00eb2d47db93d2ac
381
+ - test/dummy/tmp/cache/assets/D67/010/sprockets%2Fb3bbbe034f6b30f67c16a59645163cef
382
+ - test/dummy/tmp/cache/assets/D74/2B0/sprockets%2F8a5a5074b61fe8e54fce43ba927f8f01
383
+ - test/dummy/tmp/cache/assets/D77/EB0/sprockets%2F7541cf4defe7dc0f0d7f0569118812ef
384
+ - test/dummy/tmp/cache/assets/D92/780/sprockets%2Fe00bd900494a85ab3db4af4d38424eee
385
+ - test/dummy/tmp/cache/assets/D95/F80/sprockets%2Ff68e0b654fed6adf4d0ee2234401c54a
386
+ - test/dummy/tmp/cache/assets/DA3/240/sprockets%2F9ac0e714a9bb9e2bc07e5f1bf4958a29
387
+ - test/dummy/tmp/cache/assets/DA6/C00/sprockets%2F9fa8c473721cd82eaa4d72f83d3f3ae7
388
+ - test/dummy/tmp/cache/assets/DBE/590/sprockets%2F5811e14b7e52b4da2c33cfbd4e70ced3
389
+ - test/dummy/tmp/cache/assets/DC2/D80/sprockets%2F8e0bc3d2a3b84707bfe7a5dc361cac36
390
+ - test/dummy/tmp/cache/assets/DCF/F70/sprockets%2Fc119cf14b6cf9190b47c78a0b6fcd7dc
391
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
392
+ - test/dummy/tmp/cache/assets/DE0/F00/sprockets%2Fed1206acb831f2fcedb0aa737361aaa4
393
+ - test/dummy/tmp/cache/assets/DFB/300/sprockets%2F51ee7b463da46d7ceb9a145abfd08fc3
394
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
395
+ - test/dummy/tmp/cache/assets/E19/2A0/sprockets%2F10fcfbe6ebae11a40c8eac41939a1b9a
396
+ - test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/cropify_cropper.css.scssc
397
+ - test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/cropify_mixin.css.scssc
398
+ - test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/scaffolds.css.scssc
310
399
  - test/fixtures/crimagify/images.yml
311
400
  - test/integration/navigation_test.rb
312
401
  - test/test_helper.rb