activeadmin_polymorphic 0.2.3 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6cbf1f0b0f079e6088f2a1ff29732358c233a904
4
- data.tar.gz: 5b6a7163497ee3c62da16922e323c5a7edd48041
3
+ metadata.gz: a6e9bb8fba098550adca9dca00c11b4bc3fa3ec3
4
+ data.tar.gz: 2260658e276d864d4104838ebe0a4a6130193610
5
5
  SHA512:
6
- metadata.gz: 64d0f628cdc26ae22a48b8d62ceb73ab2938966ef95c2c58994b51011f73c584c0b3bd6cf9a8055706f17a7a3a953acbbec68a6675f25e3b30699fe679b04a79
7
- data.tar.gz: cde5452a87de323c0379408ef1af43c6c1b81186b310bc8df41b61641d47a6694cbe575ab3e9aa853daaf6c091398e14858d0860be02df6f561ed84e63811322
6
+ metadata.gz: 73ba47366b8b609b69d1325cf6a2f5ef3e52d4abbb219116c6deb11fec0058e7e45de56bbcef7978434a7e9fa7f84e32e71cb40eb3c4aed31603ee140a444192
7
+ data.tar.gz: 90d1a036bb4f4b5cf2b001148ef67b76f5201ad41b6458b43cf2dee946bb4f4de48af29d4906312eb53a81b84dc9561a6ae63b6b2b31be9668ac31a5013e521b
data/Gemfile CHANGED
@@ -4,6 +4,7 @@ gemspec
4
4
 
5
5
  gem 'activeadmin', github: 'activeadmin'
6
6
  gem 'inherited_resources'
7
+ gem 'spinjs-rails'
7
8
 
8
9
  group :development do
9
10
  # Debugging
@@ -1,3 +1,11 @@
1
+ #= require spin
2
+
3
+ spinner_opts =
4
+ lines: 8
5
+ length: 4
6
+ width: 3
7
+ radius: 5
8
+
1
9
  $ ->
2
10
  if $('.polymorphic_has_many_container').length
3
11
  form = $('#main_content').find('form:first')
@@ -34,7 +42,7 @@ $ ->
34
42
 
35
43
  extractAndInsertForm formPath, rapper
36
44
 
37
- $(document).on 'click', 'a.button.polymorphic_has_many_remove', (e)->
45
+ $(document).on 'click', 'a.button.polymorphic_has_many_remove', (e) ->
38
46
  e.preventDefault()
39
47
  parent = $(@).closest '.polymorphic_has_many_container'
40
48
  to_remove = $(@).closest 'fieldset'
@@ -44,7 +52,7 @@ $ ->
44
52
  to_remove.remove()
45
53
  parent.trigger 'polymorphic_has_many_remove:after', [to_remove, parent]
46
54
 
47
- $(document).on 'click', 'a.button.polymorphic_has_many_add', (e)->
55
+ $(document).on 'click', 'a.button.polymorphic_has_many_add', (e) ->
48
56
  e.preventDefault()
49
57
  parent = $(@).closest '.polymorphic_has_many_container'
50
58
  parent.trigger before_add = $.Event('polymorphic_has_many_add:before'), [parent]
@@ -98,7 +106,7 @@ stripEmptyRelations = ->
98
106
  if $(@).val() == ""
99
107
  $(@).parents('.polymorphic_has_many_fields').remove()
100
108
 
101
- recompute_positions = (parent)->
109
+ recompute_positions = (parent) ->
102
110
  parent = if parent instanceof jQuery then parent else $(@)
103
111
  input_name = parent.data 'sortable'
104
112
  position = parseInt(parent.data('sortable-start') || 0, 10)
@@ -112,23 +120,38 @@ recompute_positions = (parent)->
112
120
  if sortable_input.length
113
121
  sortable_input.val if destroy_input.is ':checked' then '' else position++
114
122
 
115
- window.extractAndInsertForm = (url, target)->
123
+ init_loading_indicator = (target) ->
124
+ spinner = new Spinner(spinner_opts).spin()
125
+ $(target).height(50).children().hide()
126
+ $(target).append spinner.el
127
+
128
+ spinner
129
+
130
+ stop_loading_indicator = (target, spinner) ->
131
+ spinner.stop()
132
+ $(target).height('').children().show()
133
+
134
+ window.extractAndInsertForm = (url, target) ->
116
135
  target = $ target
136
+ spinner = init_loading_indicator(target)
117
137
  container = $(target).closest '.polymorphic_has_many_container'
118
138
  container.trigger "polymorphic_has_many_form:beforeInsert", [ target ]
119
139
 
120
140
  $.ajax url,
121
141
  headers:
122
142
  Accept: 'text/html'
123
- success: (data)->
143
+ success: (data) ->
124
144
  elements = $(data)
125
145
  form = $('#main_content form', elements).first()
126
146
  $(form).find('.actions').remove()
127
147
  $(form).on 'submit', -> return false
128
148
 
149
+ stop_loading_indicator(target, spinner)
129
150
  target.prepend form
130
151
 
131
152
  container.trigger "polymorphic_has_many_form:inserted", [form]
153
+ error: (xhr, status, error) ->
154
+ stop_loading_indicator(target, spinner)
132
155
 
133
156
  window.loadErrors = (target) ->
134
157
  $(target).off('ajax:success').off('ajax:beforeSend')
@@ -145,7 +168,7 @@ window.loadErrors = (target) ->
145
168
  container = $(form).closest '.polymorphic_has_many_container'
146
169
  container.trigger "polymorphic_has_many_form:inserted", [ form ]
147
170
 
148
- window.remoteSubmit = (target, callback)->
171
+ window.remoteSubmit = (target, callback) ->
149
172
  action = $(target).attr('action')
150
173
  $(target).data('remote', true)
151
174
  $(target).removeAttr('novalidate')
@@ -159,7 +182,7 @@ window.remoteSubmit = (target, callback)->
159
182
  .trigger('submit.rails')
160
183
  .on 'ajax:aborted:file', (inputs) ->
161
184
  false
162
- .on 'ajax:error', (event, response, status)->
185
+ .on 'ajax:error', (event, response, status) ->
163
186
  if response.status == 422
164
187
  loadErrors(target)
165
188
  .on 'ajax:success', (event, object, status, response) ->
@@ -1,3 +1,3 @@
1
1
  module ActiveadminPolymorphic
2
- VERSION = "0.2.3"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeadmin_polymorphic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petr Sergeev
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-10-09 00:00:00.000000000 Z
12
+ date: 2015-10-12 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: This gem extends formtastic's form builder to support polymoprhic has
15
15
  many relations in your forms