From ac024c6c6b4f0d7baa997b43c84513ab58db6278 Mon Sep 17 00:00:00 2001 From: DD Liu Date: Tue, 22 Aug 2017 15:57:12 -0400 Subject: [PATCH 1/5] make helper mouse functions have consistent interface --- src/containers/blob/blob.js | 6 +++--- src/containers/blob/broad-brush-helper.js | 2 +- src/containers/blob/segment-brush-helper.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/containers/blob/blob.js b/src/containers/blob/blob.js index c3c9c2ca..b06199b8 100644 --- a/src/containers/blob/blob.js +++ b/src/containers/blob/blob.js @@ -82,9 +82,9 @@ class Blobbiness { blob.resizeCursorIfNeeded(event.point); if (event.event.button > 0) return; // only first mouse button if (blob.brush === Blobbiness.BROAD) { - blob.broadBrushHelper.onBroadMouseDrag(event, blob.options); + blob.broadBrushHelper.onBroadMouseDrag(event, blob.tool, blob.options); } else if (blob.brush === Blobbiness.SEGMENT) { - blob.segmentBrushHelper.onSegmentMouseDrag(event, blob.options); + blob.segmentBrushHelper.onSegmentMouseDrag(event, blob.tool, blob.options); } else { log.warn(`Brush type does not exist: ${blob.brush}`); } @@ -102,7 +102,7 @@ class Blobbiness { if (blob.brush === Blobbiness.BROAD) { lastPath = blob.broadBrushHelper.onBroadMouseUp(event, blob.tool, blob.options); } else if (blob.brush === Blobbiness.SEGMENT) { - lastPath = blob.segmentBrushHelper.onSegmentMouseUp(event); + lastPath = blob.segmentBrushHelper.onSegmentMouseUp(event, blob.tool, blob.options); } else { log.warn(`Brush type does not exist: ${blob.brush}`); } diff --git a/src/containers/blob/broad-brush-helper.js b/src/containers/blob/broad-brush-helper.js index f4cf735c..b3bc1ca3 100644 --- a/src/containers/blob/broad-brush-helper.js +++ b/src/containers/blob/broad-brush-helper.js @@ -30,7 +30,7 @@ class BroadBrushHelper { this.lastPoint = this.secondLastPoint = event.point; } - onBroadMouseDrag (event, options) { + onBroadMouseDrag (event, tool, options) { const step = (event.delta).normalize(options.brushSize / 2); // Move the first point out away from the drag so that the end of the path is rounded diff --git a/src/containers/blob/segment-brush-helper.js b/src/containers/blob/segment-brush-helper.js index 8b716d50..88f7debd 100644 --- a/src/containers/blob/segment-brush-helper.js +++ b/src/containers/blob/segment-brush-helper.js @@ -36,7 +36,7 @@ class SegmentBrushHelper { this.lastPoint = event.point; } - onSegmentMouseDrag (event, options) { + onSegmentMouseDrag (event, tool, options) { if (event.event.button > 0) return; // only first mouse button const step = (event.delta).normalize(options.brushSize / 2); From 9521203e19da4322f707df57941895ada6a60a29 Mon Sep 17 00:00:00 2001 From: DD Liu Date: Tue, 22 Aug 2017 18:20:47 -0400 Subject: [PATCH 2/5] move the intl stuff to playground --- src/containers/brush-mode.jsx | 4 ++-- src/containers/eraser-mode.jsx | 4 ++-- src/index.js | 6 +++++- src/playground/playground.jsx | 4 ++-- src/playground/reducers/combine-reducers.js | 8 ++++++++ src/{ => playground}/reducers/intl.js | 2 +- .../{combine-reducers.js => scratch-paint-reducer.js} | 2 -- translations/messages/src/components/brush-mode.json | 2 +- 8 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 src/playground/reducers/combine-reducers.js rename src/{ => playground}/reducers/intl.js (94%) rename src/reducers/{combine-reducers.js => scratch-paint-reducer.js} (83%) diff --git a/src/containers/brush-mode.jsx b/src/containers/brush-mode.jsx index cc33de75..cd1164ac 100644 --- a/src/containers/brush-mode.jsx +++ b/src/containers/brush-mode.jsx @@ -74,8 +74,8 @@ BrushMode.propTypes = { }; const mapStateToProps = state => ({ - brushModeState: state.brushMode, - isBrushModeActive: state.mode === Modes.BRUSH + brushModeState: state.scratchPaint.brushMode, + isBrushModeActive: state.scratchPaint.mode === Modes.BRUSH }); const mapDispatchToProps = dispatch => ({ changeBrushSize: brushSize => { diff --git a/src/containers/eraser-mode.jsx b/src/containers/eraser-mode.jsx index 96e02c03..bfab0469 100644 --- a/src/containers/eraser-mode.jsx +++ b/src/containers/eraser-mode.jsx @@ -70,8 +70,8 @@ EraserMode.propTypes = { }; const mapStateToProps = state => ({ - eraserModeState: state.eraserMode, - isEraserModeActive: state.mode === Modes.ERASER + eraserModeState: state.scratchPaint.eraserMode, + isEraserModeActive: state.scratchPaint.mode === Modes.ERASER }); const mapDispatchToProps = dispatch => ({ changeBrushSize: brushSize => { diff --git a/src/index.js b/src/index.js index 6611b719..b7d91a70 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,7 @@ import PaintEditor from './containers/paint-editor.jsx'; +import ScratchPaintReducer from './reducers/scratch-paint-reducer'; -export default PaintEditor; +export { + PaintEditor as default, + ScratchPaintReducer +}; diff --git a/src/playground/playground.jsx b/src/playground/playground.jsx index 7249b454..9f68704a 100644 --- a/src/playground/playground.jsx +++ b/src/playground/playground.jsx @@ -3,8 +3,8 @@ import ReactDOM from 'react-dom'; import PaintEditor from '..'; import {Provider} from 'react-redux'; import {createStore} from 'redux'; -import reducer from '../reducers/combine-reducers'; -import {intlInitialState, IntlProvider} from '../reducers/intl.js'; +import reducer from './reducers/combine-reducers'; +import {intlInitialState, IntlProvider} from './reducers/intl.js'; const appTarget = document.createElement('div'); document.body.appendChild(appTarget); diff --git a/src/playground/reducers/combine-reducers.js b/src/playground/reducers/combine-reducers.js new file mode 100644 index 00000000..e3182b5e --- /dev/null +++ b/src/playground/reducers/combine-reducers.js @@ -0,0 +1,8 @@ +import {combineReducers} from 'redux'; +import intlReducer from './intl'; +import {ScratchPaintReducer} from '../..'; + +export default combineReducers({ + intl: intlReducer, + scratchPaint: ScratchPaintReducer +}); diff --git a/src/reducers/intl.js b/src/playground/reducers/intl.js similarity index 94% rename from src/reducers/intl.js rename to src/playground/reducers/intl.js index 51bce5e5..a9d43eda 100644 --- a/src/reducers/intl.js +++ b/src/playground/reducers/intl.js @@ -2,7 +2,7 @@ import {addLocaleData} from 'react-intl'; import {updateIntl as superUpdateIntl} from 'react-intl-redux'; import {IntlProvider, intlReducer} from 'react-intl-redux'; -import locales from '../locale.js'; +import locales from '../../locale.js'; Object.keys(locales).forEach(locale => { // TODO: will need to handle locales not in the default intl - see www/custom-locales diff --git a/src/reducers/combine-reducers.js b/src/reducers/scratch-paint-reducer.js similarity index 83% rename from src/reducers/combine-reducers.js rename to src/reducers/scratch-paint-reducer.js index cc1b15c8..31cfccc0 100644 --- a/src/reducers/combine-reducers.js +++ b/src/reducers/scratch-paint-reducer.js @@ -1,11 +1,9 @@ import {combineReducers} from 'redux'; -import intlReducer from './intl'; import modeReducer from './modes'; import brushModeReducer from './brush-mode'; import eraserModeReducer from './eraser-mode'; export default combineReducers({ - intl: intlReducer, mode: modeReducer, brushMode: brushModeReducer, eraserMode: eraserModeReducer diff --git a/translations/messages/src/components/brush-mode.json b/translations/messages/src/components/brush-mode.json index cc898d9b..fb8440ae 100644 --- a/translations/messages/src/components/brush-mode.json +++ b/translations/messages/src/components/brush-mode.json @@ -4,4 +4,4 @@ "description": "Label for the brush tool", "defaultMessage": "Brush" } -] +] \ No newline at end of file From 1661e86d7c3d8dbd7c93360421e886ab3dd1dd3c Mon Sep 17 00:00:00 2001 From: DD Liu Date: Wed, 23 Aug 2017 13:35:26 -0400 Subject: [PATCH 3/5] newline --- locale/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locale/messages.json b/locale/messages.json index 490c8631..fe18f10b 100644 --- a/locale/messages.json +++ b/locale/messages.json @@ -3,4 +3,4 @@ "paint.brushMode.brush": "Brush", "paint.eraserMode.eraser": "Eraser" } -} \ No newline at end of file +} From fd651a6fbbd397fb49db63443c9811b7741ef72e Mon Sep 17 00:00:00 2001 From: DD Liu Date: Wed, 23 Aug 2017 17:11:44 -0400 Subject: [PATCH 4/5] ignore generated folders --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 1b3b3bf7..c6c5feec 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,7 @@ dist/* # Editors /#* *~ + +# generated translation files +/translations +/locale From 5ead61d3389c73c44c03af96bcaa25b1fc45eacb Mon Sep 17 00:00:00 2001 From: DD Liu Date: Wed, 23 Aug 2017 17:13:45 -0400 Subject: [PATCH 5/5] remove generated folders --- locale/messages.json | 6 ------ translations/en.json | 10 ---------- translations/messages/src/components/brush-mode.json | 7 ------- translations/messages/src/components/eraser-mode.json | 7 ------- 4 files changed, 30 deletions(-) delete mode 100644 locale/messages.json delete mode 100644 translations/en.json delete mode 100644 translations/messages/src/components/brush-mode.json delete mode 100644 translations/messages/src/components/eraser-mode.json diff --git a/locale/messages.json b/locale/messages.json deleted file mode 100644 index fe18f10b..00000000 --- a/locale/messages.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "en": { - "paint.brushMode.brush": "Brush", - "paint.eraserMode.eraser": "Eraser" - } -} diff --git a/translations/en.json b/translations/en.json deleted file mode 100644 index 46b77f95..00000000 --- a/translations/en.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "paint.brushMode.brush": { - "message": "Brush", - "description": "Label for the brush tool" - }, - "paint.eraserMode.eraser": { - "message": "Eraser", - "description": "Label for the eraser tool" - } -} diff --git a/translations/messages/src/components/brush-mode.json b/translations/messages/src/components/brush-mode.json deleted file mode 100644 index fb8440ae..00000000 --- a/translations/messages/src/components/brush-mode.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "id": "paint.brushMode.brush", - "description": "Label for the brush tool", - "defaultMessage": "Brush" - } -] \ No newline at end of file diff --git a/translations/messages/src/components/eraser-mode.json b/translations/messages/src/components/eraser-mode.json deleted file mode 100644 index 5ba35343..00000000 --- a/translations/messages/src/components/eraser-mode.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "id": "paint.eraserMode.eraser", - "description": "Label for the eraser tool", - "defaultMessage": "Eraser" - } -]