diff --git a/.--eslintrc b/.--eslintrc index e89ba50..b0c0c8b 100644 --- a/.--eslintrc +++ b/.--eslintrc @@ -1,3 +1,3 @@ { "extends": "airbnb" -} \ No newline at end of file +} diff --git a/.babelrc b/.babelrc index 6cbee34..3d4c5b8 100644 --- a/.babelrc +++ b/.babelrc @@ -4,4 +4,4 @@ 'transform-runtime', ["transform-react-jsx", { "pragma":"h" }] ] -} \ No newline at end of file +} diff --git a/.gitattributes b/.gitattributes index 9a43648..b8cdf72 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,3 @@ app/build/mojs-curve-editor.js merge=ours app/build/mojs-curve-editor.min.js merge=ours -*.postcss.css.json merge=ours \ No newline at end of file +*.postcss.css.json merge=ours diff --git a/app/css/blocks/code-panel.postcss.css b/app/css/blocks/code-panel.postcss.css index fc3daed..cb7a34b 100644 --- a/app/css/blocks/code-panel.postcss.css +++ b/app/css/blocks/code-panel.postcss.css @@ -14,7 +14,7 @@ /*height: 0;*/ /*transition: height .2s ease-out;*/ /*transform: scale(0); */ - + &__inner { border-radius: calc( 6 * $PX ) calc( 6 * $PX ) 0 0; background: rgba( 61, 27, 60, 1 ); diff --git a/app/css/blocks/little-handle.postcss.css b/app/css/blocks/little-handle.postcss.css index 3c119b2..e70a464 100644 --- a/app/css/blocks/little-handle.postcss.css +++ b/app/css/blocks/little-handle.postcss.css @@ -6,8 +6,8 @@ top: 50%; width: 0; height: 0; - - $size: 6; + + $size: 6; &__point { position: absolute; z-index: 1; diff --git a/app/css/blocks/point-controls.postcss.css b/app/css/blocks/point-controls.postcss.css index 7fada6c..a6caa53 100644 --- a/app/css/blocks/point-controls.postcss.css +++ b/app/css/blocks/point-controls.postcss.css @@ -3,15 +3,15 @@ .point-controls { display: none; - + &.is-show { display: block; } - + [data-component="icon-button"] { $width: 3; $height: 2.5*$width; - + &:after { content: ''; position: absolute; @@ -26,10 +26,10 @@ margin-top: calc( -($height/2)*$PX ); display: none; } - + &[class*="is-checked"] { &:after { - display: block; + display: block; } } } diff --git a/app/css/blocks/point.postcss.css b/app/css/blocks/point.postcss.css index b4ffff9..b9c11c8 100644 --- a/app/css/blocks/point.postcss.css +++ b/app/css/blocks/point.postcss.css @@ -14,7 +14,7 @@ $size: 10; z-index: 3; box-shadow: calc(3*$PX) calc(3*$PX) 0 rgba(0,0,0,.5); /*border: calc( 2*$PX ) solid $c-white;*/ - + &__touch { position: absolute; left: 50%; @@ -43,7 +43,6 @@ $size: 10; &.is-hide-handles { & [data-component="little-handle"] { display: none; - } + } } } - diff --git a/app/css/blocks/resize-handle.postcss.css b/app/css/blocks/resize-handle.postcss.css index cea278f..c3d9b75 100644 --- a/app/css/blocks/resize-handle.postcss.css +++ b/app/css/blocks/resize-handle.postcss.css @@ -13,7 +13,7 @@ $radius: 16; border-top-right-radius: calc( 3*$PX ); transform-origin: 50% 100%; box-shadow: inset 0 0 0 calc( 1*$PX ) $c-light-purple; - + &:after { content: ''; position: absolute; @@ -23,7 +23,7 @@ $radius: 16; bottom: 0; z-index: 2; } - + & [data-component="icon"] { position: absolute; left: 0; @@ -43,10 +43,9 @@ $radius: 16; transform: rotate(180deg); cursor: s-resize; } - + /*position: absolute; top: calc(-16*$PX); left: 50%; margin-left: calc( -16*$PX );*/ } - diff --git a/app/css/blocks/ruler.postcss.css b/app/css/blocks/ruler.postcss.css index 29e5d8a..fff96b5 100644 --- a/app/css/blocks/ruler.postcss.css +++ b/app/css/blocks/ruler.postcss.css @@ -12,7 +12,7 @@ $size: 350; left: auto; right: 0; } - + $itemSize: 14; &__item { position: absolute; @@ -25,10 +25,10 @@ $size: 350; height: calc($itemSize*$PX); text-align: center; line-height: calc($itemSize*$PX); - + margin-top: calc(3*$PX); margin-left: calc((-$itemSize/4)*$PX); - + &--0 { top: calc(4*$size*$PX); } diff --git a/app/js/actions/points.babel.js b/app/js/actions/points.babel.js index a953149..cda1372 100644 --- a/app/js/actions/points.babel.js +++ b/app/js/actions/points.babel.js @@ -4,4 +4,4 @@ export function reset (store) { store.dispatch({ type: 'POINTS_REMOVE' }); store.dispatch({ type: 'POINT_ADD', data: { point: {x: 0, y: C.CURVE_SIZE, isLockedX: true}, index: 0 } }); store.dispatch({ type: 'POINT_ADD', data: { point: {x: 100, y: 0, isLockedX: true}, index: 1 } }); -} \ No newline at end of file +} diff --git a/app/js/helpers/active-pool.babel.js b/app/js/helpers/active-pool.babel.js index edb8df1..9ff55f0 100644 --- a/app/js/helpers/active-pool.babel.js +++ b/app/js/helpers/active-pool.babel.js @@ -12,4 +12,4 @@ class ActivePool { } } -export default ActivePool; \ No newline at end of file +export default ActivePool; diff --git a/app/js/helpers/add-pointer-down.babel.js b/app/js/helpers/add-pointer-down.babel.js index 38df841..e4326fc 100644 --- a/app/js/helpers/add-pointer-down.babel.js +++ b/app/js/helpers/add-pointer-down.babel.js @@ -7,4 +7,4 @@ export default (el, fn) => { } else { el.addEventListener('mousedown', fn); } -} \ No newline at end of file +} diff --git a/app/js/helpers/angle-to-point.babel.js b/app/js/helpers/angle-to-point.babel.js index efa1b7d..86fe2b0 100644 --- a/app/js/helpers/angle-to-point.babel.js +++ b/app/js/helpers/angle-to-point.babel.js @@ -1,3 +1,3 @@ export default (angle, radius) => { return mojs.h.getRadialPoint({ angle, radius, center: { x: 0, y: 0 } }) -} \ No newline at end of file +} diff --git a/app/js/helpers/calculate-path.babel.js b/app/js/helpers/calculate-path.babel.js index a3b27f2..23aa3ca 100644 --- a/app/js/helpers/calculate-path.babel.js +++ b/app/js/helpers/calculate-path.babel.js @@ -11,9 +11,9 @@ export default (points) => { const segment = calculateSegment( point, nextPoint, index ); segments.push(segment); - + path += segment.string; } return { path, segments }; -} \ No newline at end of file +} diff --git a/app/js/helpers/calculate-point.babel.js b/app/js/helpers/calculate-point.babel.js index c29ef02..6425a9a 100644 --- a/app/js/helpers/calculate-point.babel.js +++ b/app/js/helpers/calculate-point.babel.js @@ -14,4 +14,4 @@ export default (point, handleIndex = 1) => { } else { return `${CHAR}${x}, ${y/C.CURVE_PERCENT} `; } -} \ No newline at end of file +} diff --git a/app/js/helpers/calculate-segment.babel.js b/app/js/helpers/calculate-segment.babel.js index 68aeb90..b86cee0 100644 --- a/app/js/helpers/calculate-segment.babel.js +++ b/app/js/helpers/calculate-segment.babel.js @@ -29,4 +29,4 @@ export default (point, nextPoint, index) => { segmentString += part4; return { string, segmentString, index }; -} \ No newline at end of file +} diff --git a/app/js/helpers/clamp.babel.js b/app/js/helpers/clamp.babel.js index a2c0fa8..b187e15 100644 --- a/app/js/helpers/clamp.babel.js +++ b/app/js/helpers/clamp.babel.js @@ -4,4 +4,4 @@ export default (value, min, max) => { return (value < min) ? min : (value > max) ? max : value; -} \ No newline at end of file +} diff --git a/app/js/helpers/debounce.babel.js b/app/js/helpers/debounce.babel.js index db741e3..88d2f1b 100644 --- a/app/js/helpers/debounce.babel.js +++ b/app/js/helpers/debounce.babel.js @@ -5,4 +5,4 @@ export default (fn, time = 25) => { clearTimeout( tm ); setTimeout( fn, time ); } -} \ No newline at end of file +} diff --git a/app/js/helpers/defer.babel.js b/app/js/helpers/defer.babel.js index ab7b49f..b611bde 100644 --- a/app/js/helpers/defer.babel.js +++ b/app/js/helpers/defer.babel.js @@ -2,4 +2,4 @@ export default (fn) => { setTimeout( fn, 1 ); -} \ No newline at end of file +} diff --git a/app/js/helpers/deselect-all.babel.js b/app/js/helpers/deselect-all.babel.js index 4695cb3..c8e0f18 100644 --- a/app/js/helpers/deselect-all.babel.js +++ b/app/js/helpers/deselect-all.babel.js @@ -7,4 +7,4 @@ export default (state) => { } return newState; -} \ No newline at end of file +} diff --git a/app/js/helpers/fallback-to.babel.js b/app/js/helpers/fallback-to.babel.js index 8a043d9..a9e9f8b 100644 --- a/app/js/helpers/fallback-to.babel.js +++ b/app/js/helpers/fallback-to.babel.js @@ -7,4 +7,4 @@ */ export default (prop, fallback) => { return ( prop != null ) ? prop : fallback; -} \ No newline at end of file +} diff --git a/app/js/helpers/find-selected-indecies.babel.js b/app/js/helpers/find-selected-indecies.babel.js index b1accfa..f046436 100644 --- a/app/js/helpers/find-selected-indecies.babel.js +++ b/app/js/helpers/find-selected-indecies.babel.js @@ -6,4 +6,4 @@ export default (points) => { } return indecies; -} \ No newline at end of file +} diff --git a/app/js/helpers/hash.babel.js b/app/js/helpers/hash.babel.js index ceae409..98b60a3 100644 --- a/app/js/helpers/hash.babel.js +++ b/app/js/helpers/hash.babel.js @@ -13,4 +13,4 @@ export default (str) => { hash |= 0; // Convert to 32bit integer } return Math.abs( hash ); -} \ No newline at end of file +} diff --git a/app/js/helpers/init-point.babel.js b/app/js/helpers/init-point.babel.js index f7528ec..58e0a23 100644 --- a/app/js/helpers/init-point.babel.js +++ b/app/js/helpers/init-point.babel.js @@ -19,7 +19,7 @@ export default (point, sibPoint, handleIndex) => { const dy = (sibPoint.y - point.y) / C.CURVE_PERCENT, dx = sibPoint.x - point.x; - + let angle = Math.atan( dy/dx ) * (180/Math.PI) - 90; if ( dx > 0 ) { angle = angle - 180 }; @@ -29,4 +29,4 @@ export default (point, sibPoint, handleIndex) => { } return point; -} \ No newline at end of file +} diff --git a/app/js/helpers/init-points.babel.js b/app/js/helpers/init-points.babel.js index 3dc198f..abbe52d 100644 --- a/app/js/helpers/init-points.babel.js +++ b/app/js/helpers/init-points.babel.js @@ -12,4 +12,4 @@ export default (points) => { newPoints.push( initPoint( point, sibPoint, handleIndex ) ); } return newPoints; -} \ No newline at end of file +} diff --git a/app/js/helpers/make-point.babel.js b/app/js/helpers/make-point.babel.js index 50c13f4..9854b10 100644 --- a/app/js/helpers/make-point.babel.js +++ b/app/js/helpers/make-point.babel.js @@ -48,4 +48,4 @@ const makePoint = (o = {}) => { }; } -export default makePoint; \ No newline at end of file +export default makePoint; diff --git a/app/js/helpers/mod-deltas.babel.js b/app/js/helpers/mod-deltas.babel.js index 8b2d481..7c4ed19 100644 --- a/app/js/helpers/mod-deltas.babel.js +++ b/app/js/helpers/mod-deltas.babel.js @@ -18,4 +18,4 @@ export default (x, y, type, state) => { } else if ( resize[type] + x < 0 ) { x = -resize[type]; } return { x, y, type, resize }; -} \ No newline at end of file +} diff --git a/app/js/helpers/point-to-angle.babel.js b/app/js/helpers/point-to-angle.babel.js index 717c71f..54324c5 100644 --- a/app/js/helpers/point-to-angle.babel.js +++ b/app/js/helpers/point-to-angle.babel.js @@ -4,4 +4,4 @@ export default (x, y) => { if ( x > 0 ) { angle = angle - 180 }; return { radius, angle }; -} \ No newline at end of file +} diff --git a/app/js/helpers/resize-mod.babel.js b/app/js/helpers/resize-mod.babel.js index 7188662..6e41e63 100644 --- a/app/js/helpers/resize-mod.babel.js +++ b/app/js/helpers/resize-mod.babel.js @@ -14,4 +14,4 @@ const mod = ( tempResize_top, coef = 1 ) => { return tempResize_top; } -export default mod; \ No newline at end of file +export default mod; diff --git a/app/js/helpers/round-to.babel.js b/app/js/helpers/round-to.babel.js index 9080a69..684c581 100644 --- a/app/js/helpers/round-to.babel.js +++ b/app/js/helpers/round-to.babel.js @@ -3,4 +3,4 @@ export default (value, base, snap) => { const modified = Math.round(value/base)*base; return ( Math.abs(value - modified) < snap ) ? modified : value; -} \ No newline at end of file +} diff --git a/app/js/pool.babel.js b/app/js/pool.babel.js index f3f911a..172c03e 100644 --- a/app/js/pool.babel.js +++ b/app/js/pool.babel.js @@ -14,4 +14,4 @@ class Pool { } -export default new Pool; \ No newline at end of file +export default new Pool; diff --git a/app/js/reducers/index-reducer.babel.js b/app/js/reducers/index-reducer.babel.js index f18f988..37ba6bb 100644 --- a/app/js/reducers/index-reducer.babel.js +++ b/app/js/reducers/index-reducer.babel.js @@ -27,4 +27,4 @@ const reducer = recycleState(combineReducers({ progressLines: progressesReducer, }), ['SET_STATE'], (state, action) => action.data ); -export default reducer; \ No newline at end of file +export default reducer; diff --git a/app/js/reducers/point-controls-reducer.babel.js b/app/js/reducers/point-controls-reducer.babel.js index db51176..011abcc 100644 --- a/app/js/reducers/point-controls-reducer.babel.js +++ b/app/js/reducers/point-controls-reducer.babel.js @@ -17,7 +17,7 @@ const pointControls = (state = INITIAL_STATE, action) => { return { ...state, isShow: !action.isDeselect, type }; } case 'POINT_CHANGE_TYPE': { - return { ...state, type: action.data }; + return { ...state, type: action.data }; } case 'POINT_DESELECT_ALL': { return { ...state, isShow: false }; @@ -26,4 +26,4 @@ const pointControls = (state = INITIAL_STATE, action) => { return state; } -export default pointControls; \ No newline at end of file +export default pointControls; diff --git a/app/js/reducers/points-reducer.babel.js b/app/js/reducers/points-reducer.babel.js index 025f5a9..0c87669 100644 --- a/app/js/reducers/points-reducer.babel.js +++ b/app/js/reducers/points-reducer.babel.js @@ -51,13 +51,13 @@ const pointsReducer = (state = INITIAL_STATE, action) => { return { ...state, points: newPoints, ...calculatePath( newPoints ) }; } - + case 'POINT_SELECT': { const {data} = action, {index, isDeselect} = data, newState = (isDeselect) ? deselectAll( state ) : { ...state }, {points} = newState; - + const point = points[index]; point.isSelected = true; return { ...state, points }; @@ -82,7 +82,7 @@ const pointsReducer = (state = INITIAL_STATE, action) => { return { ...state, points, ...path }; } - + case 'POINT_DELETE': { const {points} = state, selected = findSelectedIndecies(points); @@ -112,7 +112,7 @@ const pointsReducer = (state = INITIAL_STATE, action) => { sibHandleName = `handle${sibHandleIndex}`, handle = { ...point[handleName] }, sibHandle = { ...point[sibHandleName] }; - + // move the opposite little handle with certain types if ( type === 'mirrored' || type === 'asymmetric' ) { sibHandle.angle = handle.angle - 180; @@ -130,7 +130,7 @@ const pointsReducer = (state = INITIAL_STATE, action) => { return { ...state, points: newPoints, ...calculatePath( newPoints ) }; } - + case 'POINT_DESELECT_ALL': { return { ...deselectAll( state ) }; } @@ -199,4 +199,4 @@ const pointsReducer = (state = INITIAL_STATE, action) => { return state; } -export default pointsReducer; \ No newline at end of file +export default pointsReducer; diff --git a/app/js/reducers/progresses-reducer.babel.js b/app/js/reducers/progresses-reducer.babel.js index dfd3110..1f3a983 100644 --- a/app/js/reducers/progresses-reducer.babel.js +++ b/app/js/reducers/progresses-reducer.babel.js @@ -22,7 +22,7 @@ const makeProgressLine = (o ={}, state) => { const progresses = (state = INITIAL_STATE, action) => { pool.push( state ); - + switch (action.type) { case 'ADD_PROGRESS_LINE': { @@ -35,7 +35,7 @@ const progresses = (state = INITIAL_STATE, action) => { const {index} = action; return { ...state, selected: index }; } - + // case 'SET_PROGRESS_LINE_SHIFT': { // const {data} = action, // {index} = data, @@ -53,4 +53,4 @@ const progresses = (state = INITIAL_STATE, action) => { return state; } -export default progresses; \ No newline at end of file +export default progresses; diff --git a/app/js/reducers/resize-reducer.babel.js b/app/js/reducers/resize-reducer.babel.js index 175043a..a815fc0 100644 --- a/app/js/reducers/resize-reducer.babel.js +++ b/app/js/reducers/resize-reducer.babel.js @@ -26,7 +26,7 @@ const INITIAL_STATE = { const resizeReducer = (state = INITIAL_STATE, action) => { pool.push( state ); - + switch (action.type) { case 'EDITOR_RESIZE': { const {data} = action, @@ -86,4 +86,4 @@ const resizeReducer = (state = INITIAL_STATE, action) => { return state; } -export default resizeReducer; \ No newline at end of file +export default resizeReducer; diff --git a/app/js/store.babel.js b/app/js/store.babel.js index 32fc3fc..e3f1c18 100644 --- a/app/js/store.babel.js +++ b/app/js/store.babel.js @@ -4,4 +4,4 @@ import reducer from './reducers/index-reducer'; const initStore = () => { return createStore( reducer ); } -export default initStore; \ No newline at end of file +export default initStore; diff --git a/webpack.config.js b/webpack.config.js index b3b0372..0a5e52d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -39,10 +39,10 @@ module.exports = { ] }, postcss: function () { - return { - defaults: [ require('precss'), require('postcss-cssnext'), require('postcss-modules') ], - cleaner: [autoprefixer({ browsers: ['last 2 versions'] })] - }; + return { + defaults: [ require('precss'), require('postcss-cssnext'), require('postcss-modules') ], + cleaner: [autoprefixer({ browsers: ['last 2 versions'] })] + }; }, output: { path: __dirname + '/app/build/',