ujsos 0.0.2 → 0.0.3
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.
- data/Rakefile +3 -1
- data/lib/assets/javascripts/jquery_ujsos.js +44 -62
- data/lib/ujsos/rails_engine.rb +8 -12
- data/lib/ujsos/version.rb +1 -1
- data/ujsos.gemspec +3 -0
- metadata +31 -40
data/Rakefile
CHANGED
@@ -1,66 +1,51 @@
|
|
1
1
|
$(function($) {
|
2
|
-
|
3
|
-
|
4
|
-
function setDomUpdater(element) {
|
5
|
-
receiver = undefined;
|
2
|
+
function execute(element, data) {
|
3
|
+
var receiver = null;
|
6
4
|
|
7
5
|
// update an element's content
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
receiver = $(element).attr('data-ujsos-update');
|
7
|
+
if (receiver !== null) {
|
11
8
|
$.domupdater = function(data) {
|
12
|
-
if (receiver[0] != '#' && receiver[0] != '.') receiver = "#" + receiver;
|
13
9
|
$(receiver).html(data);
|
14
10
|
};
|
15
|
-
|
16
11
|
}
|
17
12
|
|
18
13
|
// replace a whole element
|
19
|
-
else if ((receiver = $(element).attr('data-ujsos-replace'))
|
20
|
-
if (receiver
|
21
|
-
|
22
|
-
element.replaceWith(data);
|
23
|
-
};
|
14
|
+
else if ((receiver = $(element).attr('data-ujsos-replace')) !== null) {
|
15
|
+
if (receiver === 'self') {
|
16
|
+
element.replaceWith(data);
|
24
17
|
}
|
25
18
|
else if (receiver == 'response') {
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
$('#' + idName).replaceWith(dataJSON[i]);
|
33
|
-
}
|
34
|
-
}
|
35
|
-
catch(error) {
|
36
|
-
idName = $(data).attr('id');
|
37
|
-
$('#' + idName).replaceWith(data);
|
19
|
+
var idName = null;
|
20
|
+
try {
|
21
|
+
var dataJSON = JSON.parse(data);
|
22
|
+
for (var i = 0; i < dataJSON.length; i++) {
|
23
|
+
idName = $(dataJSON[i]).attr('id');
|
24
|
+
$('#' + idName).replaceWith(dataJSON[i]);
|
38
25
|
}
|
39
|
-
}
|
26
|
+
}
|
27
|
+
catch(error) {
|
28
|
+
idName = $(data).attr('id');
|
29
|
+
$('#' + idName).replaceWith(data);
|
30
|
+
}
|
40
31
|
}
|
41
32
|
|
42
|
-
else if (receiver.substr(0, 6)
|
43
|
-
|
44
|
-
$(receiver.substring(6)).remove();
|
45
|
-
};
|
33
|
+
else if (receiver.substr(0, 6) === 'remove') {
|
34
|
+
$(receiver.substring(6)).remove();
|
46
35
|
}
|
47
36
|
|
48
37
|
// replace an element by class
|
49
|
-
else if (receiver[0]
|
38
|
+
else if (receiver[0] === '.') {
|
50
39
|
var className = receiver;
|
51
|
-
|
52
|
-
$(
|
53
|
-
|
54
|
-
});
|
55
|
-
};
|
40
|
+
$(element).parents(className).each(function() {
|
41
|
+
$(this).replaceWith(data);
|
42
|
+
});
|
56
43
|
}
|
57
44
|
|
58
45
|
// replace an element by #
|
59
46
|
else if (receiver[0] == '#') {
|
60
47
|
var idName = receiver;
|
61
|
-
|
62
|
-
$(idName).replaceWith(data);
|
63
|
-
};
|
48
|
+
$(idName).replaceWith(data);
|
64
49
|
}
|
65
50
|
|
66
51
|
}
|
@@ -94,40 +79,37 @@ $(function($) {
|
|
94
79
|
});
|
95
80
|
|
96
81
|
$('a[data-remote]').live('ajax:success', function(event, data, status) {
|
97
|
-
|
98
|
-
$.domupdater(data);
|
82
|
+
execute(this, data);
|
99
83
|
});
|
100
84
|
|
101
85
|
$('form[data-remote]').live('ajax:success', function(event, data, status) {
|
102
|
-
|
103
|
-
$.domupdater(data);
|
86
|
+
execute(this, data);
|
104
87
|
});
|
105
88
|
|
106
89
|
$('form[data-remote]').live('ajax:error', function(xhr, status, error) {
|
107
90
|
// Server can send 422 to indicate an error and still display validation errors and such
|
108
91
|
// This can be used to further differnetiate between successful and unsuccessful requests
|
109
92
|
if (status.status == 422) {
|
110
|
-
|
111
|
-
$.domupdater(status.responseText);
|
93
|
+
execute(this, status.responseText);
|
112
94
|
}
|
113
95
|
});
|
114
96
|
|
115
97
|
|
116
|
-
var turn_on_conditional_remotes;
|
117
|
-
turn_on_conditional_remotes = function() {
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
};
|
126
|
-
$(document).ready(function() {
|
127
|
-
|
128
|
-
});
|
129
|
-
$(document).bind('ajaxComplete', function() {
|
130
|
-
|
131
|
-
});
|
98
|
+
// var turn_on_conditional_remotes;
|
99
|
+
// turn_on_conditional_remotes = function() {
|
100
|
+
// return $('form[data-ujsos-if]').each(function(index) {
|
101
|
+
// var selector;
|
102
|
+
// selector = $(this).attr('data-ujsos-if');
|
103
|
+
// return $(selector).each(function(index) {
|
104
|
+
// return $(this).attr('data-remote', 'true');
|
105
|
+
// });
|
106
|
+
// });
|
107
|
+
// };
|
108
|
+
// $(document).ready(function() {
|
109
|
+
// return turn_on_conditional_remotes();
|
110
|
+
// });
|
111
|
+
// $(document).bind('ajaxComplete', function() {
|
112
|
+
// return turn_on_conditional_remotes();
|
113
|
+
// });
|
132
114
|
|
133
115
|
});
|
data/lib/ujsos/rails_engine.rb
CHANGED
@@ -16,21 +16,17 @@ module Ujsos
|
|
16
16
|
self.orig_formats=(values)
|
17
17
|
end
|
18
18
|
"
|
19
|
-
|
20
|
-
::ActionView::LookupContext::Details.class_eval { eval patch }
|
21
|
-
else
|
22
|
-
::ActionView::LookupContext.class_eval { eval patch }
|
23
|
-
end
|
19
|
+
::ActionView::LookupContext.class_eval { eval patch }
|
24
20
|
end
|
25
21
|
end
|
26
22
|
|
27
23
|
module Controller
|
28
24
|
extend ActiveSupport::Concern
|
29
25
|
|
30
|
-
included do
|
31
|
-
|
32
|
-
|
33
|
-
end
|
26
|
+
# included do
|
27
|
+
# helper_method :ujsos_attrs
|
28
|
+
# #layout lambda { |c| htmlf_request? ? false : 'application' }
|
29
|
+
# end
|
34
30
|
|
35
31
|
protected
|
36
32
|
|
@@ -38,8 +34,8 @@ module Ujsos
|
|
38
34
|
request.format && request.format.htmlf?
|
39
35
|
end
|
40
36
|
|
41
|
-
def ujsos_attrs(attrs)
|
42
|
-
|
43
|
-
end
|
37
|
+
# def ujsos_attrs(attrs)
|
38
|
+
# Ujsos::DomUpdater.attributes_for_dom_update(attrs)
|
39
|
+
# end
|
44
40
|
end
|
45
41
|
end
|
data/lib/ujsos/version.rb
CHANGED
data/ujsos.gemspec
CHANGED
@@ -18,4 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
s.add_dependency('rails', '~> 3.2.0')
|
21
23
|
end
|
24
|
+
|
metadata
CHANGED
@@ -1,33 +1,34 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ujsos
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 2
|
10
|
-
version: 0.0.2
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Christian Seiler
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
12
|
+
date: 2012-01-29 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: &2152504720 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 3.2.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2152504720
|
21
25
|
description: I need to comeup with a description
|
22
|
-
email:
|
26
|
+
email:
|
23
27
|
- chr.seiler@gmail.com
|
24
28
|
executables: []
|
25
|
-
|
26
29
|
extensions: []
|
27
|
-
|
28
30
|
extra_rdoc_files: []
|
29
|
-
|
30
|
-
files:
|
31
|
+
files:
|
31
32
|
- .gitignore
|
32
33
|
- Gemfile
|
33
34
|
- Rakefile
|
@@ -39,36 +40,26 @@ files:
|
|
39
40
|
- ujsos.gemspec
|
40
41
|
homepage: http://rubygems.org/gems/ujsos
|
41
42
|
licenses: []
|
42
|
-
|
43
43
|
post_install_message:
|
44
44
|
rdoc_options: []
|
45
|
-
|
46
|
-
require_paths:
|
45
|
+
require_paths:
|
47
46
|
- lib
|
48
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
48
|
none: false
|
50
|
-
requirements:
|
51
|
-
- -
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
55
|
-
- 0
|
56
|
-
version: "0"
|
57
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ! '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
54
|
none: false
|
59
|
-
requirements:
|
60
|
-
- -
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
|
63
|
-
segments:
|
64
|
-
- 0
|
65
|
-
version: "0"
|
55
|
+
requirements:
|
56
|
+
- - ! '>='
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '0'
|
66
59
|
requirements: []
|
67
|
-
|
68
60
|
rubyforge_project: ujsos
|
69
|
-
rubygems_version: 1.8.
|
61
|
+
rubygems_version: 1.8.10
|
70
62
|
signing_key:
|
71
63
|
specification_version: 3
|
72
64
|
summary: Unobtrusive Javascript on Steroids
|
73
65
|
test_files: []
|
74
|
-
|