Migra todas as :keys de para os <template>s. #794.

This commit is contained in:
mateuswetah 2023-07-10 14:28:09 -03:00
parent a7de4b0451
commit 7adf34050a
44 changed files with 485 additions and 442 deletions

View File

@ -522,7 +522,7 @@
:disabled="form.enable_cover_page != 'yes'"
check-infinite-scroll
@infinite-scroll="fetchMoreCoverPages">
<template slot-scope="props">
<template v-slot="props">
{{ props.option.title.rendered }}
</template>
<template slot="empty">{{ $i18n.get('info_no_page_found') }}</template>

View File

@ -422,10 +422,11 @@
{{ metadataSection.description }}
</p>
<template v-for="(itemMetadatum, index) of itemMetadata">
<template
v-for="(itemMetadatum, index) of itemMetadata"
:key="index">
<tainacan-form-item
v-if="itemMetadatum.metadatum.metadata_section_id == metadataSection.id"
:key="index"
:id="'metadatum-index--' + index"
v-show="(!showOnlyRequiredMetadata || itemMetadatum.metadatum.required === 'yes') && (metadataNameFilterString == '' || filterByMetadatumName(itemMetadatum))"
:class="{ 'is-metadata-navigation-active': isMetadataNavigation }"
@ -601,6 +602,12 @@
</form>
</transition>
<transition
mode="out-in"
:name="(isOnSequenceEdit && sequenceRightDirection != undefined) ? (sequenceRightDirection ? 'page-right' : 'page-left') : ''">
<!-- In case user enters this page whithout having permission -->
<template v-if="!isLoading && ((isCreatingNewItem && collection && collection.current_user_can_edit_items == false) || (!isCreatingNewItem && item && item.current_user_can_edit != undefined && collection && collection.current_user_can_edit_items == false))">
<section class="section">

View File

@ -165,7 +165,7 @@
:append-to-body="true"
check-infinite-scroll
@infinite-scroll="fetchMoreParentTerms">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div
v-if="props.option.header_image"

View File

@ -15,7 +15,7 @@
:placeholder="(metadatumType === 'Tainacan\\Metadata_Types\\Relationship') ? $i18n.get('info_type_to_search_items') : $i18n.get('info_type_to_search_metadata')"
check-infinite-scroll
@infinite-scroll="searchMore">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div
class="media-left"

View File

@ -17,7 +17,7 @@
:placeholder="getInputPlaceholder"
check-infinite-scroll
@infinite-scroll="searchMore">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div
class="media-left"

View File

@ -18,7 +18,7 @@
:placeholder="$i18n.get('info_type_to_add_terms')"
check-infinite-scroll
@infinite-scroll="searchMore">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div class="media-content">
<span class="ellipsed-text">{{ props.option.label }}</span>

View File

