07-prevent-collision.html 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Vue Grid Layout Example 7 - Prevent Collision</title>
  6. <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
  7. <link rel="stylesheet" href="app.css">
  8. <!--<link rel="stylesheet" href="../dist/vue-grid-layout.css">-->
  9. </head>
  10. <body>
  11. <div id="app" style="width: 100%;">
  12. <!--<pre>{{ $data | json }}</pre>-->
  13. <div>
  14. <div class="layoutJSON">
  15. Displayed as <code>[x, y, w, h]</code>:
  16. <div class="columns">
  17. <div class="layoutItem" v-for="item in layout">
  18. <b>{{item.i}}</b>: [{{item.x}}, {{item.y}}, {{item.w}}, {{item.h}}]
  19. </div>
  20. </div>
  21. </div>
  22. </div>
  23. <div id="content">
  24. <!--<button @click="decreaseWidth">Decrease Width</button>
  25. <button @click="increaseWidth">Increase Width</button>
  26. <button @click="addItem">Add an item</button>-->
  27. <br />
  28. <grid-layout :layout.sync="layout"
  29. :col-num="12"
  30. :row-height="30"
  31. :is-draggable="draggable"
  32. :is-resizable="resizable"
  33. :vertical-compact="false"
  34. :prevent-collision="true"
  35. :use-css-transforms="true"
  36. :responsive="false">
  37. <grid-item v-for="item in layout"
  38. :x="item.x"
  39. :y="item.y"
  40. :w="item.w"
  41. :h="item.h"
  42. :i="item.i"
  43. >
  44. <span class="text">{{item.i}}</span>
  45. </grid-item>
  46. </grid-layout>
  47. </div>
  48. </div>
  49. <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.min.js"></script>
  50. <script src="https://cdn.jsdelivr.net/npm/vue-grid-layout@2.3.11/dist/vue-grid-layout.umd.min.js"></script>
  51. <script src="07-prevent-collision.js"></script>
  52. </body>
  53. </html>