| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- var testLayout = [
- { x: 0, y: 0, w: 2, h: 2, i: "0" },
- { x: 2, y: 0, w: 2, h: 2, i: "1" },
- { x: 4, y: 0, w: 2, h: 2, i: "2" },
- { x: 6, y: 0, w: 2, h: 2, i: "3" },
- { x: 8, y: 0, w: 2, h: 2, i: "4" },
- ];
- // var GridLayout = VueGridLayout.GridLayout;
- // var GridItem = VueGridLayout.GridItem;
- new Vue({
- el: "#app",
- // components: {
- // "GridLayout": GridLayout,
- // "GridItem": GridItem
- // },
- data: {
- layout: testLayout,
- draggable: true,
- resizable: true,
- responsive: true,
- colNum: 12,
- index: 0,
- },
- mounted: function () {
- this.index = this.layout.length;
- },
- methods: {
- addItem: function () {
- // Add a new item. It must have a unique key!
- this.layout.push({
- x: (this.layout.length * 2) % (this.colNum || 12),
- y: this.layout.length + (this.colNum || 12), // puts it at the bottom
- w: 2,
- h: 2,
- i: this.index,
- });
- // Increment the counter to ensure key is always unique.
- this.index++;
- },
- removeItem: function (val) {
- const index = this.layout.map(item => item.i).indexOf(val);
- this.layout.splice(index, 1);
- },
- },
- });
|