@ -24,92 +24,92 @@
</tr>
</thead>
<tbody v-if="!isLoading">
<template v-for="(capability, index) of capabilities">
<tr :key="index">
<!-- Name -->
<tr
v-for="(capability, index) of capabilities"
:key="index">
<!-- Name -->
<td
class="column-default-width column-main-content"
:label="$i18n.get('label_name')"
:aria-label="$i18n.get('label_name') + ': ' + capability.display_name">
<p
v-tooltip="{
delay: {
shown: 500,
hide: 120,
},
content: capability.display_name,
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}">
{{ capability.display_name }}
</p>
</td>
<!-- Description -->
<td
class="table-creation column-large-width"
:label="$i18n.get('label_description')"
:aria-label="$i18n.get('label_description') + ': ' + capability.description">
<p
v-tooltip="{
delay: {
shown: 500,
hide: 120,
},
content: capability.description,
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-html="capability.description"/>
</td>
<!-- Associated Roles -->
<complete-roles-list
v-if="capability.roles"
:complete-roles-list="getCompleteRolesList(capability.roles, capability.roles_inherited)">
<td
class="column-default-width column-main-content"
:label="$i18n.get('label_name')"
:aria-label="$i18n.get('label_name') + ': ' + capability.display_name">
slot-scope="props"
class="table-creation column-small-width"
:label="$i18n.get('label_associated_roles')"
:aria-label="$i18n.get('label_associated_roles') + ': ' + props['complete-roles-list']">
<p
v-tooltip="{
delay: {
shown: 500,
hide: 120,
},
content: capability.display_name,
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}">
{{ capability.display_name }}
</p>
</td>
<!-- Description -->
<td
class="table-creation column-large-width"
:label="$i18n.get('label_description')"
:aria-label="$i18n.get('label_description') + ': ' + capability.description">
<p
v-tooltip="{
delay: {
shown: 500,
hide: 120,
},
content: capability.description,
content: props['complete-roles-list'],
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-html="capability.description"/>
v-html="props['complete-roles-list']"/>
</td>
<!-- Associated Roles -->
<complete-roles-list
v-if="capability.roles"
:complete-roles-list="getCompleteRolesList(capability.roles, capability.roles_inherited)">
<td
slot-scope="props"
class="table-creation column-small-width"
:label="$i18n.get('label_associated_roles')"
:aria-label="$i18n.get('label_associated_roles') + ': ' + props['complete-roles-list']">
<p
</complete-roles-list>
<!-- Actions -->
<td
class="actions-cell column-default-width"
:label="$i18n.get('label_actions')">
<div class="actions-container">
<a
id="button-edit"
:aria-label="$i18n.get('edit')"
@click="openCapabilitiyEditModal(index)">
<span
v-tooltip="{
delay: {
shown: 500,
hide: 120,
},
content: props['complete-roles-list'],
autoHide: false,
content: $i18n.get('edit'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
placement: 'auto'
}"
v-html="props['complete-roles-list']"/>
</td>
</complete-roles-list>
<!-- Actions -->
<td
class="actions-cell column-default-width"
:label="$i18n.get('label_actions')">
<div class="actions-container">
<a
id="button-edit"
:aria-label="$i18n.get('edit')"
@click="openCapabilitiyEditModal(index)">
<span
v-tooltip="{
content: $i18n.get('edit'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto'
}"
class="icon">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-edit"/>
</span>
</a>
</div>
</td>
</tr>
</template>
class="icon">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-edit"/>
</span>
</a>
</div>
</td>
</tr>
</tbody>
</table>
</div>
@ -122,7 +122,7 @@
// Auxiliary component for avoinding multiple calls to getCompleteRolesList
const CompleteRolesList = {
render() {
return this.$scopedSlots.default(this.$attrs)
return this.$slots.default(this.$attrs)
}
}
export default {

View File

@ -833,10 +833,10 @@
v-html="item.description"
class="metadata-value"/>
</span>
<template v-for="(column, metadatumIndex) in displayedMetadata">
<template
v-for="(column, metadatumIndex) in displayedMetadata"
:key="metadatumIndex">
<span
:key="metadatumIndex"
v-if="renderMetadata(item.metadata, column) != '' && column.display && column.slug != 'thumbnail' && (column.metadata_type_object != undefined && (column.metadata_type_object.related_mapped_prop != 'title'))"
:class="{ 'metadata-type-textarea': column.metadata_type_object != undefined && column.metadata_type_object.component == 'tainacan-textarea' }">
<h3 class="metadata-label">{{ column.name }}</h3>
@ -845,7 +845,6 @@
class="metadata-value"/>
</span>
<span
:key="metadatumIndex"
v-if="(column.metadatum == 'row_modification' || column.metadatum == 'row_creation' || column.metadatum == 'row_author') && item[column.slug] != undefined && column.display">
<h3 class="metadata-label">{{ column.name }}</h3>
<p
@ -879,9 +878,10 @@
</th>
<!-- Displayed Metadata -->
<template v-for="(column, index) in displayedMetadata">
<template
v-for="(column, index) in displayedMetadata"
:key="index">
<th
:key="index"
v-if="column.display"
class="column-default-width"
:class="{
@ -957,9 +957,10 @@
</span>
</td>
<!-- Item Displayed Metadata -->
<template v-for="(column, columnIndex) in displayedMetadata">
<template
v-for="(column, columnIndex) in displayedMetadata"
:key="columnIndex">
<td
:key="columnIndex"
v-if="column.display"
class="column-default-width"
:class="{ 'metadata-type-textarea': column.metadata_type_object != undefined && column.metadata_type_object.component == 'tainacan-textarea',
@ -1337,19 +1338,18 @@
v-html="item.description"
class="metadata-value"/>
</span>
<template v-for="(column, metadatumIndex) in displayedMetadata">
<template
v-for="(column, metadatumIndex) in displayedMetadata"
:key="metadatumIndex">
<span
v-if="renderMetadata(item.metadata, column) != '' && column.display && column.slug != 'thumbnail' && (column.metadata_type_object != undefined && (column.metadata_type_object.related_mapped_prop != 'title'))"
:key="metadatumIndex"
:class="{ 'metadata-type-textarea': column.metadata_type_object.component == 'tainacan-textarea' }">
<h3 class="metadata-label">{{ column.name }}</h3>
<p
v-html="renderMetadata(item.metadata, column)"
class="metadata-value"/>
</span>
<span
:key="metadatumIndex"
v-if="(column.metadatum == 'row_modification' || column.metadatum == 'row_creation' || column.metadatum == 'row_author') && item[column.slug] != undefined && column.display">
<span v-if="(column.metadatum == 'row_modification' || column.metadatum == 'row_creation' || column.metadatum == 'row_author') && item[column.slug] != undefined && column.display">
<h3 class="metadata-label">{{ column.name }}</h3>
<p
v-html="(column.metadatum == 'row_creation' || column.metadatum == 'row_modification') ? parseDateToNavigatorLanguage(item[column.slug]) : item[column.slug]"
@ -1810,10 +1810,10 @@
v-html="item.description != undefined ? item.description : ''"
class="metadata-value"/>
</span>
<template v-for="(column, metadatumIndex) in displayedMetadata">
<template
v-for="(column, metadatumIndex) in displayedMetadata"
:key="metadatumIndex">
<span
:key="metadatumIndex"
:class="{ 'metadata-type-textarea': column.metadata_type_object != undefined && column.metadata_type_object.component == 'tainacan-textarea' }"
v-if="renderMetadata(item.metadata, column) != '' &&
column.display && column.slug != 'thumbnail' &&
@ -1825,9 +1825,7 @@
v-html="renderMetadata(item.metadata, column)"
class="metadata-value"/>
</span>
<span
:key="metadatumIndex"
v-if="(column.metadatum == 'row_modification' || column.metadatum == 'row_creation' || column.metadatum == 'row_author') && item[column.slug] != undefined">
<span v-if="(column.metadatum == 'row_modification' || column.metadatum == 'row_creation' || column.metadatum == 'row_author') && item[column.slug] != undefined">
<h3 class="metadata-label">{{ column.name }}</h3>
<p
v-html="(column.metadatum == 'row_creation' || column.metadatum == 'row_modification') ? parseDateToNavigatorLanguage(item[column.slug]) : item[column.slug]"

View File

@ -15,15 +15,16 @@
<div
v-if="childItemMetadataGroups.length > 0"
class="multiple-inputs">
<template v-for="(childItemMetadata, groupIndex) of childItemMetadataGroups">
<hr
v-if="groupIndex > 0"
:key="groupIndex">
<template
v-for="(childItemMetadata, groupIndex) of childItemMetadataGroups"
:key="groupIndex">
<hr v-if="groupIndex > 0">
<template v-for="(childItemMetadatum, childIndex) of childItemMetadata">
<template
v-for="(childItemMetadatum, childIndex) of childItemMetadata"
:key="groupIndex + '-' + childIndex">
<div
class="field"
:key="groupIndex + '-' + childIndex"
v-if="isRemovingGroup">
<span class="collapse-handle">
<span class="icon">
@ -53,7 +54,6 @@
<tainacan-form-item
v-else
v-show="(metadataNameFilterString == '' || filterByMetadatumName(childItemMetadatum))"
:key="groupIndex + '-' + childIndex"
:ref="'tainacan-form-item--' + groupIndex + '-' + childIndex"
:item-metadatum="childItemMetadatum"
:hide-collapses="hideCollapses"
@ -78,8 +78,7 @@
<a
v-if="isMultiple"
@click="removeGroup(groupIndex)"
class="add-link"
:key="groupIndex">
class="add-link">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-remove"/>
</span>

View File

@ -32,7 +32,7 @@
@infinite-scroll="searchMore"
:has-counter="false"
@focus="onMobileSpecialFocus">
<template slot-scope="props">
<template v-slot="props">
<div
v-if="!isDisplayingRelatedItemMetadata"
class="media">

View File

@ -75,10 +75,11 @@
<transition-group
name="filter-item"
class="multiple-inputs">
<template v-for="(value, index) of values">
<template
v-for="(value, index) of values"
:key="index">
<component
v-if="index > 0"
:key="index"
:is="metadatumComponent"
v-model="values[index]"
:item-metadatum="itemMetadatum"

View File

@ -134,7 +134,7 @@
:placeholder="$i18n.get('instruction_select_one_or_more_collections')"
@typing="filterCollections"
:loading="loadingCollections">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div
v-if="props.option.thumbnail && props.option.thumbnail['tainacan-small'] && props.option.thumbnail['tainacan-small']"

View File

@ -25,7 +25,7 @@
check-infinite-scroll
@infinite-scroll="loadMoreTerms"
:has-counter="false">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div class="media-content">
{{ props.option.label }}

View File

@ -30,7 +30,7 @@
{{ $i18n.get('info_metadata_autocomplete_suggestions') }}
</span>
</template>
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div class="media-content">
<span class="ellipsed-text">{{ props.option.label }}</span>

View File

@ -27,7 +27,7 @@
check-infinite-scroll
@infinite-scroll="searchMore"
:has-counter="false">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div
v-if="props.option.avatar_urls && props.option.avatar_urls['24']"

View File

@ -30,229 +30,226 @@
<!-- LEGACY LOG API RETURN -->
<div v-if="activity.legacy != undefined && activity.legacy == true">
<template v-for="(diff, attributeName, index) in activity.log_diffs">
<div
:key="index"
class="columns">
<!-- OLD -->
<div class="column is-6">
<!-- Thumbnail -->
<div
class="content"
v-if="attributeName == 'thumbnail'">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_before')})` }}</small>
</p>
<div>
<picture>
<img
width="150px"
:src="diff.old ? diff.old : $thumbHelper.getEmptyThumbnailPlaceholder()"
:alt="attributeName">
</picture>
</div>
</div>
<div
v-if="attributeName == 'attachments'"
class="content">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_before')})` }}</small>
</p>
<div
class="tainacan-attachments-in-modal"
v-if="diff.old.length">
<template v-for="(attachment, anotherIndex) in diff.old">
<file-item
:key="anotherIndex"
:modal-on-click="false"
:show-name="true"
:file="{
title: attachment.title ,
thumbnails: { 'tainacan-medium': [ attachment.url ] },
mime_type: attachment.mime_type,
media_type: attachment.mime_type.includes('image') ? 'image' : 'other'
}"/>
</template>
</div>
<div v-else>
<p>{{ infoEmpty }}</p>
</div>
</div>
<div
class="content"
v-if="!['thumbnail', 'attachments'].includes(attributeName)">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName.replace(/_/g, ' ') }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_before')})` }}</small>
</p>
<!-- Is array with length 1 -->
<p
class="tainacan-p-break"
v-if="(diff.old instanceof Array) &&
(diff.old.length == 1) &&
!(diff.old[0] instanceof Object)">
{{ diff.old.toString() }}
</p>
<div
v-else-if="attributeName == 'metadata_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.old"
:key="diffTitle">
{{ diff.old ? `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` : infoEmpty }}
</p>
</div>
<div
v-else-if="attributeName == 'filters_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.old"
:key="diffTitle">
{{ diff.old ? `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` : infoEmpty }}
</p>
</div>
<div
v-else-if="attributeName == 'metadata_type_options'"
class="content">
<p class="tainacan-p-break">
{{ diff.old ?
`Taxonomy ID: ${diff.old.taxonomy_id};
Input type: ${diff.old.input_type};
Allow new terms: ${diff.old.allow_new_terms}` : infoEmpty }}
</p>
</div>
<!-- -->
<p
class="tainacan-p-break"
v-else>
{{ diff.old ? (diff.old instanceof Array && !diff.old.length) ? infoEmpty : diff.old.toString().replace(/,/g, ' ') : infoEmpty }}
</p>
<div
v-for="(diff, attributeName, index) in activity.log_diffs"
:key="index"
class="columns">
<!-- OLD -->
<div class="column is-6">
<!-- Thumbnail -->
<div
class="content"
v-if="attributeName == 'thumbnail'">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_before')})` }}</small>
</p>
<div>
<picture>
<img
width="150px"
:src="diff.old ? diff.old : $thumbHelper.getEmptyThumbnailPlaceholder()"
:alt="attributeName">
</picture>
</div>
</div>
<!-- NEW -->
<div class="column is-6">
<!-- Thumbnail -->
<div
v-if="attributeName == 'attachments'"
class="content">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_before')})` }}</small>
</p>
<div
class="content"
v-if="attributeName == 'thumbnail'">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_after')})` }}</small>
</p>
<div>
<picture>
<img
width="150px"
:src="diff.new ? diff.new : $thumbHelper.getEmptyThumbnailPlaceholder()"
:alt="attributeName">
</picture>
</div>
class="tainacan-attachments-in-modal"
v-if="diff.old.length">
<file-item
v-for="(attachment, anotherIndex) in diff.old"
:key="anotherIndex"
:modal-on-click="false"
:show-name="true"
:file="{
title: attachment.title ,
thumbnails: { 'tainacan-medium': [ attachment.url ] },
mime_type: attachment.mime_type,
media_type: attachment.mime_type.includes('image') ? 'image' : 'other'
}"/>
</div>
<div v-else>
<p>{{ infoEmpty }}</p>
</div>
</div>
<div
class="content"
v-if="!['thumbnail', 'attachments'].includes(attributeName)">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName.replace(/_/g, ' ') }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_before')})` }}</small>
</p>
<!-- Is array with length 1 -->
<p
class="tainacan-p-break"
v-if="(diff.old instanceof Array) &&
(diff.old.length == 1) &&
!(diff.old[0] instanceof Object)">
{{ diff.old.toString() }}
</p>
<div
v-if="attributeName == 'attachments'"
v-else-if="attributeName == 'metadata_order'"
class="content">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_after')})` }}</small>
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.old"
:key="diffTitle">
{{ diff.old ? `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` : infoEmpty }}
</p>
<div
class="tainacan-attachments-in-modal"
v-if="diff.new.length">
<template v-for="(attachment, attachmentIndex) in diff.new">
<file-item
:key="attachmentIndex"
:modal-on-click="false"
:show-name="true"
:file="{
title: attachment.title,
thumbnails: { 'tainacan-medium': [ attachment.url ] },
mime_type: attachment.mime_type,
media_type: attachment.mime_type.includes('image') ? 'image' : 'other'
}"/>
</template>
</div>
<div v-else>
<p>{{ infoEmpty }}</p>
</div>
</div>
<div
class="content"
v-if="!['thumbnail', 'attachments'].includes(attributeName)">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName.replace(/_/g, ' ') }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_after')})` }}</small>
</p>
<!-- Is array with length 1 -->
v-else-if="attributeName == 'filters_order'"
class="content">
<p
class="tainacan-p-break"
v-if="(diff.new instanceof Array) &&
(diff.new.length == 1) &&
!(diff.new[0] instanceof Object)">
{{ diff.new.toString() }}
v-for="(diffContent, diffTitle) in diff.old"
:key="diffTitle">
{{ diff.old ? `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` : infoEmpty }}
</p>
<div
v-else-if="attributeName == 'metadata_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.new"
:key="diffTitle">
{{ `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` }}
</p>
</div>
<div
v-else-if="attributeName == 'filters_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.new"
:key="diffTitle">
{{ `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` }}
</p>
</div>
<div
v-else-if="attributeName == 'metadata_type_options'"
class="content">
<p class="tainacan-p-break">
{{ `Taxonomy ID: ${diff.new.taxonomy_id};
Input type: ${diff.new.input_type};
Allow new terms: ${diff.new.allow_new_terms}` }}
</p>
</div>
<!-- -->
<p
class="tainacan-p-break"
v-else>
{{ diff.new ? (diff.new instanceof Array && !diff.new.length) ? infoEmpty : diff.new.toString().replace(/,/g, ' ') : infoEmpty }}
</p>
</div>
<div
v-else-if="attributeName == 'metadata_type_options'"
class="content">
<p class="tainacan-p-break">
{{ diff.old ?
`Taxonomy ID: ${diff.old.taxonomy_id};
Input type: ${diff.old.input_type};
Allow new terms: ${diff.old.allow_new_terms}` : infoEmpty }}
</p>
</div>
<!-- -->
<p
class="tainacan-p-break"
v-else>
{{ diff.old ? (diff.old instanceof Array && !diff.old.length) ? infoEmpty : diff.old.toString().replace(/,/g, ' ') : infoEmpty }}
</p>
</div>
</div>
</template>
<!-- NEW -->
<div class="column is-6">
<!-- Thumbnail -->
<div
class="content"
v-if="attributeName == 'thumbnail'">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_after')})` }}</small>
</p>
<div>
<picture>
<img
width="150px"
:src="diff.new ? diff.new : $thumbHelper.getEmptyThumbnailPlaceholder()"
:alt="attributeName">
</picture>
</div>
</div>
<div
v-if="attributeName == 'attachments'"
class="content">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_after')})` }}</small>
</p>
<div
class="tainacan-attachments-in-modal"
v-if="diff.new.length">
<file-item
v-for="(attachment, attachmentIndex) in diff.new"
:key="attachmentIndex"
:modal-on-click="false"
:show-name="true"
:file="{
title: attachment.title,
thumbnails: { 'tainacan-medium': [ attachment.url ] },
mime_type: attachment.mime_type,
media_type: attachment.mime_type.includes('image') ? 'image' : 'other'
}"/>
</div>
<div v-else>
<p>{{ infoEmpty }}</p>
</div>
</div>
<div
class="content"
v-if="!['thumbnail', 'attachments'].includes(attributeName)">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ attributeName.replace(/_/g, ' ') }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_after')})` }}</small>
</p>
<!-- Is array with length 1 -->
<p
class="tainacan-p-break"
v-if="(diff.new instanceof Array) &&
(diff.new.length == 1) &&
!(diff.new[0] instanceof Object)">
{{ diff.new.toString() }}
</p>
<div
v-else-if="attributeName == 'metadata_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.new"
:key="diffTitle">
{{ `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` }}
</p>
</div>
<div
v-else-if="attributeName == 'filters_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.new"
:key="diffTitle">
{{ `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` }}
</p>
</div>
<div
v-else-if="attributeName == 'metadata_type_options'"
class="content">
<p class="tainacan-p-break">
{{ `Taxonomy ID: ${diff.new.taxonomy_id};
Input type: ${diff.new.input_type};
Allow new terms: ${diff.new.allow_new_terms}` }}
</p>
</div>
<!-- -->
<p
class="tainacan-p-break"
v-else>
{{ diff.new ? (diff.new instanceof Array && !diff.new.length) ? infoEmpty : diff.new.toString().replace(/,/g, ' ') : infoEmpty }}
</p>
</div>
</div>
</div>
</div>
<!-- NEW LOG API RETURN -->

