index.html 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Vue.js grid component example</title>
  6. <link rel="stylesheet" href="style.css">
  7. <script src="../../dist/vue.js"></script>
  8. </head>
  9. <body>
  10. <!-- component template -->
  11. <script type="text/x-template" id="grid-template">
  12. <table>
  13. <thead>
  14. <tr>
  15. <th v-repeat="key: columns"
  16. v-on="click:sortBy(key)"
  17. v-class="active: sortKey == key">
  18. {{key | capitalize}}
  19. <span class="arrow"
  20. v-class="reversed[key] ? 'dsc' : 'asc'">
  21. </span>
  22. </th>
  23. </tr>
  24. </thead>
  25. <tbody>
  26. <tr v-repeat="
  27. entry: data
  28. | filterBy filterKey
  29. | orderBy sortKey reversed[sortKey]">
  30. <td v-repeat="key: columns">
  31. {{entry[key]}}
  32. </td>
  33. </tr>
  34. </tbody>
  35. </table>
  36. </script>
  37. <!-- demo root element -->
  38. <div id="demo">
  39. <form id="search">
  40. Search <input name="query" v-model="searchQuery">
  41. </form>
  42. <demo-grid
  43. data="{{gridData}}"
  44. columns="{{gridColumns}}"
  45. filter-key="{{searchQuery}}">
  46. </demo-grid>
  47. </div>
  48. <script src="grid.js"></script>
  49. </body>
  50. </html>