adminsite 2.1.0 → 2.1.1

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: 4414c6e5ddcff6f365d1067c1dfffea46d58f5d3
4
- data.tar.gz: f0a4d9e59cfdbf84a31854a32aefab5cb9695a99
3
+ metadata.gz: 7b3d294a019111f15b80a047d93e7150220447b1
4
+ data.tar.gz: 95b04287bc58eb4fad54eb2f4089da3c64faed6f
5
5
  SHA512:
6
- metadata.gz: 2ed4ef7c1e9687290832b4a1419b386bdf22e9e18f4fdde288733fdb8acf812b3344d6e706c520f132e0c881d8799f0d79a7dc69c82d0918774c67100d2eebd8
7
- data.tar.gz: ac586ac03e34133c5f7d537a946c8a7cd79ca1d9ed5244d483f587d05aa946755dbd1cf9e9cd63af372c227d5bad39f4b2505b9d3d6fdb952aaa1dca37929847
6
+ metadata.gz: 1756e777130a3f963ebf05ee01a24e4d5d269ba01560584ffd1d97573185471d94e3600718936b00013bb3e8ccb91c9fc2a9d9102b60ba30e48126bc1ce7a78f
7
+ data.tar.gz: f3a2157f68c0be9af4d100d5fa83a6a2f047aa552d6bda05e6528a2324f55a54d663263c98d5e89809c36e2a7d99c76d972fd7ff1b88ef4891287757ba4dbeb9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- adminsite (2.1.0)
4
+ adminsite (2.1.1)
5
5
  actionpack-page_caching
6
6
  codemirror-rails (>= 4.8)
7
7
  devise (~> 3.4)
@@ -0,0 +1,53 @@
1
+ class window.Adminsite.Inputs
2
+
3
+ Adminsite.Inputs.prepareMultiSelectBoxSubmit = ->
4
+ form = $(this)
5
+ deselectAllOptions form.find('select.source')
6
+ selectAllOptions form.find('select.target')
7
+ return
8
+
9
+ Adminsite.Inputs.addToTarget = (wrapper_id) ->
10
+ wrapper = $(wrapper_id)
11
+ source = wrapper.find('select.source')
12
+ target = wrapper.find('select.target')
13
+ SelectMoveRows(source, target)
14
+ return
15
+
16
+ Adminsite.Inputs.removeFromTarget = (wrapper_id) ->
17
+ wrapper = $(wrapper_id)
18
+ source = wrapper.find('select.source')
19
+ target = wrapper.find('select.target')
20
+ SelectMoveRows(target, source)
21
+ return
22
+
23
+ Adminsite.Inputs.moveUp = (select_id) ->
24
+ select = $(select_id)
25
+ $op = select.find('option:selected')
26
+ $op.first().prev().before($op) if $op.length
27
+ return
28
+
29
+ Adminsite.Inputs.moveDown = (select_id) ->
30
+ select = $(select_id)
31
+ $op = select.find('option:selected')
32
+ $op.last().next().after($op) if $op.length
33
+ return
34
+
35
+ deselectAllOptions = (select) ->
36
+ select.find('option').prop('selected', false);
37
+ return
38
+
39
+ selectAllOptions = (select) ->
40
+ select.find('option').prop('selected', true);
41
+ return
42
+
43
+ SelectMoveRows = (source, target) ->
44
+ $op = source.find('option:selected')
45
+ target.append($op)
46
+ return
47
+
48
+ Adminsite.Inputs.initInputs = ->
49
+ $('form').on('submit', Adminsite.Inputs.prepareMultiSelectBoxSubmit)
50
+ return
51
+
52
+ $(document).on('page:change', Adminsite.Inputs.initInputs)
53
+
@@ -26,6 +26,12 @@ body.adminsite {
26
26
  background: #fff;
27
27
  }
28
28
  }
29
+ .left {
30
+ float: left;
31
+ }
32
+ .right {
33
+ float: right;
34
+ }
29
35
  #error {
30
36
  width: 340px;
31
37
  border: #990000 solid 1px;
@@ -0,0 +1,24 @@
1
+ li.multi_select_box.input {
2
+ > div {
3
+ float: left;
4
+ }
5
+ .operators {
6
+ padding: 10px;
7
+ .data-ops {
8
+ padding: 20px 0;
9
+ width: 100px;
10
+ border-bottom: 1px solid #ccc;
11
+ button {
12
+ width: 100%;
13
+ }
14
+ }
15
+ .order-ops {
16
+ padding: 20px 0;
17
+ width: 40px;
18
+ float: right;
19
+ button {
20
+ width: 100%;
21
+ }
22
+ }
23
+ }
24
+ }
@@ -157,7 +157,7 @@ module Admin::AdminsiteApplicationHelper
157
157
  end
158
158
 
159
159
  def link_to_destroy(resource)
160
- link_to image_tag('adminsite/admin/cross.png', :size => '16x16'), admin_resource_path(resource.id), :confirm => 'Are you sure?', :method => :delete
160
+ link_to image_tag('adminsite/admin/cross.png', :size => '16x16'), admin_resource_path(resource.id), data: { :confirm => 'Are you sure?'} , :method => :delete
161
161
  end
