{"version":3,"file":"DatasetDetailsQuality.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsQuality.vue"],"sourcesContent":["<template>\n  <div class=\"mt-3 dsd-quality-container\">\n    <div class=\"row\">\n      <div class=\"col-10 offset-1\" v-if=\"getQualityData.result && getQualityDistributionData.result\">\n        <h2 class=\"dsd-quality-header\">{{ $t('message.header.navigation.data.metadataquality') }}</h2>\n        <div class=\"dsd-quality-description markdown-content\">\n          <p v-html=\"$t('message.datasetDetails.intro.metadataQuality', { locale: $route.query.locale })\"></p>\n        </div>\n        <div class=\"dsd-mq-cards space card-columns\" v-if=\"getQualityData.result\">\n          <div class=\"dsd-mq-card\" v-for=\"(value,name) in getQualityData.result.results[0]\" :key=\"`A-${name}`\">\n            <div :class=\"`dimension-card card dimension-${name}`\" v-if=\"name != 'info' && name != 'validation'\">\n              <div class=\"card-header card-title text-center\">\n                <h3>{{ $t(`message.datasetDetails.quality.${name}`) }}</h3>\n              </div>\n              <ul class=\"dsd-mq-card-list list-group list-group-flush\">\n                <li class=\"dsd-mq-card-list-item list-group-item\" v-for=\"(value, key) in value\" :key=\"`B-${key}`\">\n                  <div class=\"dsd-mq-card-list-item row key-row\">\n                    <div class=\"dsd-mq-card-list-item-left col\" v-for=\"(value, key) in value\" :key=\"`C-${key}`\">\n                      <div v-if=\"key == 'dataset'\">\n                        <div v-for=\"(value, key) in value\" :key=\"`D-${key}`\">\n                          <div\n                            v-for=\"(value, key) in value\"\n                            class=\"dataset-space\"\n                            :key=\"`E-${key}`\"\n                          >\n                            <i class=\"dsd-mq-card-info-icon material-icons align-text-bottom small-icon has-tooltip\"\n                              data-toggle=\"tooltip\"\n                              data-placement=\"right\"\n                              data-html=\"true\"\n                              :title=\"$t(`message.tooltip.quality.${key}`)\">\n                              info_outline\n                            </i>\n                            {{ $t('message.header.navigation.data.datasets') }}: {{ $t(`message.datasetDetails.quality.${key}`) }}\n                          </div>\n                        </div>\n                      </div>\n                      <div v-else-if=\"key == 'distributions'\">\n                        <div v-for=\"(value, key) in value\" :key=\"`F-${key}`\">\n                          <div\n                            v-for=\"(value, key) in value\"\n                            class=\"dataset-space\"\n                            :key=\"`H-${key}`\"\n                          >\n                            <i class=\"dsd-mq-card-info-icon material-icons align-text-bottom small-icon has-tooltip\"\n                              data-toggle=\"tooltip\"\n                              data-placement=\"right\"\n                              data-html=\"true\"\n                              :title=\"$t(`message.tooltip.quality.${key}`)\">\n                              info_outline\n                            </i>\n                            {{ $t('message.metadata.distributions') }}: {{ $t(`message.datasetDetails.quality.${key}`) }}\n                          </div>\n                        </div>\n                      </div>\n                      <span v-else>\n                         <i class=\"dsd-mq-card-info-icon material-icons align-text-bottom small-icon has-tooltip\"\n                            data-toggle=\"tooltip\"\n                            data-placement=\"right\"\n                            data-html=\"true\"\n                            :title=\"$t(`message.tooltip.quality.${key}`)\">\n                            info_outline\n                          </i>\n                        {{ $t(`message.datasetDetails.quality.${key}`) }}\n                      </span>\n                    </div>\n                    <div class=\"dsd-mq-card-list-item-right\" v-for=\"(value, key) in value\" :key=\"`I-${key}`\" >\n                      <div v-if=\"value.length == 0\" class=\"col-auto text-right\">\n                        <span class=\"badge-no\">n/a</span>\n                      </div>\n                      <div v-else-if=\"key == 'accessUrlStatusCode'\" class=\"col-auto text-right\">\n                        <div v-for=\"(value, key) in value\" :key=\"`J-${key}`\">\n                          <div class=\"access-space values-container\">\n                            <div class=\"row\">\n                              <div class=\"col-auto\">\n                                <span :class=\"`badge-yes-${name}`\">{{value.name}}</span>\n                              </div>\n                              <div class=\"col text-right\">\n                                <span class=\"access-percentage\">{{value.percentage}} %</span>\n                              </div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                      <div v-else-if=\"key == 'downloadUrlStatusCode'\" class=\"col-auto text-right\">\n                        <div v-for=\"(value, key) in value\" :key=\"`K-${key}`\">\n                          <div class=\"access-space\">\n                            <div class=\"row\">\n                              <div class=\"col-auto\">\n                                <span :class=\"`badge-yes-${name}`\">{{value.name}}</span>\n                              </div>\n                              <div class=\"col text-right\">\n                                <span class=\"access-percentage\">{{value.percentage}} %</span>\n                              </div>\n                            </div>\n                          </div>\n                        </div>\n                      </div>\n                      <div\n                        v-else-if=\"key != 'dataset' && key != 'distributions' && value == false\"\n                        class=\"col-auto text-right\"\n                      >\n                        <span class=\"badge-no\">no</span>\n                      </div>\n                      <div\n                        v-else-if=\"key != 'dataset' && key != 'distributions' && value == true\"\n                        class=\"col-auto text-right\"\n                      >\n                        <span :class=\"`badge-yes-${name}`\">yes</span>\n                      </div>\n                      <div\n                        v-if=\"key != 'dataset' && key != 'distributions' && key != 'accessUrlStatusCode' && value.length == 2\"\n                        class=\"col-auto text-right\"\n                      >{{value[0].percentage}} %</div>\n                      <div v-if=\"key == 'dataset'\" class=\"col-auto text-right dataset-space\">\n                        <span v-if=\"getModificationDate && getModificationDate.length == 0\">\n                          <span class=\"badge-n-a\">n/a</span>\n                        </span>\n                        <span v-else :class=\"`badge-yes-${name}`\">yes</span>\n                      </div>\n\n                      <div\n                        v-if=\"key == 'dataset' && value[1].dateIssuedAvailability == false\"\n                        class=\"col-auto text-right\"\n                      >\n                        <div class=\"dataset-space\">\n                          <span class=\"badge-no\">no</span>\n                        </div>\n                      </div>\n                      <div\n                        v-if=\"key == 'dataset' && value[1].dateIssuedAvailability == true\"\n                        class=\"col-auto text-right\"\n                      >\n                        <div class=\"dataset-space\">\n                          <span :class=\"`badge-yes-${name}`\">yes</span>\n                        </div>\n                      </div>\n                      <div v-if=\"key == 'distributions'\" class=\"col-auto text-right dataset-space\">\n                        <span v-if=\"Object.keys(value[0].dateModifiedAvailability).length == 0\">\n                          <span class=\"badge-n-a\">n/a</span>\n                        </span>\n                        <span v-else>{{value[0].dateModifiedAvailability[0].percentage}} %</span>\n                      </div>\n                      <div v-if=\"key == 'distributions'\" class=\"col-auto text-right dataset-space\">\n                        <span v-if=\"Object.keys(value[1].dateIssuedAvailability).length == 0\">\n                          <span class=\"badge-n-a\">n/a</span>\n                        </span>\n                        <span v-else>{{value[1].dateIssuedAvailability[0].percentage}} %</span>\n                      </div>\n                    </div>\n                  </div>\n                  <!-- <div v-for=\"(value, key) in value\" :key=\"`L-${key}`\">\n                    <div\n                      v-if=\"key != 'dataset' && key != 'distributions' && key != 'accessUrlStatusCode' && value.length == 2\"\n                      :class=\"`progress dimension-${name}`\"\n                      style=\"height: 2px;\"\n                    >\n                      <div\n                        class=\"progress-bar quality\"\n                        role=\"progressbar\"\n                        :style=\"`width:${value[0].percentage}%`\"\n                      ></div>\n                    </div>\n                  </div> -->\n                </li>\n              </ul>\n            </div>\n          </div>\n        </div>\n        <h2 class=\"dsd-quality-header mt-5\">{{ $t('message.datasetDetails.quality.distributionQuality') }}</h2>\n        <div class=\"dsd-quality-description markdown-content\">\n          <p v-html=\"$t('message.datasetDetails.intro.distribution', { locale: $route.query.locale })\" />\n        </div>\n        <div v-if=\"getQualityDistributionData.result\" id=\"YEAH\">\n          <div id=\"accordion\" class=\"dsd-dq-cards space\" v-if=\"showLess\">\n            <div\n              v-for=\"(value, key) in getQualityDistributionData.result.results\"\n              class=\"dsd-dq-card card\"\n              :key=\"`B-${key}`\"\n            >\n              <div class=\"card-header distribution\" id=\"headingFirst\"\n                @click=\"clickHandler(key)\"\n                data-toggle=\"collapse\"\n                :data-target=\"`#${value[0].info['distribution-id']}`\"\n                aria-expanded=\"false\"\n                :aria-controls=\"`#${value[0].info['distribution-id']}`\">\n                <h3\n                  class=\"mb-0\"\n                >\n                  <div class=\"row dist\">\n                    <div class=\"col-10\">\n                      <div class=\"dist-head\">{{value[0].info[\"distribution-title\"]}}</div>\n                    </div>\n                    <div class=\"col-2\">\n                      <!-- <div class=\"badge badge-light format\">XML</div> -->\n                      <div\n                        class=\"float-right small-arrow\"\n                        v-bind:class=\"{ active: key === activeItem}\"\n                      >\n                        <svg\n                          width=\"12px\"\n                          height=\"12px\"\n                          viewBox=\"0 0 16 16\"\n                          class=\"bi bi-chevron-down text-light\"\n                          fill=\"currentColor\"\n                          xmlns=\"http://www.w3.org/2000/svg\"\n                        >\n                          <path\n                            fill-rule=\"evenodd\"\n                            d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n                          ></path>\n                        </svg>\n                      </div>\n                    </div>\n                  </div>\n                </h3>\n              </div>\n              <div\n                :id=\"`${value[0].info['distribution-id']}`\"\n                class=\"collapse\"\n                :aria-labelledby=\"`${value[0].info['distribution-id']}`\"\n                data-parent=\"#accordion\"\n              >\n                <div class=\"dsd-dq-card-body card-body dist-content\">\n                  <div class=\"row\" v-for=\"(value,key) in value[0]\" :key=\"`N-${key}`\">\n                    <div class=\"dsd-dq-dimension col-12 space move\" v-if=\"key != 'info' && key != 'validation'\">\n                      <div\n                        class=\"dimension-headline\"\n                      >{{ $t(`message.datasetDetails.quality.${key}`) }}</div>\n                      <div class=\"dsd-dq-dimension-items row\">\n                        <div class=\"dsd-dq-dimenison-items-left col-md-6\">\n                          <ul class=\"keys\">\n                            <li\n                              class=\"list-group-item keys\"\n                              v-for=\"(value,index) in value.slice(0, 2)\"\n                              :key=\"`O-${index}`\"\n                            >\n                              <!-- <li class=\"list-group-item keys\" v-if=\"index <= 1\">  -->\n                              <div class=\"row\">\n                                <div class=\"col\" v-for=\"(value,key) in value\" :key=\"`P-${key}`\">\n                                  <span\n                                    v-if=\"key == 'accessUrlStatusCode' || key == 'downloadUrlStatusCode'\"\n                                    class=\"dsd-dq-dimension-item-title\"\n                                  >{{ $t(`message.datasetDetails.quality.distributions.${key}`) }}</span>\n                                  <span class=\"dsd-dq-dimension-item-title\" v-else>{{ $t(`message.datasetDetails.quality.${key}`) }}</span>\n                                </div>\n                                <div v-for=\"(value,key) in value\" :key=\"`Q-${key}`\">\n                                  <div class=\"col-auto text-right\" v-if=\"value == false\">\n                                    <span class=\"badge-no\">no</span>\n                                  </div>\n                                  <div class=\"col-auto text-right\" v-else-if=\"value == true\">\n                                    <span :class=\"`badge-yes`\">yes</span>\n                                  </div>\n                                  <div\n                                    class=\"col-auto text-right\"\n                                    v-else-if=\"isAccessAndDownloadUrlStatusCodeAvailable(key, value)\"\n                                  >\n                                    <span :class=\"`badge-yes`\">{{value}}</span>\n                                  </div>\n                                  <div class=\"col-auto text-right\" v-else>\n                                    <span :class=\"`badge-n-a`\">n/a</span>\n                                  </div>\n                                </div>\n                              </div>\n                            </li>\n                          </ul>\n                        </div>\n                        <div class=\"col-md-6\">\n                          <ul class=\"keys\">\n                            <li\n                              class=\"list-group-item keys\"\n                              v-for=\"(value,index) in value.slice(2)\"\n                              :key=\"`S-${index}`\"\n                            >\n                              <!-- <li class=\"list-group-item keys\" v-if=\"index <= 1\">       -->\n                              <div class=\"row\">\n                                <div class=\"col\" v-for=\"(value,key) in value\" :key=\"`R-${key}`\">\n                                  <span\n                                    v-if=\"key == 'accessUrlStatusCode' || key == 'downloadUrlStatusCode'\"\n                                    class=\"dsd-dq-dimension-item-title\"\n                                  >{{ $t(`message.datasetDetails.quality.distributions.${key}`) }}</span>\n                                  <span class=\"dsd-dq-dimension-item-title\" v-else>{{ $t(`message.datasetDetails.quality.${key}`) }}</span>\n                                </div>\n                                <div v-for=\"(value,key) in value\" :key=\"`t-${key}`\">\n                                  <div class=\"col-auto text-right\" v-if=\"value == false\">\n                                    <span class=\"badge-no\">no</span>\n                                  </div>\n                                  <div class=\"col-auto text-right\" v-else-if=\"value == true\">\n                                    <span :class=\"`badge-yes`\">yes</span>\n                                  </div>\n                                  <div\n                                    class=\"col-auto text-right\"\n                                    v-else-if=\"isAccessAndDownloadUrlStatusCodeAvailable(key, value)\"\n                                  >\n                                    <span :class=\"`badge-yes`\">{{value}}</span>\n                                  </div>\n                                  <div class=\"col-auto text-right\" v-else>\n                                    <span :class=\"`badge-n-a`\">n/a</span>\n                                  </div>\n                                </div>\n                              </div>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                  <!-- CSV Linter -->\n                  <div class=\"row accordion-body\">\n                    <div class=\"col-12\">\n                      <CSVLinter v-if=\"enableCSVLinter && showCSVLinter(key, value[0].info['distribution-id'])\" :validation=\"qualityDistributionValidation[key]\"></CSVLinter>\n                    </div>\n                </div>\n                </div>\n              </div>\n            </div>\n            <div class=\"col-12 text-center\" v-if=\"getQualityDistributionData.result.count >= 6\">\n            <button class=\"btn btn-light mt-3 text-center\" @click=\"showLess = false\"> {{ $t(`message.metadata.showMore`) }} <i class=\"material-icons align-middle small-icon\">keyboard_arrow_down</i> </button>\n            </div>\n          </div>\n          <div id=\"accordion\" class=\"dsd-dq-cards space\" v-else>\n            <div\n              v-for=\"(value, key) in getQualityDistributionData.result.results\"\n              class=\"dsd-dq-card card\"\n              :key=\"`B-${key}`\"\n            >\n              <div\n              class=\"card-header distribution\"\n              id=\"headingFirst\"\n              data-toggle=\"collapse\"\n              :data-target=\"`#${value[0].info['distribution-id']}`\"\n              aria-expanded=\"false\"\n              :aria-controls=\"`#${value[0].info['distribution-id']}`\"\n              @click=\"clickHandler(key)\">\n                <h3\n                  class=\"mb-0\"\n                >\n                  <div class=\"row dist\">\n                    <div class=\"col-10\">\n                      <div class=\"dist-head\">{{value[0].info[\"distribution-title\"]}}</div>\n                    </div>\n                    <div class=\"col-2\">\n                      <!-- <div class=\"badge badge-light format\">XML</div> -->\n                      <div\n                        class=\"float-right small-arrow\"\n                        v-bind:class=\"{ active: key === activeItem}\"\n                      >\n                        <svg\n                          width=\"12px\"\n                          height=\"12px\"\n                          viewBox=\"0 0 16 16\"\n                          class=\"bi bi-chevron-down text-light\"\n                          fill=\"currentColor\"\n                          xmlns=\"http://www.w3.org/2000/svg\"\n                        >\n                          <path\n                            fill-rule=\"evenodd\"\n                            d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n                          ></path>\n                        </svg>\n                      </div>\n                    </div>\n                  </div>\n                </h3>\n              </div>\n              <div\n                :id=\"`${value[0].info['distribution-id']}`\"\n                class=\"collapse\"\n                :aria-labelledby=\"`${value[0].info['distribution-id']}`\"\n                data-parent=\"#accordion\"\n              >\n                <div class=\"dsd-dq-card-body card-body dist-content\">\n                  <div class=\"row\" v-for=\"(value,key) in value[0]\" :key=\"`N-${key}`\">\n                    <div class=\"dsd-dq-dimension col-12 space move\" v-if=\"key != 'info'\">\n                      <div\n                        class=\"dimension-headline\"\n                      >{{ $t(`message.datasetDetails.quality.${key}`) }}</div>\n                      <div class=\"dsd-dq-dimension-items row\">\n                        <div class=\"dsd-dq-dimenison-items-left col-md-6\">\n                          <ul class=\"keys\">\n                            <li\n                              class=\"list-group-item keys\"\n                              v-for=\"(value,index) in value.slice(0, 2)\"\n                              :key=\"`O-${index}`\"\n                            >\n                              <!-- <li class=\"list-group-item keys\" v-if=\"index <= 1\">  -->\n                              <div class=\"row\">\n                                <div class=\"col\" v-for=\"(value,key) in value\" :key=\"`P-${key}`\">\n                                  <span\n                                    v-if=\"key == 'accessUrlStatusCode' || key == 'downloadUrlStatusCode'\"\n                                    class=\"dsd-dq-dimension-item-title\"\n                                  >{{ $t(`message.datasetDetails.quality.distributions.${key}`) }}</span>\n                                  <span class=\"dsd-dq-dimension-item-title\" v-else>{{ $t(`message.datasetDetails.quality.${key}`) }}</span>\n                                </div>\n                                <div v-for=\"(value,key) in value\" :key=\"`Q-${key}`\">\n                                  <div class=\"col-auto text-right\" v-if=\"value == false\">\n                                    <span class=\"badge-no\">no</span>\n                                  </div>\n                                  <div class=\"col-auto text-right\" v-else-if=\"value == true\">\n                                    <span :class=\"`badge-yes`\">yes</span>\n                                  </div>\n                                  <div\n                                    class=\"col-auto text-right\"\n                                    v-else-if=\"isAccessAndDownloadUrlStatusCodeAvailable(key, value)\"\n                                  >\n                                    <span :class=\"`badge-yes`\">{{value}}</span>\n                                  </div>\n                                  <div class=\"col-auto text-right\" v-else>\n                                    <span :class=\"`badge-n-a`\">n/a</span>\n                                  </div>\n                                </div>\n                              </div>\n                            </li>\n                          </ul>\n                        </div>\n                        <div class=\"col-md-6\">\n                          <ul class=\"keys\">\n                            <li\n                              class=\"list-group-item keys\"\n                              v-for=\"(value,index) in value.slice(2)\"\n                              :key=\"`S-${index}`\"\n                            >\n                              <!-- <li class=\"list-group-item keys\" v-if=\"index <= 1\">       -->\n                              <div class=\"row\">\n                                <div class=\"col\" v-for=\"(value,key) in value\" :key=\"`R-${key}`\">\n                                  <span\n                                    v-if=\"key == 'accessUrlStatusCode' || key == 'downloadUrlStatusCode'\"\n                                    class=\"dsd-dq-dimension-item-title\"\n                                  >{{ $t(`message.datasetDetails.quality.distributions.${key}`) }}</span>\n                                  <span class=\"dsd-dq-dimension-item-title\" v-else>{{ $t(`message.datasetDetails.quality.${key}`) }}</span>\n                                </div>\n                                <div v-for=\"(value,key) in value\" :key=\"`t-${key}`\">\n                                  <div class=\"col-auto text-right\" v-if=\"value == false\">\n                                    <span class=\"badge-no\">no</span>\n                                  </div>\n                                  <div class=\"col-auto text-right\" v-else-if=\"value == true\">\n                                    <span :class=\"`badge-yes`\">yes</span>\n                                  </div>\n                                  <div\n                                    class=\"col-auto text-right\"\n                                    v-else-if=\"isAccessAndDownloadUrlStatusCodeAvailable(key, value)\"\n                                  >\n                                    <span :class=\"`badge-yes`\">{{value}}</span>\n                                  </div>\n                                  <div class=\"col-auto text-right\" v-else>\n                                    <span :class=\"`badge-n-a`\">n/a</span>\n                                  </div>\n                                </div>\n                              </div>\n                            </li>\n                          </ul>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n            </div>\n            <div class=\"col-12 text-center\">\n            <button class=\"btn btn-light mt-3 text-center\" @click=\"showLess = true\"> {{ $t(`message.metadata.showLess`) }}  <i class=\"material-icons align-middle small-icon\">keyboard_arrow_up</i></button>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div v-else-if=\"isLoadingQualityData || isLoadingQualityDistributionData\" class=\"loading-spinner mx-auto mb-4\"></div>\n      <div v-else class=\"col-10 offset-1 no-quality-data\">\n            <div class=\"no-qualitiy-data alert alert-secondary\">\n                <i class=\"fas fa-exclamation-circle\"></i>\n                 {{ $t('message.datasetDetails.quality.nodata') }}\n            </div>\n       </div>\n      <div class=\"space\"></div>\n    </div>\n  </div>\n</template>\n\n<script>\n  import $ from 'jquery';\n  import { mapActions, mapGetters } from 'vuex';\n  import { has } from 'lodash-es';\n  import { getTranslationFor } from \"../utils/helpers\";\n  import * as metaInfo from \"../composables/head\";\n\n  import CSVLinter from './DatasetDetailsCSVLinter.vue';\n\n  export default {\n    name: 'datasetDetailsCategories',\n    components: {\n      CSVLinter,\n    },\n    data() {\n      return {\n        samplewidth: 20,\n        isActive: false,\n        activeItem: -1,\n        showLess: true,\n        isLoadingQualityData: false,\n        isLoadingQualityDistributionData: false,\n        enableCSVLinter: this.$env.content.datasetDetails.quality.csvLinter.enable,\n        useDQVDataDropdown: this.$env.content.datasetDetails.quality.useDQVDataDropdown,\n        useQualityData: this.$env.content.datasetDetails.quality.useQualityData,\n        useQualityDistributionData: this.$env.content.datasetDetails.quality.useQualityDistributionData,\n        formats: this.$env.content.datasetDetails.quality.formatsDQVData,\n      };\n    },\n    computed: {\n      // import store-getters\n      ...mapGetters('datasetDetails', [\n        'getIsDQVDataRequested',\n        'getQualityDataRequested',\n        'getQualityData',\n        'getQualityDistributionData',\n        'getDistributions',\n        'getID',\n        'getModificationDate',\n      ]),\n      qualityDistributionValidation() {\n          if (!this.getQualityDistributionData.result) return [];\n\n          let results = this.getQualityDistributionData.result.results;\n\n          return results.map(result => {\n              let data = result[0];\n\n              return has(data, 'validation')\n                  ? data.validation\n                  : {};\n          });\n        },\n    },\n    methods: {\n      ...mapActions('datasetDetails', [\n        'loadDatasetDetails',\n        'loadQualityData',\n        'loadQualityDistributionData',\n        'loadDQVData',\n      ]),\n      has,\n      getTranslationFor,\n      isAccessAndDownloadUrlStatusCodeAvailable(key, value) {\n        return (key === 'accessUrlStatusCode' && typeof value !== 'object' && value.length !== 0) || (key === 'downloadUrlStatusCode' && typeof value !== 'object' && value.length !== 0);\n      },\n      clickHandler(idx) {\n        if (this.activeItem > -1) {\n          this.activeItem = -1;\n        } else {\n          this.activeItem = idx;\n        }\n      },\n      scrollToElement(id) {\n          document.getElementById(id).scrollIntoView(true);\n      },\n      checkDistributionValidation() {\n          let query = this.$route.query.validate;\n          if (document.getElementById(query)) this.scrollToElement(query)\n      },\n      showCSVLinter(key, id) {\n        let distributions = this.getDistributions.filter(dist => dist.id === id)\n        let format = distributions.length > 0\n          ? distributions[0].format.id === 'CSV'\n          : false\n        return this.qualityDistributionValidation[key] && format;\n      },\n    },\n    created() {\n      this.$nextTick(() => {\n        \n        // Duplicated API call, execute only if data not already loaded\n        if (this.$route.params.ds_id !== this.getID) {\n          this.$Progress.start();\n          this.loadDatasetDetails(this.$route.params.ds_id)\n            .then(() => {\n              this.$Progress.finish();\n              $('[data-toggle=\"tooltip\"]').tooltip({\n                container: 'body',\n              });\n            })\n            .catch(() => {\n              this.$Progress.fail();\n              this.$router.replace({\n                name: 'NotFound',\n                query: { locale: this.$route.query.locale, dataset: this.$route.params.ds_id },\n              });\n            });\n        \n        }\n\n        // Duplicated API call, execute only if data not already loaded\n        if (this.$route.params.ds_id !== this.getQualityDataRequested) {\n         \n          if (this.useQualityData) {\n            this.$Progress.start();\n            this.isLoadingQualityData = true;\n            this.loadQualityData(this.$route.params.ds_id)\n              .then(() => {\n                this.$Progress.finish();\n                this.isLoadingQualityData = false;\n              })\n              .catch(() => {\n                this.$Progress.fail();\n                this.isLoadingQualityData = false;\n              });\n          }\n          \n          if (this.useQualityDistributionData) {\n            this.$Progress.start();\n            this.isLoadingQualityDistributionData = true;\n            this.loadQualityDistributionData(this.$route.params.ds_id)\n              .then(() => {\n                this.$Progress.finish();\n                this.isLoadingQualityDistributionData = false;\n                this.checkDistributionValidation();\n              })\n              .catch(() => {\n                this.$Progress.fail();\n                this.isLoadingQualityDistributionData = false;\n              });\n          } \n        }\n\n        // Duplicated API call, execute only if data not already loaded\n        if (this.$route.params.ds_id !== this.getIsDQVDataRequested) {\n          if (this.useDQVDataDropdown) {\n            this.$Progress.start();\n            this.loadDQVData({ id: this.$route.params.ds_id, formats: this.formats, locale: this.$route.query.locale })\n              .then(() => {\n                this.$Progress.finish();\n                $('[data-toggle=\"tooltip\"]').tooltip({\n                  container: 'body',\n                });\n              })\n              .catch(() => {\n                this.$Progress.fail();\n              });\n          }\n        }\n      });\n    },\n    mounted() {\n      $('[data-toggle=\"tooltip\"]').tooltip({\n        container: 'body',\n      });\n    },\n    setup() {\n      metaInfo.useDatasetDetailsQualityHead();\n    }\n  };\n</script>\n\n<style lang=\"scss\" scoped>\n  //@import '../../styles/bootstrap_theme';\n  //@import '../../styles/utils/css-animations';\n\n.dimension-card {\n  // Default background color to be overwritten\n  background-color: var(--gray);\n  color: rgba(rgb(255, 255, 255), 1.00);\n  border-radius: 4px;\n\n  &.clickable {\n    transition: transform .4s ease;\n\n    &:hover {\n    transition: transform .4s ease;\n    transform: scale(1.01);\n    }\n\n    &::after {\n      content: '';\n      position: absolute;\n      z-index: -1;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      width: 100%;\n      height: 100%;\n      transition: opacity .5s cubic-bezier(.25, .8, .25, 1);\n      box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25), 0 4px 8px rgba(0, 0, 0, 0.22);\n      opacity: 0;\n    }\n\n    &:hover::after {\n      opacity: 1;\n    }\n  }\n\n  .list-group {\n    .list-group-item {\n      margin-bottom: -1px;\n      border: 0;\n      background: rgba(0, 0, 0, 0.12);\n    }\n  }\n\n  .card-title {\n    hyphens: auto;\n    margin-top: 5px;\n  }\n}\n.no-quality-data {\n  // margin-left: -10px;\n}\n\n.space {\n  margin-top: 20px;\n}\n\n.quality-dimension {\n  color: #000;\n\n}\n\n.progress-bar {\n  background-color: #ffffff;\n}\n\n.badge-no {\n  background-color: rgba(0, 0, 0, 0.174);\n  padding: 3px 14px 3px 14px;\n  border-radius:3px;\n}\n\n.badge-n-a {\n  background-color: rgba(0, 0, 0, 0.174);\n  padding: 3px 11px 3px 12px;\n  border-radius:3px;\n}\n\n.badge-yes-interoperability {\n  padding: 3px 10px 3px 10px;\n  border-radius:3px;\n  background-color: #0024A7;\n}\n.badge-yes-findability {\n  padding: 3px 10px 3px 10px;\n  border-radius:3px;\n  background-color: #00997A;\n}\n.badge-yes-accessibility {\n  padding: 3px 10px 3px 10px;\n  border-radius:3px;\n  background-color: #4A82FA;\n  margin-bottom: 3px;\n}\n.badge-yes-reusability {\n  padding: 3px 10px 3px 10px;\n  border-radius:3px;\n  background-color:#DC5149;\n}\n.badge-yes-contextuality {\n  padding: 3px 10px 3px 10px;\n  border-radius:3px;\n  background-color: #ffcc00;\n}\n\n@mixin gradient($colors...) {\n  background-color: nth($colors, 1);\n  background: -webkit-linear-gradient(left top, $colors);\n  background: linear-gradient(to left top, $colors);\n}\n\n.dimension-accessibility {\n  @include gradient(var(--deu-logo-medium-blue-gradient));\n}\n\n.dimension-findability {\n  @include gradient(var(--deu-badge-green-gradient));\n}\n\n.dimension-interoperability {\n  @include gradient(var(--deu-logo-blue-gradient));\n}\n\n.dimension-reusability {\n  @include gradient(var(--deu-dark-orange-gradient));\n}\n\n.dimension-contextuality {\n  @include gradient(var(--deu-logo-yellow-gradient));\n}\n\n.dimension-total {\n  // background-color: $gray;\n}\n\n.dimension-scoring {\n  background-image: var(--deu-badge-black-gradient);\n}\n\n.small-arrow {\n  vertical-align: middle;\n}\n\n.card {\n  border-radius: 5px !important;\n}\n\n.card-header {\n    padding: 0.75rem 1.25rem;\n    margin-bottom: 0;\n   // background-color: rgba(0, 0, 0, 0.03);\n    /* border-bottom: 1px solid rgba(0, 0, 0, 0.125); */\n}\n\n.btn-link {\n  color: #fff;\n}\n\n.distribution {\n   background: rgb(41,99,140);\n   background: linear-gradient(90deg, rgba(41,99,140,1) 0%, rgba(33,71,115,1) 100%);\n   cursor: pointer;\n}\n\n.dist-head {\n  color: #fff;\n  font-weight: 100;\n  text-overflow: ellipsis;\n  overflow: hidden;\n  white-space: nowrap;\n  font-size: 17px;\n  vertical-align: middle;\n  margin-top: 2px;\n}\n.dist-content {\n  background: #31668c;\n  color: #fff;\n}\n\n#headingFirst {\n // \"One\" mit id \"0\" ersetzen aus index der For-Schleife\n border-radius: 2px;\n}\n\n.format {\n  font-size: 12px;\n  border-radius: 2px;\n  color: rgb(58, 58, 58);\n  // margin-top: 10px;\n  margin-left: 0px;\n  vertical-align: middle;\n  margin-bottom: 2px;\n}\n\n.dist {\n  padding: 3px;\n}\n\n.list-group-item {\n    position: relative;\n    display: block;\n    padding: 0.75rem 1.25rem;\n    margin-bottom: -1px;\n    background-color: transparent;\n    border: none;\n}\n\n.keys {\n  padding-left: 0px !important;\n  color: rgb(235, 235, 235);\n  font-weight: 100;\n}\n\n.badge-yes {\n  background-color:#407ca5;\n  padding: 3px 10px 3px 10px;\n  border-radius:3px;\n}\n\n.active {\n   transform: rotate(180deg);\n}\n\n.bottom {\n  margin-top: 60px;\n}\n\n.move {\n  margin-left: 5px;\n}\n\n.dimension-dist {\n  background-color: #407ca5;\n}\n\n.dimension-headline {\n  font-size: 24px !important;\n  margin-bottom: 15px;\n}\n\n.access-percentage {\n  padding-left: 30px;\n}\n\n.access-space {\n  margin-top: 6px;\n  margin-bottom: 3px;\n}\n\n.dataset-space {\n  margin-top:6px;\n  margin-bottom: 3px;\n}\n\n.key-row {\n  font-size: 17px;\n}\n\n@media (min-width: 876px) {\n  .card-columns {\n    column-count: 2;\n    column-gap: 1.25rem;\n    orphans: 1;\n    widows: 1;\n}\n}\n\n@media (max-width: 876px) {\n  .card-columns {\n    column-count: 1;\n    column-gap: 1.25rem;\n    orphans: 1;\n    widows: 1;\n}\n}\n\n#accordion {\n  margin-bottom: 25px;\n}\n\n.values-container {\n   margin-top: 0px;\n}\n\n</style>\n"],"names":["_sfc_main","CSVLinter","mapGetters","result","data","has","mapActions","getTranslationFor","key","value","idx","id","query","distributions","dist","format","$","metaInfo.useDatasetDetailsQualityHead","_hoisted_1","_hoisted_2","_hoisted_4","_hoisted_5","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_37","_hoisted_44","_hoisted_45","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_56","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_80","_hoisted_81","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_91","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_115","_hoisted_118","_openBlock","_createElementBlock","_createElementVNode","_ctx","_hoisted_3","_toDisplayString","_hoisted_7","_Fragment","_renderList","name","_hoisted_11","_hoisted_12","_createTextVNode","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_cache","_hoisted_18","_hoisted_24","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_38","_hoisted_39","_hoisted_41","_hoisted_42","_hoisted_47","$data","_hoisted_48","$event","$options","_normalizeClass","_hoisted_57","index","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_createBlock","_component_CSVLinter","_hoisted_82","_hoisted_83","_hoisted_92","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_116","_hoisted_117"],"mappings":"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"}