diff options
| author | Terry Truong <terry06890@gmail.com> | 2022-03-13 15:20:54 +1100 |
|---|---|---|
| committer | Terry Truong <terry06890@gmail.com> | 2022-03-13 15:20:54 +1100 |
| commit | 0fb594e3d24debe3758abd70d4e0234598e229ca (patch) | |
| tree | 31bf3b17509cb576ad6045018092c34f85babec0 /src/components | |
| parent | 4e05b868bf2a03d8ab9fb5271cd7c1a0b874f51b (diff) | |
Attempt adding Coord and Dims typestest-Coord-Dim
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/Tile.vue | 8 | ||||
| -rw-r--r-- | src/components/TileTree.vue | 14 |
2 files changed, 10 insertions, 12 deletions
diff --git a/src/components/Tile.vue b/src/components/Tile.vue index 19c9838..2c349c1 100644 --- a/src/components/Tile.vue +++ b/src/components/Tile.vue @@ -46,7 +46,7 @@ export default defineComponent({ <template> <div :style="{position: 'absolute', - left: tree.x+'px', top: tree.y+'px', width: tree.w+'px', height: tree.h+'px', + left: tree.pos.x+'px', top: tree.pos.y+'px', width: tree.dims.w+'px', height: tree.dims.h+'px', zIndex: zIdx, overflow: overFlow, transitionDuration: transitionDuration+'ms'}" class="transition-[left,top,width,height] ease-out border border-stone-900 bg-white"> <div v-if="tree.children.length == 0" @@ -61,9 +61,9 @@ export default defineComponent({ {{tree.tolNode.name}} </div> <div v-if="tree.sideArea" - :style="{position: 'absolute', left: tree.sideArea.x+'px', top: tree.sideArea.y+'px', - width: (tree.sideArea.w + (tree.sideArea.sweptLeft ? tree.sideArea.extraSz : 0))+'px', - height: (tree.sideArea.h + (tree.sideArea.sweptLeft ? 0 : tree.sideArea.extraSz))+'px', + :style="{position: 'absolute', left: tree.sideArea.pos.x+'px', top: tree.sideArea.pos.y+'px', + width: (tree.sideArea.dims.w + (tree.sideArea.sweptLeft ? tree.sideArea.extraSz : 0))+'px', + height: (tree.sideArea.dims.h + (tree.sideArea.sweptLeft ? 0 : tree.sideArea.extraSz))+'px', borderRightColor: (tree.sideArea.sweptLeft ? 'white' : 'currentColor'), borderBottomColor: (tree.sideArea.sweptLeft ? 'currentColor' : 'white'), transitionDuration: transitionDuration+'ms'}" diff --git a/src/components/TileTree.vue b/src/components/TileTree.vue index ce2688e..9fc053a 100644 --- a/src/components/TileTree.vue +++ b/src/components/TileTree.vue @@ -2,7 +2,7 @@ import {defineComponent} from 'vue'; import Tile from './Tile.vue'; -import {TolNode, TreeNode, LayoutNode} from '../types'; +import {TolNode, TreeNode, LayoutNode, Coord, Dims} from '../types'; import {genLayout, layoutInfoHooks} from '../layout'; //regarding importing a file f1.ts: //using 'import f1.ts' makes vue-tsc complain, and 'import f1.js' makes vite complain @@ -72,7 +72,7 @@ export default defineComponent({ nodeList[0].children = children; }, tryLayout(){ - let layout = genLayout(this.tree, 0, 0, this.width, this.height, true); + let layout = genLayout(this.tree, new Coord(), new Dims(this.width, this.height), true); if (layout == null){ console.log('Unable to layout tree'); return false; @@ -82,10 +82,8 @@ export default defineComponent({ } }, applyLayout(layout: LayoutNode, tree: TreeNode){ - tree.x = layout.x; - tree.y = layout.y; - tree.w = layout.w; - tree.h = layout.h; + tree.pos = layout.pos; + tree.dims = layout.dims; tree.headerSz = layout.headerSz; layout.children.forEach((n,i) => this.applyLayout(n, tree.children[i])); //handle case where leaf nodes placed in leftover space from parent-sweep @@ -94,8 +92,8 @@ export default defineComponent({ tree.sideArea = layout.sideArea; //move leaf node children to parent area tree.children.filter(n => n.children.length == 0).map(n => { - n.x += layout.sideArea!.x; - n.y += layout.sideArea!.y; + n.pos.x += layout.sideArea!.pos.x; + n.pos.y += layout.sideArea!.pos.y; }); } else { tree.sideArea = null; |
