mirror of
https://github.com/koodiklinikka/koodiklinikka.fi.git
synced 2026-03-17 16:05:01 +00:00
use jsx transformer
This commit is contained in:
14
jsx-transform.js
Normal file
14
jsx-transform.js
Normal file
@@ -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();
|
||||||
|
});
|
||||||
|
};
|
||||||
@@ -38,17 +38,20 @@
|
|||||||
"gulp-stylus": "1.3.3",
|
"gulp-stylus": "1.3.3",
|
||||||
"gulp-uglify": "~1.0.1",
|
"gulp-uglify": "~1.0.1",
|
||||||
"gulp-util": "~3.0.1",
|
"gulp-util": "~3.0.1",
|
||||||
|
"jsx-transform": "^0.10.1",
|
||||||
"karma": "~0.12.21",
|
"karma": "~0.12.21",
|
||||||
"karma-chrome-launcher": "~0.1.4",
|
"karma-chrome-launcher": "~0.1.4",
|
||||||
"karma-cli": "0.0.4",
|
"karma-cli": "0.0.4",
|
||||||
"karma-coffee-preprocessor": "~0.2.1",
|
"karma-coffee-preprocessor": "~0.2.1",
|
||||||
"karma-jasmine": "~0.2.2",
|
"karma-jasmine": "~0.2.2",
|
||||||
"pretty-hrtime": "~0.2.2",
|
"pretty-hrtime": "~0.2.2",
|
||||||
|
"through2": "^0.6.3",
|
||||||
"vinyl-source-stream": "~1.0.0",
|
"vinyl-source-stream": "~1.0.0",
|
||||||
"watchify": "~2.0.0"
|
"watchify": "~2.0.0"
|
||||||
},
|
},
|
||||||
"browserify": {
|
"browserify": {
|
||||||
"transform": [
|
"transform": [
|
||||||
|
"./jsx-transform",
|
||||||
"6to5ify",
|
"6to5ify",
|
||||||
"debowerify",
|
"debowerify",
|
||||||
"deamdify"
|
"deamdify"
|
||||||
|
|||||||
@@ -4,37 +4,36 @@ var {h} = require('virtual-dom');
|
|||||||
var classList = require('../util/classList');
|
var classList = require('../util/classList');
|
||||||
|
|
||||||
function render(props, state) {
|
function render(props, state) {
|
||||||
var emailInput = h('input', {
|
var formClasses = classList({
|
||||||
className: classList({
|
'invite-form': true,
|
||||||
'input': true,
|
'has-success': state.submitted,
|
||||||
'has-success': state.submitted,
|
'has-error': state.error
|
||||||
'has-error': state.error
|
|
||||||
}),
|
|
||||||
type: 'text',
|
|
||||||
name: 'email',
|
|
||||||
placeholder: 'Email',
|
|
||||||
value: state.email,
|
|
||||||
onkeydown: props.onChange
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var submitButton = h('button', {
|
var inputClasses = classList({
|
||||||
className: 'btn btn__submit',
|
'input': true,
|
||||||
type: 'submit',
|
'has-success': state.submitted,
|
||||||
title: 'Lähetä',
|
'has-error': state.error
|
||||||
disabled: state.error || state.submitted
|
});
|
||||||
}, '⏎');
|
|
||||||
|
|
||||||
return h('form', {
|
return (
|
||||||
className: classList({
|
<form className={formClasses} onsubmit={props.onSubmit}>
|
||||||
'invite-form': true,
|
<input
|
||||||
'has-success': state.submitted,
|
className={inputClasses}
|
||||||
'has-error': state.error
|
type='text'
|
||||||
}),
|
name='email'
|
||||||
onsubmit: props.onSubmit
|
placeholder='email'
|
||||||
}, [
|
value={state.email}
|
||||||
emailInput,
|
onkeydown={props.onChange} />
|
||||||
submitButton
|
<button
|
||||||
]);
|
className='btn btn__submit'
|
||||||
|
type='submit'
|
||||||
|
title='Lähetä'
|
||||||
|
disabled={state.error || state.submitted}>
|
||||||
|
⏎
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = render;
|
module.exports = render;
|
||||||
|
|||||||
Reference in New Issue
Block a user