Skip to content

Commit d321ed2

Browse files
authored
Merge pull request PolymerLabs#5 from jogibear9988/feature/typescript
better resize experience
2 parents c8a29c5 + e5419fa commit d321ed2

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/elements/canvas-view.ts

+13-4
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ export class CanvasView extends PolymerElement {
1515
_dropTarget: Element;
1616
_initialWidth: number;
1717
_initialHeight: number;
18+
_downX: number;
19+
_downY: number;
1820

1921
static get template() {
2022
return html`
@@ -105,6 +107,7 @@ export class CanvasView extends PolymerElement {
105107
connectedCallback() {
106108
super.connectedCallback();
107109

110+
addListener(this.$.canvas, 'down', this.downOnElement.bind(this));
108111
addListener(this.$.canvas, 'track', this.trackElement.bind(this));
109112
this.addEventListener('click', event => {
110113
this.updateActiveElement(this);
@@ -155,6 +158,12 @@ export class CanvasView extends PolymerElement {
155158
//Base.fire('refresh-view', {}, {node: this});
156159
}
157160

161+
downOnElement(event) {
162+
// STore initial Mouse Pos for checking if resizeing
163+
this._downX = event.detail.x;
164+
this._downY = event.detail.y;
165+
}
166+
158167
trackElement(event) {
159168
let el = event.target;
160169
this._justFinishedDraggingOrDropping = false;
@@ -168,7 +177,7 @@ export class CanvasView extends PolymerElement {
168177
}
169178

170179
let rekt = el.getBoundingClientRect();
171-
let shouldResize = this.dragShouldSize(event, rekt);
180+
let shouldResize = this.dragShouldSize(rekt);
172181
if (shouldResize) {
173182
this._resizing = true;
174183
this._initialWidth = rekt.width;
@@ -344,9 +353,9 @@ export class CanvasView extends PolymerElement {
344353
this.updateActiveElement(el);
345354
}
346355

347-
dragShouldSize(event, rect) {
348-
const right = Math.abs(rect.right - event.detail.x);
349-
const bottom = Math.abs(rect.bottom - event.detail.y);
356+
dragShouldSize(rect) {
357+
const right = rect.right - this._downX;
358+
const bottom = rect.bottom - this._downY;
350359
return (right < 8 && bottom < 8);
351360
}
352361

0 commit comments

Comments
 (0)