SvgPanel.vue 975 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <template>
  2. <div class="panel panel-shape clearfix">
  3. <svg class="shape"
  4. @click="addIcon('action-redo')">
  5. <use xlink:href="/static/svg/icon.svg#action-redo"></use>
  6. </svg>
  7. <svg class="shape"
  8. @click="addIcon('circle-fill')"
  9. fill="#000">
  10. <use xlink:href="/static/svg/icon.svg#circle-fill"
  11. fill="#000"></use>
  12. </svg>
  13. <svg class="shape"
  14. @click="addIcon('bmLogo')">
  15. <use xlink:href="/static/svg/icon.svg#bmLogo"
  16. fill="#fff"></use>
  17. </svg>
  18. </div>
  19. </template>
  20. <style lang="less" scoped>
  21. .panel-shape {
  22. .shape {
  23. float: left;
  24. width: 80px;
  25. height: 80px;
  26. margin: 5px;
  27. }
  28. }
  29. </style>
  30. <script>
  31. export default {
  32. methods: {
  33. addIcon (iconKey) {
  34. let obj = {}
  35. obj.type = 'icon'
  36. obj.iconKey = iconKey
  37. obj.top = 0
  38. obj.left = 0
  39. obj.width = 100
  40. obj.height = 100
  41. this.$store.dispatch('addElement', obj)
  42. }
  43. }
  44. }
  45. </script>