|
4 | 4 | </div> |
5 | 5 | </template> |
6 | 6 | <style> |
7 | | - .vue-grid-layout { |
8 | | - position: relative; |
9 | | - transition: height 200ms ease; |
10 | | - } |
| 7 | +.vue-grid-layout { |
| 8 | + position: relative; |
| 9 | + transition: height 200ms ease; |
| 10 | +} |
11 | 11 | </style> |
12 | 12 | <script> |
| 13 | + import {addWindowEventListener, removeWindowEventListener} from "./DOM"; |
| 14 | +
|
13 | 15 | var elementResizeDetectorMaker = require("element-resize-detector"); |
14 | 16 |
|
15 | 17 | import {bottom, compact, getLayoutItem, moveElement, validateLayout, findItemInArray, findAndRemove} from './utils'; |
|
99 | 101 | }, |
100 | 102 | beforeDestroy: function(){ |
101 | 103 | //Remove listeners |
102 | | - window.removeEventListener("resize", self.onWindowResize) |
| 104 | + removeWindowEventListener("resize", self.onWindowResize) |
103 | 105 | }, |
104 | 106 | mounted() { |
105 | 107 | this.$nextTick(function () { |
106 | 108 | validateLayout(this.layout); |
107 | 109 | this.originalCols = this.colNum; |
108 | | - var self = this; |
109 | | - window.onload = function() { |
110 | | - self.onWindowResize(); |
111 | | - //self.width = self.$el.offsetWidth; |
112 | | - window.addEventListener('resize', self.onWindowResize); |
113 | | - compact(self.layout, self.verticalCompact); |
114 | | - self.updateHeight(); |
115 | | - self.$nextTick(function() { |
116 | | -// self.onWindowResize(); |
117 | | - var erd = elementResizeDetectorMaker({ |
118 | | - strategy: "scroll" //<- For ultra performance. |
119 | | - }); |
120 | | - erd.listenTo(self.$refs.item, function(element) { |
121 | | - self.onWindowResize(); |
122 | | - /*var width = element.offsetWidth; |
123 | | - var height = element.offsetHeight; |
124 | | - console.log("Size: " + width + "x" + height);*/ |
125 | | - }); |
126 | | - }); |
127 | | - } |
| 110 | + addWindowEventListener("load", self.onWindowLoad.bind(this)); |
| 111 | + |
128 | 112 | }); |
129 | 113 | }, |
130 | 114 | watch: { |
|
162 | 146 | } |
163 | 147 | }, |
164 | 148 | methods: { |
| 149 | + onWindowLoad: function(){ |
| 150 | + var self = this; |
| 151 | + this.onWindowResize(); |
| 152 | + //self.width = self.$el.offsetWidth; |
| 153 | + addWindowEventListener('resize', self.onWindowResize); |
| 154 | + compact(self.layout, self.verticalCompact); |
| 155 | + self.updateHeight(); |
| 156 | + self.$nextTick(function() { |
| 157 | + //self.onWindowResize(); |
| 158 | + var erd = elementResizeDetectorMaker({ |
| 159 | + strategy: "scroll" //<- For ultra performance. |
| 160 | + }); |
| 161 | + erd.listenTo(self.$refs.item, function(element) { |
| 162 | + self.onWindowResize(); |
| 163 | + /*var width = element.offsetWidth; |
| 164 | + var height = element.offsetHeight; |
| 165 | + console.log("Size: " + width + "x" + height);*/ |
| 166 | + }); |
| 167 | + }); |
| 168 | + |
| 169 | + }, |
165 | 170 | onWindowResize: function() { |
166 | 171 | if (this.$refs !== null && this.$refs.item !== null) { |
167 | 172 | this.width = this.$refs.item.offsetWidth; |
|
0 commit comments