KitView.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2. <div class="kit-view bg-kit">
  3. <node-view
  4. v-if="sheet"
  5. :node="sheet"
  6. mode="view"
  7. show-origin
  8. @close-node="closeNode()"
  9. @open-node="openLibrary"
  10. />
  11. <b-overlay
  12. :show="!sheet"
  13. spinner-variant="light"
  14. no-wrap
  15. />
  16. </div>
  17. </template>
  18. <script>
  19. import { mapGetters } from 'vuex'
  20. import { NodeView } from '@/components/nodes'
  21. export default {
  22. name: 'KitView',
  23. components: {
  24. NodeView
  25. },
  26. props: {
  27. id: { type: [Number, String], default: undefined }
  28. },
  29. computed: {
  30. ...mapGetters(['sheet'])
  31. },
  32. methods: {
  33. closeNode () {
  34. this.$store.dispatch('CLOSE_KIT_NODE')
  35. },
  36. openLibrary (ids) {
  37. this.$store.dispatch('OPEN_NODE', ids)
  38. }
  39. },
  40. created () {
  41. this.$store.dispatch('INIT_KIT_VIEW', parseInt(this.id))
  42. }
  43. }
  44. </script>
  45. <style lang="scss">
  46. .kit-view {
  47. height: 100%;
  48. width: 100%;
  49. .node-view {
  50. min-height: 100%;
  51. &-header-wrapper,
  52. &-body-wrapper,
  53. &-footer-wrapper,
  54. &-gallery {
  55. @include media-breakpoint-up($layout-bp) {
  56. max-width: 50%;
  57. margin: auto;
  58. }
  59. }
  60. .btn-close {
  61. @include media-breakpoint-up($layout-bp) {
  62. position: absolute;
  63. right: $node-view-spacer-x;
  64. }
  65. }
  66. }
  67. }
  68. </style>