Skip to content

Commit

Permalink
Release 1.0.6
Browse files Browse the repository at this point in the history
  • Loading branch information
Fatih Erikli committed Feb 8, 2016
1 parent ff166e2 commit 1881fe9
Show file tree
Hide file tree
Showing 10 changed files with 47 additions and 33 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ The `Designer` component expects the following parameters:
| objects | [] | Your object set. |
| onUpdate | [] | Your update callback. |
| objectTypes | Text, Circle, Rectangle, Path | Mapping of object types. |
| insertMenu | <InsertMenu> | Insert menu component. You can set null for hiding
| snapToGrid | 1 | Snaps the objects accordingly this multipier. |
| rotator | rotate({object, mouse}) | The rotating strategy of objects
| scale | scale({object, mouse}) | The scaling strategy of objects
Expand Down
6 changes: 6 additions & 0 deletions RELEASE_NOTES
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## Release Notes

### 1.0.6

- `Designer` component exported as default now.
- Added `insertMenu` prop to `Designer` component.
10 changes: 5 additions & 5 deletions examples/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,19 @@ export default class App extends Component {
<p>You should provide your objects and object types. The objects might be empty array if you want yo create a
blank canvas.</p>
<pre className={classes.code}>{`
import Designer, {Text, Rectangle} from 'react-designer';
import Designer, {Text, Rect} from 'react-designer';
class App() {
state = {
objects: [
{type: "text", x: 10, y: 20, text: "Hello!", fill: "red"},
{type: "rect", x: 50, y: 70, fill: "red"}
{type: "rect", x: 50, y: 70, width: 30, height: 40, fill: "red"}
]
}
};
render() {
return (
<Designer width={250} height={350}
<Designer width={500} height={500}
objectTypes={{
'text': Text,
'rect': Rect
Expand All @@ -52,7 +52,7 @@ class App() {
)
}
}
`}</pre>
`.trim()}</pre>
You should listen onUpdate callback to update your objects. React-designer will invoke this
callback in every update.
</div>
Expand Down
4 changes: 2 additions & 2 deletions examples/App.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,10 @@
.code {
font-family: Monaco;
display: block;
padding: 40px;
padding: 30px 25px;
background: #f6f6f6;
color: #434746;
line-height: 1.5em;
line-height: 1.6em;
font-size: 0.9em;
}

Expand Down
3 changes: 1 addition & 2 deletions examples/components/TshirtDesigner.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React, {Component} from 'react';
import Designer from '../../src/Designer';
import Designer, {Text, Rect, Circle} from '../../src';
import {styles as canvasStyles} from '../../src/SVGRenderer';
import {Text, Rect, Circle} from '../../src/objects/index';

const priceMap = {
'text': ({text, fontSize}) => text.length * fontSize * 0.01,
Expand Down
15 changes: 9 additions & 6 deletions lib/Designer.js
Original file line number Diff line number Diff line change
Expand Up @@ -640,10 +640,12 @@ var Designer = (function (_Component) {
var _props6 = this.props;
var objects = _props6.objects;
var objectTypes = _props6.objectTypes;
var currentObject = objects[selectedObjectIndex];
var isEditMode = mode === _constants.modes.EDIT_OBJECT;
var showPropertyPanel = selectedObjectIndex !== null;
var showInsertMenu = true;
var InsertMenuComponent = _props6.insertMenu;

var currentObject = objects[selectedObjectIndex],
isEditMode = mode === _constants.modes.EDIT_OBJECT,
showPropertyPanel = selectedObjectIndex !== null;

var _getCanvas3 = this.getCanvas();

var width = _getCanvas3.width;
Expand Down Expand Up @@ -694,7 +696,7 @@ var Designer = (function (_Component) {
onDrag: this.startDrag.bind(this, _constants.modes.DRAG),
onResize: this.startDrag.bind(this, _constants.modes.SCALE),
onRotate: this.startDrag.bind(this, _constants.modes.ROTATE) }),
showInsertMenu && _react2.default.createElement(_InsertMenu2.default, { tools: objectTypes,
InsertMenuComponent && _react2.default.createElement(InsertMenuComponent, { tools: objectTypes,
currentTool: selectedTool,
onSelect: this.selectTool.bind(this) }),
this.renderSVG(),
Expand All @@ -720,7 +722,8 @@ Designer.defaultProps = {
'polygon': _objects.Path
},
snapToGrid: 1,
svgStyle: {}
svgStyle: {},
insertMenu: _InsertMenu2.default
};
var styles = exports.styles = {
container: {
Expand Down
14 changes: 7 additions & 7 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ArrangePanel = exports.StylePanel = exports.SizePanel = exports.TextPanel = exports.Text = exports.Circle = exports.Rect = exports.Path = exports.Vector = exports.Preview = exports.Designer = undefined;
exports.default = exports.ArrangePanel = exports.StylePanel = exports.SizePanel = exports.TextPanel = exports.Text = exports.Circle = exports.Rect = exports.Path = exports.Vector = exports.Preview = undefined;

var _objects = require('./objects');

Expand Down Expand Up @@ -65,15 +65,15 @@ Object.defineProperty(exports, 'ArrangePanel', {
}
});

var _Designer2 = require('./Designer');

var _Designer3 = _interopRequireDefault(_Designer2);

var _Preview2 = require('./Preview');

var _Preview3 = _interopRequireDefault(_Preview2);

var _Designer = require('./Designer');

var _Designer2 = _interopRequireDefault(_Designer);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

exports.Designer = _Designer3.default;
exports.Preview = _Preview3.default;
exports.Preview = _Preview3.default;
exports.default = _Designer2.default;
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "react-designer",
"version": "1.0.5",
"version": "1.0.6",
"description": "Easy to configure, lightweight, editable vector graphics in your react components.",
"main": "lib/index.js",
"scripts": {
Expand Down
21 changes: 13 additions & 8 deletions src/Designer.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ class Designer extends Component {
'polygon': Path
},
snapToGrid: 1,
svgStyle: {}
svgStyle: {},
insertMenu: InsertMenu
};

state = {
Expand Down Expand Up @@ -483,11 +484,15 @@ class Designer extends Component {
let {showHandler, handler, mode,
selectedObjectIndex, selectedTool} = this.state;

let {objects, objectTypes} = this.props,
currentObject = objects[selectedObjectIndex],
let {
objects,
objectTypes,
insertMenu: InsertMenuComponent
} = this.props;

let currentObject = objects[selectedObjectIndex],
isEditMode = mode === modes.EDIT_OBJECT,
showPropertyPanel = selectedObjectIndex !== null,
showInsertMenu = true;
showPropertyPanel = selectedObjectIndex !== null;

let {width, height, canvasWidth, canvasHeight} = this.getCanvas();

Expand All @@ -500,7 +505,7 @@ class Designer extends Component {
};
ObjectEditor = objectComponent.meta.editor;
}

return (
<HotKeys
keyMap={this.keyMap}
Expand Down Expand Up @@ -537,8 +542,8 @@ class Designer extends Component {
onResize={this.startDrag.bind(this, modes.SCALE)}
onRotate={this.startDrag.bind(this, modes.ROTATE)} /> )}

{showInsertMenu && (
<InsertMenu tools={objectTypes}
{InsertMenuComponent && (
<InsertMenuComponent tools={objectTypes}
currentTool={selectedTool}
onSelect={this.selectTool.bind(this)} />
)}
Expand Down
4 changes: 2 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export Designer from './Designer';
export Preview from './Preview';
export {Vector, Path, Rect, Circle, Text} from './objects';
export {TextPanel, SizePanel, StylePanel, ArrangePanel} from './panels';
export {TextPanel, SizePanel, StylePanel, ArrangePanel} from './panels';
export default from './Designer';

0 comments on commit 1881fe9

Please sign in to comment.