I hereby claim:
- I am nelix on github.
- I am ncreen_same (https://keybase.io/ncreen_same) on keybase.
- I have a public key whose fingerprint is C071 DCEE 1630 E1CC E46E 9766 E72D BA3B FCAD C852
To claim this, I am signing this object:
var React = require('react'); | |
var KeyMixin = require('./'); | |
var Example = module.exports = React.createClass({ | |
displayName: 'KeyMixinExample', | |
mixins: [KeyMixin], | |
statics: { | |
hotKeys: [ |
var EventListener = require('react/lib/EventListener'); | |
var SyntheticMouseEvent = require('react/lib/SyntheticMouseEvent'); | |
var documentListener; | |
var handlers = []; | |
const mouseEvent = 'mousemove'; | |
function handle(nativeEvent) { | |
var event = SyntheticMouseEvent.getPooled({}, mouseEvent, nativeEvent); |
/** | |
* @jsx React.DOM | |
*/ | |
var React = require('react/addons'); | |
var getIcon = function(name) { | |
return require('./icons/' + name.toLowerCase(name) + '.svg'); | |
}; |
var EventSystem = (function() { | |
var self = this; | |
self.queue = {}; | |
return { | |
publish: function (event, data) { | |
var queue = self.queue[event]; | |
if (typeof queue === 'undefined') { |
I hereby claim:
To claim this, I am signing this object:
#Introduction
Developing Chrome Extensions is REALLY fun if you are a Front End engineer. If you, however, struggle with visualizing the architecture of an application, then developing a Chrome Extension is going to bite your butt multiple times due the amount of excessive components the extension works with. Here are some pointers in how to start, what problems I encounter and how to avoid them.
Note: I'm not covering chrome package apps, which although similar, work in a different way. I also won't cover the page options api neither the new brand event pages. What I explain covers most basic chrome applications and should be enough to get you started.
./~/rrouter/lib/createView.js | |
Module parse failed: /Users/nathanhutchison/stack-experiments/stackchat/node_modules/rrouter/lib/createView.js Line 32: Unexpected token , | |
You may need an appropriate loader to handle this file type. | |
| } | |
| | |
| return {views, props}; | |
| } | |
| | |
@ ./~/jsx-loader?harmony!./~/rrouter/lib/index.js 7:26-49 |
var EmbedlyComponent = React.createClass({ | |
componentWillMount: function() { | |
// get 'http://api.embed.ly/1/oembed?url=' + this.props.url; | |
SuperAgent.get('http://api.embed.ly/1/oembed?url=' + this.props.url, | |
function(res) { | |
var data = res.body; | |
if (data) this.setState(data); | |
}.bind(this) | |
); | |
}, |
handleTagChange: function(tags) { | |
var tagCollection = this.props.tagCollection; | |
var taskModel = this.props.model; | |
function storeTags() { | |
if (taskModel.isNew()) { | |
taskModel.set({tag_ids: ids}); | |
} else { | |
taskModel.save({tag_ids: ids}, {patch: true}); | |
} |
function captureVisibleTab() { | |
var win = require("window-utils").windowIterator().next(); // the actual firefox chrome (not the browser chrome.. the firefox concept) | |
var {Cc, Ci} = require("chrome"); | |
// the... active window... | |
var mainWindow = win.QueryInterface(Ci.nsIInterfaceRequestor) | |
.getInterface(Ci.nsIWebNavigation) | |
.QueryInterface(Ci.nsIDocShellTreeItem) | |
.rootTreeItem | |
.QueryInterface(Ci.nsIInterfaceRequestor) |