162
162
 
163
163
  def display_resource_value(resource, attr)
@@ -171,4 +171,15 @@ module Admin::AdminsiteApplicationHelper
171
171
  link_to resource.title, send("edit_admin_#{resource.class.name.underscore.gsub('/','_')}_path", resource.id, admin_menu: params[:admin_menu])
172
172
  end
173
173
 
174
+ def publish_form_input(form, form_input)
175
+ options = {}
176
+ if form_input.is_a?(Hash)
177
+ attr_name = form_input.keys.first
178
+ options = form_input[attr_name]
179
+ else
180
+ attr_name = form_input
181
+ end
182
+ form.input(attr_name, options).html_safe
183
+ end
184
+
174
185
  end
@@ -0,0 +1,37 @@
1
+ class Adminsite::MultiSelectBoxInput < Formtastic::Inputs::SelectInput
2
+ include ActionView::Helpers::FormTagHelper
3
+ include ActionView::Helpers::FormOptionsHelper
4
+ def to_html
5
+ # super
6
+ puts "this is my own version of Adminsite::MultiSelectBoxInput"
7
+ diff_collection = collection.reject{|k,v| builder.object.send(input_name).include?(k) }
8
+ input_wrapping do
9
+ label_html <<
10
+ raw("<div><span>Available #{(localized_label || humanized_method_name)}:</span><br/>") <<
11
+ select_tag(:collection, options_for_select(diff_collection), input_html_options.merge(:class => 'source', :name=> "#{object_name}[collection][]", :id=> collection_id)) <<
12
+ raw('</div>') <<
13
+ operators_html <<
14
+ raw("<div><span>Selected #{label_text}:</span><br/>") <<
15
+ builder.select(input_name, builder.object.send(input_name), input_options, input_html_options.merge(:class => 'target') ) <<
16
+ raw('</div>')
17
+ end.html_safe
18
+ end
19
+
20
+ def operators_html
21
+ raw('<div class="operators"><div class="data-ops">') <<
22
+ button_tag('Add', type: 'button', onClick: "Adminsite.Inputs.addToTarget('##{wrapper_dom_id}'); false;" ) <<
23
+ button_tag('Remove', type: 'button', onClick: "Adminsite.Inputs.removeFromTarget('##{wrapper_dom_id}'); false;" ) <<
24
+ raw('</div><div class="order-ops">') <<
25
+ button_tag('&#8679;'.html_safe, type: 'button', onClick: "Adminsite.Inputs.moveUp('##{dom_id}'); false;" ) <<
26
+ button_tag('&#8681;'.html_safe, type: 'button', onClick: "Adminsite.Inputs.moveDown('##{dom_id}'); false;" ) <<
27
+ raw('</div></div>')
28
+ end
29
+
30
+ def collection_id
31
+ @collection_id ||= "#{object_name}_collection"
32
+ end
33
+
34
+ def multiple?
35
+ true
36
+ end
37
+ end
@@ -1,6 +1,3 @@
1
1
  = f.inputs do
2
- - resource_admin_config.attributes_edit(@resource).each do |attr|
3
- - if attr.is_a?(Hash)
4
- = f.input attr.keys.first, attr.values.first
5
- - else
6
- = f.input attr
2
+ - resource_admin_config.attributes_edit(@resource).each do |form_input|
3
+ = publish_form_input(f, form_input)
@@ -1,3 +1,3 @@
1
1
  module Adminsite
2
- VERSION = "2.1.0" unless defined?(Adminsite::VERSION)
2
+ VERSION = "2.1.1" unless defined?(Adminsite::VERSION)
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adminsite
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robin Wunderlin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-16 00:00:00.000000000 Z
11
+ date: 2015-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -257,9 +257,11 @@ files:
257
257
  - app/assets/javascripts/adminsite/admin.js.coffee
258
258
  - app/assets/javascripts/adminsite/admin/code_editor.js.coffee
259
259
  - app/assets/javascripts/adminsite/admin/hide_and_show.js.coffee
260
+ - app/assets/javascripts/adminsite/admin/inputs/multi_select_box_input.js.coffee
260
261
  - app/assets/stylesheets/adminsite/admin.scss
261
262
  - app/assets/stylesheets/adminsite/admin/base.scss
262
263
  - app/assets/stylesheets/adminsite/admin/code_editor.scss
264
+ - app/assets/stylesheets/adminsite/admin/inputs/multi_select_box_input.scss
263
265
  - app/assets/stylesheets/adminsite/admin/pagination.scss
264
266
  - app/controllers/adminsite/admin/adminsite_admin_users_controller.rb
265
267
  - app/controllers/adminsite/admin/adminsite_file_assets_controller.rb
@@ -274,6 +276,7 @@ files:
274
276
  - app/controllers/adminsite/contents_controller.rb
275
277
  - app/helpers/admin/adminsite_application_helper.rb
276
278
  - app/helpers/admin_application_helper.rb
279
+ - app/inputs/adminsite/multi_select_box_input.rb
277
280
  - app/models/adminsite/admin_config/base.rb
278
281
  - app/models/adminsite/admin_user.rb
279
282
  - app/models/adminsite/file_asset.rb