hobo_jquery 2.0.1 → 2.1.0.pre1
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
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:
|