TheInstance.vue 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <script setup lang="ts">
  2. import { useStore } from '@/store'
  3. import { storeToRefs } from 'pinia';
  4. import { computed } from 'vue';
  5. import VCollaps from './VCollaps.vue';
  6. const store = useStore()
  7. const { selectedNode } = storeToRefs(store)
  8. const nameSpaceName = computed(() => {
  9. if(!selectedNode.value)
  10. return "";
  11. let nsIdx=selectedNode.value.nodeId.namespace;
  12. return store.addressSpace?.nst.getUri(nsIdx);
  13. })
  14. function okPressed() {
  15. console.log('TODO: Handle OK Button');
  16. }
  17. defineExpose({ okPressed })
  18. </script>
  19. <template>
  20. <VCollaps :selected=true name="Node">
  21. <div class="card-text" v-if="selectedNode">
  22. <div class="input-group mb-3">
  23. <div class="input-group-prepend">
  24. <span class="input-group-text" id="inputGroup-sizing-default">DisplayName</span>
  25. </div>
  26. <input type="text" class="form-control" aria-label="Default" aria-describedby="inputGroup-sizing-default" v-model="selectedNode.displayName">
  27. </div>
  28. <div class="input-group mb-3">
  29. <div class="input-group-prepend">
  30. <span class="input-group-text" id="inputGroup-sizing-default">BrowseName</span>
  31. </div>
  32. <input type="text" class="form-control" aria-label="Default" aria-describedby="inputGroup-sizing-default" v-model="selectedNode.browseName">
  33. </div>
  34. <div class="input-group mb-3">
  35. <div class="input-group-prepend">
  36. <span class="input-group-text" id="inputGroup-sizing-default">NodeId</span>
  37. </div>
  38. <input type="text" class="form-control" aria-label="Default" aria-describedby="inputGroup-sizing-default" v-model="selectedNode.nodeId">
  39. </div>
  40. <div class="input-group mb-3">
  41. <div class="input-group-prepend">
  42. <span class="input-group-text" id="inputGroup-sizing-default">NodeClass</span>
  43. </div>
  44. <input type="text" class="form-control" aria-label="Default" aria-describedby="inputGroup-sizing-default" v-model="selectedNode.nodeClass">
  45. </div>
  46. <div class="input-group mb-3">
  47. <div class="input-group-prepend">
  48. <span class="input-group-text" id="inputGroup-sizing-default">Namespace</span>
  49. </div>
  50. <input type="text" class="form-control" aria-label="Default" aria-describedby="inputGroup-sizing-default" v-model="nameSpaceName">
  51. </div>
  52. </div>
  53. </VCollaps>
  54. </template>
  55. <style scoped>
  56. </style>