From 9e7503bc10c8d3cf2dbde86fc689efccf2216c26 Mon Sep 17 00:00:00 2001 From: Yonatan Schreiber Date: Wed, 15 Apr 2015 01:18:58 +0300 Subject: [PATCH] add 'rich' option for component generator --- component/index.js | 3 +++ templates/javascript/Component.js | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/component/index.js b/component/index.js index 9fb6074..556e587 100644 --- a/component/index.js +++ b/component/index.js @@ -10,8 +10,11 @@ util.inherits(ComponentGenerator, ScriptBase); ComponentGenerator.prototype.createComponentFile = function createComponentFile() { this.option('es6'); + this.option('rich'); this.es6 = this.options.es6; + this.rich = this.options.rich; + console.log(this.architecture) console.log('Creating a component'); diff --git a/templates/javascript/Component.js b/templates/javascript/Component.js index 77b901f..2ce6ed0 100644 --- a/templates/javascript/Component.js +++ b/templates/javascript/Component.js @@ -1,6 +1,9 @@ 'use strict'; -var React = require('react/addons'); +var React = require('react/addons');<% if(rich && architecture === 'reflux'){%> +var Reflux = require('Reflux'); <%}%> +<% if(rich && architecture === 'flux' || architecture === 'reflux'){%> +//var Actions = require('actions/xxx')<%}%> <% if (stylesLanguage === 'css') { %>require('styles/<%= classedFileName %>.css');<% } %><% if (stylesLanguage === 'sass') { %>require('styles/<%= classedFileName %>.sass');<% } %><% @@ -8,7 +11,16 @@ if (stylesLanguage === 'scss') { %>require('styles/<%= classedFileName %>.scss if (stylesLanguage === 'less') { %>require('styles/<%= classedFileName %>.less');<% } %><% if (stylesLanguage === 'stylus') { %>require('styles/<%= classedFileName %>.styl');<% } %> -var <%= classedName %> = React.createClass({ +var <%= classedName %> = React.createClass({<% if(rich){%> + mixins: [<% if(architecture === 'reflux'){%>Reflux.ListenerMixin<%}%>], + getInitialState: function() { return({}) }, + getDefaultProps: function() {}, + componentWillMount: function() {}, + componentDidMount: function() {}, + shouldComponentUpdate: function() {}, + componentDidUpdate: function() {}, + componentWillUnmount: function() {},<%}%> + render: function () { return (