redhotmagma-graphics-editor 1.27.1 → 1.27.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -204,9 +204,10 @@ export abstract class AbstractCanvas {
|
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
getState(): any {
|
|
207
|
-
const { selectedObject } = this;
|
|
207
|
+
const { selectedObject, size } = this;
|
|
208
208
|
return {
|
|
209
209
|
selectedObject: selectedObject ? selectedObject.getState() : null,
|
|
210
|
+
size,
|
|
210
211
|
};
|
|
211
212
|
}
|
|
212
213
|
|
|
@@ -35,6 +35,8 @@ export abstract class AbstractCanvasObject {
|
|
|
35
35
|
protected _locked = false;
|
|
36
36
|
protected _autoFit = false;
|
|
37
37
|
protected _grabbed = false;
|
|
38
|
+
protected _activeAction = '';
|
|
39
|
+
protected _userData = {};
|
|
38
40
|
protected _canvas: AbstractCanvas = null;
|
|
39
41
|
protected _observable: Observable = new Observable(this);
|
|
40
42
|
|
|
@@ -173,6 +175,15 @@ export abstract class AbstractCanvasObject {
|
|
|
173
175
|
return this._autoFit;
|
|
174
176
|
}
|
|
175
177
|
|
|
178
|
+
get userData(): Record<string, unknown> {
|
|
179
|
+
return this._userData;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
set userData(userDataObject: Record<string, unknown>) {
|
|
183
|
+
this._userData = userDataObject;
|
|
184
|
+
this._observable.triggerEvent(CanvasObjectEvents.OnChange);
|
|
185
|
+
}
|
|
186
|
+
|
|
176
187
|
set grabbed(grabbed) {
|
|
177
188
|
this._grabbed = grabbed;
|
|
178
189
|
this._observable.triggerEvent(CanvasObjectEvents.OnChange);
|
|
@@ -182,6 +193,15 @@ export abstract class AbstractCanvasObject {
|
|
|
182
193
|
return this._grabbed;
|
|
183
194
|
}
|
|
184
195
|
|
|
196
|
+
set activeAction(action: string) {
|
|
197
|
+
this._activeAction = action;
|
|
198
|
+
this._observable.triggerEvent(CanvasObjectEvents.OnChange);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
get activeAction(): string {
|
|
202
|
+
return this._activeAction;
|
|
203
|
+
}
|
|
204
|
+
|
|
185
205
|
set canvas(canvas: AbstractCanvas) {
|
|
186
206
|
this._canvas = canvas;
|
|
187
207
|
}
|
|
@@ -269,7 +289,7 @@ export abstract class AbstractCanvasObject {
|
|
|
269
289
|
}
|
|
270
290
|
|
|
271
291
|
toObject(includeWrappedObject = false) {
|
|
272
|
-
const { type, x, y, rotation, scaling, locked, autoFit, uuid } = this;
|
|
292
|
+
const { type, x, y, rotation, scaling, locked, autoFit, userData, uuid } = this;
|
|
273
293
|
const obj = {
|
|
274
294
|
type,
|
|
275
295
|
x,
|
|
@@ -278,6 +298,7 @@ export abstract class AbstractCanvasObject {
|
|
|
278
298
|
scaling,
|
|
279
299
|
locked,
|
|
280
300
|
autoFit,
|
|
301
|
+
userData,
|
|
281
302
|
uuid,
|
|
282
303
|
};
|
|
283
304
|
if (includeWrappedObject) {
|
|
@@ -38,6 +38,7 @@ export class Editor extends React.Component {
|
|
|
38
38
|
canvas: PropTypes.instanceOf(AbstractCanvas).isRequired,
|
|
39
39
|
classes: PropTypes.object.isRequired,
|
|
40
40
|
containerClassName: PropTypes.string,
|
|
41
|
+
renderInCanvasContainer: PropTypes.func,
|
|
41
42
|
};
|
|
42
43
|
|
|
43
44
|
static defaultProps = {
|
|
@@ -163,6 +164,7 @@ export class Editor extends React.Component {
|
|
|
163
164
|
Rulers,
|
|
164
165
|
SelectionToolbox,
|
|
165
166
|
StandardToolbox,
|
|
167
|
+
renderInCanvasContainer,
|
|
166
168
|
} = props;
|
|
167
169
|
if (typeof children === 'function') {
|
|
168
170
|
return children({
|
|
@@ -222,6 +224,7 @@ export class Editor extends React.Component {
|
|
|
222
224
|
Rulers,
|
|
223
225
|
},
|
|
224
226
|
})}
|
|
227
|
+
{renderInCanvasContainer && renderInCanvasContainer()}
|
|
225
228
|
</CanvasContainer>
|
|
226
229
|
</EditorContainer>
|
|
227
230
|
{this.renderSelectionToolbox({
|
|
@@ -75,6 +75,8 @@ class InlineToolBox extends React.Component {
|
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
selectedObject.activeAction = 'scale';
|
|
79
|
+
|
|
78
80
|
const clientPosition = this.getClientPositionFromEvent(evt);
|
|
79
81
|
|
|
80
82
|
let iDistance = selectedObject.getDistanceToCenter(clientPosition.x, clientPosition.y);
|
|
@@ -99,6 +101,7 @@ class InlineToolBox extends React.Component {
|
|
|
99
101
|
this.updateToolbarTransform();
|
|
100
102
|
};
|
|
101
103
|
const mouseUp = evt => {
|
|
104
|
+
selectedObject.activeAction = '';
|
|
102
105
|
const clientPosition = this.getClientPositionFromEvent(evt);
|
|
103
106
|
evt.preventDefault();
|
|
104
107
|
document.removeEventListener(clientPosition.isTouchEvent ? 'touchmove' : 'mousemove', mouseMove, {
|
|
@@ -118,6 +121,8 @@ class InlineToolBox extends React.Component {
|
|
|
118
121
|
return;
|
|
119
122
|
}
|
|
120
123
|
|
|
124
|
+
selectedObject.activeAction = 'rotate';
|
|
125
|
+
|
|
121
126
|
const clientPosition = this.getClientPositionFromEvent(evt);
|
|
122
127
|
|
|
123
128
|
// const { canvasPosition } = this.props;
|
|
@@ -140,6 +145,7 @@ class InlineToolBox extends React.Component {
|
|
|
140
145
|
this.updateToolbarTransform();
|
|
141
146
|
};
|
|
142
147
|
const mouseUp = evt => {
|
|
148
|
+
selectedObject.activeAction = '';
|
|
143
149
|
const clientPosition = this.getClientPositionFromEvent(evt);
|
|
144
150
|
evt.preventDefault();
|
|
145
151
|
|