You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
983 B

  1. <template>
  2. <v-data-table
  3. :headers="headers"
  4. :items="metaArray"
  5. item-key="key"
  6. hide-default-footer
  7. :no-data-text="$t('vuetify.noDataAvailable')"
  8. disable-pagination
  9. class="elevation-1"
  10. />
  11. </template>
  12. <script lang="ts">
  13. import Vue from 'vue'
  14. export default Vue.extend({
  15. props: {
  16. metadata: {
  17. type: Object,
  18. default: () => ({}),
  19. required: true
  20. }
  21. },
  22. data() {
  23. return {
  24. headers: [
  25. {
  26. text: this.$t('annotation.key'),
  27. align: 'left',
  28. value: 'key',
  29. sortable: false
  30. },
  31. {
  32. text: this.$t('annotation.value'),
  33. align: 'left',
  34. value: 'value',
  35. sortable: false
  36. }
  37. ]
  38. }
  39. },
  40. computed: {
  41. metaArray() {
  42. const items = []
  43. for (const [key, value] of Object.entries(this.metadata)) {
  44. items.push({
  45. key,
  46. value
  47. })
  48. }
  49. return items
  50. }
  51. }
  52. })
  53. </script>