View File

@ -18,11 +18,12 @@
<div
role="list"
class="exporter-types-container">
<template v-for="exporterType in availableExporters">
<template
v-for="exporterType in availableExporters"
:key="exporterType.slug">
<div
role="listitem"
class="exporter-type"
:key="exporterType.slug"
v-if="!(hideWhenManualCollection && !exporterType.manual_collection)"
@click="onSelectExporter(exporterType)">
<h4>{{ exporterType.name }}</h4>

View File

@ -17,11 +17,12 @@
<div
role="list"
class="importer-types-container">
<template v-for="importerType in availableImporters">
<template
v-for="importerType in availableImporters"
:key="importerType.slug">
<div
role="listitem"
class="importer-type"
:key="importerType.slug"
v-if="!(hideWhenManualCollection && !importerType.manual_collection)"
@click="onSelectImporter(importerType)">
<h4>{{ importerType.name }}</h4>

View File

@ -31,20 +31,22 @@
class="tainacan-bulk-edition-field tainacan-bulk-edition-field-not-last"
:placeholder="$i18n.get('instruction_select_a_metadatum')"
@input="addToBulkEditionProcedures($event, 'metadatum', criterion)">
<template v-for="(metadatum, index) in metadata">
<template
v-for="(metadatum, index) in metadata"
:key="index">
<option
:key="index"
v-if="metadatum.id && metadatum.metadata_type_object.component !== 'tainacan-compound' && metadatum.parent <= 0"
:value="metadatum">
{{ metadatum.name }}
</option>
<optgroup
v-if="metadatum.id && metadatum.metadata_type_object.component === 'tainacan-compound' && metadatum.multiple !== 'yes'"
:key="index"
:label="metadatum.name">
<template v-for="(childMetadatum, childIndex) of metadatum.metadata_type_options.children_objects">
<template
v-for="(childMetadatum, childIndex) of metadatum.metadata_type_options.children_objects"
:key="childIndex">
<option
:key="childIndex"
v-if="childMetadatum.id"
:value="childMetadatum">
{{ childMetadatum.name }}
@ -162,20 +164,20 @@
:placeholder="$i18n.get('instruction_select_a_metadatum')"
@input="addToBulkEditionProcedures($event, 'metadatumIdCopyFrom', criterion)">
<template
v-for="(metadatumForCopy, index) in getAllowedMetadataForCopy(criterion)">
v-for="(metadatumForCopy, index) in getAllowedMetadataForCopy(criterion)"
:key="index">
<option
:key="index"
v-if="metadatumForCopy.id && metadatumForCopy.metadata_type_object.component !== 'tainacan-compound' && metadatumForCopy.parent <= 0"
:value="metadatumForCopy.id">
{{ metadatumForCopy.name }}
</option>
<optgroup
v-if="metadatumForCopy.id && metadatumForCopy.metadata_type_object.component === 'tainacan-compound'"
:key="index"
:label="metadatumForCopy.name">
<template v-for="(childmetadatumForCopy, childIndex) of metadatumForCopy.metadata_type_options.children_objects">
<template
v-for="(childmetadatumForCopy, childIndex) of metadatumForCopy.metadata_type_options.children_objects"
:key="childIndex">
<option
:key="childIndex"
v-if="childMetadatumForCopy.id"
:value="childMetadatumForCopy.id">
{{ childMetadatumForCopy.name }}

