rails_admin_simple_has_many 0.0.4 → 0.0.5
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 09754e273f85cad65bad14be44440bd1c39f3f14
|
4
|
+
data.tar.gz: 0edad1c5974c18a10ebae41e9deb4606213f10dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d536e6b92584a4fafab58c8633e489ef605e18b4df25f11abb691a31e5a6209bd4cc48912ffce0660827d0b9b1248ba2d48e7431ad03d10e0bc3d6131e3aa0a9
|
7
|
+
data.tar.gz: 8005af6eb9bed6b05bac286f50b902f0df539a0cea5823b763f8f9dceae9d5d2b87b62ace342d87c429406e458bf526dd9509f19c071190a14aceb55d9d7a677
|
@@ -40,9 +40,16 @@
|
|
40
40
|
this.selection = $('<select class="form-control ra-multiselect-selection" multiple="multiple"></select>');
|
41
41
|
this.columns.right.append(this.selection);
|
42
42
|
this.selection.wrap('<div class="wrapper"/>');
|
43
|
-
this.remove = $('<br/><a style="margin-left:10px; margin-top:5px;" href="#" class="ra-multiselect-item-remove btn btn-danger"><i class=\"icon-plus icon-minus\"></i></a>');
|
43
|
+
this.remove = $('<br/><a style="margin-left:10px; margin-top:5px;" href="#" class="ra-multiselect-item-remove btn btn-sm btn-danger"><i class=\"icon-plus icon-minus\"></i></a>');
|
44
44
|
help_block = this.wrapper.parent().find('.help-block')[0];
|
45
45
|
this.remove.insertBefore(help_block)
|
46
|
+
if (this.options.sortable) {
|
47
|
+
this.up = $('<br/><a href="#" style="margin-left:10px; margin-top:5px;" class="ra-multiselect-item-up btn btn-default btn-xs"><span class="glyphicon glyphicon-arrow-up"></span></a>');
|
48
|
+
this.down = $('<br/><a href="#" style="margin-left:10px; margin-top:5px;" class="ra-multiselect-item-down btn btn-default btn-xs"><span class="glyphicon glyphicon-arrow-down"></span></a>');
|
49
|
+
this.up.insertBefore(help_block)
|
50
|
+
this.down.insertBefore(help_block)
|
51
|
+
}
|
52
|
+
|
46
53
|
this.element.css({display: "none"});
|
47
54
|
this.tooManyObjectsPlaceholder = $('<option disabled="disabled" />').text(RailsAdmin.I18n.t("too_many_objects"));
|
48
55
|
this.noObjectsPlaceholder = $('<option disabled="disabled" />').text(RailsAdmin.I18n.t("no_objects"))
|
@@ -69,6 +76,20 @@
|
|
69
76
|
_bindEvents: function() {
|
70
77
|
var widget = this;
|
71
78
|
|
79
|
+
if(this.options.sortable) {
|
80
|
+
/* Move selection up */
|
81
|
+
this.up.click(function(e){
|
82
|
+
widget._move('up', $(':selected', widget.selection));
|
83
|
+
e.preventDefault();
|
84
|
+
});
|
85
|
+
|
86
|
+
/* Move selection down */
|
87
|
+
this.down.click(function(e){
|
88
|
+
widget._move('down', $(':selected', widget.selection));
|
89
|
+
e.preventDefault();
|
90
|
+
});
|
91
|
+
}
|
92
|
+
|
72
93
|
this.remove.click(function(e){
|
73
94
|
if ($(':selected', widget.selection).length == 0)
|
74
95
|
return
|
@@ -99,6 +120,32 @@
|
|
99
120
|
}.bind(this));
|
100
121
|
},
|
101
122
|
|
123
|
+
_move: function(direction, options) {
|
124
|
+
var widget = this;
|
125
|
+
if(direction == 'up') {
|
126
|
+
options.each(function(i, option) {
|
127
|
+
var prev = $(option).prev();
|
128
|
+
if (prev.length > 0) {
|
129
|
+
var el = widget.element.find('option[value="' + option.value + '"]');
|
130
|
+
var el_prev = widget.element.find('option[value="' + prev[0].value + '"]');
|
131
|
+
el_prev.before(el);
|
132
|
+
prev.before($(option));
|
133
|
+
}
|
134
|
+
});
|
135
|
+
} else {
|
136
|
+
$.fn.reverse = [].reverse; // needed to lower last items first
|
137
|
+
options.reverse().each(function(i, option) {
|
138
|
+
var next = $(option).next();
|
139
|
+
if (next.length > 0) {
|
140
|
+
var el = widget.element.find('option[value="' + option.value + '"]');
|
141
|
+
var el_next = widget.element.find('option[value="' + next[0].value + '"]');
|
142
|
+
el_next.after(el);
|
143
|
+
next.after($(option));
|
144
|
+
}
|
145
|
+
});
|
146
|
+
}
|
147
|
+
},
|
148
|
+
|
102
149
|
_deSelect: function(options) {
|
103
150
|
var widget = this;
|
104
151
|
options.each(function(i, option) {
|
@@ -38,13 +38,13 @@
|
|
38
38
|
down: t("admin.misc.down")
|
39
39
|
}
|
40
40
|
}
|
41
|
-
|
41
|
+
%link{:rel => :stylesheet, :type => :"text/css", :href => "//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"}
|
42
42
|
%input{name: form.dom_name(field), type: "hidden", value: ""}
|
43
43
|
- selected_ids = (hdv = field.form_default_value).nil? ? selected_ids : hdv
|
44
44
|
= form.select field.method_name, collection, { selected: selected_ids, object: form.object }, field.html_attributes.reverse_merge({data: { simplehasmany: true, options: js_data.to_json }, multiple: true})
|
45
45
|
- if authorized?(:new, config.abstract_model) && field.inline_add
|
46
46
|
- path_hash = { model_name: config.abstract_model.to_param, modal: true }
|
47
47
|
- path_hash.merge!({ associations: { field.inverse_of => (form.object.persisted? ? form.object.id : 'new') } }) if field.inverse_of
|
48
|
-
= link_to "<i class=\"icon-plus icon-white\"></i> ".html_safe, '#', data: { link: new_path(path_hash) }, class: "create btn btn-info", style: 'margin-left:10px'
|
48
|
+
= link_to "<i class=\"icon-plus icon-white\"></i> ".html_safe, '#', data: { link: new_path(path_hash) }, class: "create btn btn-info btn-sm", style: 'margin-left:10px'
|
49
49
|
= javascript_include_tag "rails_admin/routes"
|
50
50
|
= javascript_include_tag "rails_admin/ra.simple-has-many"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_admin_simple_has_many
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aiman Najjar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|