[ Launch Inlet ]
// Ajax File upload with jQuery and XHR2 | |
// Sean Clark http://square-bracket.com | |
// xhr2 file upload | |
$.fn.upload = function(remote, data, successFn, progressFn) { | |
// if we dont have post data, move it along | |
if (typeof data != "object") { | |
progressFn = successFn; | |
successFn = data; | |
} |
if (Meteor.isClient) { | |
Test = new Meteor.Collection("test"); | |
Meteor.subscribe("testsub"); | |
} | |
if (Meteor.isServer) { | |
Test = new Meteor.Collection("test", { connection: null }); | |
Meteor.publish("testsub", function () { | |
return Test.find(); | |
}); |
// [B](f: (A) ⇒ [B]): [B] ; Although the types in the arrays aren't strict (: | |
Array.prototype.flatMap = function(lambda) { | |
return Array.prototype.concat.apply([], this.map(lambda)); | |
}; |
(function (root, factory) { | |
"use strict"; | |
if (typeof define === 'function' && define.amd) { | |
define(['moment'], factory); | |
} else if (typeof exports === 'object') { | |
module.exports = factory(require('moment')); | |
} else { | |
factory(root.moment); | |
} | |
}(this, function (moment) { |
Hi Nicholas,
I saw you tweet about JSX yesterday. It seemed like the discussion devolved pretty quickly but I wanted to share our experience over the last year. I understand your concerns. I've made similar remarks about JSX. When we started using it Planning Center, I led the charge to write React without it. I don't imagine I'd have much to say that you haven't considered but, if it's helpful, here's a pattern that changed my opinion:
The idea that "React is the V in MVC" is disingenuous. It's a good pitch but, for many of us, it feels like in invitation to repeat our history of coupled views. In practice, React is the V and the C. Dan Abramov describes the division as Smart and Dumb Components. At our office, we call them stateless and container components (view-controllers if we're Flux). The idea is pretty simple: components can't
100+ different js counter apps... |
// use Prompt like normal... magic happens in getUserConfirmation | |
class App extends Component { | |
render () { | |
return ( | |
<Router getUserConfirmation={getUserConfirmation}> | |
{...} | |
<Prompt | |
when={formIsHalfFilledOut} | |
message="Are you sure you want to leave?" | |
/> |