diff options
author | Javan Makhmali <javan@javan.us> | 2017-03-30 14:41:17 -0400 |
---|---|---|
committer | Javan Makhmali <javan@javan.us> | 2017-03-30 14:41:17 -0400 |
commit | 11341fdb3a1664ba58edf729ed46e04cd0e20ed6 (patch) | |
tree | 561eaca65797dee2ffd5122c02344901abd976a8 /actionview/app/assets/javascripts/rails-ujs/utils/dom.coffee | |
parent | e0ac3498c669fad7aab18436fc84f9e52b72bc8a (diff) | |
download | rails-11341fdb3a1664ba58edf729ed46e04cd0e20ed6.tar.gz rails-11341fdb3a1664ba58edf729ed46e04cd0e20ed6.tar.bz2 rails-11341fdb3a1664ba58edf729ed46e04cd0e20ed6.zip |
Reorganize rails-ujs files
Diffstat (limited to 'actionview/app/assets/javascripts/rails-ujs/utils/dom.coffee')
-rw-r--r-- | actionview/app/assets/javascripts/rails-ujs/utils/dom.coffee | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/actionview/app/assets/javascripts/rails-ujs/utils/dom.coffee b/actionview/app/assets/javascripts/rails-ujs/utils/dom.coffee new file mode 100644 index 0000000000..6bef618147 --- /dev/null +++ b/actionview/app/assets/javascripts/rails-ujs/utils/dom.coffee @@ -0,0 +1,28 @@ +m = Element.prototype.matches or + Element.prototype.matchesSelector or + Element.prototype.mozMatchesSelector or + Element.prototype.msMatchesSelector or + Element.prototype.oMatchesSelector or + Element.prototype.webkitMatchesSelector + +Rails.matches = (element, selector) -> + if selector.exclude? + m.call(element, selector.selector) and not m.call(element, selector.exclude) + else + m.call(element, selector) + +# get and set data on a given element using "expando properties" +# See: https://developer.mozilla.org/en-US/docs/Glossary/Expando +expando = '_ujsData' + +Rails.getData = (element, key) -> + element[expando]?[key] + +Rails.setData = (element, key, value) -> + element[expando] ?= {} + element[expando][key] = value + +# a wrapper for document.querySelectorAll +# returns an Array +Rails.$ = (selector) -> + Array.prototype.slice.call(document.querySelectorAll(selector)) |