TheTreeDialog.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <script setup lang="ts">
  2. import { useStore } from '@/store'
  3. import { ref } from 'vue';
  4. import VDialog from './VDialog.vue'
  5. import TreeItem from './TreeItem.vue'
  6. const store = useStore()
  7. const newDialogOpen = ref(false);
  8. defineProps({
  9. filterFunc: Function
  10. })
  11. </script>
  12. <template>
  13. <v-dialog :open="newDialogOpen"
  14. @cancel="newDialogOpen = false"
  15. @select-node="(node) => $emit('selectNode', node)">
  16. <div class="treedialog" v-if="store.addressSpace">
  17. <h5 class="card-title">Browse Parent</h5>
  18. <p></p>
  19. <ul>
  20. <TreeItem class="item"
  21. v-if="store.rootNode != null"
  22. :model="store.rootNode"
  23. :filter-func = "$props.filterFunc"
  24. :markSelected="false"
  25. @select-node="(node) => $emit('selectNode', node)"
  26. >
  27. </TreeItem>
  28. </ul>
  29. <div class="btn-group d-flex justify-content-end">
  30. <button class="btn btn-light" @click="$emit('cancel')">close</button>
  31. </div>
  32. </div>
  33. </v-dialog>
  34. </template>
  35. <style scoped>
  36. .treedialog {
  37. width: 30em;
  38. height: 40em;
  39. }
  40. </style>