View File

@ -16,10 +16,11 @@
<p>{{ $i18n.get('info_associated_roles') }}</p>
<br>
<div class="roles-list">
<template v-for="(role, roleIndex) of existingRoles">
<template
v-for="(role, roleIndex) of existingRoles"
:key="roleIndex">
<b-checkbox
v-if="!capability.roles_inherited[role.slug]"
:key="roleIndex"
:value="capability.roles[role.slug] || capability.roles_inherited[role.slug] ? true : false"
@input="($event) => updateRole(role.slug, $event)"
name="roles">
@ -49,10 +50,11 @@
</label>
<br>
<div class="roles-list">
<template v-for="(role, roleIndex) of existingRoles">
<template
v-for="(role, roleIndex) of existingRoles"
:key="roleIndex">
<b-checkbox
v-if="capability.roles_inherited[role.slug]"
:key="roleIndex"
class="has-text-yellow2"
:value="capability.roles[role.slug] || capability.roles_inherited[role.slug] ? true : false"
name="roles_inherited"

View File

@ -59,11 +59,12 @@
v-if="selectedEstrategy == 'mappers'"
class="collection-creation-options-container"
role="list">
<template v-for="metadatumMapper in metadatumMappers">
<template
v-for="metadatumMapper in metadatumMappers"
:key="metadatumMapper.slug">
<button
class="collection-creation-option"
@click="$router.push($routerHelper.getNewMappedCollectionPath(metadatumMapper.slug)); $parent.close();"
:key="metadatumMapper.slug"
v-if="metadatumMapper.metadata != false"
aria-role="listitem">
<h3>{{ metadatumMapper.name }}</h3>

View File

@ -19,10 +19,11 @@
<div
v-if="!isLoading"
class="collection-types-container">
<template v-for="(collection, index) in collections">
<template
v-for="(collection, index) in collections"
:key="index">
<div
class="collection-type"
:key="index"
v-if="collection && collection.current_user_can_edit_items"
@click="onSelectCollection(collection)">
<h4>{{ collection.name }}</h4>

View File

@ -17,16 +17,15 @@
<router-link
tag="a"
:to="$routerHelper.getCollectionsPath()">{{ $i18n.get('repository') }}</router-link>
<template v-for="(breadCrumbItem, index) of breadCrumbItems">
<span :key="index">&nbsp;>&nbsp;</span>
<template
v-for="(breadCrumbItem, index) of breadCrumbItems"
:key="index">
<span>&nbsp;>&nbsp;</span>
<router-link
:key="index"
v-if="breadCrumbItem.path != ''"
tag="a"
:to="breadCrumbItem.path">{{ breadCrumbItem.label }}</router-link>
<span
:key="index"
v-else>{{ breadCrumbItem.label }}</span>
<span v-else>{{ breadCrumbItem.label }}</span>
</template>
</nav>
<nav
@ -43,16 +42,15 @@
<router-link
tag="a"
:to="{ path: collectionBreadCrumbItem.url, query: { fromBreadcrumb: true }}">{{ collectionBreadCrumbItem.name }}</router-link>
<template v-for="(childBreadCrumbItem, index) of childrenBreadCrumbItems">
<span :key="index">&nbsp;>&nbsp;</span>
<template
v-for="(childBreadCrumbItem, index) of childrenBreadCrumbItems"
:key="index">
<span>&nbsp;>&nbsp;</span>
<router-link
:key="index"
v-if="childBreadCrumbItem.path != ''"
tag="a"
:to="{ path: childBreadCrumbItem.path, query: index === $i18n.get('items') ? { fromBreadcrumb: true } : null }">{{ childBreadCrumbItem.label }}</router-link>
<span
:key="index"
v-else>{{ childBreadCrumbItem.label }}</span>
<span v-else>{{ childBreadCrumbItem.label }}</span>
</template>
</nav>

View File

@ -16,10 +16,10 @@
<template #popper>
<p><strong>{{ $i18n.get('instruction_click_error_to_go_to_metadata') }}</strong></p>
<ol>
<template v-for="(error, index) of formErrors">
<li
v-if="error.errors.length"
:key="index">
<template
v-for="(error, index) of formErrors"
:key="index">
<li v-if="error.errors.length">
<a
v-if="['thumbnail', 'attachments', 'document'].includes(error.metadatum_id)"
@click="metadataElements[error.metadatum_id].scrollIntoView({ behavior: 'smooth', block: 'center' })">

View File

@ -18,10 +18,11 @@
</span>
</a>
</li>
<template v-for="(statusOption, index) of $statusHelper.getStatuses()">
<template
v-for="(statusOption, index) of $statusHelper.getStatuses()"
:key="index">
<li
v-if="(isRepositoryLevel || statusOption.slug != 'private') || (statusOption.slug == 'private' && collection && collection.current_user_can_read_private_items)"
:key="index"
@click="onChangeTab(statusOption.slug)"
:class="{ 'is-active': status == statusOption.slug}"
:style="{ marginRight: statusOption.slug == 'draft' ? 'auto' : '', marginLeft: statusOption.slug == 'trash' ? 'auto' : '' }"

View File

@ -88,7 +88,7 @@
check-infinite-scroll
:append-to-body="true"
@infinite-scroll="fetchMoreParentTerms">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div
v-if="props.option.header_image_id"

View File

@ -55,7 +55,7 @@
check-infinite-scroll
:append-to-body="true"
@infinite-scroll="fetchMoreParentTerms">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div
v-if="props.option.header_image_id"

View File

@ -28,27 +28,28 @@
searchCriterion,
index
)">
<template v-for="(metadatum, metadatumIndex) in metadataAsArray">
<template
v-for="(metadatum, metadatumIndex) in metadataAsArray"
:key="metadatumIndex">
<option
v-if="metadatum.metadata_type_object.component !== 'tainacan-user' &&
metadatum.metadata_type_object.component !== 'tainacan-geocoordinate' &&
metadatum.metadata_type_object.component !== 'tainacan-relationship' &&
metadatum.metadata_type_object.component !== 'tainacan-compound' &&
metadatum.parent <= 0"
:value="metadatum.id"
:key="metadatumIndex">
:value="metadatum.id">
{{ metadatum.name }}
</option>
<optgroup
v-if="metadatum.metadata_type_object.component === 'tainacan-compound'"
:key="metadatumIndex"
:label="metadatum.name">
<template v-for="(childMetadatum, childIndex) of metadatum.metadata_type_options.children_objects">
<template
v-for="(childMetadatum, childIndex) of metadatum.metadata_type_options.children_objects"
:key="childIndex">
<option
v-if="childMetadatum.metadata_type_object.component !== 'tainacan-user' &&
childMetadatum.metadata_type_object.component !== 'tainacan-geocoordinate' &&
childMetadatum.metadata_type_object.component !== 'tainacan-relationship'"
:key="childIndex"
:value="childMetadatum.id">
{{ childMetadatum.name }}
</option>

View File

