Sha256: 1ce1599d22c957c43cef7ef4d432a9206cf11e1c6c4f0ff3ee1ab0d3ff71c0d7
Contents?: true
Size: 1.49 KB
Versions: 12
Compression:
Stored size: 1.49 KB
Contents
//= require ./mixins/mix_spec_into_component /* This optional extension re-enables the React mixin system for plain JS * classes, e.g. ES6 classes, Backbone classes, ES3 module pattern classes * You require the extension like `//= require revelry/extensions/mixins` and * then you just use appComponent and revComponent like normal. * Internally, this works by wrapping the appComponent and revComponent methods * in a function closure which actually does the mixing in, since React punts. */ (function(Rev) { function mixinListForObject(object) { var mixinList = object.mixins || []; mixinList.push(Rev.Mixins.Core); return _.uniq(mixinList); } function forEachMixin(object, fn) { var mixin, i, l; var mixinList = mixinListForObject(object); l = mixinList.length; for(i = 0; i < l; i++) { mixin = mixinList[i]; fn(mixin); } } function decorateComponentMethod(componentMethod) { return function(name, object) { var componentClass = (componentMethod.bind(Rev))(name, object); if(typeof object === 'function') { // ES6 class forEachMixin(object, function(mixin){ Rev.__mixSpecIntoComponent(componentClass, mixin); }); } } } Rev.appComponent = decorateComponentMethod(Rev.appComponent); Rev.registerComponent = decorateComponentMethod(Rev.registerComponent); Rev.appExample = decorateComponentMethod(Rev.appExample); Rev.registerExample = decorateComponentMethod(Rev.registerExample); })(Rev);
Version data entries
12 entries across 12 versions & 1 rubygems