sweet-alert-confirm 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -1
- data/lib/assets/javascripts/sweet-alert-confirm.js +20 -5
- data/lib/sweet-alert-confirm/version.rb +1 -1
- data/lib/sweet-alert-confirm/view_helpers.rb +15 -2
- data/spec/dummy-rails3/app/views/confirms/index.html.erb +6 -2
- data/spec/dummy/app/views/confirms/index.html.erb +6 -2
- data/spec/features/sweet_alert_confirm_spec.rb +28 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79d4562caf3b1e3cecbf4c9d92fe3384d416c318
|
4
|
+
data.tar.gz: 049049199569fe95b9594d134b4d6841e2795c89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c65648175a8152da2da0dacf0e08d1386a8926f13e7d2f90398025db361919065cc095f2698990fa51874e8234928f9d2a19ab818a46ccb26c3ef13b6f4cc68
|
7
|
+
data.tar.gz: e6fc7263994d927fdd0b26b7f6f34a9b2face824aa12643f4bab822ba62c64801c7d22d39cc48a06d932ce3db48cb914a2b70eb4d05bb68dd9f65719c4e38e54
|
data/README.md
CHANGED
@@ -40,7 +40,7 @@ You can pass options in `data:`
|
|
40
40
|
:'confirm-button-text' => 'Im ready',
|
41
41
|
:'cancel-button-text' => 'No way',
|
42
42
|
:'confirm-button-color' => '#66CD00',
|
43
|
-
type
|
43
|
+
:'sweet-alert-type' => 'info',
|
44
44
|
text: 'This is a subtitle',
|
45
45
|
:'image-url' => '/pic.png'
|
46
46
|
|
@@ -49,4 +49,11 @@ You can pass options in `data:`
|
|
49
49
|
|
50
50
|
![Custom confirm](https://cloud.githubusercontent.com/assets/5833678/4653700/14389916-54b0-11e4-9850-14ee970e9345.png)
|
51
51
|
|
52
|
+
## Contribute
|
53
|
+
|
54
|
+
Fork the repo & pull request you fix/feature
|
55
|
+
|
56
|
+
append `RAILS_VERSION=4.1.2` or whichever you target before your `bundle` command ex: `RAILS_VERSION=4.1.2 bundle install`
|
57
|
+
|
58
|
+
please add/modify test examples on fix or features
|
52
59
|
|
@@ -16,7 +16,7 @@
|
|
16
16
|
var optionKeys = [
|
17
17
|
'confirm',
|
18
18
|
'text',
|
19
|
-
'
|
19
|
+
'sweetAlertType',
|
20
20
|
'showCancelButton',
|
21
21
|
'confirmButtonColor',
|
22
22
|
'cancelButtonColor',
|
@@ -32,6 +32,10 @@
|
|
32
32
|
$.each($linkToVerify.data(), function(key, val){
|
33
33
|
if ($.inArray(key, optionKeys) >= 0) {
|
34
34
|
swalOptions[key] = val
|
35
|
+
if (key == 'sweetAlertType') {
|
36
|
+
swalOptions['type'] = val;
|
37
|
+
}
|
38
|
+
|
35
39
|
}
|
36
40
|
})
|
37
41
|
|
@@ -57,7 +61,16 @@
|
|
57
61
|
if (r === false) {
|
58
62
|
return false;
|
59
63
|
} else {
|
60
|
-
|
64
|
+
if($linkToVerify.is('input')){
|
65
|
+
var name = $linkToVerify.attr('name'),
|
66
|
+
data = name ? {name: name, value:$linkToVerify.val()} : null;
|
67
|
+
$linkToVerify.closest('form').data('ujs:submit-button', data);
|
68
|
+
$linkToVerify.closest('form').submit();
|
69
|
+
}
|
70
|
+
else {
|
71
|
+
window.location.href = $linkToVerify.attr('href');
|
72
|
+
}
|
73
|
+
|
61
74
|
}
|
62
75
|
}
|
63
76
|
});
|
@@ -66,9 +79,11 @@
|
|
66
79
|
//});
|
67
80
|
//return this;
|
68
81
|
}
|
69
|
-
|
70
|
-
|
71
|
-
$('
|
82
|
+
|
83
|
+
$(document).on('ready page:change ajaxComplete', function() {
|
84
|
+
$('[data-sweet-alert-confirm]').on('click', sweetAlertConfirm)
|
85
|
+
//To avoid "Uncaught TypeError: Cannot read property 'querySelector' of null" on turbolinks
|
86
|
+
window.sweetAlertInitialize();
|
72
87
|
});
|
73
88
|
|
74
89
|
})( jQuery );
|
@@ -2,13 +2,26 @@ module SweetAlertConfirm
|
|
2
2
|
module ViewHelpers
|
3
3
|
def link_to(*args, &block)
|
4
4
|
html_options = args[block_given? ? 1 : 2] || {}
|
5
|
-
if (html_options[:confirm] || (html_options[:data] && html_options[:data][:confirm]) &&
|
6
|
-
!html_options[:remote])
|
7
5
|
|
6
|
+
if options_has_confirm?(html_options)
|
8
7
|
html_options['data-sweet-alert-confirm'] = html_options.delete(:confirm) ||
|
9
8
|
html_options[:data].delete(:confirm)
|
10
9
|
end
|
11
10
|
super *args, &block
|
12
11
|
end
|
12
|
+
|
13
|
+
def submit_tag(value = "Save changes", options = {})
|
14
|
+
options['data-sweet-alert-confirm'] = options.delete(:confirm) || options[:data].delete(:confirm) if options_has_confirm?(options)
|
15
|
+
super value, options
|
16
|
+
end
|
17
|
+
|
18
|
+
protected
|
19
|
+
def options_has_confirm?(options)
|
20
|
+
if (options[:confirm] || (options[:data] && options[:data][:confirm]))
|
21
|
+
true
|
22
|
+
else
|
23
|
+
false
|
24
|
+
end
|
25
|
+
end
|
13
26
|
end
|
14
27
|
end
|
@@ -1,11 +1,15 @@
|
|
1
1
|
<%= link_to 'Basic confirm', get_cow_path, id: 'basic-confirm', data: { text: 'nanana', confirm: 'Are you sure?' } %>
|
2
2
|
<%= link_to 'Delete confirm', delete_cow_path,method: :delete, id: 'method-confirm', data: { text: 'nanana', confirm: 'Are you sure?' } %>
|
3
|
-
<%= link_to 'Remote confirm', delete_cow_path,method: :delete, id: 'remote-confirm', data: { remote: 'true', text: 'nanana', confirm: 'Are you sure?' } %>
|
3
|
+
<%= link_to 'Remote confirm', delete_cow_path,method: :delete, id: 'remote-confirm', data: { remote: 'true', 'sweet-alert-type' => 'info', text: 'nanana', confirm: 'Are you sure?' } %>
|
4
4
|
<%= link_to 'Custom confirm', get_cow_path, id: 'custom-confirm', data: {
|
5
5
|
:'confirm-button-text' => 'Im ready',
|
6
6
|
:'cancel-button-text' => 'No way',
|
7
7
|
:'confirm-button-color' => '#66CD00',
|
8
|
-
type
|
8
|
+
:'sweet-alert-type' => 'info',
|
9
9
|
text: 'This is a subtitle',
|
10
10
|
confirm: 'Are you ready?'
|
11
11
|
} %>
|
12
|
+
|
13
|
+
<%= form_tag(delete_cow_path, method: :delete) do %>
|
14
|
+
<%= submit_tag 'Submit to delete cow', id: 'submit-delete', data: {confirm: 'Are you sure?'} %>
|
15
|
+
<% end %>
|
@@ -1,11 +1,15 @@
|
|
1
1
|
<%= link_to 'Basic confirm', get_cow_path, id: 'basic-confirm', data: { text: 'nanana', confirm: 'Are you sure?' } %>
|
2
2
|
<%= link_to 'Delete confirm', delete_cow_path,method: :delete, id: 'method-confirm', data: { text: 'nanana', confirm: 'Are you sure?' } %>
|
3
|
-
<%= link_to 'Remote confirm', delete_cow_path,method: :delete, id: 'remote-confirm', data: { remote: 'true', text: 'nanana', confirm: 'Are you sure?' } %>
|
3
|
+
<%= link_to 'Remote confirm', delete_cow_path,method: :delete, id: 'remote-confirm', data: { remote: 'true', 'sweet-alert-type' => 'warning', text: 'nanana', confirm: 'Are you sure?' } %>
|
4
4
|
<%= link_to 'Custom confirm', get_cow_path, id: 'custom-confirm', data: {
|
5
5
|
:'confirm-button-text' => 'Im ready',
|
6
6
|
:'cancel-button-text' => 'No way',
|
7
7
|
:'confirm-button-color' => '#66CD00',
|
8
|
-
type
|
8
|
+
:'sweet-alert-type' => 'info',
|
9
9
|
text: 'This is a subtitle',
|
10
10
|
confirm: 'Are you ready?'
|
11
11
|
} %>
|
12
|
+
|
13
|
+
<%= form_tag(delete_cow_path, method: :delete) do %>
|
14
|
+
<%= submit_tag 'Submit to delete cow', id: 'submit-delete', data: {confirm: 'Are you sure?'} %>
|
15
|
+
<% end %>
|
@@ -105,5 +105,33 @@ describe 'basic confirms', js: true, type: :feature do
|
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
+
describe 'Submit confirm' do
|
109
|
+
before do
|
110
|
+
visit confirms_page_path
|
111
|
+
find("#submit-delete").trigger('click')
|
112
|
+
end
|
113
|
+
it 'show the alert when click the submit', :js => true do
|
114
|
+
sleep 1
|
115
|
+
expect(page).to have_content('Are you sure?')
|
116
|
+
expect(page).not_to have_content('You murdered a silly cow')
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'does not submit the form when click on cancel' do
|
120
|
+
sleep 1
|
121
|
+
expect(page).to_not have_content('You murdered a silly cow')
|
122
|
+
click_button('Cancel')
|
123
|
+
sleep 1
|
124
|
+
expect(page).to_not have_content('You murdered a silly cow')
|
125
|
+
end
|
126
|
+
|
127
|
+
it 'submit the form after accept confirm' do
|
128
|
+
#click_on '.confirm'
|
129
|
+
expect(page).to_not have_content('You murdered a silly cow')
|
130
|
+
sleep 1
|
131
|
+
click_button('Ok')
|
132
|
+
expect(page).to have_content('You murdered a silly cow')
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
108
136
|
end
|
109
137
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sweet-alert-confirm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Moises Viloria
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jquery-rails
|