From 61668679a9fec9e8d0aa36aff4cfd79e1fa14b37 Mon Sep 17 00:00:00 2001 From: Riku Rouvila Date: Thu, 22 Jan 2015 00:25:52 +0200 Subject: [PATCH] use jsx transformer --- jsx-transform.js | 14 +++++++++ package.json | 3 ++ src/js/components/inviteForm.js | 55 ++++++++++++++++----------------- 3 files changed, 44 insertions(+), 28 deletions(-) create mode 100644 jsx-transform.js diff --git a/jsx-transform.js b/jsx-transform.js new file mode 100644 index 0000000..fc6e4d6 --- /dev/null +++ b/jsx-transform.js @@ -0,0 +1,14 @@ +'use strict'; + +var through = require('through2'); +var jsx = require('jsx-transform'); + +module.exports = function(file) { + return through(function (buf, enc, next) { + this.push(jsx.transform(buf.toString('utf8'), { + ignoreDocblock: true, + jsx: 'h' + })); + next(); + }); +}; diff --git a/package.json b/package.json index 5f4bc04..3b9a798 100644 --- a/package.json +++ b/package.json @@ -38,17 +38,20 @@ "gulp-stylus": "1.3.3", "gulp-uglify": "~1.0.1", "gulp-util": "~3.0.1", + "jsx-transform": "^0.10.1", "karma": "~0.12.21", "karma-chrome-launcher": "~0.1.4", "karma-cli": "0.0.4", "karma-coffee-preprocessor": "~0.2.1", "karma-jasmine": "~0.2.2", "pretty-hrtime": "~0.2.2", + "through2": "^0.6.3", "vinyl-source-stream": "~1.0.0", "watchify": "~2.0.0" }, "browserify": { "transform": [ + "./jsx-transform", "6to5ify", "debowerify", "deamdify" diff --git a/src/js/components/inviteForm.js b/src/js/components/inviteForm.js index f0d6901..859c08e 100644 --- a/src/js/components/inviteForm.js +++ b/src/js/components/inviteForm.js @@ -4,37 +4,36 @@ var {h} = require('virtual-dom'); var classList = require('../util/classList'); function render(props, state) { - var emailInput = h('input', { - className: classList({ - 'input': true, - 'has-success': state.submitted, - 'has-error': state.error - }), - type: 'text', - name: 'email', - placeholder: 'Email', - value: state.email, - onkeydown: props.onChange + var formClasses = classList({ + 'invite-form': true, + 'has-success': state.submitted, + 'has-error': state.error }); - var submitButton = h('button', { - className: 'btn btn__submit', - type: 'submit', - title: 'Lähetä', - disabled: state.error || state.submitted - }, '⏎'); + var inputClasses = classList({ + 'input': true, + 'has-success': state.submitted, + 'has-error': state.error + }); - return h('form', { - className: classList({ - 'invite-form': true, - 'has-success': state.submitted, - 'has-error': state.error - }), - onsubmit: props.onSubmit - }, [ - emailInput, - submitButton - ]); + return ( +
+ + +
+ ) } module.exports = render;