xhr_flash 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/README.md +4 -0
- data/lib/xhr_flash/version.rb +1 -1
- data/vendor/assets/javascript/jquery.xhrflash.coffee +45 -64
- metadata +31 -11
data/README.md
CHANGED
@@ -66,3 +66,7 @@ Yes, you can customize it a bit. You can pass the following parameters to xhrfla
|
|
66
66
|
3. Commit your changes (`git commit -am 'Added some feature'`)
|
67
67
|
4. Push to the branch (`git push origin my-new-feature`)
|
68
68
|
5. Create new Pull Request
|
69
|
+
|
70
|
+
|
71
|
+
[](https://bitdeli.com/free "Bitdeli Badge")
|
72
|
+
|
data/lib/xhr_flash/version.rb
CHANGED
@@ -1,64 +1,45 @@
|
|
1
|
-
$ = jQuery
|
2
|
-
|
3
|
-
class Flash
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
@
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
h
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
$container = @
|
47
|
-
|
48
|
-
settings =
|
49
|
-
msgs : ['Success', 'Warning', 'Error', 'Notice']
|
50
|
-
tag : 'div'
|
51
|
-
class : 'alert'
|
52
|
-
timeout : 5000
|
53
|
-
|
54
|
-
settings = $.extend settings, options
|
55
|
-
|
56
|
-
@each ->
|
57
|
-
$this = $(@)
|
58
|
-
data = $this.data 'xhrflash'
|
59
|
-
|
60
|
-
unless data
|
61
|
-
# Logic
|
62
|
-
new Flash($this, settings)
|
63
|
-
|
64
|
-
$this.data 'xhrflash', true
|
1
|
+
do ($ = jQuery) ->
|
2
|
+
|
3
|
+
class Flash
|
4
|
+
|
5
|
+
defaults:
|
6
|
+
msgs : ['Success', 'Warning', 'Error', 'Notice', 'Alert']
|
7
|
+
timeout : 5000
|
8
|
+
template : (data) ->
|
9
|
+
fn = ->
|
10
|
+
messages = for messageType, msg of @
|
11
|
+
"<div class='alert alert-#{messageType}'>#{msg}</div>"
|
12
|
+
messages.join ''
|
13
|
+
fn.call(data)
|
14
|
+
|
15
|
+
constructor: (el, settings) ->
|
16
|
+
@$el = el
|
17
|
+
{@msgs, @timeout, @template} = $.extend({}, @defaults, settings)
|
18
|
+
|
19
|
+
@$el.delay(@timeout).slideUp('fast') unless @$el.is(':empty')
|
20
|
+
|
21
|
+
$(document).ajaxComplete (e, xhr) =>
|
22
|
+
headers = @flashHeaders(xhr)
|
23
|
+
html = ''
|
24
|
+
html = @template(headers) unless $.isEmptyObject(headers)
|
25
|
+
|
26
|
+
@$el.html html
|
27
|
+
@$el.stop(true, true).slideDown('fast')
|
28
|
+
.delay(@timeout)
|
29
|
+
.slideUp('fast')
|
30
|
+
|
31
|
+
flashHeaders: (xhr) ->
|
32
|
+
@msgs.reduce(
|
33
|
+
(h, type) ->
|
34
|
+
msg = xhr.getResponseHeader("X-Flash-#{type}")
|
35
|
+
h[type.toLowerCase()] = msg if msg?
|
36
|
+
h
|
37
|
+
, {}
|
38
|
+
)
|
39
|
+
|
40
|
+
$.fn.xhrflash = (options) ->
|
41
|
+
@each ->
|
42
|
+
$this = $(@)
|
43
|
+
data = $this.data 'xhrflash'
|
44
|
+
|
45
|
+
$this.data('xhrflash', new Flash($this, options)) unless data
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xhr_flash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-10-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '3.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.1'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: coffee-rails
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '3.1'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.1'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: sqlite3
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rspec-rails
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,7 +69,12 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
description:
|
59
79
|
email:
|
60
80
|
- javier.rodriguez@h1labs.com
|
@@ -131,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
151
|
version: '0'
|
132
152
|
requirements: []
|
133
153
|
rubyforge_project:
|
134
|
-
rubygems_version: 1.8.
|
154
|
+
rubygems_version: 1.8.23
|
135
155
|
signing_key:
|
136
156
|
specification_version: 3
|
137
157
|
summary: Flash object management in AJAX requests
|