From a4b857a034c73c883990fc29b24a92c9122df97c Mon Sep 17 00:00:00 2001 From: Aaron Doubek-Kraft Date: Wed, 5 Jul 2017 10:58:13 -0700 Subject: [PATCH] [Fixed Position] Change default behavior for old elements For elements created before this change where useGrid is not defined, default it to true to ensure consistent display size Inline constant definitions in unit tests if they are only used once --- .../features/layout/src/elements/ElementProxy.js | 6 +++++- .../layout/test/elements/ElementProxySpec.js | 4 +--- .../features/layout/test/elements/LineHandleSpec.js | 4 +--- .../features/layout/test/elements/LineProxySpec.js | 12 ++++++------ .../layout/test/elements/ResizeHandleSpec.js | 6 +++--- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/platform/features/layout/src/elements/ElementProxy.js b/platform/features/layout/src/elements/ElementProxy.js index 3759799b9b..cab7970a41 100644 --- a/platform/features/layout/src/elements/ElementProxy.js +++ b/platform/features/layout/src/elements/ElementProxy.js @@ -69,7 +69,7 @@ define( * The current grid size of the layout. * @memberof platform/features/layout.ElementProxy# */ - this.gridSize = gridSize; + this.gridSize = gridSize || [1,1]; //Ensure a reasonable default this.resizeHandles = [new ResizeHandle( this.element, @@ -182,6 +182,10 @@ define( */ ElementProxy.prototype.getGridSize = function () { var gridSize; + // Default to using the grid if useGrid was not defined + if (typeof this.element.useGrid === 'undefined') { + this.element.useGrid = true; + } if (this.element.useGrid) { gridSize = this.gridSize; } else { diff --git a/platform/features/layout/test/elements/ElementProxySpec.js b/platform/features/layout/test/elements/ElementProxySpec.js index 6834e1627b..6248af2328 100644 --- a/platform/features/layout/test/elements/ElementProxySpec.js +++ b/platform/features/layout/test/elements/ElementProxySpec.js @@ -24,8 +24,6 @@ define( ['../../src/elements/ElementProxy'], function (ElementProxy) { - var GRID_SIZE = [13,21]; - describe("A fixed position element proxy", function () { var testElement, testElements, @@ -45,7 +43,7 @@ define( testElement, testElements.indexOf(testElement), testElements, - GRID_SIZE + [13,21] ); }); diff --git a/platform/features/layout/test/elements/LineHandleSpec.js b/platform/features/layout/test/elements/LineHandleSpec.js index 5242c8625f..69dfff61ca 100644 --- a/platform/features/layout/test/elements/LineHandleSpec.js +++ b/platform/features/layout/test/elements/LineHandleSpec.js @@ -24,8 +24,6 @@ define( ['../../src/elements/LineHandle'], function (LineHandle) { - var GRID_SIZE = [45,21]; - describe("A fixed position drag handle", function () { var testElement, handle; @@ -39,7 +37,7 @@ define( useGrid: true }; - handle = new LineHandle(testElement, 'x', 'y', 'x2', 'y2', GRID_SIZE); + handle = new LineHandle(testElement, 'x', 'y', 'x2', 'y2', [45,21]); }); it("provides x/y grid coordinates for its corner", function () { diff --git a/platform/features/layout/test/elements/LineProxySpec.js b/platform/features/layout/test/elements/LineProxySpec.js index 088592b9f8..95ce1b35b0 100644 --- a/platform/features/layout/test/elements/LineProxySpec.js +++ b/platform/features/layout/test/elements/LineProxySpec.js @@ -28,10 +28,10 @@ define( var vertical, horizontal, diagonal, reversed; beforeEach(function () { - vertical = { x: 1, y: 4, x2: 1, y2: 8 }; - horizontal = { x: 3, y: 3, x2: 12, y2: 3 }; - diagonal = { x: 3, y: 8, x2: 5, y2: 11 }; - reversed = { x2: 3, y2: 8, x: 5, y: 11 }; + vertical = { x: 1, y: 4, x2: 1, y2: 8}; + horizontal = { x: 3, y: 3, x2: 12, y2: 3}; + diagonal = { x: 3, y: 8, x2: 5, y2: 11}; + reversed = { x2: 3, y2: 8, x: 5, y: 11}; }); it("ensures visible width for vertical lines", function () { @@ -63,13 +63,13 @@ define( it("adjusts both ends when mutating x", function () { var proxy = new LineProxy(diagonal); proxy.x(6); - expect(diagonal).toEqual({ x: 6, y: 8, x2: 8, y2: 11 }); + expect(diagonal).toEqual({ x: 6, y: 8, x2: 8, y2: 11, useGrid: true }); }); it("adjusts both ends when mutating y", function () { var proxy = new LineProxy(diagonal); proxy.y(6); - expect(diagonal).toEqual({ x: 3, y: 6, x2: 5, y2: 9 }); + expect(diagonal).toEqual({ x: 3, y: 6, x2: 5, y2: 9, useGrid: true }); }); it("provides internal positions for SVG lines", function () { diff --git a/platform/features/layout/test/elements/ResizeHandleSpec.js b/platform/features/layout/test/elements/ResizeHandleSpec.js index ab930810ca..2af54caa89 100644 --- a/platform/features/layout/test/elements/ResizeHandleSpec.js +++ b/platform/features/layout/test/elements/ResizeHandleSpec.js @@ -24,8 +24,8 @@ define( ['../../src/elements/ResizeHandle'], function (ResizeHandle) { - var TEST_MIN_WIDTH = 4, TEST_MIN_HEIGHT = 2, - GRID_SIZE = [34,81]; + var TEST_MIN_WIDTH = 4, + TEST_MIN_HEIGHT = 2; describe("A fixed position drag handle", function () { var testElement, @@ -44,7 +44,7 @@ define( testElement, TEST_MIN_WIDTH, TEST_MIN_HEIGHT, - GRID_SIZE + [34,81] ); });