crimagify 0.0.4.1 → 0.0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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