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.

ItemPreview.vue 863B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <template>
  2. <div :class="{preview: true}">
  3. <div class="preview-image" :style="{backgroundImage: 'url(' + preview.img + ')'}" />
  4. <div class="preview-description">
  5. <h3>{{ preview.title }}</h3>
  6. <p>{{ preview.text }}</p>
  7. <input :id="'accessibility-' + preview.id"
  8. v-model="checked"
  9. type="checkbox"
  10. class="checkbox">
  11. <label :for="'accessibility-' + preview.id">{{ t('accessibility', 'Enable') }} {{ preview.title.toLowerCase() }}</label>
  12. </div>
  13. </div>
  14. </template>
  15. <script>
  16. export default {
  17. name: 'ItemPreview',
  18. props: {
  19. preview: {
  20. type: Object,
  21. required: true
  22. },
  23. selected: {
  24. type: String,
  25. default: null
  26. }
  27. },
  28. computed: {
  29. checked: {
  30. get() {
  31. return this.selected === this.preview.id
  32. },
  33. set(checked) {
  34. this.$emit('select', checked ? this.preview.id : false, this.selected)
  35. }
  36. }
  37. }
  38. }
  39. </script>