mirror of
https://github.com/Doodle3D/Doodle3D-Core.git
synced 2024-12-22 19:13:49 +01:00
remove empty text
This commit is contained in:
parent
04186fd56c
commit
1464a4b74f
@ -8,7 +8,7 @@ import starReducer from './tools/shapes/starReducer.js';
|
|||||||
import triangleReducer from './tools/shapes/triangleReducer.js';
|
import triangleReducer from './tools/shapes/triangleReducer.js';
|
||||||
import bucketReducer from './tools/bucketReducer.js';
|
import bucketReducer from './tools/bucketReducer.js';
|
||||||
import penReducer from './tools/penReducer.js';
|
import penReducer from './tools/penReducer.js';
|
||||||
import textReducer from './tools/textReducer.js';
|
import textReducer, { removeEmptyText } from './tools/textReducer.js';
|
||||||
import photoGuideReducer from './tools/photoGuideReducer.js';
|
import photoGuideReducer from './tools/photoGuideReducer.js';
|
||||||
import { transformReducer } from './tools/transformReducer.js';
|
import { transformReducer } from './tools/transformReducer.js';
|
||||||
import eraserReducer from './tools/eraserReducer.js';
|
import eraserReducer from './tools/eraserReducer.js';
|
||||||
@ -44,6 +44,7 @@ export default function toolReducer(state, action) {
|
|||||||
// change 2D tool after explicit tool change action or on some selection
|
// change 2D tool after explicit tool change action or on some selection
|
||||||
if (action.type === actions.D2_CHANGE_TOOL) {
|
if (action.type === actions.D2_CHANGE_TOOL) {
|
||||||
state = updateTool(state, action.tool);
|
state = updateTool(state, action.tool);
|
||||||
|
state = removeEmptyText(state);
|
||||||
}
|
}
|
||||||
if (action.category === actions.CAT_SELECTION) {
|
if (action.category === actions.CAT_SELECTION) {
|
||||||
state = updateTool(state, tools.TRANSFORM);
|
state = updateTool(state, tools.TRANSFORM);
|
||||||
|
@ -8,10 +8,11 @@ const debug = createDebug('d3d:reducer:text');
|
|||||||
export default function textReducer(state, action) {
|
export default function textReducer(state, action) {
|
||||||
if (action.log !== false) debug(action.type);
|
if (action.log !== false) debug(action.type);
|
||||||
|
|
||||||
const activeShape = state.d2.activeShape;
|
|
||||||
|
|
||||||
switch (action.type) {
|
switch (action.type) {
|
||||||
case actions.D2_TEXT_INIT: {
|
case actions.D2_TEXT_INIT: {
|
||||||
|
state = removeEmptyText(state);
|
||||||
|
|
||||||
const { position, textId, screenMatrixZoom } = action;
|
const { position, textId, screenMatrixZoom } = action;
|
||||||
const screenPosition = (position && screenMatrixZoom) ?
|
const screenPosition = (position && screenMatrixZoom) ?
|
||||||
position.applyMatrix(screenMatrixZoom.inverseMatrix()) :
|
position.applyMatrix(screenMatrixZoom.inverseMatrix()) :
|
||||||
@ -29,6 +30,7 @@ export default function textReducer(state, action) {
|
|||||||
}
|
}
|
||||||
case actions.D2_TEXT_INPUT_CHANGE: {
|
case actions.D2_TEXT_INPUT_CHANGE: {
|
||||||
const { text, family, style, weight, fill } = action;
|
const { text, family, style, weight, fill } = action;
|
||||||
|
const { activeShape } = state.d2;
|
||||||
return update(state, {
|
return update(state, {
|
||||||
objectsById: {
|
objectsById: {
|
||||||
[activeShape]: {
|
[activeShape]: {
|
||||||
@ -43,16 +45,16 @@ export default function textReducer(state, action) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
case actions.D2_TEXT_ADD: {
|
|
||||||
if (activeShape && state.objectsById[activeShape].text.text.length === 0) {
|
|
||||||
return setActive2D(removeObject(state, activeShape), null);
|
|
||||||
} else {
|
|
||||||
return setActive2D(state, null);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function removeEmptyText(state) {
|
||||||
|
const { activeShape } = state.d2;
|
||||||
|
|
||||||
|
if (activeShape && state.objectsById[activeShape].text.text === '') {
|
||||||
|
return setActive2D(removeObject(state, activeShape), null);
|
||||||
|
}
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,6 @@ function sketcherReducer(state = initialState, action) {
|
|||||||
case actions.MULTITOUCH_TRANSFORM_END:
|
case actions.MULTITOUCH_TRANSFORM_END:
|
||||||
case actions.D2_TEXT_INIT:
|
case actions.D2_TEXT_INIT:
|
||||||
case actions.D2_TEXT_INPUT_CHANGE:
|
case actions.D2_TEXT_INPUT_CHANGE:
|
||||||
case actions.D2_TEXT_ADD:
|
|
||||||
case actions.MOVE_SELECTION:
|
case actions.MOVE_SELECTION:
|
||||||
return d2ToolReducer(state, action);
|
return d2ToolReducer(state, action);
|
||||||
|
|
||||||
@ -188,11 +187,11 @@ function sketcherReducer(state = initialState, action) {
|
|||||||
return d3ToolReducer(state, action);
|
return d3ToolReducer(state, action);
|
||||||
|
|
||||||
case actions.D2_CHANGE_TOOL:
|
case actions.D2_CHANGE_TOOL:
|
||||||
state = setActive2D(state, null);
|
|
||||||
state = selectionReducer(state, action);
|
state = selectionReducer(state, action);
|
||||||
state = d2ToolReducer(state, action); // switch and initialize tool
|
state = d2ToolReducer(state, action); // switch and initialize tool
|
||||||
state = updateMenus(state, action);
|
state = updateMenus(state, action);
|
||||||
state = contextReducer(state, action);
|
state = contextReducer(state, action);
|
||||||
|
state = setActive2D(state, null);
|
||||||
return state;
|
return state;
|
||||||
|
|
||||||
case actions.D3_CHANGE_TOOL:
|
case actions.D3_CHANGE_TOOL:
|
||||||
|
@ -14,7 +14,6 @@ const INCLUDE = [
|
|||||||
actions.DESELECT_ALL,
|
actions.DESELECT_ALL,
|
||||||
actions.STAMP,
|
actions.STAMP,
|
||||||
actions.SELECT,
|
actions.SELECT,
|
||||||
actions.D2_TEXT_ADD,
|
|
||||||
actions.CLEAR,
|
actions.CLEAR,
|
||||||
actions.TWIST_END,
|
actions.TWIST_END,
|
||||||
actions.SCULPT_END,
|
actions.SCULPT_END,
|
||||||
|
Loading…
Reference in New Issue
Block a user