SpeciesFileGroup/taxonworks

View on GitHub
app/javascript/vue/tasks/observation_matrices/matrix_row_coder/MatrixRowCoder/Description/DescriptionSimilar.vue

Summary

Maintainability
Test Coverage
<template>
  <div>
    <h3>Similar objects</h3>
    <ul class="no_bullets">
      <li
        v-for="item in similarObjects"
        :key="item.observation_matrix_row_id"
      >
        <span>({{ item.similarities }})</span>
        <span v-html="item.otu_label || item.collection_object_label" />
      </li>
    </ul>
  </div>
</template>

<script>
import { GetterNames } from '../../store/getters/getters'
import { sortArray } from '@/helpers/arrays'

export default {
  computed: {
    similarObjects() {
      const objects =
        this.$store.getters[GetterNames.GetDescription]?.similar_objects || []
      const orderSimilars = sortArray(objects, 'similarities', false)

      return objects.length
        ? orderSimilars.filter(
            (item) => item.similarities === orderSimilars[0].similarities
          )
        : []
    }
  }
}
</script>