Skip to content

Instantly share code, notes, and snippets.

@netsi1964
Last active January 7, 2017 06:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save netsi1964/f4ec9fd889635c1b0ae65a404396d07a to your computer and use it in GitHub Desktop.
Save netsi1964/f4ec9fd889635c1b0ae65a404396d07a to your computer and use it in GitHub Desktop.
Console: Get Facebook syntheticEvents

Get JSON object with info about Facebook SyntheticEvents

This snippet will generate a JSON as the example shown here with a grouped list of Facebook SyntheticEvents.

Using

The JSON will now be copied to your clipboard.

// Works at: https://facebook.github.io/react/docs/events.html
var domNodes = document.querySelectorAll('blockquote:nth-of-type(2)~ul li a');
var documentation = {};
Array.prototype.map.call(domNodes, function(ele) {
var name = ele.getAttribute('href').replace(/\#/ig, '');
var group = [];
var groupName = ele.innerText.replace(' Events','');
var h3 = document.querySelector(`[name="${name}"]`).parentNode;
var events = h3.nextElementSibling.nextElementSibling.querySelector('.language-text').innerText;
// now split events into an array, removing any empty events
var eventNames = events.replace(/\n/g, ' ').split(' ').filter(function(eventName) {
return (eventName!=='');
});
documentation[groupName] = eventNames;
});
copy(documentation);
{
"Clipboard": [
"onCopy",
"onCut",
"onPaste"
],
"Composition": [
"onCompositionEnd",
"onCompositionStart",
"onCompositionUpdate"
],
"Keyboard": [
"onKeyDown",
"onKeyPress",
"onKeyUp"
],
"Focus": [
"onFocus",
"onBlur"
],
"Form": [
"onChange",
"onInput",
"onSubmit"
],
"Mouse": [
"onClick",
"onContextMenu",
"onDoubleClick",
"onDrag",
"onDragEnd",
"onDragEnter",
"onDragExit",
"onDragLeave",
"onDragOver",
"onDragStart",
"onDrop",
"onMouseDown",
"onMouseEnter",
"onMouseLeave",
"onMouseMove",
"onMouseOut",
"onMouseOver",
"onMouseUp"
],
"Selection": [
"onSelect"
],
"Touch": [
"onTouchCancel",
"onTouchEnd",
"onTouchMove",
"onTouchStart"
],
"UI": [
"onScroll"
],
"Wheel": [
"onWheel"
],
"Media": [
"onAbort",
"onCanPlay",
"onCanPlayThrough",
"onDurationChange",
"onEmptied",
"onEncrypted",
"onEnded",
"onError",
"onLoadedData",
"onLoadedMetadata",
"onLoadStart",
"onPause",
"onPlay",
"onPlaying",
"onProgress",
"onRateChange",
"onSeeked",
"onSeeking",
"onStalled",
"onSuspend",
"onTimeUpdate",
"onVolumeChange",
"onWaiting"
],
"Image": [
"onLoad",
"onError"
],
"Animation": [
"onAnimationStart",
"onAnimationEnd",
"onAnimationIteration"
],
"Transition": [
"onTransitionEnd"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment