X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=skyquake%2Fplugins%2Fcomposer%2Fsrc%2Fsrc%2Flibraries%2FgetEventPath.js;fp=skyquake%2Fplugins%2Fcomposer%2Fsrc%2Fsrc%2Flibraries%2FgetEventPath.js;h=ca5d6b9ca658bb9b230646664e17bad82bc72e44;hb=e29efc315df33d546237e270470916e26df391d6;hp=0000000000000000000000000000000000000000;hpb=9c5e457509ba5a1822c316635c6308874e61b4b9;p=osm%2FUI.git diff --git a/skyquake/plugins/composer/src/src/libraries/getEventPath.js b/skyquake/plugins/composer/src/src/libraries/getEventPath.js new file mode 100644 index 000000000..ca5d6b9ca --- /dev/null +++ b/skyquake/plugins/composer/src/src/libraries/getEventPath.js @@ -0,0 +1,23 @@ +/** + * Created by onvelocity on 2/3/16. + */ +'use strict'; +export default function getEventPath(event) { + if (event.path) { + return event.path; + } + if (event.nativeEvent && event.nativeEvent.path) { + return event.nativeEvent.path; + } + // for browsers, like IE, that don't have event.path + let node = event.target; + const path = []; + // Array.unshift means put the value on the top of the array + const addToPath = (value) => path.unshift(value); + // warn: some browsers set the root's parent to itself + while (node && node !== node.parentNode) { + addToPath(node); + node = node.parentNode; + } + return path; +}