hobo_jquery 2.0.1 → 2.1.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 078911c8bbf874fe2ef310aa1e516db681ed1502
|
4
|
+
data.tar.gz: 139d4d09dfd9787ab32fd457bdfaf7a972f2b544
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9e33bd470a6a84ace3b70e7248aa2d525d4f555d19da626ef3bfb2a1742dae8dca0d4ee0b1d94b783905bd4b5e41427a4b46edd10ba2abe79179009019ea9036
|
7
|
+
data.tar.gz: 95c7eec2ba0f44d66bcb805aa0cae371614aad3fe70908d5bdffdac5395aed33a7bd733197665723258f32bdfac00e272bb45f756619eea2553e9f5efc47650e
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.1.0.pre1
|
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
if(form.attr('enctype') == 'multipart/form-data') {
|
22
22
|
if(form.ajaxSubmit) {
|
23
|
-
options = $.extend(options, {preamble: "<textarea>", postamble: '</textarea>',
|
23
|
+
options = $.extend(options, {preamble: "<textarea>", postamble: '</textarea>', content_type: 'text/html'});
|
24
24
|
var roptions = form.hjq('buildRequestData', options);
|
25
25
|
|
26
26
|
if(!roptions) return false;
|
@@ -24,7 +24,7 @@ if(!RegExp.escape) {
|
|
24
24
|
var me = $(this).parent().parent();
|
25
25
|
var top = me.parent();
|
26
26
|
var template = top.children("li.input-many-template");
|
27
|
-
var clone = template.clone(
|
27
|
+
var clone = template.clone().removeClass("input-many-template");
|
28
28
|
var attrs = top.data('rapid')['input-many'];
|
29
29
|
|
30
30
|
// length-2 because ignore the template li and the empty li
|
@@ -38,28 +38,15 @@ if(!RegExp.escape) {
|
|
38
38
|
clone.find(".remove-item:not([disabled])").not(clone.find(".input-many .remove-item")).click(methods.removeOne);
|
39
39
|
clone.find(".add-item:not([disabled])").not(clone.find(".input-many .add-item")).click(methods.addOne);
|
40
40
|
|
41
|
-
// update id & name
|
42
|
-
clone.find("*").each(function() {
|
43
|
-
name_updater.call(this);
|
44
|
-
});
|
45
|
-
name_updater.call(clone.get(0));
|
46
|
-
|
47
41
|
// do the add with anim
|
48
42
|
clone.css("display", "none").insertAfter(me).hjq('show', attrs['show']);
|
49
43
|
|
44
|
+
top.hjq_input_many('updateNames');
|
45
|
+
top.hjq_input_many('updateVisibility');
|
46
|
+
|
50
47
|
// initialize subelements
|
51
48
|
me.next().hjq();
|
52
49
|
|
53
|
-
// visibility
|
54
|
-
if(me.hasClass("empty")) {
|
55
|
-
me.addClass("hidden");
|
56
|
-
me.find("input.empty-input").attr("disabled", true);
|
57
|
-
} else {
|
58
|
-
// now that we've added an element after us, we should only have a '-' button
|
59
|
-
me.children("div.buttons").children("button.remove-item").removeClass("hidden");
|
60
|
-
me.children("div.buttons").children("button.add-item").addClass("hidden");
|
61
|
-
}
|
62
|
-
|
63
50
|
me.hjq('createFunction', attrs.add_hook).call(me.get(0));
|
64
51
|
clone.trigger('rapid:add');
|
65
52
|
clone.trigger('rapid:change');
|
@@ -84,45 +71,61 @@ if(!RegExp.escape) {
|
|
84
71
|
return false;
|
85
72
|
}
|
86
73
|
|
87
|
-
//
|
88
|
-
|
89
|
-
|
90
|
-
|
74
|
+
// remove with animation
|
75
|
+
me.hjq('hideAndRemove', attrs['hide']);
|
76
|
+
|
77
|
+
top.hjq_input_many('updateNames');
|
78
|
+
top.hjq_input_many('updateVisibility');
|
79
|
+
|
80
|
+
top.trigger('rapid:change');
|
81
|
+
|
82
|
+
return false; //prevent bubbling
|
83
|
+
},
|
84
|
+
|
85
|
+
updateNames: function() {
|
86
|
+
var top = $(this);
|
87
|
+
var attrs = top.data('rapid')['input-many'];
|
88
|
+
|
89
|
+
var n = top.children("li:not(.input-many-template):not(.empty):first");
|
90
|
+
for(var i = 0; n.length > 0; i++, n = n.next()) {
|
91
91
|
var name_updater = methods.getNameUpdater.call(top, i, attrs['prefix']);
|
92
92
|
n.find("*").each(function() {
|
93
93
|
name_updater.call(this);
|
94
94
|
});
|
95
95
|
name_updater.call(n.get(0));
|
96
96
|
}
|
97
|
+
},
|
97
98
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
99
|
+
// show/hide +/- buttons and empty
|
100
|
+
updateVisibility: function() {
|
101
|
+
var top = $(this);
|
102
|
+
var attrs = top.data('rapid')['input-many'];
|
103
|
+
|
104
|
+
var buttonsDivs = top.children("li:not(.input-many-template):not(.empty)").children("div.buttons");
|
105
|
+
for (var i = 0; i < buttonsDivs.length; i++) {
|
106
|
+
if (buttonsDivs.length - 1 < (attrs['minimum'] || 0))
|
107
|
+
$(buttonsDivs[i]).children("button.remove-item").addClass("hidden");
|
108
|
+
else
|
109
|
+
$(buttonsDivs[i]).children("button.remove-item").removeClass("hidden");
|
110
|
+
if (i < buttonsDivs.length - 1)
|
111
|
+
$(buttonsDivs[i]).children("button.add-item").addClass("hidden");
|
112
|
+
else
|
113
|
+
$(buttonsDivs[i]).children("button.add-item").removeClass("hidden");
|
102
114
|
}
|
103
115
|
|
104
|
-
|
105
|
-
|
106
|
-
|
116
|
+
var empty = top.children("li.empty");
|
117
|
+
if (buttonsDivs.length == 0) {
|
118
|
+
empty.removeClass("hidden");
|
119
|
+
empty.find("input.empty-input").removeAttr("disabled");
|
107
120
|
} else {
|
108
|
-
|
109
|
-
|
110
|
-
last.children("div.buttons").children("button.remove-item").addClass("hidden");
|
111
|
-
} else {
|
112
|
-
last.children("div.buttons").children("button.remove-item").removeClass("hidden");
|
113
|
-
}
|
114
|
-
last.children("div.buttons").children("button.add-item").removeClass("hidden");
|
121
|
+
empty.addClass("hidden");
|
122
|
+
empty.find("input.empty-input").attr("disabled", true);
|
115
123
|
}
|
116
124
|
|
117
|
-
|
118
|
-
me.hjq('hideAndRemove', attrs['hide']);
|
119
|
-
|
120
|
-
top.trigger('rapid:change');
|
121
|
-
|
122
|
-
return false; //prevent bubbling
|
125
|
+
return top;
|
123
126
|
},
|
124
127
|
|
125
|
-
// given this==the input-many, returns a lambda that updates the name & id for an element
|
128
|
+
// given this==the input-many, returns a lambda that updates the name, for & id for an element
|
126
129
|
getNameUpdater: function(new_index, name_prefix) {
|
127
130
|
var id_prefix = name_prefix.replace(/\[/g, "_").replace(/\]/g, "");
|
128
131
|
var name_re = RegExp("^" + RegExp.escape(name_prefix)+ "\[\-?[0-9]+\]");
|
@@ -136,6 +139,10 @@ if(!RegExp.escape) {
|
|
136
139
|
if(this.name) {
|
137
140
|
this.name = this.name.replace(name_re, name_sub);
|
138
141
|
}
|
142
|
+
if ($(this).attr('for')) {
|
143
|
+
var new_for = $(this).attr('for').replace(id_re, id_sub);
|
144
|
+
$(this).attr('for', new_for);
|
145
|
+
}
|
139
146
|
if (id_prefix==this.id.slice(0, id_prefix.length)) {
|
140
147
|
this.id = this.id.replace(id_re, id_sub);
|
141
148
|
} else {
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hobo_jquery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.0.pre1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Bryan Larsen
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-12-18 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: jquery-rails
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,19 +27,17 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: hobo_rapid
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - '='
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 2.0.
|
33
|
+
version: 2.1.0.pre1
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - '='
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 2.0.
|
40
|
+
version: 2.1.0.pre1
|
46
41
|
description: JQuery support for Hobo
|
47
42
|
email: bryan@larsen.st
|
48
43
|
executables: []
|
@@ -79,6 +74,7 @@ files:
|
|
79
74
|
- vendor/assets/stylesheets/hobo_jquery.css
|
80
75
|
homepage: http://hobocentral.net
|
81
76
|
licenses: []
|
77
|
+
metadata: {}
|
82
78
|
post_install_message:
|
83
79
|
rdoc_options:
|
84
80
|
- --charset=UTF-8
|
@@ -87,22 +83,19 @@ require_paths:
|
|
87
83
|
- vendor
|
88
84
|
- taglibs
|
89
85
|
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
86
|
requirements:
|
92
87
|
- - '>='
|
93
88
|
- !ruby/object:Gem::Version
|
94
89
|
version: '0'
|
95
90
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
-
none: false
|
97
91
|
requirements:
|
98
92
|
- - '>='
|
99
93
|
- !ruby/object:Gem::Version
|
100
94
|
version: 1.3.6
|
101
95
|
requirements: []
|
102
96
|
rubyforge_project:
|
103
|
-
rubygems_version: 1.
|
97
|
+
rubygems_version: 2.1.11
|
104
98
|
signing_key:
|
105
|
-
specification_version:
|
99
|
+
specification_version: 4
|
106
100
|
summary: JQuery support for Hobo
|
107
101
|
test_files: []
|
108
|
-
has_rdoc:
|