@ -49,10 +49,10 @@
<!-- TAXONOMY TERM ITEMS FILTERS -->
<template v-if="taxonomy && taxonomyFilters">
<template v-for="(taxonomyFilter, key, index) of taxonomyFilters">
<div
v-if="key == 'repository-filters'"
:key="index">
<template
v-for="(taxonomyFilter, key, index) of taxonomyFilters"
:key="index">
<div v-if="key == 'repository-filters'">
<div
v-tooltip="{
delay: {
@ -99,10 +99,10 @@
<hr v-if="taxonomyFilter.length > 1">
</div>
</template>
<template v-for="(taxonomyFilter, key, index) of taxonomyFilters">
<div
v-if="key != 'repository-filters'"
:key="index">
<template
v-for="(taxonomyFilter, key, index) of taxonomyFilters"
:key="index">
<div v-if="key != 'repository-filters'">
<div
v-tooltip="{
delay: {
@ -153,10 +153,10 @@
<!-- REPOSITORY ITEMS FILTERS -->
<template v-else-if="isRepositoryLevel && !taxonomy">
<template v-for="(repositoryCollectionFilter, key, index) of repositoryCollectionFilters">
<div
v-if="key == 'repository-filters'"
:key="index">
<template
v-for="(repositoryCollectionFilter, key, index) of repositoryCollectionFilters"
:key="index">
<div v-if="key == 'repository-filters'">
<div
v-tooltip="{
delay: {
@ -203,10 +203,10 @@
<hr v-if="repositoryCollectionFilters.length > 1">
</div>
</template>
<template v-for="(repositoryCollectionFilter, key, index) of repositoryCollectionFilters">
<div
v-if="key != 'repository-filters'"
:key="index">
<template
v-for="(repositoryCollectionFilter, key, index) of repositoryCollectionFilters"
:key="index">
<div v-if="key != 'repository-filters'">
<div
v-tooltip="{
delay: {

View File

@ -42,9 +42,10 @@
aria-controls="items-list-results"
aria-labelledby="items-per-page-select"
@input="onChangeItemsPerPage">
<template v-for="(itemsPerPageOption, index) of itemsPerPageOptions">
<template
v-for="(itemsPerPageOption, index) of itemsPerPageOptions"
:key="index">
<option
:key="index"
v-if="maxItemsPerPage >= 12"
:value="itemsPerPageOption">
{{ itemsPerPageOption }} &nbsp;

View File

@ -103,7 +103,7 @@
icon="account"
check-infinite-scroll
@infinite-scroll="fetchMoreUsersForFiltering">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div
v-if="props.option.avatar_urls && props.option.avatar_urls['24']"

View File

@ -251,7 +251,9 @@
:prevent-on-filter="false"
:group="{ name:'filters', pull: !isSelectingFilterType, put: false, revertClone: true }"
drag-class="sortable-drag">
<template v-for="(metadatum, index) in availableMetadata">
<template
v-for="(metadatum, index) in availableMetadata"
:key="index">
<div
class="available-metadatum-item"
:class="{
@ -260,7 +262,6 @@
}"
v-if="metadatum.enabled"
v-show="metadatumNameFilterString == '' || metadatum.name.toString().toLowerCase().indexOf(metadatumNameFilterString.toString().toLowerCase()) >= 0"
:key="index"
@click.prevent="addMetadatumViaButton(metadatum, index)">
<span
v-tooltip="{

View File

@ -321,14 +321,15 @@
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-arrowdown" />
</span>
</button>
<template v-for="metadatum of sortingMetadata">
<template
v-for="metadatum of sortingMetadata"
:key="metadatum.slug">
<b-dropdown-item
aria-controls="items-list-results"
role="button"
:class="{ 'is-active': (orderBy != 'meta_value' && orderBy != 'meta_value_num' && orderBy == metadatum.slug) || ((orderBy == 'meta_value' || orderBy == 'meta_value_num') && metaKey == metadatum.id) }"
v-if="metadatum != undefined"
:value="metadatum"
:key="metadatum.slug"
aria-role="listitem">
{{ metadatum.name }}
</b-dropdown-item>

View File

@ -106,9 +106,10 @@
:src="$thumbHelper.getSrc(item['thumbnail'], 'tainacan-medium-full', item.document_mimetype)"> -->
</div>
<div class="list-metadata media-body">
<template v-for="(column, metadatumIndex) in displayedMetadata">
<template
v-for="(column, metadatumIndex) in displayedMetadata"
:key="metadatumIndex">
<span
:key="metadatumIndex"
:class="{ 'metadata-type-textarea': column.metadata_type_object.component == 'tainacan-textarea' }"
v-if="renderMetadata(item, column) != '' && column.display && column.slug != 'thumbnail' && column.metadata_type_object != undefined && (column.metadata_type_object.related_mapped_prop != 'title')">
<h3 class="metadata-label">{{ column.name }}</h3>

View File

@ -333,9 +333,10 @@
marginTop: '-' + getItemImageHeight(item['thumbnail']['tainacan-medium-full'] ? item['thumbnail']['tainacan-medium-full'][1] : (item['thumbnail'].medium_large ? item['thumbnail'].medium_large[1] : 120), item['thumbnail']['tainacan-medium-full'] ? item['thumbnail']['tainacan-medium-full'][2] : (item['thumbnail'].medium_large ? item['thumbnail'].medium_large[2] : 120)) + 'px'
}" />
</div>
<template v-for="(column, metadatumIndex) in displayedMetadata">
<template
v-for="(column, metadatumIndex) in displayedMetadata"
:key="metadatumIndex">
<span
:key="metadatumIndex"
:class="{ 'metadata-type-textarea': column.metadata_type_object.component == 'tainacan-textarea' }"
v-if="renderMetadata(item, column) != '' &&
column.display && column.slug != 'thumbnail' &&

View File

@ -112,9 +112,10 @@
marginTop: '-' + getItemImageHeight(item['thumbnail']['tainacan-medium-full'] ? item['thumbnail']['tainacan-medium-full'][1] : (item['thumbnail'].medium_large ? item['thumbnail'].medium_large[1] : 120), item['thumbnail']['tainacan-medium-full'] ? item['thumbnail']['tainacan-medium-full'][2] : (item['thumbnail'].medium_large ? item['thumbnail'].medium_large[2] : 120)) + 'px'
}" />
</div>
<template v-for="(column, metadatumIndex) in displayedMetadata">
<template
v-for="(column, metadatumIndex) in displayedMetadata"
:key="metadatumIndex">
<span
:key="metadatumIndex"
:class="{ 'metadata-type-textarea': column.metadata_type_object.component == 'tainacan-textarea' }"
v-if="renderMetadata(item, column) != '' && column.display && column.slug != 'thumbnail' && column.metadata_type_object != undefined && (column.metadata_type_object.related_mapped_prop != 'title')">
<h3 class="metadata-label">{{ column.name }}</h3>

View File

@ -135,15 +135,16 @@
<div
class="slide-main-content">
<span
v-if="isLoadingItem"
class="icon is-large loading-icon">
<div class="is-large control has-icons-right is-loading is-clearfix" />
</span>
<transition
mode="out-in"
:name="goingRight ? 'slide-right' : 'slide-left'" >
<span
v-if="isLoadingItem"
class="icon is-large loading-icon">
<div class="is-large control has-icons-right is-loading is-clearfix" />
</span>
<!-- Empty result placeholder -->
<section
v-if="!isLoading && !isLoadingItem && items.length <= 0"
@ -158,12 +159,22 @@
</div>
</section>
</transition>
<transition
mode="out-in"
:name="goingRight ? 'slide-right' : 'slide-left'" >
<!-- JS-side hook for extra content -->
<div
v-if="hasBeforeHook()"
class="faceted-search-hook faceted-search-hook-item-before"
v-html="getBeforeHook(item)" />
</transition>
<transition
mode="out-in"
:name="goingRight ? 'slide-right' : 'slide-left'" >
<div
v-if="!isLoadingItem && slideItems.length > 0 && (item.document != undefined && item.document != undefined && item.document != '')"
v-html="item.document_as_html" />
@ -175,7 +186,11 @@
:src="$thumbHelper.getEmptyThumbnailPlaceholder(item.document_mimetype)">
</div>
</div>
</transition>
<transition
mode="out-in"
:name="goingRight ? 'slide-right' : 'slide-left'" >
<!-- JS-side hook for extra content -->
<div
v-if="hasAfterHook()"
@ -183,6 +198,7 @@
v-html="getAfterHook(item)" />
</transition>
</div>
<button
@click.stop.prevent="nextSlide()"
:style="{ visibility: (swiper.activeIndex < slideItems.length - 1) || page < totalPages ? 'visible' : 'hidden' }"
@ -288,18 +304,18 @@
<div class="is-large control has-icons-right is-loading is-clearfix" />
</span>
<template v-for="(metadatum, index) of item.metadata">
<template
v-for="(metadatum, index) of item.metadata"
:key="index">
<div
v-if="metadatum.value_as_html != undefined && metadatum.value_as_html != ''"
:key="index"
class="field">
<b-collapse
aria-id="metadata-collapse-for-slideshow"
:open="!collapseAll">
<label
class="label has-text-white"
slot="trigger"
slot-scope="props">
v-slot:trigger="props">
<span class="icon">
<i
:class="{ 'tainacan-icon-arrowdown' : props.open, 'tainacan-icon-arrowright' : !props.open}"

View File

@ -12,9 +12,10 @@
class="tainacan-table tainacan-table-skeleton"
tabindex="0">
<thead>
<template v-for="(column, metadatumIndex) in displayedMetadata">
<template
v-for="(column, metadatumIndex) in displayedMetadata"
:key="metadatumIndex">
<th
:key="metadatumIndex"
v-if="column.display"
class="column-default-width"
:class="{
@ -35,9 +36,10 @@
<tr
:key="item"
v-for="item in 12">
<template v-for="(column, metadatumIndex) in displayedMetadata">
<template
v-for="(column, metadatumIndex) in displayedMetadata"
:key="metadatumIndex">
<td
:key="metadatumIndex"
v-if="column.display"
:class="{ 'thumbnail-cell': metadatumIndex == 0 }"
class="column-default-width skeleton"/>
@ -53,9 +55,10 @@
<thead>
<tr>
<!-- Displayed Metadata -->
<template v-for="(column, index) in displayedMetadata">
<template
v-for="(column, index) in displayedMetadata"
:key="index">
<th
:key="index"
v-if="column.display"
class="column-default-width"
:class="{
@ -101,9 +104,10 @@
v-html="getBeforeHook(item)" />
<!-- Item Displayed Metadata -->
<template v-for="(column, metadatumIndex) in displayedMetadata">
<td
:key="metadatumIndex"
<template
v-for="(column, metadatumIndex) in displayedMetadata"
:key="metadatumIndex">
<td
v-if="column.display"
class="column-default-width"
:class="{

View File

@ -273,14 +273,15 @@
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-arrowdown" />
</span>
</button>
<template v-for="metadatum of sortingMetadata">
<template
v-for="metadatum of sortingMetadata"
:key="metadatum.slug">
<b-dropdown-item
aria-controls="items-list-results"
role="button"
:class="{ 'is-active': (orderBy != 'meta_value' && orderBy != 'meta_value_num' && orderBy == metadatum.slug) || ((orderBy == 'meta_value' || orderBy == 'meta_value_num') && metaKey == metadatum.id) }"
v-if="metadatum != undefined"
:value="metadatum"
:key="metadatum.slug"
aria-role="listitem">
{{ metadatum.name }}
</b-dropdown-item>
@ -326,13 +327,14 @@
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-arrowdown" />
</span>
</button>
<template v-for="(viewModeOption, index) of enabledViewModes">
<template
v-for="(viewModeOption, index) of enabledViewModes"
:key="index">
<b-dropdown-item
aria-controls="items-list-results"
role="button"
:class="{ 'is-active': viewModeOption == viewMode }"
v-if="(registeredViewModes[viewModeOption] != undefined && registeredViewModes[viewModeOption].full_screen == false) || (showFullscreenWithViewModes && registeredViewModes[viewModeOption] != undefined)"
:key="index"
:value="viewModeOption"
aria-role="listitem">
<span
@ -364,13 +366,14 @@
<div
id="tainacanFullScreenViewMode"
class="search-control-item search-control-item--full-screen-view-mode">
<template v-for="(viewModeOption, index) of enabledViewModes">
<template
v-for="(viewModeOption, index) of enabledViewModes"
:key="index">
<button
class="button is-white"
:aria-label="$i18n.get('label_slides')"
@click="onChangeViewMode(viewModeOption)"
v-if="!showFullscreenWithViewModes && registeredViewModes[viewModeOption] != undefined && registeredViewModes[viewModeOption].full_screen == true"
:key="index"
:value="viewModeOption">
<span
class="gray-icon view-mode-icon"

View File

@ -65,7 +65,7 @@
:disabled="!hasParent"
check-infinite-scroll
@infinite-scroll="fetchMoreParentTerms">
<template slot-scope="props">
<template v-slot="props">
<div class="media">
<div
v-if="props.option.header_image"

View File

@ -485,17 +485,17 @@
{{ metadataSection.description }}
</p>
<template v-if="itemMetadata && Array.isArray(itemMetadata)">
<template v-for="(itemMetadatum, index) of itemMetadata.filter(anItemMetadatum => anItemMetadatum.metadatum.metadata_section_id == metadataSection.id)">
<template
v-for="(itemMetadatum, index) of itemMetadata.filter(anItemMetadatum => anItemMetadatum.metadatum.metadata_section_id == metadataSection.id)"
:key="index">
<!-- JS-side hook for extra content -->
<div
:key="index"
v-if="hasBeforeHook('metadatum')"
class="item-submission-hook item-submission-hook-metadatum-before"
v-html="getBeforeHook('metadatum', { metadatum: itemMetadatum.metadatum, index: index, metadataSection: metadataSection, sectionIndex: sectionIndex })" />
<tainacan-form-item
:key="index"
v-if="enabledMetadata[index] == 'true'"
:item-metadatum="itemMetadatum"
:hide-collapses="hideCollapses"
@ -507,7 +507,6 @@
<!-- JS-side hook for extra content -->
<div
:key="index"
v-if="hasAfterHook('metadatum')"
class="item-submission-hook item-submission-hook-metadatum-after"
v-html="getAfterHook('metadatum', { metadatum: itemMetadatum.metadatum, index: index, metadataSection: metadataSection, sectionIndex: sectionIndex })" />
@ -557,10 +556,10 @@
<template v-if="formErrors.length && formErrors[0].errors && formErrors[0].errors.length">
<p>{{ $i18n.get('instruction_click_error_to_go_to_metadata') }}</p>
<ol>
<template v-for="(error, index) of formErrors">
<li
v-if="error.errors.length"
:key="index">
<template
v-for="(error, index) of formErrors"
:key="index">
<li v-if="error.errors.length">
<a
v-if="['thumbnail', 'attachments', 'document'].includes(error.metadatum_id) || metadataElements[error.metadatum_id + (error.parent_meta_id ? ('_parent_meta_id-' + error.parent_meta_id) : '')]"
class="has-text-danger"

View File

@ -17,9 +17,10 @@
&nbsp;{{ $i18n.get(entityType) }}
</p>
<ul class="has-text-gray status-list">
<template v-for="(statusOption, index) of $statusHelper.getStatuses()">
<template
v-for="(statusOption, index) of $statusHelper.getStatuses()"
:key="index">
<li
:key="index"
@mouseenter="currentHoveredStatus = statusOption.slug"
@mouseleave="currentHoveredStatus = ''"
v-if="(statusOption.slug != 'draft' || entityType != 'collections') && totalByStatus[statusOption.slug]">

View File

@ -12,12 +12,14 @@
class="wp-heading-inline">
{{ $i18n.get('Add new role') }}
</h1>
<transition name="appear-from-right">
<transition name="appear-from-right">
<div
v-if="showNotice"
class="notice notice-success notice-alt">
<p>{{ $i18n.get('User Role Saved') }}</p>
</div>
</transition>
<transition name="appear-from-right">
<div
v-if="showErrorNotice"
class="notice notice-error notice-alt">
@ -93,7 +95,9 @@
:key="groupIndex">
<h3>{{ groupIndex }}</h3>
<ul>
<template v-for="(capability, index) of group">
<template
v-for="(capability, index) of group"
:key="index">
<li
v-tooltip="{
content: repositoryCapabilities[capability].description,
@ -102,7 +106,6 @@
placement: 'bottom',
popperClass: ['tainacan-tooltip', 'tainacan-roles-tooltip']
}"
:key="index"
:id="'capability-' + capability">
<span class="check-column">
<label
@ -124,7 +127,7 @@
{{ repositoryCapabilities[capability].display_name }}
</span>
</li>
<br :key="index">
<br>
</template>
</ul>
</div>
@ -175,7 +178,9 @@
:key="groupIndex">
<h3>{{ groupIndex }}</h3>
<ul>
<template v-for="(capability, index) of group">
<template
v-for="(capability, index) of group"
:key="index">
<li
v-tooltip="{
content: collectionCapabilities[capability].description,
@ -184,7 +189,6 @@
placement: 'bottom',
popperClass: ['tainacan-tooltip', 'tainacan-roles-tooltip']
}"
:key="index"
:id="'capability-' + capability.replace('%d', selectedCollection)">
<span class="check-column">
<label
@ -206,7 +210,7 @@
{{ collectionCapabilities[capability].display_name }}
</span>
</li>
<br :key="index">
<br>
</template>
</ul>
</div>

View File

@ -29,10 +29,10 @@
:aria-hidden="showDropdownMenu">
<!-- <p class="dropdown-menu-intro">{{ $i18n.get('Create a new role based on: ') }}</p> -->
<ul>
<template v-for="role of roles">
<li
:key="role.slug"
v-if="role.slug.match('tainacan')">
<template
v-for="role of roles"
:key="role.slug">
<li v-if="role.slug.match('tainacan')">
<router-link :to="'/roles/new?template=' + role.slug">
{{ role.name }}
</router-link>