twitter-bootstrap-rails-confirm 1.0.6 → 2.0.2
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c6fc0126e16b808c7ee4fb81e5e5c589693a33c
|
4
|
+
data.tar.gz: 35b26a8694584f33e5c9d11be9d5fb12472a0cef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e81136caf2cc11ab8630b67fa600637ede0e87438bcf177ecaeb35b6a67d299bff42ad018e7a66eac1499fc964531e9f569cf96704db60866049bb0c8fb6deb7
|
7
|
+
data.tar.gz: 00efad5027fa893dc46f0e3099c518b9442615e01b3d5fbc94ec713bc64860e32757b58c29d12a4996797ef275185cf01a761684bacb2bf213aa1548e2af0849
|
data/LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2012 Rene van Lieshout
|
1
|
+
Copyright (c) 2012 - 2018 Rene van Lieshout
|
2
2
|
|
3
3
|
MIT License
|
4
4
|
|
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
19
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
20
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
21
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# Twitter::Bootstrap::Rails::Confirm
|
2
2
|
|
3
|
-
This gem adds some javascript to change the default behaviour of data-confirm processing for both Boostrap 2 and
|
3
|
+
This gem adds some javascript to change the default behaviour of data-confirm processing for both Boostrap 2, 3 and 4.
|
4
4
|
|
5
|
-
The normal confirm dialog shows a text with buttons 'ok' and 'cancel'. More information is needed here for a user to
|
5
|
+
The normal confirm dialog shows a text with buttons 'ok' and 'cancel'. More information is needed here for a user to
|
6
|
+
make the right decision. This gem therefore also adds:
|
6
7
|
|
7
8
|
* data-confirm-fade (default: false)
|
8
9
|
* data-confirm-title (default: window.top.location.origin)
|
@@ -11,56 +12,76 @@ The normal confirm dialog shows a text with buttons 'ok' and 'cancel'. More info
|
|
11
12
|
* data-confirm-proceed (default: 'ok')
|
12
13
|
* data-confirm-proceed-class (default: 'btn-primary')
|
13
14
|
|
14
|
-
This behaviour is similar to that of a "regular" confirm box in ways that it uses the same title and button labels.
|
15
|
+
This behaviour is similar to that of a "regular" confirm box in ways that it uses the same title and button labels.
|
16
|
+
Defaults can be changed in two ways:
|
15
17
|
|
16
18
|
Changing all default values:
|
17
19
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
20
|
+
```javascript
|
21
|
+
$.fn.twitter_bootstrap_confirmbox.defaults = {
|
22
|
+
fade: false,
|
23
|
+
title: null, // if title equals null window.top.location.origin is used
|
24
|
+
cancel: "Cancel",
|
25
|
+
cancel_class: "btn cancel",
|
26
|
+
proceed: "OK",
|
27
|
+
proceed_class: "btn proceed btn-primary",
|
28
|
+
modal_class: ""
|
29
|
+
};
|
30
|
+
```
|
27
31
|
|
28
32
|
Only changing one default value:
|
29
33
|
|
30
|
-
|
34
|
+
```javascript
|
35
|
+
$.fn.twitter_bootstrap_confirmbox.defaults.proceed_class = "btn proceed btn-success";
|
36
|
+
```
|
31
37
|
|
32
38
|
## Installation
|
33
39
|
|
34
40
|
Add this line to your application's Gemfile:
|
35
41
|
|
36
|
-
|
42
|
+
```ruby
|
43
|
+
gem 'twitter-bootstrap-rails-confirm'
|
44
|
+
```
|
37
45
|
|
38
46
|
And then execute:
|
39
47
|
|
40
|
-
|
48
|
+
```
|
49
|
+
$ bundle
|
50
|
+
```
|
41
51
|
|
42
|
-
Note: [jQuery-Rails should be > 2.2.1](https://github.com/bluerail/twitter-bootstrap-rails-confirm/issues/27). The exact
|
52
|
+
Note: [jQuery-Rails should be > 2.2.1](https://github.com/bluerail/twitter-bootstrap-rails-confirm/issues/27). The exact
|
53
|
+
required version has not yet been determined.
|
43
54
|
|
44
55
|
## Usage
|
45
56
|
|
46
57
|
Add it to your application.js, anywhere after you require jquery_ujs:
|
47
58
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
59
|
+
```coffeescript
|
60
|
+
//= require twitter/bootstrap/rails/confirm
|
61
|
+
```
|
62
|
+
|
63
|
+
Next... nothing. There is nothing you need to do to get this working. A helper could be useful for handling large amount
|
64
|
+
of destroy buttons:
|
65
|
+
|
66
|
+
```ruby
|
67
|
+
def destroy_link_to(path, options)
|
68
|
+
link_to t('.destroy'), path,
|
69
|
+
:method => :delete,
|
70
|
+
:class => 'btn',
|
71
|
+
:confirm => t('.destroy_confirm.body', :item => options[:item]),
|
72
|
+
'data-confirm-fade' => true,
|
73
|
+
'data-confirm-title' => t('.destroy_confirm.title', :item => options[:item]),
|
74
|
+
'data-confirm-cancel' => t('.destroy_confirm.cancel', :item => options[:item]),
|
75
|
+
'data-confirm-cancel-class' => 'btn-default'),
|
76
|
+
'data-confirm-proceed' => t('.destroy_confirm.proceed', :item => options[:item]),
|
77
|
+
'data-confirm-proceed-class' => 'btn-danger'
|
78
|
+
end
|
79
|
+
```
|
80
|
+
|
81
|
+
## Testing
|
82
|
+
|
83
|
+
See [Twitter Bootstrap Rails Confirm Test](https://github.com/bluerail/twitter-bootstrap-rails-confirm-test) for a
|
84
|
+
simple app that loads Bootstrap and this gem.
|
64
85
|
|
65
86
|
## Contributing
|
66
87
|
|
@@ -72,6 +93,22 @@ Next... nothing. There is nothing you need to do to get this working. A helper c
|
|
72
93
|
|
73
94
|
## Changelog
|
74
95
|
|
96
|
+
### 2.0.2 (January 18, 2022)
|
97
|
+
|
98
|
+
* BREAKING: Resolved possible XSS by using .text() over .html()
|
99
|
+
|
100
|
+
### 2.0.1 (January 14, 2018)
|
101
|
+
|
102
|
+
* [(eirvandelden)](https://github.com/eirvandelden) [Bootstrap 4 version is stored in Tooltip.VERSION](https://github.com/bluerail/twitter-bootstrap-rails-confirm/pull/38)
|
103
|
+
|
104
|
+
### 2.0.0 (April 26, 2018)
|
105
|
+
|
106
|
+
* [(mftaff)](https://github.com/mftaff) [Convert CoffeeScript to JavaScript](https://github.com/bluerail/twitter-bootstrap-rails-confirm/pull/37)
|
107
|
+
|
108
|
+
### 1.0.7 (November 24, 2017)
|
109
|
+
|
110
|
+
* [(thiesp)](https://github.com/thiesp) [Adding template and setting default cancel class to btn-secondary for bootstrap 4](https://github.com/bluerail/twitter-bootstrap-rails-confirm/pull/35)
|
111
|
+
|
75
112
|
### 1.0.6 (June 9, 2016)
|
76
113
|
|
77
114
|
* [(rvanlieshout)](https://github.com/rvanlieshout) [Added proper events for Bootstrap 3](https://github.com/bluerail/twitter-bootstrap-rails-confirm/issues/28)
|
@@ -0,0 +1,127 @@
|
|
1
|
+
(function() {
|
2
|
+
var TwitterBootstrapConfirmBox;
|
3
|
+
|
4
|
+
$.fn.twitter_bootstrap_confirmbox = {
|
5
|
+
defaults: {
|
6
|
+
title: null,
|
7
|
+
proceed: "OK",
|
8
|
+
proceed_class: "btn proceed",
|
9
|
+
cancel: "Cancel",
|
10
|
+
cancel_class: "btn cancel",
|
11
|
+
fade: false,
|
12
|
+
modal_class: ""
|
13
|
+
}
|
14
|
+
};
|
15
|
+
|
16
|
+
TwitterBootstrapConfirmBox = function(message, element, callback) {
|
17
|
+
var $dialog, bootstrap_version;
|
18
|
+
if (typeof $().emulateTransitionEnd === 'function') {
|
19
|
+
if ($.fn.tooltip.Constructor === undefined) {
|
20
|
+
bootstrap_version = Tooltip.VERSION[0]
|
21
|
+
} else {
|
22
|
+
bootstrap_version = $.fn.tooltip.Constructor.VERSION[0]
|
23
|
+
}
|
24
|
+
} else {
|
25
|
+
bootstrap_version = 2
|
26
|
+
}
|
27
|
+
|
28
|
+
switch (bootstrap_version) {
|
29
|
+
case 2:
|
30
|
+
$dialog = $('<div class="modal hide" id="confirmation_dialog"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h3 class="modal-title">...</h3> </div> <div class="modal-body"></div> <div class="modal-footer"></div> </div>');
|
31
|
+
break;
|
32
|
+
case 3:
|
33
|
+
$dialog = $('<div class="modal" id="confirmation_dialog" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">...</h4> </div> <div class="modal-body"></div> <div class="modal-footer"></div> </div> </div> </div>');
|
34
|
+
break;
|
35
|
+
default:
|
36
|
+
$dialog = $('<div class="modal" id="confirmation_dialog" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">...</h4> <button type="button" class="close" data-dismiss="modal">×</button> </div> <div class="modal-body"></div> <div class="modal-footer"></div> </div> </div> </div>');
|
37
|
+
}
|
38
|
+
|
39
|
+
$dialog.addClass(element.data("confirm-modal-class") || $.fn.twitter_bootstrap_confirmbox.defaults.modal_class);
|
40
|
+
|
41
|
+
if (element.data("confirm-fade") || $.fn.twitter_bootstrap_confirmbox.defaults.fade) {
|
42
|
+
$dialog.addClass("fade");
|
43
|
+
}
|
44
|
+
|
45
|
+
$dialog.find(".modal-header .modal-title").text(element.data("confirm-title") || $.fn.twitter_bootstrap_confirmbox.defaults.title || window.top.location.origin);
|
46
|
+
|
47
|
+
var dialog_body = $dialog.find(".modal-body");
|
48
|
+
var paragraphs = message.toString().split(/\n/);
|
49
|
+
dialog_body.html('');
|
50
|
+
for (var paragraph_index in paragraphs) {
|
51
|
+
$("<p></p>").appendTo(dialog_body).text(paragraphs[paragraph_index]);
|
52
|
+
}
|
53
|
+
|
54
|
+
var cancel_buton = $("<a />", { href: "#", "data-dismiss": "modal" });
|
55
|
+
cancel_buton.text(element.data("confirm-cancel") || $.fn.twitter_bootstrap_confirmbox.defaults.cancel);
|
56
|
+
cancel_buton.addClass($.fn.twitter_bootstrap_confirmbox.defaults.cancel_class);
|
57
|
+
cancel_buton.addClass(element.data("confirm-cancel-class") || (bootstrap_version === 4 ? "btn-secondary" : void 0) || "btn-default");
|
58
|
+
cancel_buton.click(function(event) {
|
59
|
+
event.preventDefault();
|
60
|
+
return $dialog.modal("hide");
|
61
|
+
});
|
62
|
+
$dialog.find(".modal-footer").append(cancel_buton);
|
63
|
+
|
64
|
+
var confirm_button = $("<a />", { href: "#" });
|
65
|
+
confirm_button.text(element.data("confirm-proceed") || $.fn.twitter_bootstrap_confirmbox.defaults.proceed);
|
66
|
+
confirm_button.addClass($.fn.twitter_bootstrap_confirmbox.defaults.proceed_class);
|
67
|
+
confirm_button.addClass(element.data("confirm-proceed-class") || "btn-primary");
|
68
|
+
confirm_button.click(function(event) {
|
69
|
+
event.preventDefault();
|
70
|
+
$dialog.modal("hide");
|
71
|
+
return callback();
|
72
|
+
});
|
73
|
+
$dialog.find(".modal-footer").append(confirm_button);
|
74
|
+
|
75
|
+
$dialog.on('keypress', function(e) {
|
76
|
+
if (e.keyCode === 13) { return $('.modal-footer a:last').trigger('click'); }
|
77
|
+
}).on("hidden hidden.bs.modal", function() {
|
78
|
+
return $(this).remove();
|
79
|
+
});
|
80
|
+
|
81
|
+
$dialog.modal("show").appendTo(document.body);
|
82
|
+
};
|
83
|
+
|
84
|
+
if (typeof $().modal === 'function') {
|
85
|
+
$.rails.allowAction = function(element) {
|
86
|
+
$(element).blur();
|
87
|
+
|
88
|
+
var message = element.data("confirm");
|
89
|
+
var answer = false;
|
90
|
+
|
91
|
+
if (!message) {
|
92
|
+
return true;
|
93
|
+
}
|
94
|
+
|
95
|
+
if ($.rails.fire(element, "confirm")) {
|
96
|
+
TwitterBootstrapConfirmBox(message, element, function() {
|
97
|
+
if ($.rails.fire(element, "confirm:complete", [answer])) {
|
98
|
+
var allowAction = $.rails.allowAction;
|
99
|
+
|
100
|
+
$.rails.allowAction = function() {
|
101
|
+
return true;
|
102
|
+
};
|
103
|
+
|
104
|
+
if (element.get(0).click) {
|
105
|
+
element.get(0).click();
|
106
|
+
} else if (typeof Event !== "undefined" && Event !== null) {
|
107
|
+
var evt = new Event("click", { bubbles: true, cancelable: true, view: window, detail: 0, screenX: 0,
|
108
|
+
screenY: 0, clientX: 0, clientY: 0, ctrlKey: false, altKey: false,
|
109
|
+
shiftKey: false, metaKey: false, button: 0,
|
110
|
+
relatedTarget: document.body.parentNode });
|
111
|
+
|
112
|
+
element.get(0).dispatchEvent(evt);
|
113
|
+
} else if ($.isFunction(document.createEvent)) {
|
114
|
+
var evt = document.createEvent("MouseEvents");
|
115
|
+
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, document.body.parentNode);
|
116
|
+
|
117
|
+
element.get(0).dispatchEvent(evt);
|
118
|
+
}
|
119
|
+
|
120
|
+
return $.rails.allowAction = allowAction;
|
121
|
+
}
|
122
|
+
});
|
123
|
+
}
|
124
|
+
return false;
|
125
|
+
};
|
126
|
+
}
|
127
|
+
}).call(this);
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitter-bootstrap-rails-confirm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rene van Lieshout
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Confirm dialogs using Twitter Bootstrap
|
14
14
|
email:
|
@@ -26,7 +26,7 @@ files:
|
|
26
26
|
- lib/twitter-bootstrap-rails-confirm/engine.rb
|
27
27
|
- lib/twitter-bootstrap-rails-confirm/version.rb
|
28
28
|
- twitter-bootstrap-rails-confirm.gemspec
|
29
|
-
- vendor/assets/javascripts/twitter/bootstrap/rails/confirm.
|
29
|
+
- vendor/assets/javascripts/twitter/bootstrap/rails/confirm.js
|
30
30
|
homepage: https://github.com/bluerail/twitter-bootstrap-rails-confirm
|
31
31
|
licenses: []
|
32
32
|
metadata: {}
|
@@ -1,149 +0,0 @@
|
|
1
|
-
$.fn.twitter_bootstrap_confirmbox =
|
2
|
-
defaults:
|
3
|
-
title: null
|
4
|
-
proceed: "OK"
|
5
|
-
proceed_class: "btn proceed"
|
6
|
-
cancel: "Cancel"
|
7
|
-
cancel_class: "btn cancel"
|
8
|
-
fade: false
|
9
|
-
modal_class: ""
|
10
|
-
|
11
|
-
TwitterBootstrapConfirmBox = (message, element, callback) ->
|
12
|
-
bootstrap_version = if (typeof $().emulateTransitionEnd == 'function') then 3 else 2
|
13
|
-
|
14
|
-
if bootstrap_version == 2
|
15
|
-
$dialog = $('
|
16
|
-
<div class="modal hide" id="confirmation_dialog">
|
17
|
-
<div class="modal-header">
|
18
|
-
<button type="button" class="close" data-dismiss="modal">×</button>
|
19
|
-
<h3 class="modal-title">...</h3>
|
20
|
-
</div>
|
21
|
-
<div class="modal-body"></div>
|
22
|
-
<div class="modal-footer"></div>
|
23
|
-
</div>
|
24
|
-
')
|
25
|
-
else
|
26
|
-
$dialog = $('
|
27
|
-
<div class="modal" id="confirmation_dialog" role="dialog">
|
28
|
-
<div class="modal-dialog">
|
29
|
-
<div class="modal-content">
|
30
|
-
<div class="modal-header">
|
31
|
-
<button type="button" class="close" data-dismiss="modal">×</button>
|
32
|
-
<h4 class="modal-title">...</h4>
|
33
|
-
</div>
|
34
|
-
<div class="modal-body"></div>
|
35
|
-
<div class="modal-footer"></div>
|
36
|
-
</div>
|
37
|
-
</div>
|
38
|
-
</div>
|
39
|
-
')
|
40
|
-
|
41
|
-
$dialog.addClass(element.data("confirm-modal-class") || $.fn.twitter_bootstrap_confirmbox.defaults.modal_class)
|
42
|
-
|
43
|
-
$dialog.addClass("fade") if element.data("confirm-fade") || $.fn.twitter_bootstrap_confirmbox.defaults.fade
|
44
|
-
|
45
|
-
$dialog
|
46
|
-
.find(".modal-header")
|
47
|
-
.find(".modal-title")
|
48
|
-
.html(element.data("confirm-title") || $.fn.twitter_bootstrap_confirmbox.defaults.title || window.top.location.origin)
|
49
|
-
.end()
|
50
|
-
.end()
|
51
|
-
|
52
|
-
.find(".modal-body")
|
53
|
-
.html(message.toString().replace(/\n/g, "<br />"))
|
54
|
-
.end()
|
55
|
-
|
56
|
-
.find(".modal-footer")
|
57
|
-
.append(
|
58
|
-
$("<a />", {href: "#", "data-dismiss": "modal"})
|
59
|
-
.html(element.data("confirm-cancel") || $.fn.twitter_bootstrap_confirmbox.defaults.cancel)
|
60
|
-
.addClass($.fn.twitter_bootstrap_confirmbox.defaults.cancel_class)
|
61
|
-
.addClass(element.data("confirm-cancel-class") || "btn-default")
|
62
|
-
.click((event) ->
|
63
|
-
event.preventDefault()
|
64
|
-
$dialog.modal("hide")
|
65
|
-
)
|
66
|
-
,
|
67
|
-
$("<a />", {href: "#"})
|
68
|
-
.html(element.data("confirm-proceed") || $.fn.twitter_bootstrap_confirmbox.defaults.proceed)
|
69
|
-
.addClass($.fn.twitter_bootstrap_confirmbox.defaults.proceed_class)
|
70
|
-
.addClass(element.data("confirm-proceed-class") || "btn-primary")
|
71
|
-
.click((event) ->
|
72
|
-
event.preventDefault()
|
73
|
-
$dialog.modal("hide")
|
74
|
-
callback()
|
75
|
-
)
|
76
|
-
)
|
77
|
-
.end()
|
78
|
-
|
79
|
-
.on('keypress', (e) ->
|
80
|
-
$('.modal-footer a:last').trigger('click') if e.keyCode == 13 # Enter Key Code
|
81
|
-
)
|
82
|
-
|
83
|
-
.on("hidden hidden.bs.modal", -> $(this).remove())
|
84
|
-
|
85
|
-
.modal("show")
|
86
|
-
|
87
|
-
.appendTo(document.body)
|
88
|
-
|
89
|
-
if (typeof $().modal == 'function') # test if bootstrap is loaded
|
90
|
-
$.rails.allowAction = (element) ->
|
91
|
-
$(element).blur();
|
92
|
-
message = element.data("confirm")
|
93
|
-
answer = false
|
94
|
-
return true unless message
|
95
|
-
|
96
|
-
if $.rails.fire(element, "confirm")
|
97
|
-
TwitterBootstrapConfirmBox message, element, ->
|
98
|
-
if $.rails.fire(element, "confirm:complete", [answer])
|
99
|
-
allowAction = $.rails.allowAction
|
100
|
-
|
101
|
-
$.rails.allowAction = ->
|
102
|
-
true
|
103
|
-
|
104
|
-
if element.get(0).click
|
105
|
-
element.get(0).click()
|
106
|
-
|
107
|
-
else if Event?
|
108
|
-
evt = new Event("click", {
|
109
|
-
bubbles: true,
|
110
|
-
cancelable: true,
|
111
|
-
view: window,
|
112
|
-
detail: 0,
|
113
|
-
screenX: 0,
|
114
|
-
screenY: 0,
|
115
|
-
clientX: 0,
|
116
|
-
clientY: 0,
|
117
|
-
ctrlKey: false,
|
118
|
-
altKey: false,
|
119
|
-
shiftKey: false,
|
120
|
-
metaKey: false,
|
121
|
-
button: 0,
|
122
|
-
relatedTarget: document.body.parentNode
|
123
|
-
})
|
124
|
-
element.get(0).dispatchEvent(evt)
|
125
|
-
|
126
|
-
else if $.isFunction(document.createEvent)
|
127
|
-
evt = document.createEvent "MouseEvents"
|
128
|
-
evt.initMouseEvent(
|
129
|
-
"click",
|
130
|
-
true, # e.bubbles,
|
131
|
-
true, # e.cancelable,
|
132
|
-
window, # e.view,
|
133
|
-
0, # e.detail,
|
134
|
-
0, # e.screenX,
|
135
|
-
0, # e.screenY,
|
136
|
-
0, # e.clientX,
|
137
|
-
0, # e.clientY,
|
138
|
-
false, # e.ctrlKey,
|
139
|
-
false, # e.altKey,
|
140
|
-
false, # e.shiftKey,
|
141
|
-
false, # e.metaKey,
|
142
|
-
0, # e.button,
|
143
|
-
document.body.parentNode # e.relatedTarget
|
144
|
-
)
|
145
|
-
element.get(0).dispatchEvent(evt)
|
146
|
-
|
147
|
-
$.rails.allowAction = allowAction
|
148
|
-
|
149
|
-
false
|