adminsite 2.1.0 → 2.1.1

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.
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