Uses autofix to accept new vue/attributes-order eslint rule.

This commit is contained in:
mateuswetah 2023-12-18 11:22:31 -03:00
parent a67b7f7b67
commit fb7670f86f
133 changed files with 2229 additions and 2230 deletions

View File

@ -15,7 +15,6 @@ module.exports = {
'no-undef': 'warn',
'vue/no-v-html': 'off',
'vue/html-indent': 'off',
'vue/attributes-order': 'off',
'vue/html-closing-bracket-spacing': 'off',
'vue/html-closing-bracket-newline': 'off',
'vue/require-prop-type-constructor': 'off',

View File

@ -16,11 +16,11 @@
:is-menu-compressed="isMenuCompressed"/>
<button
v-if="!$adminOptions.hidePrimaryMenu && !$adminOptions.hidePrimaryMenuCompressButton"
class="is-hidden-mobile"
id="menu-compress-button"
class="is-hidden-mobile"
:style="{ top: menuCompressButtonTop }"
@click="isMenuCompressed = !isMenuCompressed"
:aria-label="$i18n.get('label_shrink_menu')">
:aria-label="$i18n.get('label_shrink_menu')"
@click="isMenuCompressed = !isMenuCompressed">
<span
v-tooltip="{
content: $i18n.get('label_shrink_menu'),

View File

@ -25,8 +25,8 @@
:message="$i18n.getHelperMessage('collections', 'name')"/>
<b-input
id="tainacan-text-name"
:placeholder="$i18n.get('instruction_collection_name')"
v-model="form.name"
:placeholder="$i18n.get('instruction_collection_name')"
@blur="updateSlug"
@focus="clearErrors('name')"/>
</b-field>
@ -34,8 +34,8 @@
<!-- Hook for extra Form options -->
<template v-if="hasBeginLeftForm">
<form
class="form-hook-region"
id="form-collection-begin-left"
id="form-collection-begin-left"
class="form-hook-region"
v-html="getBeginLeftForm"/>
</template>
@ -50,10 +50,10 @@
:message="$i18n.getHelperMessage('collections', 'description')"/>
<b-input
id="tainacan-text-description"
v-model="form.description"
type="textarea"
rows="4"
:placeholder="$i18n.get('instruction_collection_description')"
v-model="form.description"
@focus="clearErrors('description')"/>
</b-field>
@ -68,17 +68,17 @@
:message="$i18n.getHelperMessage('collections', 'slug')"/>
<b-input
id="tainacan-text-slug"
@update:model-value="updateSlug"
v-model="form.slug"
@focus="clearErrors('slug')"
:disabled="isUpdatingSlug"
:loading="isUpdatingSlug"/>
:loading="isUpdatingSlug"
@update:model-value="updateSlug"
@focus="clearErrors('slug')"/>
</b-field>
<!-- Items list options ------------------------ -->
<div
@click="showItemsListOptions = !showItemsListOptions;"
class="collection-form-section">
class="collection-form-section"
@click="showItemsListOptions = !showItemsListOptions;">
<span class="icon">
<i
class="tainacan-icon"
@ -126,14 +126,14 @@
{{ $i18n.get('info_by_inner') }}
</span>
<b-select
expanded
:loading="isLoadingMetadata"
id="tainacan-select-default_orderby"
v-model="localDefaultOrderBy"
id="tainacan-select-default_orderby">
expanded
:loading="isLoadingMetadata">
<option
v-for="metadatum of sortingMetadata"
:value="metadatum.id"
:key="metadatum.id">
:key="metadatum.id"
:value="metadatum.id">
{{ metadatum.name }}
</option>
</b-select>
@ -152,8 +152,8 @@
:message="$i18n.getHelperMessage('collections', 'enabled_view_modes')"/>
<div class="control">
<b-dropdown
class="enabled-view-modes-dropdown"
ref="enabledViewModesDropdown"
class="enabled-view-modes-dropdown"
:mobile-modal="true"
:disabled="Object.keys(registeredViewModes).length < 0"
aria-role="list"
@ -177,9 +177,9 @@
aria-role="listitem">
<b-checkbox
v-if="registeredViewModes[viewMode] != undefined"
@input="updateViewModeslist(viewMode)"
:value="checkIfViewModeEnabled(viewMode)"
:disabled="checkIfViewModeEnabled(viewMode) && form.enabled_view_modes.filter((aViewMode) => (registeredViewModes[aViewMode] && registeredViewModes[aViewMode].full_screen != true)).length <= 1">
:disabled="checkIfViewModeEnabled(viewMode) && form.enabled_view_modes.filter((aViewMode) => (registeredViewModes[aViewMode] && registeredViewModes[aViewMode].full_screen != true)).length <= 1"
@input="updateViewModeslist(viewMode)">
<p>
<strong>
<span
@ -210,9 +210,9 @@
:title="$i18n.getHelperTitle('collections', 'default_view_mode')"
:message="$i18n.getHelperMessage('collections', 'default_view_mode')"/>
<b-select
expanded
id="tainacan-select-default_view_mode"
v-model="form.default_view_mode"
expanded
@focus="clearErrors('default_view_mode')">
<option
v-for="(viewMode, index) of validDefaultViewModes"
@ -231,10 +231,10 @@
&nbsp;
<b-switch
id="tainacan-checkbox-hide-items-thumbnail-on-lists"
size="is-small"
true-value="yes"
false-value="no"
v-model="form.hide_items_thumbnail_on_lists" />
v-model="form.hide_items_thumbnail_on_lists"
size="is-small"
true-value="yes"
false-value="no" />
<help-button
:title="$i18n.getHelperTitle('collections', 'hide_items_thumbnail_on_lists')"
:message="$i18n.getHelperMessage('collections', 'hide_items_thumbnail_on_lists')"/>
@ -245,8 +245,8 @@
<!-- Item edition form options ------------------------ -->
<div
@click="showItemEditionFormOptions = !showItemEditionFormOptions;"
class="collection-form-section">
class="collection-form-section"
@click="showItemEditionFormOptions = !showItemEditionFormOptions;">
<span class="icon">
<i
class="tainacan-icon"
@ -305,10 +305,10 @@
&nbsp;
<b-switch
id="tainacan-checkbox-item-enable-thumbnail"
size="is-small"
true-value="yes"
false-value="no"
v-model="form.item_enable_thumbnail" />
v-model="form.item_enable_thumbnail"
size="is-small"
true-value="yes"
false-value="no" />
<help-button
:title="$i18n.getHelperTitle('collections', 'item_enable_thumbnail')"
:message="$i18n.getHelperMessage('collections', 'item_enable_thumbnail')"/>
@ -336,10 +336,10 @@
&nbsp;
<b-switch
id="tainacan-checkbox-item-enable-attachments"
size="is-small"
true-value="yes"
false-value="no"
v-model="form.item_enable_attachments" />
v-model="form.item_enable_attachments"
size="is-small"
true-value="yes"
false-value="no" />
<help-button
:title="$i18n.getHelperTitle('collections', 'item_enable_attachments')"
:message="$i18n.getHelperMessage('collections', 'item_enable_attachments')"/>
@ -404,10 +404,10 @@
&nbsp;
<b-switch
id="tainacan-checkbox-comment-status"
size="is-small"
true-value="open"
false-value="closed"
v-model="form.allow_comments" />
v-model="form.allow_comments"
size="is-small"
true-value="open"
false-value="closed" />
<help-button
:title="$i18n.getHelperTitle('collections', 'allow_comments')"
:message="$i18n.getHelperMessage('collections', 'allow_comments')"/>
@ -418,8 +418,8 @@
<!-- Item submission options ------------------------ -->
<div
@click="showItemSubmissionOptions = !showItemSubmissionOptions;"
class="collection-form-section">
class="collection-form-section"
@click="showItemSubmissionOptions = !showItemSubmissionOptions;">
<span class="icon">
<i
class="tainacan-icon"
@ -443,10 +443,10 @@
&nbsp;
<b-switch
id="tainacan-checkbox-allow-submission"
size="is-small"
true-value="yes"
false-value="no"
v-model="form.allows_submission" />
v-model="form.allows_submission"
size="is-small"
true-value="yes"
false-value="no" />
<help-button
:title="$i18n.getHelperTitle('collections', 'allows_submission')"
:message="$i18n.getHelperMessage('collections', 'allows_submission')"/>
@ -466,10 +466,10 @@
&nbsp;
<b-switch
id="tainacan-checkbox-allow-submission"
size="is-small"
true-value="yes"
false-value="no"
v-model="form.submission_anonymous_user" />
v-model="form.submission_anonymous_user"
size="is-small"
true-value="yes"
false-value="no" />
<help-button
:title="$i18n.getHelperTitle('collections', 'submission_anonymous_user')"
:message="$i18n.getHelperMessage('collections', 'submission_anonymous_user')"/>
@ -486,9 +486,9 @@
:message="$i18n.getHelperMessage('collections', 'submission_default_status')"/>
<div class="options-checkboxes">
<b-radio
v-model="form.submission_default_status"
v-for="(statusOption, index) of $statusHelper.getStatuses().filter((status) => status.slug != 'trash')"
:key="index"
v-model="form.submission_default_status"
:native-value="statusOption.slug">
<span class="icon has-text-gray">
<i
@ -500,8 +500,8 @@
</div>
<transition name="filter-item">
<p
class="help"
v-if="form.submission_default_status == 'draft'">
v-if="form.submission_default_status == 'draft'"
class="help">
{{ $i18n.get('info_item_submission_draft_status') }}
</p>
</transition>
@ -516,10 +516,10 @@
&nbsp;
<b-switch
id="tainacan-checkbox-submission-use-recaptcha"
size="is-small"
true-value="yes"
false-value="no"
v-model="form.submission_use_recaptcha" />
v-model="form.submission_use_recaptcha"
size="is-small"
true-value="yes"
false-value="no" />
<help-button
:title="$i18n.getHelperTitle('collections', 'submission_use_recaptcha')"
:message="$i18n.getHelperMessage('collections', 'submission_use_recaptcha')"/>
@ -538,8 +538,8 @@
<!-- Hook for extra Form options -->
<template v-if="hasEndLeftForm">
<form
ref="form-collection-end-left"
id="form-collection-end-left"
id="form-collection-end-left"
ref="form-collection-end-left"
class="form-hook-region"
v-html="getEndLeftForm"/>
</template>
@ -558,9 +558,9 @@
:message="$i18n.getHelperMessage('collections', 'status')"/>
<div class="status-radios">
<b-radio
v-model="form.status"
v-for="(statusOption, index) of $statusHelper.getStatuses().filter((status) => status.slug != 'draft')"
:key="index"
v-model="form.status"
:native-value="statusOption.slug">
<span class="icon has-text-gray">
<i
@ -601,8 +601,8 @@
</figure>
<div class="header-buttons-row">
<a
class="button is-rounded is-secondary"
id="button-edit-header-image"
id="button-edit-header-image"
class="button is-rounded is-secondary"
:aria-label="$i18n.get('label_button_edit_header_image')"
@click="headerImageMediaFrame.openFrame($event)">
<span
@ -617,8 +617,8 @@
</span>
</a>
<a
class="button is-rounded is-secondary"
id="button-delete-header-image"
id="button-delete-header-image"
class="button is-rounded is-secondary"
:aria-label="$i18n.get('label_button_delete_thumb')"
@click="deleteHeaderImage()">
<span
@ -658,8 +658,8 @@
</figure>
<div class="thumbnail-buttons-row">
<a
class="button is-rounded is-secondary"
id="button-edit-thumbnail"
id="button-edit-thumbnail"
class="button is-rounded is-secondary"
:aria-label="$i18n.get('label_button_edit_thumb')"
@click.prevent="thumbnailMediaFrame.openFrame($event)">
<span
@ -674,8 +674,8 @@
</span>
</a>
<a
class="button is-rounded is-secondary"
id="button-delete-header-image"
id="button-delete-header-image"
class="button is-rounded is-secondary"
:aria-label="$i18n.get('label_button_delete_thumb')"
@click="deleteThumbnail()">
<span
@ -702,25 +702,25 @@
&nbsp;
<b-switch
id="tainacan-checkbox-cover-page"
size="is-small"
true-value="yes"
false-value="no"
v-model="form.enable_cover_page" />
v-model="form.enable_cover_page"
size="is-small"
true-value="yes"
false-value="no" />
<help-button
:title="$i18n.getHelperTitle('collections', 'cover_page_id')"
:message="$i18n.getHelperMessage('collections', 'cover_page_id')"/>
<template v-if="form.enable_cover_page == 'yes'">
<b-autocomplete
v-if="coverPage == undefined || coverPage.title == undefined"
id="tainacan-text-cover-page"
v-model="coverPageTitle"
:placeholder="$i18n.get('instruction_cover_page')"
:data="coverPages"
v-model="coverPageTitle"
@select="onSelectCoverPage($event)"
:loading="isFetchingPages"
check-infinite-scroll
@select="onSelectCoverPage($event)"
@input="fecthCoverPages"
@focus="clearErrors('cover_page_id')"
v-if="coverPage == undefined || coverPage.title == undefined"
check-infinite-scroll
@infinite-scroll="fetchMoreCoverPages">
<template slot-scope="props">
{{ props.option.title.rendered }}
@ -852,21 +852,21 @@
<button
v-if="isNewCollection && $userCaps.hasCapability('tnc_rep_edit_metadata') && !fromImporter"
id="button-submit-goto-metadata"
@click.prevent="onSubmit('metadata')"
class="button is-secondary">{{ $i18n.get('label_save_goto_metadata') }}</button>
class="button is-secondary"
@click.prevent="onSubmit('metadata')">{{ $i18n.get('label_save_goto_metadata') }}</button>
</div>
<div class="control">
<button
v-if="isNewCollection && $userCaps.hasCapability('tnc_rep_edit_metadata') && !fromImporter"
id="button-submit-goto-filter"
@click.prevent="onSubmit('filters')"
class="button is-secondary">{{ $i18n.get('label_save_goto_filter') }}</button>
class="button is-secondary"
@click.prevent="onSubmit('filters')">{{ $i18n.get('label_save_goto_filter') }}</button>
</div>
<div class="control">
<button
id="button-submit-collection-creation"
@click.prevent="onSubmit('items')"
class="button is-success">{{ $i18n.get('finish') }}</button>
class="button is-success"
@click.prevent="onSubmit('items')">{{ $i18n.get('finish') }}</button>
</div>
</footer>
</form>

View File

@ -9,10 +9,10 @@
v-model="isLoading"
:can-cancel="false"/>
<form
@click="formErrorMessage = ''"
label-width="120px"
v-if="exporterSession"
class="tainacan-form">
label-width="120px"
class="tainacan-form"
@click="formErrorMessage = ''">
<div class="columns">
<div class="column is-gapless">
@ -34,38 +34,38 @@
extra-classes="tainacan-repository-tooltip"/>
<br>
<b-select
@update:model-value="formErrorMessage = null"
expanded
v-model="selectedCollection"
expanded
:loading="isFetchingCollections"
:placeholder="$i18n.get('instruction_select_a_collection')">
:placeholder="$i18n.get('instruction_select_a_collection')"
@update:model-value="formErrorMessage = null">
<option
v-for="collection in collections"
:value="collection.id"
:key="collection.id">
:key="collection.id"
:value="collection.id">
{{ collection.name }}
</option>
</b-select>
</b-field>
<b-field
class="is-block"
v-if="Object.keys(exporterSession).length &&
Object.keys(exporterSession.mapping_accept).length &&
exporterSession.mapping_list.length"
class="is-block"
:label="$i18n.get('mapping')">
<b-select
@update:model-value="formErrorMessage = null"
expanded
v-model="selectedMapping"
:placeholder="$i18n.get('instruction_select_a_mapper')">
expanded
:placeholder="$i18n.get('instruction_select_a_mapper')"
@update:model-value="formErrorMessage = null">
<option
v-if="exporterSession.accept_no_mapping"
:value="''">{{ $i18n.get('label_no_mapping') }}</option>
<option
v-for="(mapping) in exporterSession.mapping_list"
:value="mapping"
:key="mapping">
:key="mapping"
:value="mapping">
{{ mapping.replace(/-/, ' ') }}
</option>
</b-select>
@ -79,9 +79,9 @@
:message="'<span>' + $i18n.get('info_send_email') + `&nbsp;<a href='` + adminFullURL + $routerHelper.getProcessesPage() + `'>` + $i18n.get('activities') + ` ` + $i18n.get('label_page') + '</a></span>'"
extra-classes="tainacan-repository-tooltip"/>
<b-checkbox
v-model="sendEmail"
true-value="1"
false-value="0"
v-model="sendEmail"
@update:model-value="formErrorMessage = null">
{{ $i18n.get('label_yes') }}
</b-checkbox>
@ -93,17 +93,17 @@
<div class="column">
<button
@click.prevent="$router.go(-1)"
class="button is-pulled-left is-outlined">
class="button is-pulled-left is-outlined"
@click.prevent="$router.go(-1)">
{{ $i18n.get('cancel') }}
</button>
</div>
<div class="column">
<button
:class="{'is-loading': runButtonLoading}"
@click.prevent="runExporter()"
:disabled="!formIsValid()"
class="button is-pulled-right is-success">
class="button is-pulled-right is-success"
@click.prevent="runExporter()">
{{ $i18n.get('run') }}
</button>
</div>

View File

@ -42,10 +42,10 @@
:message="$i18n.getHelperMessage('filters', 'description')"/>
</label>
<b-input
type="textarea"
name="description"
:rows="3"
v-model="form.description"
type="textarea"
name="description"
:rows="3"
@focus="clearErrors('description')" />
</b-field>
@ -61,11 +61,11 @@
</label>
<div class="inline-block">
<b-radio
@focus="clearErrors('label_status')"
id="tainacan-select-status-publish"
name="status"
v-model="form.status"
native-value="publish">
name="status"
native-value="publish"
@focus="clearErrors('label_status')">
<span class="icon has-text-gray3">
<i class="tainacan-icon tainacan-icon-public"/>
</span>
@ -73,11 +73,11 @@
</b-radio>
<br>
<b-radio
@focus="clearErrors('label_status')"
id="tainacan-select-status-private"
name="status"
v-model="form.status"
native-value="private">
name="status"
native-value="private"
@focus="clearErrors('label_status')">
<span class="icon has-text-gray3">
<i class="tainacan-icon tainacan-icon-private"/>
</span>
@ -87,8 +87,8 @@
</b-field>
<b-field
:addons="false"
v-if="form.filter_type_object && form.filter_type_object.use_max_options">
v-if="form.filter_type_object && form.filter_type_object.use_max_options"
:addons="false">
<label class="label is-inline">
{{ $i18n.get('label_max_options_to_show') }}
<help-button
@ -100,8 +100,8 @@
v-if="!showEditMaxOptions"
class="is-flex">
<b-select
name="max_options"
v-model="form.max_options"
name="max_options"
:placeholder="$i18n.get('instruction_select_max_options_to_show')">
<option value="4">4</option>
<option value="8">8</option>
@ -131,13 +131,13 @@
v-if="showEditMaxOptions"
class="is-flex">
<b-input
name="max_options"
v-model="form.max_options"
name="max_options"
type="number"
step="1" />
<button
@click.prevent="showEditMaxOptions = false"
class="button is-white is-pulled-right">
class="button is-white is-pulled-right"
@click.prevent="showEditMaxOptions = false">
<span
v-tooltip="{
content: $i18n.get('close'),
@ -159,13 +159,13 @@
:message="formErrors['begin_with_filter_collapsed'] != undefined ? formErrors['begin_with_filter_collapsed'] : ''">
&nbsp;
<b-switch
size="is-small"
@update:model-value="clearErrors('begin_with_filter_collapsed')"
v-model="form.begin_with_filter_collapsed"
size="is-small"
:true-value="'yes'"
:false-value="'no'"
:native-value="form.begin_with_filter_collapsed == 'yes' ? 'yes' : 'no'"
name="begin_with_filter_collapsed">
name="begin_with_filter_collapsed"
@update:model-value="clearErrors('begin_with_filter_collapsed')">
<help-button
:title="$i18n.getHelperTitle('filters', 'begin_with_filter_collapsed')"
:message="$i18n.getHelperMessage('filters', 'begin_with_filter_collapsed')"
@ -181,13 +181,13 @@
:message="formErrors['display_in_repository_level_lists'] != undefined ? formErrors['display_in_repository_level_lists'] : ''">
&nbsp;
<b-switch
size="is-small"
@input="clearErrors('display_in_repository_level_lists')"
v-model="form.display_in_repository_level_lists"
size="is-small"
:true-value="'yes'"
:false-value="'no'"
:native-value="form.display_in_repository_level_lists == 'yes' ? 'yes' : 'no'"
name="display_in_repository_level_lists">
name="display_in_repository_level_lists"
@input="clearErrors('display_in_repository_level_lists')">
<help-button
:title="$i18n.getHelperTitle('filters', 'display_in_repository_level_lists')"
:message="$i18n.getHelperMessage('filters', 'display_in_repository_level_lists')"
@ -196,14 +196,14 @@
</b-field>
<component
:errors="formErrors['filter_type_options']"
v-if="(form.filter_type_object && form.filter_type_object.form_component) || form.edit_form == ''"
:is="form.filter_type_object.form_component"
:filter="form"
v-model:value="form.filter_type_options"/>
v-if="(form.filter_type_object && form.filter_type_object.form_component) || form.edit_form == ''"
v-model:value="form.filter_type_options"
:errors="formErrors['filter_type_options']"
:filter="form"/>
<div
v-html="form.edit_form"
v-else/>
v-else
v-html="form.edit_form"/>
<!-- Hook for extra Form options -->
<template v-if="hasEndLeftForm">

View File

@ -7,10 +7,10 @@
{ path: '', label: importerType != undefined ? (importerName != undefined ? importerName :importerType) : $i18n.get('title_importer_page') }
]"/>
<form
@click="formErrorMessage = ''"
v-if="importer != undefined && importer != null"
class="tainacan-form"
label-width="120px"
v-if="importer != undefined && importer != null">
@click="formErrorMessage = ''">
<div
v-if="importer.manual_collection || importer.accepts.file || importer.accepts.url"
class="columns">
@ -44,8 +44,8 @@
</section>
</b-upload>
<div
class="control selected-source-file"
v-if="importerFile != undefined">
v-if="importerFile != undefined"
class="control selected-source-file">
<span>{{ (importerFile.length != undefined && importerFile.length > 0 ) ? importerFile[0].name : importerFile.name }}</span>
<a
target="_blank"
@ -63,8 +63,8 @@
</a>
</div>
<div
class="control selected-source-file"
v-if="importerFile == undefined && importer.tmp_file">
v-if="importerFile == undefined && importer.tmp_file"
class="control selected-source-file">
<p>{{ $i18n.get('label_select_file') + ': ' + importer.tmp_file }}</p>
</div>
</b-field>
@ -107,12 +107,12 @@
<br>
<div class="is-inline">
<b-select
expanded
id="tainacan-select-target-collection"
expanded
:model-value="collectionId"
@update:model-value="onSelectCollection($event)"
:loading="isFetchingCollections"
:placeholder="$i18n.get('instruction_select_a_target_collection')">
:placeholder="$i18n.get('instruction_select_a_target_collection')"
@update:model-value="onSelectCollection($event)">
<option
v-for="collection of collections"
:key="collection.id"
@ -158,6 +158,7 @@
v-if="!importer.manual_mapping"
class="control">
<button
id="button-submit-importer-creation"
:disabled="
(formErrorMessage != undefined && formErrorMessage != '') ||
sessionId == undefined ||
@ -166,15 +167,15 @@
(importer.accepts.file && !importer.accepts.url && !importerFile) ||
(!importer.accepts.file && importer.accepts.url && !url) ||
(importer.accepts.file && importer.accepts.url && !importerFile && !url)"
id="button-submit-importer-creation"
@click.prevent="onFinishImporter()"
:class="{ 'is-loading': isLoadingRun, 'is-success': !isLoadingRun }"
class="button">{{ $i18n.get('run') }}</button>
class="button"
@click.prevent="onFinishImporter()">{{ $i18n.get('run') }}</button>
</div>
<div
v-if="importer.manual_mapping"
class="control">
<button
id="button-submit-collection-creation"
:disabled="
(formErrorMessage != undefined && formErrorMessage != '') ||
sessionId == undefined ||
@ -183,10 +184,9 @@
(importer.accepts.file && !importer.accepts.url && !importerFile) ||
(!importer.accepts.file && importer.accepts.url && !url) ||
(importer.accepts.file && importer.accepts.url && !importerFile && !url)"
id="button-submit-collection-creation"
@click.prevent="onFinishImporter()"
:class="{ 'is-loading': isLoadingUpload, 'is-success': !isLoadingUpload }"
class="button">{{ $i18n.get('next') }}</button>
class="button"
@click.prevent="onFinishImporter()">{{ $i18n.get('next') }}</button>
</div>
</div>
</form>

View File

@ -4,8 +4,8 @@
<div class="tainacan-page-title">
<h1>{{ $i18n.get('label_metadata_mapping') }} </h1>
<a
@click="$router.go(-1)"
class="back-link has-text-secondary">
class="back-link has-text-secondary"
@click="$router.go(-1)">
{{ $i18n.get('back') }}
</a>
<hr>
@ -27,15 +27,15 @@
:can-cancel="false"/>
<form
class="tainacan-form"
label-width="120px"
v-if="importer != undefined && importer != null">
v-if="importer != undefined && importer != null"
class="tainacan-form"
label-width="120px">
<p>{{ $i18n.get('info_metadata_mapping_helper') }}</p>
<br>
<b-loading
:is-full-page="false"
v-model="isLoadingSourceInfo"
v-model="isLoadingSourceInfo"
:is-full-page="false"
:can-cancel="false"/>
<!-- Metadata Mapping -->
@ -66,8 +66,8 @@
</a>
</div>
<div
class="mapping-header"
v-if="importerSourceInfo.source_metadata.length > 0 || (importerSourceInfo.source_special_fields && importerSourceInfo.source_special_fields.length > 0)">
v-if="importerSourceInfo.source_metadata.length > 0 || (importerSourceInfo.source_special_fields && importerSourceInfo.source_special_fields.length > 0)"
class="mapping-header">
<p>{{ $i18n.get('label_from_source_collection') }}</p>
<hr>
<span class="icon">
@ -78,10 +78,10 @@
</div>
<div
class="source-metadatum"
:class="{ 'has-children': typeof sourceMetadatum == 'object' && Object.entries(sourceMetadatum)[0] }"
v-for="(sourceMetadatum, index) of importerSourceInfo.source_metadata"
:key="index">
:key="index"
class="source-metadatum"
:class="{ 'has-children': typeof sourceMetadatum == 'object' && Object.entries(sourceMetadatum)[0] }">
<template v-if="typeof sourceMetadatum == 'string'">
<p>{{ sourceMetadatum }}</p>
<b-select
@ -89,8 +89,8 @@
collectionMetadata.length > 0 &&
!isFetchingCollectionMetadata"
:model-value="checkCurrentSelectedCollectionMetadatum(sourceMetadatum)"
@update:model-value="onSelectCollectionMetadata($event, sourceMetadatum)"
:placeholder="$i18n.get('label_select_metadatum')">
:placeholder="$i18n.get('label_select_metadatum')"
@update:model-value="onSelectCollectionMetadata($event, sourceMetadatum)">
<option :value="null">
{{ $i18n.get('label_select_metadatum') }}
</option>
@ -125,8 +125,8 @@
collectionMetadata.length > 0 &&
!isFetchingCollectionMetadata"
:model-value="checkCurrentSelectedCollectionMetadatum(Object.entries(sourceMetadatum)[0][0], true)"
@update:model-value="onSelectCollectionMetadata($event, Object.entries(sourceMetadatum)[0][0], true, Object.entries(sourceMetadatum)[0][1])"
:placeholder="$i18n.get('label_select_metadatum')">
:placeholder="$i18n.get('label_select_metadatum')"
@update:model-value="onSelectCollectionMetadata($event, Object.entries(sourceMetadatum)[0][0], true, Object.entries(sourceMetadatum)[0][1])">
<option :value="null">
{{ $i18n.get('label_select_metadatum') }}
</option>
@ -152,9 +152,9 @@
:class="{ 'disabled-child-source-metadatum': [undefined, null, false, 'create_metadata' + index].includes(checkCurrentSelectedCollectionMetadatum(Object.entries(sourceMetadatum)[0][0], true)) }"
class="child-source-metadatum">
<div
class="source-metadatum"
v-for="(childSourceMetadatum, childIndex) of Object.entries(sourceMetadatum)[0][1]"
:key="childIndex">
:key="childIndex"
class="source-metadatum">
<p>{{ childSourceMetadatum }}</p>
<b-select
v-if="collectionMetadata != undefined &&
@ -162,8 +162,8 @@
!isFetchingCollectionMetadata"
:disabled="[undefined, null, false, 'create_metadata' + index].includes(checkCurrentSelectedCollectionMetadatum(Object.entries(sourceMetadatum)[0][0], true))"
:model-value="checkCurrentSelectedCollectionChildMetadatum(childSourceMetadatum, checkCurrentSelectedCollectionMetadatum(Object.entries(sourceMetadatum)[0][0], true))"
@update:model-value="onSelectCollectionChildMetadata($event, childSourceMetadatum, checkCurrentSelectedCollectionMetadatum(Object.entries(sourceMetadatum)[0][0], true), Object.entries(sourceMetadatum)[0][0])"
:placeholder="$i18n.get('label_select_metadatum')">
:placeholder="$i18n.get('label_select_metadatum')"
@update:model-value="onSelectCollectionChildMetadata($event, childSourceMetadatum, checkCurrentSelectedCollectionMetadatum(Object.entries(sourceMetadatum)[0][0], true), Object.entries(sourceMetadatum)[0][0])">
<option :value="null">
{{ $i18n.get('label_select_metadatum') }}
</option>
@ -199,22 +199,22 @@
<p v-if="(!importerSourceInfo.source_special_fields || importerSourceInfo.source_special_fields.length <= 0)">{{ $i18n.get('info_no_special_fields_available') }}<br></p>
<b-modal
@close="onMetadatumEditionCanceled()"
v-model="isNewMetadatumModalActive"
trap-focus
aria-modal
aria-role="dialog"
:close-button-aria-label="$i18n.get('close')"
custom-class="tainacan-modal">
custom-class="tainacan-modal"
@close="onMetadatumEditionCanceled()">
<div
v-if="selectedMetadatumType == undefined && !isEditingMetadatum"
autofocus="true"
tabindex="-1"
role="dialog"
aria-modal
v-if="selectedMetadatumType == undefined && !isEditingMetadatum">
aria-modal>
<b-loading
:is-full-page="isFullPage"
v-model="isLoadingMetadatumTypes"/>
v-model="isLoadingMetadatumTypes"
:is-full-page="isFullPage"/>
<div
class="tainacan-modal-content">
@ -225,9 +225,9 @@
<section class="tainacan-form">
<div class="metadata-types-container">
<div
class="metadata-type"
v-for="(metadatumType, index) of metadatumTypes"
:key="index"
class="metadata-type"
@click="onSelectMetadatumType(metadatumType)">
<h4>{{ metadatumType.name }}</h4>
</div>
@ -250,11 +250,11 @@
v-if="selectedMetadatumType && isEditingMetadatum"
:collection-id="collectionId"
:is-repository-level="false"
@onEditionFinished="onMetadatumEditionFinished()"
@onEditionCanceled="onMetadatumEditionCanceled()"
:index="0"
:original-metadatum="metadatum"
:is-inside-importer-flow="true" />
:is-inside-importer-flow="true"
@onEditionFinished="onMetadatumEditionFinished()"
@onEditionCanceled="onMetadatumEditionCanceled()" />
</b-modal>
</div>
<div
@ -275,11 +275,11 @@
<p class="help is-danger">{{ formErrorMessage }}</p>
<div class="control">
<button
:disabled="sessionId == undefined || importer == undefined"
id="button-submit-importer-mapping"
@click.prevent="onRunImporter"
:disabled="sessionId == undefined || importer == undefined"
:class="{ 'is-loading': isLoadingRun, 'is-success': !isLoadingRun }"
class="button">{{ $i18n.get('run') }}</button>
class="button"
@click.prevent="onRunImporter">{{ $i18n.get('run') }}</button>
</div>
</div>
</form>
@ -308,8 +308,8 @@
<p style="margin: 12px 0px 24px 0px">{{ $i18n.get('info_title_mapping') }}</p>
<b-field>
<b-select
expanded
v-model="selectedTitle"
expanded
:placeholder="$i18n.get('label_select_metadatum')">
<option
v-for="(sourceMetadatum, index) of importerSourceInfo.source_metadata"
@ -359,8 +359,8 @@
<button
type="submit"
class="button is-success"
@click="onConfirmTitleSelection"
:disabled="selectedTitle === '' || selectedTitle == undefined">
:disabled="selectedTitle === '' || selectedTitle == undefined"
@click="onConfirmTitleSelection">
{{ $i18n.get('apply') }}
</button>
</div>

View File

@ -23,8 +23,8 @@
style="float: right; font-size: 0.875em; margin: 2px 5px;"
type="button"
class="link-style"
@click.prevent="($event) => $emit('openAttachmentsMediaFrame', $event)"
:disabled="isLoading">
:disabled="isLoading"
@click.prevent="($event) => $emit('openAttachmentsMediaFrame', $event)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-edit"/>
</span>

View File

@ -1,16 +1,16 @@
<template>
<div>
<b-loading
:is-full-page="false"
v-model="isLoading"
:is-full-page="false"
:can-cancel="false"/>
<div
v-if="!$adminOptions.hideBulkEditionPageTitle"
class="tainacan-page-title">
<h1>{{ $i18n.get('add_items_bulk') }}</h1>
<a
@click="$router.go(-1)"
class="back-link has-text-secondary">
class="back-link has-text-secondary"
@click="$router.go(-1)">
{{ $i18n.get('back') }}
</a>
<hr>
@ -25,12 +25,12 @@
<label class="label">{{ $i18n.get('label_documents_upload') }}</label>
<br>
<b-upload
native
v-model="submitedFileList"
native
drag-drop
multiple
@update:model-value="uploadFiles()"
class="source-file-upload">
class="source-file-upload"
@update:model-value="uploadFiles()">
<section class="drop-inner">
<div class="content has-text-centered">
<p>
@ -84,9 +84,9 @@
<!-- Uploaded Items -->
<transition-group name="item-appear">
<div
class="document-item"
v-for="(item, index) of uploadedItems"
:key="item.id">
:key="item.id"
class="document-item">
<img
v-if="item.document != undefined && item.document != '' && item.document_type != 'empty'"
class="document-thumb"
@ -108,7 +108,6 @@
</span>
<span
v-if="item.document != '' && item.document_type != 'empty'"
class="icon has-text-success"
v-tooltip="{
delay: {
shown: 500,
@ -118,7 +117,8 @@
autoHide: false,
placement: 'auto-start',
popperClass: ['tainacan-tooltip', 'tooltip']
}">
}"
class="icon has-text-success">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-approvedcircle" />
</span>
</div>
@ -161,8 +161,8 @@
:disabled="!(uploadedItems.length > 0 && uploadedItems.length == amountFinished)"
class="button is-secondary"
:class="{'is-loading': isCreatingSequenceEditGroup }"
@click.prevent="sequenceEditGroup()"
type="submit">
type="submit"
@click.prevent="sequenceEditGroup()">
{{ $i18n.get('label_sequence_edit_items') }}
</button>
</div>
@ -170,8 +170,8 @@
<button
:disabled="!(uploadedItems.length > 0 && uploadedItems.length == amountFinished)"
class="button is-secondary"
@click.prevent="openBulkEditionModal()"
type="submit">{{ $i18n.get('label_bulk_edit_items') }}</button>
type="submit"
@click.prevent="openBulkEditionModal()">{{ $i18n.get('label_bulk_edit_items') }}</button>
</div>
</div>
</footer>

View File

@ -21,9 +21,9 @@
<div v-html="item.document_as_html" />
<div class="document-buttons-row">
<a
id="button-edit-document"
class="button is-rounded is-secondary"
size="is-small"
id="button-edit-document"
:aria-label="$i18n.get('label_button_edit_document')"
@click.prevent="($event) => $emit('onSetDocument', $event, form.document_type)">
<span
@ -38,9 +38,9 @@
</span>
</a>
<a
id="button-delete-document"
class="button is-rounded is-secondary"
size="is-small"
id="button-delete-document"
:aria-label="$i18n.get('label_button_delete_document')"
@click.prevent="$emit('onRemoveDocument')">
<span

View File

@ -1,8 +1,8 @@
<template>
<div :class="isCreatingNewItem ? 'item-creation-container' : 'item-edition-container'"><!-- Do NOT remove this classes, they may be used by third party plugins -->
<b-loading
:is-full-page="false"
v-model="isLoading"
:is-full-page="false"
:can-cancel="false"/>
<tainacan-title
@ -112,8 +112,8 @@
<transition name="item-appear">
<div
v-if="isMobileSubheaderOpen"
@click="isMobileSubheaderOpen = false;"
class="tainacan-mobile-app-header_panel-backdrop" />
class="tainacan-mobile-app-header_panel-backdrop"
@click="isMobileSubheaderOpen = false;" />
</transition>
<transition name="panel-from-top">
<div
@ -196,11 +196,11 @@
<ul class="swiper-wrapper">
<li
v-for="(tab, tabIndex) of tabs"
:id="tab.slug + '-tab-label'"
:key="tabIndex"
:class="{ 'is-active': activeTab === tab.slug }"
@click="activeTab = tab.slug"
class="swiper-slide"
:id="tab.slug + '-tab-label'">
@click="activeTab = tab.slug">
<a>
<span class="icon has-text-gray4">
<i :class="'tainacan-icon tainacan-icon-18px tainacan-icon-' + tab.icon" />
@ -215,8 +215,8 @@
</li>
</ul>
<button
class="swiper-button-prev"
id="tainacan-tabs-prev">
id="tainacan-tabs-prev"
class="swiper-button-prev">
<svg
width="24"
height="24"
@ -228,9 +228,9 @@
</svg>
</button>
<button
class="swiper-button-next"
id="tainacan-tabs-next"
slot="button-next">
slot="button-next"
class="swiper-button-next">
<svg
width="24"
height="24"
@ -287,9 +287,9 @@
:style="$adminOptions.hideItemEditionCollapses ? 'padding-left: 0.35em !important;' : ''">
<b-button
v-if="!$adminOptions.hideItemEditionFocusMode && (collection && collection.item_enable_metadata_focus_mode === 'yes') && !isMetadataNavigation && !showOnlyRequiredMetadata && !metadataNameFilterString"
@click="isMetadataNavigation = true; setMetadatumFocus({ index: 0, scrollIntoView: true });"
class="collapse-all has-text-secondary"
size="is-small">
size="is-small"
@click="isMetadataNavigation = true; setMetadatumFocus({ index: 0, scrollIntoView: true });">
<span
class="icon">
<i class="tainacan-icon tainacan-icon-1-125em tainacan-icon-play" />
@ -299,8 +299,8 @@
<b-button
v-if="isMetadataNavigation"
:disabled="focusedMetadatum === 0"
@click="focusPreviousMetadatum"
outlined>
outlined
@click="focusPreviousMetadatum">
<span
class="icon">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-showmore tainacan-icon-rotate-180" />
@ -310,8 +310,8 @@
<b-button
v-if="isMetadataNavigation"
:disabled="(focusedMetadatum === itemMetadata.length - 1) && (!isCurrentlyFocusedOnCompoundMetadatum || isOnLastMetadatumOfCompoundNavigation)"
@click="focusNextMetadatum"
outlined>
outlined
@click="focusNextMetadatum">
<span
class="icon">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-showmore" />
@ -320,8 +320,8 @@
</b-button>
<b-button
v-if="isMetadataNavigation"
@click="setMetadatumFocus({ index: 0, scrollIntoView: true }); isMetadataNavigation = false;"
outlined>
outlined
@click="setMetadatumFocus({ index: 0, scrollIntoView: true }); isMetadataNavigation = false;">
<span
class="icon has-success-color">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-finish" />
@ -341,9 +341,9 @@
<b-switch
v-if="!isMetadataNavigation && !$adminOptions.hideItemEditionRequiredOnlySwitch && (collection && collection.item_enable_metadata_required_filter === 'yes')"
id="tainacan-switch-required-metadata"
v-model="showOnlyRequiredMetadata"
:style="'font-size: 0.625em;' + (isMobileScreen ? 'margin-right: 2rem;' : '')"
size="is-small"
v-model="showOnlyRequiredMetadata">
size="is-small">
{{ isMobileScreen ? $i18n.get('label_required') : $i18n.get('label_only_required') }} *
</b-switch>
@ -352,17 +352,17 @@
class="header-item metadata-name-search">
<b-input
v-if="!isMobileScreen || openMetadataNameFilter"
:placeholder="$i18n.get('instruction_type_search_metadata_filter')"
v-model="metadataNameFilterString"
:placeholder="$i18n.get('instruction_type_search_metadata_filter')"
icon="magnify"
size="is-small"
icon-right="close-circle"
icon-right-clickable
@icon-right-click="openMetadataNameFilterClose" />
<span
@click="openMetadataNameFilter = true"
v-else
class="icon is-small metadata-name-search-icon">
v-else
class="icon is-small metadata-name-search-icon"
@click="openMetadataNameFilter = true">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-search" />
</span>
</b-field>
@ -370,15 +370,15 @@
<div
v-for="(metadataSection, sectionIndex) of metadataSections"
:key="sectionIndex"
:class="'metadata-section-slug-' + metadataSection.slug + (isSectionHidden(metadataSection.id) ? ' metadata-section-hidden' : '')"
:id="'metadata-section-id-' + metadataSection.id"
:key="sectionIndex"
v-tooltip="{
content: isSectionHidden(metadataSection.id) ? $i18n.get('info_metadata_section_hidden_conditional') : false,
autoHide: true,
placement: 'auto',
popperClass: ['tainacan-tooltip', 'tooltip']
}">
}"
:class="'metadata-section-slug-' + metadataSection.slug + (isSectionHidden(metadataSection.id) ? ' metadata-section-hidden' : '')">
<div class="metadata-section-header section-label">
<span
class="collapse-handle"
@ -419,11 +419,11 @@
</div>
<transition name="filter-item">
<div
class="metadata-section-metadata-list"
v-show="(metadataSectionCollapses[sectionIndex] || isMetadataNavigation) && !isSectionHidden(metadataSection.id)">
v-show="(metadataSectionCollapses[sectionIndex] || isMetadataNavigation) && !isSectionHidden(metadataSection.id)"
class="metadata-section-metadata-list">
<p
class="metadatum-description-help-info"
v-if="metadataSection.description && metadataSection.description_bellow_name == 'yes'">
v-if="metadataSection.description && metadataSection.description_bellow_name == 'yes'"
class="metadatum-description-help-info">
{{ metadataSection.description }}
</p>
@ -432,10 +432,10 @@
:key="index">
<tainacan-form-item
v-if="itemMetadatum.metadatum.metadata_section_id == metadataSection.id"
:id="'metadatum-index--' + index"
v-show="(!showOnlyRequiredMetadata || itemMetadatum.metadatum.required === 'yes') && (metadataNameFilterString == '' || filterByMetadatumName(itemMetadatum))"
:class="{ 'is-metadata-navigation-active': isMetadataNavigation }"
v-show="(!showOnlyRequiredMetadata || itemMetadatum.metadatum.required === 'yes') && (metadataNameFilterString == '' || filterByMetadatumName(itemMetadatum))"
:id="'metadatum-index--' + index"
:ref="'tainacan-form-item--' + index"
:class="{ 'is-metadata-navigation-active': isMetadataNavigation }"
:item-metadatum="itemMetadatum"
:metadata-name-filter-string="metadataNameFilterString"
:is-collapsed="metadataCollapses[index]"
@ -485,11 +485,11 @@
</div>
<related-items-list
v-model:is-loading="isLoading"
:item-id="itemId"
:collection-id="collectionId"
:related-items="item.related_items"
:is-editable="!$adminOptions.itemEditionMode"
v-model:is-loading="isLoading" />
:is-editable="!$adminOptions.itemEditionMode" />
</div>
@ -656,8 +656,8 @@
v-if="!$adminOptions.mobileAppMode"
class="update-info-section">
<p
class="footer-message"
v-if="isOnSequenceEdit">
v-if="isOnSequenceEdit"
class="footer-message">
{{ $i18n.get('label_sequence_editing_item') + " " + itemPosition + " " + $i18n.get('info_of') + " " + ((group != null && group.items_count != undefined) ? group.items_count : '') + "." }}&nbsp;
</p>
<p class="footer-message">
@ -681,16 +681,16 @@
<!-- Comment Status ------------------------ -->
<div
v-if="collection && collection.allow_comments && collection.allow_comments == 'open' && !$adminOptions.hideItemEditionCommentsToggle"
style="margin-left: 2em;"
class="section-status"
v-if="collection && collection.allow_comments && collection.allow_comments == 'open' && !$adminOptions.hideItemEditionCommentsToggle">
class="section-status">
<div class="field has-addons">
<b-switch
id="tainacan-checkbox-comment-status"
v-model="form.comment_status"
size="is-small"
true-value="open"
false-value="closed"
v-model="form.comment_status">
false-value="closed">
<span class="icon has-text-gray4">
<i class="tainacan-icon tainacan-icon-comment"/>
</span>

View File

@ -4,9 +4,9 @@
<!-- Item edition inside iframe -->
<template v-if="isEditingItemMetadataInsideIframe">
<button
@click="$emit('onSubmit')"
type="button"
class="button is-secondary">
class="button is-secondary"
@click="$emit('onSubmit')">
{{ $i18n.get('label_back_to_related_item') }}
</button>
</template>
@ -17,9 +17,9 @@
<!-- Sequence edition Previous -->
<button
v-if="isOnSequenceEdit && hasPreviousItemOnSequenceEdit"
@click="$emit('onPrevInSequence')"
type="button"
class="button sequence-button">
class="button sequence-button"
@click="$emit('onPrevInSequence')">
<span class="icon is-large">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-previous"/>
</span>
@ -30,14 +30,14 @@
<template v-if="(status == 'auto-draft' || status == undefined)">
<button
v-if="!$adminOptions.mobileAppMode"
@click="$emit('onDiscard')"
type="button"
class="button is-outlined">{{ $i18n.get('label_discard') }}</button>
class="button is-outlined"
@click="$emit('onDiscard')">{{ $i18n.get('label_discard') }}</button>
<button
@click="openItemCreationStatusDialog"
type="button"
class="button is-secondary"
:style="{ marginLeft: $adminOptions.mobileAppMode ? 'auto' : '0.5em' }">{{ $i18n.get('label_create_item') }}</button>
:style="{ marginLeft: $adminOptions.mobileAppMode ? 'auto' : '0.5em' }"
@click="openItemCreationStatusDialog">{{ $i18n.get('label_create_item') }}</button>
</template>
<!-- Item is public, draft or private -->
@ -46,9 +46,9 @@
<!-- Send items to Trash -->
<button
v-if="!isOnSequenceEdit && currentUserCanDelete && !$adminOptions.mobileAppMode"
@click="$emit('onSubmit', 'trash')"
type="button"
class="button is-outlined">
class="button is-outlined"
@click="$emit('onSubmit', 'trash')">
<span v-if="!isMobileScreen">{{ $i18n.get('label_send_to_trash') }}</span>
<span v-else>{{ $i18n.get('status_trash') }}</span>
</button>
@ -67,17 +67,17 @@
<template #trigger>
<button
:disabled="hasSomeError && (status == 'publish' || status == 'private')"
@click="!$adminOptions.mobileAppMode && !isMobileScreen ? $emit(
'onSubmit',
( currentUserCanPublish && !$adminOptions.hideItemEditionStatusPublishOption ) ? status : 'draft',
( (isOnSequenceEdit && !isCurrentItemOnSequenceEdit) ? 'next' : null)
) : ($refs && $refs['item-edition-footer-dropdown'] && !$refs['item-edition-footer-dropdown'].isActive ? $refs['item-edition-footer-dropdown'].toggle() : null)"
type="button"
class="button"
:class="{
'is-success': status == 'publish' || status == 'private',
'is-secondary': status == 'draft'
}">
}"
@click="!$adminOptions.mobileAppMode && !isMobileScreen ? $emit(
'onSubmit',
( currentUserCanPublish && !$adminOptions.hideItemEditionStatusPublishOption ) ? status : 'draft',
( (isOnSequenceEdit && !isCurrentItemOnSequenceEdit) ? 'next' : null)
) : ($refs && $refs['item-edition-footer-dropdown'] && !$refs['item-edition-footer-dropdown'].isActive ? $refs['item-edition-footer-dropdown'].toggle() : null)">
{{ $i18n.get('label_update') }}
<span
v-if="isOnSequenceEdit && !isCurrentItemOnSequenceEdit"
@ -87,21 +87,21 @@
</span>
<span
v-if="!$adminOptions.mobileAppMode"
@mouseenter="$refs && $refs['item-edition-footer-dropdown'] && !$refs['item-edition-footer-dropdown'].isActive ? $refs['item-edition-footer-dropdown'].toggle() : null"
style="margin-left: 0.5em;"
class="icon is-small">
class="icon is-small"
@mouseenter="$refs && $refs['item-edition-footer-dropdown'] && !$refs['item-edition-footer-dropdown'].isActive ? $refs['item-edition-footer-dropdown'].toggle() : null">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-arrowup" />
</span>
</button>
</template>
<b-dropdown-item
@click="$emit(
:class="{ 'is-forced-last-option': status == 'draft' }"
aria-role="listitem"
@click="$emit(
'onSubmit',
'draft',
( (isOnSequenceEdit && !isCurrentItemOnSequenceEdit) ? 'next' : null)
)"
:class="{ 'is-forced-last-option': status == 'draft' }"
aria-role="listitem">
)">
<span class="icon has-text-gray4">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-draft"/>
</span>
@ -109,13 +109,13 @@
</b-dropdown-item>
<b-dropdown-item
v-if="currentUserCanPublish && !$adminOptions.hideItemEditionStatusPublishOption"
:class="{ 'is-forced-last-option': status == 'private' }"
aria-role="listitem"
@click="$emit(
'onSubmit',
'private',
( (isOnSequenceEdit && !isCurrentItemOnSequenceEdit) ? 'next' : null)
)"
:class="{ 'is-forced-last-option': status == 'private' }"
aria-role="listitem">
)">
<span class="icon has-text-gray4">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-private"/>
</span>
@ -123,12 +123,12 @@
</b-dropdown-item>
<b-dropdown-item
v-if="currentUserCanPublish && !$adminOptions.hideItemEditionStatusPublishOption"
aria-role="listitem"
@click="$emit(
'onSubmit',
'publish',
( (isOnSequenceEdit && !isCurrentItemOnSequenceEdit) ? 'next' : null)
)"
aria-role="listitem">
)">
<span class="icon has-text-gray4">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-public"/>
</span>
@ -140,13 +140,13 @@
<button
v-else
:disabled="hasSomeError && (status == 'publish' || status == 'private')"
@click="$emit('onSubmit', status)"
type="button"
class="button"
:class="{
'is-success': status == 'publish' || status == 'private',
'is-secondary': status == 'draft'
}">
}"
@click="$emit('onSubmit', status)">
{{ $i18n.get('label_update') }}
</button>
@ -156,9 +156,9 @@
<button
v-if="!currentUserCanPublish && isOnSequenceEdit && hasNextItemOnSequenceEdit"
:disabled="(status == 'publish' || status == 'private') && hasSomeError"
@click="$emit('onNextInSequence')"
type="button"
class="button is-success">
class="button is-success"
@click="$emit('onNextInSequence')">
<span>{{ $i18n.get('label_next') }}</span>
<span class="icon is-large">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-next"/>
@ -168,9 +168,9 @@
<!-- Sequence edition Finish -->
<button
v-if="isOnSequenceEdit && isCurrentItemOnSequenceEdit"
@click="$router.push($routerHelper.getCollectionPath(collectionId))"
type="button"
class="button sequence-button">
class="button sequence-button"
@click="$router.push($routerHelper.getCollectionPath(collectionId))">
<span class="icon is-large">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-approved"/>
</span>

View File

@ -33,8 +33,8 @@
v-if="item.thumbnail == undefined || ((item.thumbnail.medium == undefined || item.thumbnail.medium == false) && (item.thumbnail['tainacan-medium'] == undefined || item.thumbnail['tainacan-medium'] == false))"
class="image">
<span
class="image-placeholder"
v-if="item.document_type == 'empty' && item.document_mimetype == 'empty'">
v-if="item.document_type == 'empty' && item.document_mimetype == 'empty'"
class="image-placeholder">
{{ $i18n.get('label_empty_thumbnail') }}
</span>
<img
@ -57,8 +57,8 @@
</b-field>
<div class="thumbnail-buttons-row">
<a
class="button is-rounded is-secondary"
id="button-edit-thumbnail"
class="button is-rounded is-secondary"
:aria-label="$i18n.get('label_button_edit_thumb')"
@click.prevent="($event) => $emit('openThumbnailMediaFrame', $event)">
<span

View File

@ -1,11 +1,11 @@
<template>
<form
id="metadataSectionEditForm"
@submit.prevent="saveEdition(form)"
autofocus="true"
tabindex="-1"
role="dialog"
aria-modal>
aria-modal
@submit.prevent="saveEdition(form)">
<div
v-if="form && Object.keys(form).length"
class="tainacan-modal-content">
@ -61,10 +61,10 @@
:extra-classes="isRepositoryLevel ? 'tainacan-repository-tooltip' : ''" />
</label>
<b-input
v-model="form.description"
type="textarea"
name="description"
rows="3"
v-model="form.description"
@focus="clearErrors('description')"/>
</b-field>
@ -75,12 +75,12 @@
:message="formErrors['description_bellow_name'] != undefined ? formErrors['description_bellow_name'] : ''">
&nbsp;
<b-switch
size="is-small"
@update:model-value="clearErrors('description_bellow_name')"
v-model="form.description_bellow_name"
size="is-small"
true-value="yes"
false-value="no"
name="description_bellow_name">
name="description_bellow_name"
@update:model-value="clearErrors('description_bellow_name')">
<help-button
:title="$i18n.getHelperTitle('metadata-sections', 'description_bellow_name')"
:message="$i18n.getHelperMessage('metadata-sections', 'description_bellow_name')"
@ -102,22 +102,22 @@
</label>
<div class="is-flex is-justify-content-space-between">
<b-radio
@focus="clearErrors('label_status')"
id="tainacan-select-status-publish"
name="status"
v-model="form.status"
native-value="publish">
name="status"
native-value="publish"
@focus="clearErrors('label_status')">
<span class="icon has-text-gray3">
<i class="tainacan-icon tainacan-icon-public"/>
</span>
{{ $i18n.get('status_public') }}
</b-radio>
<b-radio
@focus="clearErrors('label_status')"
id="tainacan-select-status-private"
name="status"
v-model="form.status"
native-value="private">
name="status"
native-value="private"
@focus="clearErrors('label_status')">
<span class="icon has-text-gray3">
<i class="tainacan-icon tainacan-icon-private"/>
</span>
@ -130,8 +130,8 @@
<div
v-if="form.id !== 'default_section'"
@click="hideConditionalSectionSettings = !hideConditionalSectionSettings;"
class="metadata-form-section">
class="metadata-form-section"
@click="hideConditionalSectionSettings = !hideConditionalSectionSettings;">
<span class="icon">
<i
class="tainacan-icon"
@ -155,12 +155,12 @@
:message="formErrors['is_conditional_section'] != undefined ? formErrors['is_conditional_section'] : ''">
&nbsp;
<b-switch
size="is-small"
@update:model-value="clearErrors('is_conditional_section')"
v-model="form.is_conditional_section"
size="is-small"
true-value="yes"
false-value="no"
name="is_conditional_section">
name="is_conditional_section"
@update:model-value="clearErrors('is_conditional_section')">
<help-button
:title="$i18n.getHelperTitle('metadata-sections', 'is_conditional_section')"
:message="$i18n.getHelperMessage('metadata-sections', 'is_conditional_section')"
@ -206,8 +206,8 @@
{{ selectedConditionalMetadatum.name }}
</label>
<component
v-if="shouldUpdateConditionalValue"
:is="selectedConditionalMetadatum.metadata_type_object.component"
v-if="shouldUpdateConditionalValue"
:forced-component-type="selectedConditionalMetadatum.metadata_type_object.component.includes('taxonomy') ? 'tainacan-taxonomy-tag-input' : ''"
:item-metadatum="{ metadatum: selectedConditionalMetadatum }"
:value="Array.isArray(selectedConditionalValue) ? selectedConditionalValue[0] : selectedConditionalValue"

View File

@ -1,11 +1,11 @@
<template>
<form
id="metadatumEditForm"
@submit.prevent="saveEdition(form)"
autofocus="true"
tabindex="-1"
role="dialog"
aria-modal>
aria-modal
@submit.prevent="saveEdition(form)">
<div
v-if="form && Object.keys(form).length"
class="tainacan-modal-content">
@ -69,10 +69,10 @@
:extra-classes="isRepositoryLevel ? 'tainacan-repository-tooltip' : ''" />
</label>
<b-input
v-model="form.description"
type="textarea"
name="description"
rows="3"
v-model="form.description"
@focus="clearErrors('description')"/>
</b-field>
@ -83,12 +83,12 @@
:message="formErrors['description_bellow_name'] != undefined ? formErrors['description_bellow_name'] : ''">
&nbsp;
<b-switch
size="is-small"
@update:model-value="clearErrors('description_bellow_name')"
v-model="form.description_bellow_name"
size="is-small"
true-value="yes"
false-value="no"
name="description_bellow_name">
name="description_bellow_name"
@update:model-value="clearErrors('description_bellow_name')">
<help-button
:title="$i18n.getHelperTitle('metadata', 'description_bellow_name')"
:message="$i18n.getHelperMessage('metadata', 'description_bellow_name')"
@ -128,22 +128,22 @@
</label>
<div class="is-flex is-justify-content-space-between">
<b-radio
@focus="clearErrors('label_status')"
id="tainacan-select-status-publish"
name="status"
v-model="form.status"
native-value="publish">
name="status"
native-value="publish"
@focus="clearErrors('label_status')">
<span class="icon has-text-gray3">
<i class="tainacan-icon tainacan-icon-public"/>
</span>
{{ $i18n.get('status_public') }}
</b-radio>
<b-radio
@focus="clearErrors('label_status')"
id="tainacan-select-status-private"
name="status"
v-model="form.status"
native-value="private">
name="status"
native-value="private"
@focus="clearErrors('label_status')">
<span class="icon has-text-gray3">
<i class="tainacan-icon tainacan-icon-private"/>
</span>
@ -166,8 +166,8 @@
:extra-classes="isRepositoryLevel ? 'tainacan-repository-tooltip' : ''" />
</label>
<b-select
expanded
v-model="form.display"
expanded
@update:model-value="clearErrors('display')">
<option value="yes">
{{ $i18n.get('label_display_default') }}
@ -190,12 +190,12 @@
:type="formErrors['required'] != undefined ? 'is-danger' : ''"
:message="formErrors['required'] != undefined ? formErrors['required'] : ''">
<b-checkbox
@update:model-value="clearErrors('required')"
v-model="form.required"
true-value="yes"
false-value="no"
class="is-inline-block"
name="required">
name="required"
@update:model-value="clearErrors('required')">
{{ $i18n.get('label_required') }}
<help-button
:title="$i18n.getHelperTitle('metadata', 'required')"
@ -209,12 +209,12 @@
:type="formErrors['collection_key'] != undefined ? 'is-danger' : ''"
:message="formErrors['collection_key'] != undefined ? formErrors['collection_key'] : ''">
<b-checkbox
@update:model-value="clearErrors('collection_key')"
v-model="form.collection_key"
true-value="yes"
false-value="no"
class="is-inline-block"
name="collection_key">
name="collection_key"
@update:model-value="clearErrors('collection_key')">
{{ $i18n.get('label_unique_value') }}
<help-button
:title="$i18n.getHelperTitle('metadata', 'collection_key')"
@ -228,12 +228,12 @@
:type="formErrors['multiple'] != undefined ? 'is-danger' : ''"
:message="formErrors['multiple'] != undefined ? formErrors['multiple'] : ''">
<b-checkbox
@update:model-value="clearErrors('multiple')"
v-model="form.multiple"
true-value="yes"
false-value="no"
class="is-inline-block"
name="multiple">
name="multiple"
@update:model-value="clearErrors('multiple')">
{{ $i18n.get('label_allow_multiple') }}
<help-button
:title="$i18n.getHelperTitle('metadata', 'multiple')"
@ -250,9 +250,9 @@
:label="$i18n.get('label_limit_max_values')">
&nbsp;
<b-switch
v-model="showCardinalityOptions"
size="is-small"
:disabled="form.multiple != 'yes'"
v-model="showCardinalityOptions" />
:disabled="form.multiple != 'yes'" />
</b-field>
<b-field
@ -268,21 +268,21 @@
:extra-classes="isRepositoryLevel ? 'tainacan-repository-tooltip' : ''" />
</label>
<b-numberinput
v-model="form.cardinality"
:disabled="!showCardinalityOptions || form.multiple != 'yes'"
name="cardinality"
step="1"
min="2"
v-model="form.cardinality"/>
min="2"/>
</b-field>
<b-field v-if="!isRepositoryLevel && isInsideImporterFlow">
<b-checkbox
class="is-inline-block"
v-model="form.repository_level"
@update:model-value="clearErrors('repository_level')"
class="is-inline-block"
name="repository_level"
true-value="yes"
false-value="no">
false-value="no"
@update:model-value="clearErrors('repository_level')">
{{ $i18n.get('label_repository_metadata') }}
<help-button
:title="$i18n.getHelperTitle('metadata', 'repository_level')"
@ -313,14 +313,14 @@
v-show="!hideMetadataTypeOptions"
class="options-columns">
<component
:errors="formErrors['metadata_type_options']"
v-if="(form.metadata_type_object && form.metadata_type_object.form_component) || form.edit_form != ''"
:is="form.metadata_type_object.form_component"
:metadatum="form"
v-model:value="form.metadata_type_options"/>
v-if="(form.metadata_type_object && form.metadata_type_object.form_component) || form.edit_form != ''"
v-model:value="form.metadata_type_options"
:errors="formErrors['metadata_type_options']"
:metadatum="form"/>
<div
v-html="form.edit_form"
v-else/>
v-else
v-html="form.edit_form"/>
<!-- Hook for extra Form options -->
<template v-if="hasEndLeftForm" >
@ -333,8 +333,8 @@
</transition>
<div
@click="showAdvancedOptions = !showAdvancedOptions;"
class="metadata-form-section">
class="metadata-form-section"
@click="showAdvancedOptions = !showAdvancedOptions;">
<span class="icon">
<i
class="tainacan-icon"

View File

@ -28,10 +28,10 @@
<b-input
id="tainacan-text-name"
v-model="form.name"
@focus="clearErrors('name')"
@blur="updateSlug()"
:disabled="isUpdatingSlug"
:loading="isUpdatingSlug"/>
:loading="isUpdatingSlug"
@focus="clearErrors('name')"
@blur="updateSlug()"/>
</b-field>
<!-- Hook for extra Form options -->
@ -54,9 +54,9 @@
extra-classes="tainacan-repository-tooltip"/>
<b-input
id="tainacan-text-description"
v-model="form.description"
type="textarea"
rows="3"
v-model="form.description"
@focus="clearErrors('description')"/>
</b-field>
@ -66,8 +66,8 @@
{{ $i18n.get('label_taxonomy_allow_new_terms') }}
<b-switch
id="tainacan-checkbox-allow-insert"
size="is-small"
v-model="form.allowInsert"
size="is-small"
true-value="yes"
false-value="no" />
<help-button
@ -83,8 +83,8 @@
{{ $i18n.getHelperTitle('taxonomies', 'hierarchical') }}
<b-switch
id="tainacan-checkbox-allow-insert"
size="is-small"
v-model="form.hierarchical"
size="is-small"
true-value="yes"
false-value="no" />
<help-button
@ -105,11 +105,11 @@
:message="$i18n.getHelperMessage('taxonomies', 'slug')"
extra-classes="tainacan-repository-tooltip"/>
<b-input
@update:model-value="updateSlug()"
id="tainacan-text-slug"
v-model="form.slug"
@focus="clearErrors('slug')"
:disabled="isUpdatingSlug"/>
:disabled="isUpdatingSlug"
@update:model-value="updateSlug()"
@focus="clearErrors('slug')"/>
</b-field>
<!-- Activate for other post types -->
@ -129,10 +129,10 @@
:key="wpPostType.slug"
class="field">
<b-checkbox
v-model="form.enabledPostTypes"
:native-value="wpPostType.slug"
:true-value="wpPostType.slug"
false-value=""
v-model="form.enabledPostTypes"
name="enabled_post_types" >
{{ wpPostType.label }}
</b-checkbox>
@ -156,9 +156,9 @@
extra-classes="tainacan-repository-tooltip"/>
<div class="status-radios">
<b-radio
v-model="form.status"
v-for="(statusOption, index) of $statusHelper.getStatuses().filter((status) => status.slug != 'draft')"
:key="index"
v-model="form.status"
:native-value="statusOption.slug">
<span class="icon has-text-gray">
<i
@ -179,8 +179,8 @@
:message="$i18n.get('info_taxonomy_terms_list')"
extra-classes="tainacan-repository-tooltip"/>
<terms-list
:is-hierarchical="form.hierarchical !== 'no'"
:key="shouldReloadTermsList ? 'termslistreloaded' : 'termslist'"
:is-hierarchical="form.hierarchical !== 'no'"
:taxonomy-id="taxonomyId"
:current-user-can-edit-taxonomy="taxonomy ? taxonomy.current_user_can_edit : false"/>
</b-field>
@ -202,8 +202,8 @@
class="control">
<button
id="button-another-taxonomy-creation"
@click.prevent="goToCreateAnotherTaxonomy()"
class="button is-secondary">{{ $i18n.get('label_create_another_taxonomy') }}</button>
class="button is-secondary"
@click.prevent="goToCreateAnotherTaxonomy()">{{ $i18n.get('label_create_another_taxonomy') }}</button>
</div>
<div
v-if="!$route.query.recent"
@ -236,10 +236,10 @@
<span>{{ $i18n.get('label_taxonomy_page_on_website') }}</span>
</a>
<button
:class="{ 'is-loading': isLoadingTaxonomy, 'is-success': !isLoadingTaxonomy }"
id="button-submit-taxonomy-creation"
@click.prevent="onSubmit"
class="button">{{ $i18n.get('save') }}</button>
:class="{ 'is-loading': isLoadingTaxonomy, 'is-success': !isLoadingTaxonomy }"
class="button"
@click.prevent="onSubmit">{{ $i18n.get('save') }}</button>
</div>
</footer>
</form>

View File

@ -1,10 +1,10 @@
<template>
<form
id="termEditForm"
autofocus
role="dialog"
tabindex="-1"
aria-modal
id="termEditForm"
class="tainacan-form tainacan-modal-content"
@submit.prevent="saveEdition(form)">
<header
@ -24,8 +24,8 @@
<div class="modal-card-body">
<b-loading
:is-full-page="false"
v-model="isLoading" />
v-model="isLoading"
:is-full-page="false" />
<!-- Name -------------- -->
<b-field
@ -41,8 +41,8 @@
extra-classes="tainacan-repository-tooltip" />
</label>
<b-input
:placeholder="$i18n.get('label_term_without_name')"
v-model="form.name"
:placeholder="$i18n.get('label_term_without_name')"
name="name"
@focus="clearErrors({ name: 'name', repeated: 'repeated' })"/>
</b-field>
@ -74,8 +74,8 @@
</figure>
<div class="thumbnail-buttons-row">
<a
class="button is-rounded is-secondary"
id="button-edit-header"
class="button is-rounded is-secondary"
:aria-label="$i18n.get('label_button_edit_header_image')"
@click="headerImageMediaFrame.openFrame($event)">
<span
@ -90,8 +90,8 @@
</span>
</a>
<a
class="button is-rounded is-secondary"
id="button-delete-header"
class="button is-rounded is-secondary"
:aria-label="$i18n.get('label_button_delete_thumb')"
@click="deleteHeaderImage()">
<span
@ -124,9 +124,9 @@
extra-classes="tainacan-repository-tooltip"/>
</label>
<b-input
v-model="form.description"
type="textarea"
name="description"
v-model="form.description"
@focus="clearErrors('description')"/>
</b-field>
</div>
@ -141,10 +141,10 @@
<label class="label is-inline">
{{ $i18n.get('label_parent_term') }}
<b-switch
@update:model-value="onToggleSwitch()"
id="tainacan-checkbox-has-parent"
id="tainacan-checkbox-has-parent"
v-model="hasParent"
size="is-small"
v-model="hasParent" />
@update:model-value="onToggleSwitch()" />
<help-button
:title="$i18n.get('label_parent_term')"
:message="$i18n.get('info_help_parent_term')"
@ -152,18 +152,18 @@
</label>
<b-autocomplete
id="tainacan-add-parent-field"
v-model="parentTermName"
:placeholder="$i18n.get('instruction_parent_term')"
:data="parentTerms"
field="name"
clearable
v-model="parentTermName"
@select="onSelectParentTerm($event)"
:loading="isFetchingParentTerms"
@update:model-value="fetchParentTerms"
@focus="clearErrors('parent');"
:disabled="!hasParent"
:append-to-body="true"
check-infinite-scroll
@select="onSelectParentTerm($event)"
@update:model-value="fetchParentTerms"
@focus="clearErrors('parent');"
@infinite-scroll="fetchMoreParentTerms">
<template #default="props">
<div class="media">
@ -183,8 +183,8 @@
</b-autocomplete>
<transition name="fade">
<p
class="checkboxes-warning"
v-show="isTermInsertionFlow != true && showCheckboxesWarning == true">
v-show="isTermInsertionFlow != true && showCheckboxesWarning == true"
class="checkboxes-warning">
{{ $i18n.get('info_warning_changing_parent_term') }}
</p>
</transition>

View File

@ -1,25 +1,25 @@
<template>
<div class="block">
<b-autocomplete
v-model="selected"
icon="magnify"
size="is-small"
:aria-labelledby="'filter-label-id-' + filter.id"
v-model="selected"
:data="options"
expanded
:loading="isLoadingOptions"
@update:model-value="($event) => { resetPage(); search($event); }"
field="label"
@select="onSelect"
clearable
:placeholder="(metadatumType === 'Tainacan\\Metadata_Types\\Relationship') ? $i18n.get('info_type_to_search_items') : $i18n.get('info_type_to_search_metadata')"
check-infinite-scroll
@update:model-value="($event) => { resetPage(); search($event); }"
@select="onSelect"
@infinite-scroll="searchMore">
<template #default="props">
<div class="media">
<div
class="media-left"
v-if="props.option.img">
v-if="props.option.img"
class="media-left">
<img
:alt="$i18n.get('label_thumbnail')"
width="24"

View File

@ -15,8 +15,8 @@
<input
v-model="selected"
:value="option.value"
@input="resetPage()"
type="checkbox">
type="checkbox"
@input="resetPage()">
<span class="check" />
<span class="control-label">
<span class="checkbox-label-text">{{ option.label }}</span>
@ -26,8 +26,8 @@
</span>
</label>
<button
class="view-all-button link-style"
v-if="option.showViewAllButton && index == options.slice(0, filter.max_options).length - 1"
class="view-all-button link-style"
@click="openCheckboxModal(option.parent)">
{{ $i18n.get('label_view_all') }}
</button>
@ -44,19 +44,19 @@
:is-modal="false"
:filter="filter"
:selected="selected"
:metadatum-id="metadatumId"
:collection-id="collectionId"
:metadatum_type="metadatumType"
:is-repository-level="isRepositoryLevel"
:query="query"
:current-collection-id="currentCollectionId"
@input="(newSelected) => {
const existingValue = selected.indexOf(newSelected);
if (existingValue >= 0)
selected.splice(existingValue, 1);
else
selected.push(newSelected);
}"
:metadatum-id="metadatumId"
:collection-id="collectionId"
:metadatum_type="metadatumType"
:is-repository-level="isRepositoryLevel"
:query="query"
:current-collection-id="currentCollectionId" />
}" />
</template>
</div>
</template>

View File

@ -1,11 +1,9 @@
<template>
<div>
<b-datepicker
v-model="dateInit"
:aria-labelledby="'filter-label-id-' + filter.id"
:placeholder="$i18n.get('label_selectbox_init')"
v-model="dateInit"
@focus="isTouched = true"
@update:model-value="($event) => { resetPage(); validadeValues($event) }"
editable
:trap-focus="false"
:date-formatter="(date) => dateFormatter(date)"
@ -20,18 +18,18 @@
$i18n.get('datepicker_short_thursday'),
$i18n.get('datepicker_short_friday'),
$i18n.get('datepicker_short_saturday'),
]"/>
]"
@focus="isTouched = true"
@update:model-value="($event) => { resetPage(); validadeValues($event) }"/>
<p
style="font-size: 0.75em; margin-bottom: 0.125em;"
class="has-text-centered is-marginless">
{{ $i18n.get('label_until') }}
</p>
<b-datepicker
v-model="dateEnd"
:aria-labelledby="'filter-label-id-' + filter.id"
:placeholder="$i18n.get('label_selectbox_init')"
v-model="dateEnd"
@update:model-value="validadeValues()"
@focus="isTouched = true"
editable
:trap-focus="false"
:date-formatter="(date) => dateFormatter(date)"
@ -46,7 +44,9 @@
$i18n.get('datepicker_short_thursday'),
$i18n.get('datepicker_short_friday'),
$i18n.get('datepicker_short_saturday'),
]"/>
]"
@update:model-value="validadeValues()"
@focus="isTouched = true"/>
</div>
</template>

View File

@ -2,9 +2,9 @@
<div class="date-filter-container">
<b-dropdown
:mobile-modal="true"
@update:model-value="($event) => { resetPage(); onChangeComparator($event) }"
aria-role="list"
trap-focus>
trap-focus
@update:model-value="($event) => { resetPage(); onChangeComparator($event) }">
<template #trigger>
<button
:aria-label="$i18n.get('label_comparator')"
@ -71,11 +71,10 @@
@update:model-value="emitOnlyYear($event)"
v-model="yearsOnlyValue"/> -->
<b-datepicker
v-model="value"
position="is-bottom-right"
:aria-labelledby="'filter-label-id-' + filter.id"
:placeholder="$i18n.get('instruction_select_a_date')"
v-model="value"
@update:model-value="($event) => { resetPage(); emit($event); }"
editable
:trap-focus="false"
:date-formatter="(date) => dateFormatter(date)"
@ -104,7 +103,8 @@
$i18n.get('datepicker_month_october'),
$i18n.get('datepicker_month_november'),
$i18n.get('datepicker_month_december')
]" />
]"
@update:model-value="($event) => { resetPage(); emit($event); }" />
<!-- filterTypeOptions FOR TYPE
v-else
:type="filterTypeOptions.type == 'month' ? 'month' : null"

View File

@ -11,8 +11,8 @@
v-if="!showEditStepOptions"
class="is-flex">
<b-select
name="step_options"
v-model="step"
name="step_options"
@update:model-value="onUpdateStep">
<option value="0.001">0.001</option>
<option value="0.01">0.01</option>
@ -48,14 +48,14 @@
v-if="showEditStepOptions"
class="is-flex">
<b-input
name="max_options"
v-model="step"
@update:model-value="onUpdateStep"
name="max_options"
type="number"
step="1" />
step="1"
@update:model-value="onUpdateStep" />
<button
@click.prevent="showEditStepOptions = false"
class="button is-white is-pulled-right">
class="button is-white is-pulled-right"
@click.prevent="showEditStepOptions = false">
<span
v-tooltip="{
content: $i18n.get('close'),

View File

@ -1,13 +1,13 @@
<template>
<div>
<b-numberinput
v-model="valueInit"
:aria-labelledby="'filter-label-id-' + filter.id"
:aria-minus-label="$i18n.get('label_decrease')"
:aria-plus-label="$i18n.get('label_increase')"
size="is-small"
@update:model-value="($event) => { resetPage(); validadeValues($event) }"
:step="filterTypeOptions.step"
v-model="valueInit"
@update:model-value="($event) => { resetPage(); validadeValues($event) }"
/>
<p
style="font-size: 0.75em; margin-bottom: 0.125em;"
@ -15,13 +15,13 @@
{{ $i18n.get('label_until') }}
</p>
<b-numberinput
v-model="valueEnd"
:aria-labelledby="'filter-label-id-' + filter.id"
:aria-minus-label="$i18n.get('label_decrease')"
:aria-plus-label="$i18n.get('label_increase')"
size="is-small"
@update:model-value="($event) => { resetPage(); validadeValues($event) }"
:step="filterTypeOptions.step"
v-model="valueEnd"/>
@update:model-value="($event) => { resetPage(); validadeValues($event) }"/>
</div>
</template>

View File

@ -26,38 +26,38 @@
</label>
<transition-group name="filter-item">
<div
class="options-input"
v-for="(interval, index) of intervals"
:key="0 + index">
:key="0 + index"
class="options-input">
<b-field>
<b-input
v-model="interval.label"
expanded
:placeholder="$i18n.get('label')"
@update:model-value="onUpdate(interval)"
v-model="interval.label" />
@update:model-value="onUpdate(interval)" />
</b-field>
<b-field>
<b-input
v-model="interval.from"
expanded
type="number"
step="0.01"
:placeholder="$i18n.get('info_initial_value')"
@update:model-value="onUpdate(interval, true)"
v-model="interval.from" />
@update:model-value="onUpdate(interval, true)" />
<b-input
v-model="interval.to"
expanded
type="number"
step="0.01"
:placeholder="$i18n.get('info_final_value')"
@update:model-value="onUpdate(interval, true)"
v-model="interval.to" />
@update:model-value="onUpdate(interval, true)" />
</b-field>
<p class="control">
<a
role="button"
@click="addInterval(index)"
class="add-link"
:title="$i18n.get('add_value')">
:title="$i18n.get('add_value')"
@click="addInterval(index)">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-add"/>
</span>
@ -69,9 +69,9 @@
class="control">
<a
role="button"
@click="removeInterval(index)"
class="add-link"
:title="$i18n.get('remove_value')">
:title="$i18n.get('remove_value')"
@click="removeInterval(index)">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-repprovedcircle"/>
</span>

View File

@ -1,17 +1,17 @@
<template>
<div>
<b-select
v-model="selectedInterval"
expanded
:placeholder="$i18n.get('instruction_select_a_interval')"
@update:model-value="($event) => { resetPage; changeInterval($event) }"
v-model="selectedInterval">
@update:model-value="($event) => { resetPage; changeInterval($event) }">
<option value="">
{{ $i18n.get('label_selectbox_init') }}...
</option>
<option
v-for="(interval, index) in filterTypeOptions.intervals"
:value="index"
:key="index">
:key="index"
:value="index">
{{ interval.label }}
</option>
</b-select>

View File

@ -11,8 +11,8 @@
v-if="!showEditStepOptions"
class="is-flex">
<b-select
name="step_options"
v-model="step"
name="step_options"
@update:model-value="onUpdateStep">
<option value="0.001">0.001</option>
<option value="0.01">0.01</option>
@ -48,14 +48,14 @@
v-if="showEditStepOptions"
class="is-flex">
<b-input
name="max_options"
v-model="step"
@update:model-value="onUpdateStep"
name="max_options"
type="number"
step="1" />
step="1"
@update:model-value="onUpdateStep" />
<button
@click.prevent="showEditStepOptions = false"
class="button is-white is-pulled-right">
class="button is-white is-pulled-right"
@click.prevent="showEditStepOptions = false">
<span
v-tooltip="{
content: $i18n.get('close'),

View File

@ -2,9 +2,9 @@
<div class="numeric-filter-container">
<b-dropdown
:mobile-modal="true"
@update:model-value="($event) => { resetPage(); onChangeComparator($event) }"
aria-role="list"
trap-focus>
trap-focus
@update:model-value="($event) => { resetPage(); onChangeComparator($event) }">
<template #trigger>
<button
:aria-label="$i18n.get('label_comparator')"
@ -62,13 +62,13 @@
</b-dropdown>
<b-numberinput
v-model="value"
:aria-labelledby="'filter-label-id-' + filter.id"
:aria-minus-label="$i18n.get('label_decrease')"
:aria-plus-label="$i18n.get('label_increase')"
size="is-small"
:step="Number(filterTypeOptions.step)"
@update:model-value="($event) => { resetPage($event); emit($event); }"
v-model="value"/>
@update:model-value="($event) => { resetPage($event); emit($event); }"/>
</div>
</template>

View File

@ -6,9 +6,9 @@
v-if="!isLoadingOptions"
:model-value="selected"
:aria-labelledby="'filter-label-id-' + filter.id"
@update:model-value="($event) => { resetPage(); onSelect($event) }"
:placeholder="$i18n.get('label_selectbox_init')"
expanded>
expanded
@update:model-value="($event) => { resetPage(); onSelect($event) }">
<option value="">{{ $i18n.get('label_selectbox_init') }}...</option>
<option
v-for="(option, index) in options"

View File

@ -10,18 +10,18 @@
:remove-on-keys="[]"
field="label"
attached
@update:model-value="($event) => { resetPage(); onSelect($event) }"
@typing="search"
:aria-close-label="$i18n.get('remove_value')"
:aria-labelledby="'filter-label-id-' + filter.id"
:placeholder="getInputPlaceholder"
check-infinite-scroll
@update:model-value="($event) => { resetPage(); onSelect($event) }"
@typing="search"
@infinite-scroll="searchMore">
<template #default="props">
<div class="media">
<div
class="media-left"
v-if="props.option.img">
v-if="props.option.img"
class="media-left">
<img
:alt="$i18n.get('label_thumbnail')"
width="24"

View File

@ -1,20 +1,18 @@
<template>
<b-field
class="filter-item-forms"
:ref="isMobileScreen ? ('filter-field-id-' + filter.id) : null"
class="filter-item-forms"
:style="{ columnSpan: filtersAsModal && filter.filter_type_object && filter.filter_type_object.component && (filter.filter_type_object.component == 'tainacan-filter-taxonomy-checkbox' || filter.filter_type_object.component == 'tainacan-filter-checkbox') ? 'all' : 'unset'}"
@touchstart="setFilterFocus(filter.id)"
@mousedown="setFilterFocus(filter.id)"
:style="{ columnSpan: filtersAsModal && filter.filter_type_object && filter.filter_type_object.component && (filter.filter_type_object.component == 'tainacan-filter-taxonomy-checkbox' || filter.filter_type_object.component == 'tainacan-filter-checkbox') ? 'all' : 'unset'}">
@mousedown="setFilterFocus(filter.id)">
<b-collapse
v-if="displayFilter"
class="show"
v-model="singleCollapseOpen"
v-model="singleCollapseOpen"
class="show"
animation="filter-item">
<template #trigger="props">
<button
:for="'filter-input-id-' + filter.id"
:aria-controls="'filter-input-id-' + filter.id"
:aria-expanded="singleCollapseOpen"
:id="'filter-label-id-' + filter.id"
v-tooltip="{
delay: {
shown: 500,
@ -26,7 +24,9 @@
placement: 'top-start',
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : '']
}"
:id="'filter-label-id-' + filter.id"
:for="'filter-input-id-' + filter.id"
:aria-controls="'filter-input-id-' + filter.id"
:aria-expanded="singleCollapseOpen"
:aria-label="filter.name"
class="label">
<span class="icon">
@ -49,9 +49,9 @@
:is-repository-level="isRepositoryLevel"
:is-loading-items="isLoadingItems"
:current-collection-id="$eventBusSearch.collectionId"
@input="onInput"
@updateParentCollapse="onFilterUpdateParentCollapse"
:filters-as-modal="filtersAsModal" />
:filters-as-modal="filtersAsModal"
@input="onInput"
@updateParentCollapse="onFilterUpdateParentCollapse" />
</div>
</b-collapse>
<div
@ -60,8 +60,6 @@
<div class="collapse-trigger">
<button
:for="'filter-input-id-' + filter.id"
:aria-controls="'filter-input-id-' + filter.id"
v-tooltip="{
delay: {
shown: 500,
@ -73,8 +71,10 @@
placement: 'top-start',
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : '']
}"
@click="displayFilter = true"
class="label">
:for="'filter-input-id-' + filter.id"
:aria-controls="'filter-input-id-' + filter.id"
class="label"
@click="displayFilter = true">
<span class="icon">
<i class="tainacan-icon tainacan-icon-arrowright tainacan-icon-1-25em"/>
</span>

View File

@ -15,9 +15,9 @@
class="b-checkbox checkbox is-small">
<input
v-model="selected"
@input="resetPage"
:value="option.value"
type="checkbox">
type="checkbox"
@input="resetPage">
<span class="check" />
<span class="control-label">
<span class="checkbox-label-text">{{ option.label }}</span>
@ -27,8 +27,8 @@
</span>
</label>
<button
class="view-all-button link-style"
v-if="option.showViewAllButton"
class="view-all-button link-style"
@click="openCheckboxModal(option.parent)">
{{ $i18n.get('label_view_all') }}
</button>
@ -46,19 +46,19 @@
:filter="filter"
:taxonomy_id="taxonomyId"
:selected="selected"
:metadatum-id="metadatumId"
:taxonomy="taxonomy"
:collection-id="collectionId"
:is-taxonomy="true"
:query="query"
:current-collection-id="currentCollectionId"
@input="(newSelected) => {
const existingValue = selected.indexOf(newSelected);
if (existingValue >= 0)
selected.splice(existingValue, 1);
else
selected.push(newSelected);
}"
:metadatum-id="metadatumId"
:taxonomy="taxonomy"
:collection-id="collectionId"
:is-taxonomy="true"
:query="query"
:current-collection-id="currentCollectionId" />
}" />
</template>
</div>
</template>

View File

@ -13,10 +13,10 @@
:aria-close-label="$i18n.get('remove_value')"
:aria-labelledby="'filter-label-id-' + filter.id"
:class="{'has-selected': selected != undefined && selected != []}"
@typing="search"
@update:model-value="($event) => { resetPage(); onSelect($event) }"
:placeholder="$i18n.get('info_type_to_add_terms')"
check-infinite-scroll
@typing="search"
@update:model-value="($event) => { resetPage(); onSelect($event) }"
@infinite-scroll="searchMore">
<template #default="props">
<div class="media">

View File

@ -24,14 +24,14 @@
</thead>
<tbody>
<tr
:key="index"
v-for="(activity, index) of activities">
v-for="(activity, index) of activities"
:key="index">
<!-- Name -->
<td
class="column-default-width column-main-content"
@click="openActivityDetailsModal(activity)"
:label="$i18n.get('label_activity_title')"
:aria-label="$i18n.get('label_activity_title') + ': ' + activity.title">
:aria-label="$i18n.get('label_activity_title') + ': ' + activity.title"
@click="openActivityDetailsModal(activity)">
<p
v-tooltip="{
delay: {
@ -49,9 +49,9 @@
<!-- User -->
<td
class="table-creation column-small-width"
@click="openActivityDetailsModal(activity)"
:label="$i18n.get('label_created_by')"
:aria-label="$i18n.get('label_created_by') + ': ' + activity.user_name">
:aria-label="$i18n.get('label_created_by') + ': ' + activity.user_name"
@click="openActivityDetailsModal(activity)">
<p
v-tooltip="{
delay: {
@ -68,9 +68,9 @@
<!-- Activity Date -->
<td
class="table-creation column-small-width"
@click="openActivityDetailsModal(activity)"
:label="$i18n.get('label_activity_date')"
:aria-label="$i18n.get('label_activity_date') + ': ' + activity.date">
:aria-label="$i18n.get('label_activity_date') + ': ' + activity.date"
@click="openActivityDetailsModal(activity)">
<p
v-tooltip="{
delay: {

View File

@ -4,8 +4,8 @@
style="position: relative;"
class="table-container">
<b-loading
:is-full-page="false"
v-model="isLoading" />
v-model="isLoading"
:is-full-page="false" />
<div
v-if="attachments.length > 0"
class="table-wrapper">
@ -28,14 +28,14 @@
v-if="isEditable && form.document != attachment.id"
class="file-item-control">
<a
@click="onDeleteAttachment(attachment)"
v-tooltip="{
content: $i18n.get('delete'),
autoHide: true,
placement: 'bottom',
popperClass: ['tainacan-tooltip', 'tooltip']
}"
class="icon">
class="icon"
@click="onDeleteAttachment(attachment)">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-delete"/>
</a>
</span>
@ -59,8 +59,8 @@
</div>
<div
class="pagination-area"
v-if="attachments.length > 0">
v-if="attachments.length > 0"
class="pagination-area">
<div class="shown-items">
{{
$i18n.getWithVariables('info_showing_%s', [ collection && collection.item_attachment_label ? collection.item_attachment_label : $i18n.get('label_attachments') ]) + ' ' +
@ -72,16 +72,16 @@
</div>
<div class="pagination">
<b-pagination
@change="onPageChange"
:total="totalAttachments"
v-model="attachmentsPage"
:total="totalAttachments"
order="is-centered"
size="is-small"
:per-page="attachmentsPerPage"
:aria-next-label="$i18n.get('label_next_page')"
:aria-previous-label="$i18n.get('label_previous_page')"
:aria-page-label="$i18n.get('label_page')"
:aria-current-label="$i18n.get('label_current_page')"/>
:aria-current-label="$i18n.get('label_current_page')"
@change="onPageChange"/>
</div>
</div>
</div>

View File

@ -6,9 +6,9 @@
<div class="tainacan-form sub-header">
<template v-if="activeMetadataSectionsList">
<button
v-if="activeMetadataSectionsList.length > 0"
aria-controls="filters-items-list"
:aria-expanded="!collapseAll"
v-if="activeMetadataSectionsList.length > 0"
class="link-style collapse-all"
@click="collapseAll = !collapseAll">
<span class="icon">
@ -55,8 +55,8 @@
</b-field>
<b-field class="header-item">
<b-input
:placeholder="$i18n.get('instruction_type_search_metadata_filter')"
v-model="metadataNameFilterString"
:placeholder="$i18n.get('instruction_type_search_metadata_filter')"
icon="magnify"
size="is-small"
icon-right="close-circle"
@ -84,9 +84,6 @@
:list="activeMetadataSectionsList"
item-key="id"
class="active-metadata-sections-area"
@update="handleSectionChange($event)"
@add="handleSectionChange($event)"
@remove="handleSectionChange($event)"
:options="{
group: {
name:'metadata-sections',
@ -101,7 +98,10 @@
filter: '.not-sortable-item',
preventOnFilter: false,
animation: 250
}">
}"
@update="handleSectionChange($event)"
@add="handleSectionChange($event)"
@remove="handleSectionChange($event)">
<template #item="{ element: metadataSection, index: sectionIndex }">
<div :key="metadataSection.id">
<div
@ -143,13 +143,13 @@
</button>
</span>
<span
:style="{ opacity: !(metadataSection.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder || openedMetadataSectionId != '' || isUpdatingMetadataSectionsOrder || metadataNameFilterString != '' || hasSomeMetadataTypeFilterApplied) ? '1.0' : '0.0' }"
v-tooltip="{
content: metadataSection.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder || openedMetadataSectionId != '' || isUpdatingMetadataSectionsOrder || isUpdatingMetadatum ? $i18n.get('info_not_allowed_change_order_metadata_sections') : $i18n.get('instruction_drag_and_drop_metadata_sections_sort'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip'],
placement: 'auto-start'
}"
:style="{ opacity: !(metadataSection.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder || openedMetadataSectionId != '' || isUpdatingMetadataSectionsOrder || metadataNameFilterString != '' || hasSomeMetadataTypeFilterApplied) ? '1.0' : '0.0' }"
class="icon grip-icon">
<svg
xmlns="http://www.w3.org/2000/svg"
@ -182,22 +182,22 @@
</span>
<span
v-if="metadataSection.status === 'private'"
class="icon"
v-tooltip="{
content: $i18n.get('status_private'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip'],
placement: 'auto-start'
}">
}"
class="icon">
<i class="tainacan-icon tainacan-icon-private"/>
</span>
</span>
<span
class="loading-spinner"
v-if="metadataSection.id == undefined"/>
v-if="metadataSection.id == undefined"
class="loading-spinner"/>
<span
class="controls"
v-if="metadataSection.id !== undefined">
v-if="metadataSection.id !== undefined"
class="controls">
<b-switch
:disabled="isUpdatingMetadataSectionsOrder"
size="is-small"
@ -263,9 +263,6 @@
:list="metadataSection.metadata_object_list"
item-key="id"
class="active-metadata-area"
@update="handleChange($event, sectionIndex)"
@add="handleChange($event, sectionIndex)"
@remove="handleChange($event, sectionIndex)"
:options="{
group: {
name:'metadata',
@ -280,7 +277,10 @@
filter: '.not-sortable-item',
preventOnFilter: false,
animation: 250
}">
}"
@update="handleChange($event, sectionIndex)"
@add="handleChange($event, sectionIndex)"
@remove="handleChange($event, sectionIndex)">
<template #item="{ element: metadatum, index }">
<div
v-if="metadatum != undefined && metadatum.parent == 0"
@ -301,8 +301,8 @@
<button
:disabled="index == 0"
class="link-button"
@click="moveMetadatumUpViaButton(index, sectionIndex)"
:aria-label="$i18n.get('label_move_up')">
:aria-label="$i18n.get('label_move_up')"
@click="moveMetadatumUpViaButton(index, sectionIndex)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-previous tainacan-icon-rotate-90" />
</span>
@ -310,21 +310,21 @@
<button
:disabled="index == metadataSection.metadata_object_list.filter((meta) => meta != undefined && meta.parent == 0).length - 1"
class="link-button"
@click="moveMetadatumDownViaButton(index, sectionIndex)"
:aria-label="$i18n.get('label_move_down')">
:aria-label="$i18n.get('label_move_down')"
@click="moveMetadatumDownViaButton(index, sectionIndex)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-next tainacan-icon-rotate-90" />
</span>
</button>
</span>
<span
:style="{ opacity: !(metadatum.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder || metadataNameFilterString != '' || hasSomeMetadataTypeFilterApplied) ? '1.0' : '0.0' }"
v-tooltip="{
content: metadatum.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder || isUpdatingMetadatum ? $i18n.get('info_not_allowed_change_order_metadata') : $i18n.get('instruction_drag_and_drop_metadatum_sort'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip'],
placement: 'auto-start'
}"
:style="{ opacity: !(metadatum.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder || metadataNameFilterString != '' || hasSomeMetadataTypeFilterApplied) ? '1.0' : '0.0' }"
class="icon grip-icon">
<svg
xmlns="http://www.w3.org/2000/svg"
@ -345,9 +345,9 @@
popperClass: ['tainacan-tooltip', 'tooltip'],
placement: 'auto-start'
}"
@click="Object.assign(collapses, { [metadatum.id]: !isCollapseOpen(metadatum.id) })"
class="gray-icon icon"
:style="{ cursor: 'pointer', opacity: openedMetadatumId != metadatum.id ? '1.0' : '0.0' }">
:style="{ cursor: 'pointer', opacity: openedMetadatumId != metadatum.id ? '1.0' : '0.0' }"
@click="Object.assign(collapses, { [metadatum.id]: !isCollapseOpen(metadatum.id) })">
<i :class="'tainacan-icon tainacan-icon-1-25em tainacan-icon-' + (isCollapseOpen(metadatum.id) ? 'arrowdown' : 'arrowright')" />
</span>
@ -371,13 +371,13 @@
({{ metadatum.metadata_type_object.name }})
<span
v-if="metadatum.status === 'private'"
class="icon"
v-tooltip="{
content: $i18n.get('status_private'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip'],
placement: 'auto-start'
}">
}"
class="icon">
<i class="tainacan-icon tainacan-icon-private"/>
</span>
<span
@ -405,11 +405,11 @@
</span>
</span>
<span
class="loading-spinner"
v-if="metadatum.id == undefined || isUpdatingMetadatum"/>
v-if="metadatum.id == undefined || isUpdatingMetadatum"
class="loading-spinner"/>
<span
class="controls"
v-if="metadatum.id !== undefined">
v-if="metadatum.id !== undefined"
class="controls">
<b-switch
:style="{ visibility: !metadataSection.enabled ? 'hidden' : 'visible' }"
:disabled="isUpdatingMetadataOrder || !metadataSection.enabled"
@ -472,20 +472,20 @@
<!-- Metadata edition form, for each metadata -->
<b-modal
@close="onEditionCanceled()"
:model-value="openedMetadatumId == metadatum.id"
trap-focus
aria-modal
aria-role="dialog"
custom-class="tainacan-modal"
:close-button-aria-label="$i18n.get('close')">
:close-button-aria-label="$i18n.get('close')"
@close="onEditionCanceled()">
<metadatum-edition-form
:collection-id="collectionId"
:original-metadatum="metadatum"
:is-repository-level="false"
:index="index"
@onEditionFinished="onEditionFinished()"
@onEditionCanceled="onEditionCanceled()"
:index="index" />
@onEditionCanceled="onEditionCanceled()" />
</b-modal>
</template>
@ -494,19 +494,19 @@
<!-- Metadata Section edition form, for each metadata section -->
<b-modal
@close="onSectionEditionCanceled()"
:model-value="openedMetadataSectionId == metadataSection.id"
trap-focus
aria-modal
aria-role="dialog"
custom-class="tainacan-modal"
:close-button-aria-label="$i18n.get('close')">
:close-button-aria-label="$i18n.get('close')"
@close="onSectionEditionCanceled()">
<metadata-section-edition-form
:collection-id="collectionId"
:original-metadata-section="metadataSection"
:index="sectionIndex"
@onEditionFinished="onSectionEditionFinished()"
@onEditionCanceled="onSectionEditionCanceled()"
:index="sectionIndex" />
@onEditionCanceled="onSectionEditionCanceled()" />
</b-modal>
</div>

View File

@ -133,8 +133,8 @@
</router-link>
</li>
<li
:key="index"
v-for="(collection, index) of collections"
:key="index"
class="tainacan-card"
:class="{ 'always-visible-collections': $adminOptions.homeCollectionsPerPage }">
<ul class="menu-list">
@ -255,8 +255,8 @@
:to="$routerHelper.getCollectionPath(collection.id)"
class="card-body">
<img
:alt="$i18n.get('label_thumbnail')"
v-if="collection.thumbnail != undefined"
:alt="$i18n.get('label_thumbnail')"
:src="$thumbHelper.getSrc(collection['thumbnail'], 'tainacan-medium')">
<!-- Name -->

View File

@ -8,17 +8,17 @@
<div class="field select-all is-pulled-left">
<span>
<b-checkbox
@click.native="selectAllCollectionsOnPage()"
:model-value="allCollectionsOnPageSelected">
:model-value="allCollectionsOnPageSelected"
@click.native="selectAllCollectionsOnPage()">
{{ $i18n.get('label_select_all_collections_page') }}
</b-checkbox>
</span>
</div>
<div class="field is-pulled-right">
<b-dropdown
id="bulk-actions-dropdown"
position="is-bottom-left"
:disabled="!isSelectingCollections"
id="bulk-actions-dropdown"
aria-role="list"
trap-focus>
<template #trigger>
@ -31,8 +31,8 @@
</template>
<b-dropdown-item
id="item-delete-selected-items"
@click="deleteSelectedCollections()"
aria-role="listitem">
aria-role="listitem"
@click="deleteSelectedCollections()">
{{ $i18n.get('label_delete_selected_collections') }}
</b-dropdown-item>
<!-- <b-dropdown-item
@ -51,37 +51,37 @@
<!-- Backdrop for escaping context menu -->
<div
class="context-menu-backdrop"
@click.left="clearContextMenu()"
@click.right="clearContextMenu()"
class="context-menu-backdrop" />
@click.right="clearContextMenu()" />
<b-dropdown
inline
:style="{ top: cursorPosY + 'px', left: cursorPosX + 'px' }"
trap-focus>
<b-dropdown-item
@click="openCollection()"
v-if="!isOnTrash">
v-if="!isOnTrash"
@click="openCollection()">
{{ $i18n.getFrom('collections', 'view_item') }}
</b-dropdown-item>
<b-dropdown-item
@click="openCollectionOnNewTab()"
v-if="!isOnTrash">
v-if="!isOnTrash"
@click="openCollectionOnNewTab()">
{{ $i18n.get('label_open_collection_new_tab') }}
</b-dropdown-item>
<b-dropdown-item
@click="selectCollection()"
v-if="contextMenuIndex != null">
v-if="contextMenuIndex != null"
@click="selectCollection()">
{{ !selectedCollections[contextMenuIndex] ? $i18n.get('label_select_collection') : $i18n.get('label_unselect_collection') }}
</b-dropdown-item>
<b-dropdown-item
@click="goToCollectionEditPage(contextMenuCollection)"
v-if="contextMenuCollection != null && (collections[contextMenuIndex] && collections[contextMenuIndex].current_user_can_edit)">
v-if="contextMenuCollection != null && (collections[contextMenuIndex] && collections[contextMenuIndex].current_user_can_edit)"
@click="goToCollectionEditPage(contextMenuCollection)">
{{ $i18n.getFrom('collections', 'edit_item') }}
</b-dropdown-item>
<b-dropdown-item
@click="deleteOneCollection(contextMenuCollection)"
v-if="contextMenuCollection != null && (collections[contextMenuIndex] && collections[contextMenuIndex].current_user_can_delete)">
v-if="contextMenuCollection != null && (collections[contextMenuIndex] && collections[contextMenuIndex].current_user_can_delete)"
@click="deleteOneCollection(contextMenuCollection)">
{{ $i18n.get('label_delete_collection') }}
</b-dropdown-item>
</b-dropdown>
@ -136,9 +136,9 @@
</thead>
<tbody>
<tr
:class="{ 'selected-row': selectedCollections[index] }"
v-for="(collection, index) of collections"
:key="index"
v-for="(collection, index) of collections">
:class="{ 'selected-row': selectedCollections[index] }">
<!-- Checking list -->
<td
v-if="$userCaps.hasCapability('tnc_rep_delete_collections')"
@ -152,14 +152,14 @@
class="status-cell">
<span
v-if="$statusHelper.hasIcon(collection.status)"
class="icon has-text-gray"
v-tooltip="{
content: $i18n.get('status_' + collection.status),
autoHide: true,
html: true,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}">
}"
class="icon has-text-gray">
<i
class="tainacan-icon tainacan-icon-1em"
:class="$statusHelper.getIcon(collection.status)"
@ -169,10 +169,10 @@
<!-- Thumbnail -->
<td
class="thumbnail-cell column-default-width"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)"
:label="$i18n.get('label_thumbnail')"
:aria-label="$i18n.get('label_thumbnail')">
:label="$i18n.get('label_thumbnail')"
:aria-label="$i18n.get('label_thumbnail')"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)">
<span>
<img
:alt="$i18n.get('label_thumbnail')"
@ -183,10 +183,10 @@
<!-- Name -->
<td
class="column-default-width column-main-content"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)"
:label="$i18n.get('label_name')"
:aria-label="$i18n.get('label_name') + ': ' + collection.name">
:label="$i18n.get('label_name')"
:aria-label="$i18n.get('label_name') + ': ' + collection.name"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)">
<p
v-tooltip="{
delay: {
@ -204,10 +204,10 @@
<!-- Description -->
<td
class="column-large-width"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)"
:label="$i18n.get('label_description')"
:aria-label="$i18n.get('label_description') + ': ' + (collection.description != undefined && collection.description != '') ? collection.description : `<span class='has-text-gray is-italic'>` + $i18n.get('label_description_not_provided') + `</span>`">
:label="$i18n.get('label_description')"
:aria-label="$i18n.get('label_description') + ': ' + (collection.description != undefined && collection.description != '') ? collection.description : `<span class='has-text-gray is-italic'>` + $i18n.get('label_description_not_provided') + `</span>`"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)">
<p
v-tooltip="{
delay: {
@ -224,11 +224,11 @@
</td>
<!-- Modification Date -->
<td
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)"
class="table-modification column-default-width"
:label="$i18n.get('label_modification_date')"
:aria-label="$i18n.get('label_modification_date') + ': ' + collection.modification_date">
class="table-modification column-default-width"
:label="$i18n.get('label_modification_date')"
:aria-label="$i18n.get('label_modification_date') + ': ' + collection.modification_date"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)">
<p
v-tooltip="{
delay: {
@ -245,11 +245,11 @@
</td>
<!-- Creation Date -->
<td
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)"
class="table-creation column-default-width"
:label="$i18n.get('label_creation_date')"
:aria-label="$i18n.get('label_creation_date') + ': ' + collection.creation_date">
class="table-creation column-default-width"
:label="$i18n.get('label_creation_date')"
:aria-label="$i18n.get('label_creation_date') + ': ' + collection.creation_date"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)">
<p
v-tooltip="{
delay: {
@ -266,11 +266,11 @@
</td>
<!-- Created by -->
<td
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)"
class="table-creation column-default-width"
:label="$i18n.get('label_created_by')"
:aria-label="$i18n.get('label_created_by') + ': ' + collection.author_name">
class="table-creation column-default-width"
:label="$i18n.get('label_created_by')"
:aria-label="$i18n.get('label_created_by') + ': ' + collection.author_name"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)">
<p
v-tooltip="{
delay: {
@ -287,12 +287,12 @@
</td>
<!-- Total items -->
<td
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)"
class="column-small-width column-align-right"
:label="$i18n.get('label_total_items')"
v-if="collection.total_items != undefined"
:aria-label="$i18n.get('label_total_items') + ': ' + getTotalItems(collection.total_items)">
class="column-small-width column-align-right"
:label="$i18n.get('label_total_items')"
:aria-label="$i18n.get('label_total_items') + ': ' + getTotalItems(collection.total_items)"
@click.left="onClickCollection($event, collection.id, index)"
@click.right="onRightClickCollection($event, collection.id, index)">
<p
v-tooltip="{
delay: {
@ -310,14 +310,14 @@
<!-- Actions -->
<td
v-if="collection.current_user_can_edit || collection.current_user_can_delete"
@click="onClickCollection($event, collection.id, index)"
class="column-default-width"
:class="{ 'actions-cell': collection.current_user_can_edit || collection.current_user_can_delete }"
:label="$i18n.get('label_actions')">
:class="{ 'actions-cell': collection.current_user_can_edit || collection.current_user_can_delete }"
:label="$i18n.get('label_actions')"
@click="onClickCollection($event, collection.id, index)">
<div class="actions-container">
<a
id="button-edit"
v-if="collection.current_user_can_edit"
v-if="collection.current_user_can_edit"
id="button-edit"
:aria-label="$i18n.getFrom('collections','edit_item')"
@click.prevent.stop="goToCollectionEditPage(collection.id)">
<span
@ -333,8 +333,8 @@
</span>
</a>
<a
id="button-delete"
v-if="collection.current_user_can_delete"
id="button-delete"
:aria-label="$i18n.get('label_button_delete')"
@click.prevent.stop="deleteOneCollection(collection.id)">
<span
@ -353,9 +353,9 @@
<a
id="button-open-external"
:aria-label="$i18n.getFrom('collections','view_item')"
@click.stop=""
target="_blank"
:href="collection.url">
target="_blank"
:href="collection.url"
@click.stop="">
<span
v-tooltip="{
content: $i18n.get('label_view_collection_on_website'),

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,13 @@
<template>
<div class="metadata-mappers-area">
<b-loading
v-model="isLoadingMetadatumMappers"
:can-cancel="false"
:is-full-page="false"
v-model="isLoadingMetadatumMappers"/>
:is-full-page="false"/>
<b-loading
v-model="isLoadingMetadata"
:can-cancel="false"
:is-full-page="false"
v-model="isLoadingMetadata"/>
:is-full-page="false"/>
<b-field>
<p style="line-height: 2em;">{{ $i18n.get('info_metadata_mapper_helper') }}</p>
@ -42,8 +42,8 @@
<!-- Mapping list -->
<form
class="tainacan-form"
v-else>
v-else
class="tainacan-form">
<div class="mapping-control">
<div
@ -61,8 +61,8 @@
</div>
</div>
<div
class="mapping-header"
v-if="mapperMetadata.length > 0">
v-if="mapperMetadata.length > 0"
class="mapping-header">
<p>{{ $i18n.get('label_from_source_mapper') }}</p>
<hr>
<span class="icon">
@ -78,8 +78,8 @@
class="source-metadatum">
<b-select
:name="'mappers-metadatum-select-' + mapperMetadatum.slug"
v-model="mapperMetadatum.selected"
:name="'mappers-metadatum-select-' + mapperMetadatum.slug"
@update:model-value="onSelectMetadatumForMapperMetadata">
<option
value="">
@ -144,22 +144,22 @@
</div>
<div class="control">
<button
@click.prevent="onUpdateMetadataMapperMetadataClick"
:class="{ 'is-loading': isMapperMetadataLoading }"
class="button is-success">{{ $i18n.get('save') }}</button>
class="button is-success"
@click.prevent="onUpdateMetadataMapperMetadataClick">{{ $i18n.get('save') }}</button>
</div>
</div>
</form>
<b-modal
@close="onCancelNewMetadataMapperMetadata"
v-model="isMapperMetadataCreating"
trap-focus
aria-modal
aria-role="dialog"
custom-class="tainacan-modal"
:close-button-aria-label="$i18n.get('close')">
:close-button-aria-label="$i18n.get('close')"
@close="onCancelNewMetadataMapperMetadata">
<div
autofocus
role="dialog"
@ -178,10 +178,10 @@
</b-field>
<b-field>
<b-input
v-model="newMetadataUri"
placeholder="URI"
type="url"
required
v-model="newMetadataUri"/>
required/>
</b-field>
<div class="field is-grouped form-submit">
<div class="control">
@ -193,9 +193,9 @@
<div class="control">
<button
:class="{ 'is-loading': isMapperMetadataLoading, 'is-success': !isMapperMetadataLoading }"
@click.prevent="onSaveNewMetadataMapperMetadata"
:disabled="isNewMetadataMapperMetadataDisabled || isMapperMetadataLoading"
class="button">{{ $i18n.get('save') }}
class="button"
@click.prevent="onSaveNewMetadataMapperMetadata">{{ $i18n.get('save') }}
</button>
</div>
</div>

View File

@ -23,9 +23,9 @@
<template #item="{ element: metadatum }">
<div
:id="metadatum.component"
@click.prevent.once="addMetadatumViaButton(metadatum)"
class="available-metadatum-item"
:class="{ 'highlighted-metadatum' : highlightedMetadatum == metadatum.name, 'inherited-metadatum': metadatum.inherited || isRepositoryLevel }">
:class="{ 'highlighted-metadatum' : highlightedMetadatum == metadatum.name, 'inherited-metadatum': metadatum.inherited || isRepositoryLevel }"
@click.prevent.once="addMetadatumViaButton(metadatum)">
<span
v-tooltip="{
content: $i18n.get('instruction_click_or_drag_metadatum_create'),
@ -65,8 +65,8 @@
</span>
</span>
<span
class="loading-spinner"
v-if="highlightedMetadatum == metadatum.name"/>
v-if="highlightedMetadatum == metadatum.name"
class="loading-spinner"/>
</div>
</template>
</sortable>
@ -88,8 +88,8 @@
<template #item="{ element: metadataSection }">
<div
:id="metadataSection.id"
@click.prevent="addMetadataSectionViaButton()"
class="available-metadata-section-item">
class="available-metadata-section-item"
@click.prevent="addMetadataSectionViaButton()">
<span
v-tooltip="{
content: $i18n.get('instruction_click_or_drag_metadatum_create'),

View File

@ -41,17 +41,17 @@
<div class="processes-list">
<div
v-for="(bgProcess, index) of processes"
:key="index"
:class="{
'opened-process': collapses[index],
'selected-row': selected[index],
'highlighted-process': highlightedProcess == bgProcess.ID
}"
class="processes-list-item"
:key="index"
v-for="(bgProcess, index) of processes">
class="processes-list-item">
<div
@click="Object.assign( collapses, { [index]: !collapses[index] })"
class="process-handler">
class="process-handler"
@click="Object.assign( collapses, { [index]: !collapses[index] })">
<!-- Collapse -->
<span class="icon">
<i
@ -133,6 +133,7 @@
<div class="control has-icons-right is-loading is-clearfix" />
</span>
<span
v-if=" bgProcess.status === 'running' "
v-tooltip="{
delay: {
shown: 500,
@ -143,12 +144,12 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-if=" bgProcess.status === 'running' "
class="icon has-text-gray action-icon"
@click.prevent.stop="pauseProcess(index)">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-stop"/>
</span>
<span
v-if=" ( bgProcess.status === 'finished' && !bgProcess.error_log ) || bgProcess.status === null"
v-tooltip="{
delay: {
shown: 500,
@ -159,11 +160,11 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-if=" ( bgProcess.status === 'finished' && !bgProcess.error_log ) || bgProcess.status === null"
class="icon has-text-success">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-approvedcircle"/>
</span>
<span
v-if=" bgProcess.status === 'finished-errors' || ( bgProcess.done > 0 && bgProcess.error_log && bgProcess.status === 'finished' ) "
v-tooltip="{
delay: {
shown: 500,
@ -174,11 +175,11 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-if=" bgProcess.status === 'finished-errors' || ( bgProcess.done > 0 && bgProcess.error_log && bgProcess.status === 'finished' ) "
class="icon has-text-success">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-alertcircle has-text-yellow2"/>
</span>
<span
v-if=" bgProcess.status === 'cancelled' "
v-tooltip="{
delay: {
shown: 500,
@ -189,11 +190,11 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-if=" bgProcess.status === 'cancelled' "
class="icon has-text-success">
<i class="tainacan-icon has-text-danger tainacan-icon-1-25em tainacan-icon-repprovedcircle"/>
</span>
<span
v-if=" bgProcess.status === 'paused' "
v-tooltip="{
delay: {
shown: 500,
@ -204,11 +205,11 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-if=" bgProcess.status === 'paused' "
class="icon has-text-gray">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-pause"/>
</span>
<span
v-if=" bgProcess.status === 'waiting' "
v-tooltip="{
delay: {
shown: 500,
@ -219,11 +220,11 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-if=" bgProcess.status === 'waiting' "
class="icon has-text-gray">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-waiting"/>
</span>
<span
v-if=" bgProcess.status === 'waiting' "
v-tooltip="{
delay: {
shown: 500,
@ -234,12 +235,12 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-if=" bgProcess.status === 'waiting' "
class="icon has-text-gray"
@click.prevent.stop="deleteOneProcess(index)">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-delete"/>
</span>
<span
v-if="bgProcess.status === 'errored'"
v-tooltip="{
delay: {
shown: 500,
@ -250,7 +251,6 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
v-if="bgProcess.status === 'errored'"
class="icon has-text-danger">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-processerror" />
</span>

View File

@ -2,8 +2,8 @@
<div>
<div class="table-container">
<b-loading
is-full-page="false"
v-model="displayLoading" />
v-model="displayLoading"
is-full-page="false" />
<div class="table-wrapper">
<div class="related-items-list">
<div
@ -62,13 +62,13 @@
@click="openItemOnNewTab(relatedItem)">
<span
v-if="$statusHelper.hasIcon(relatedItem.status)"
class="icon has-text-gray"
v-tooltip="{
content: $i18n.get('status_' + relatedItem.status),
autoHide: true,
placement: 'top',
popperClass: ['tainacan-tooltip', 'tooltip']
}">
}"
class="icon has-text-gray">
<i
class="tainacan-icon tainacan-icon-1em"
:class="$statusHelper.getIcon(relatedItem.status)"
@ -88,8 +88,8 @@
</span>
</div>
<div
@click="openItemOnNewTab(relatedItem)"
style="width: 100%">
style="width: 100%"
@click="openItemOnNewTab(relatedItem)">
<p
v-tooltip="{
delay: {
@ -112,8 +112,8 @@
<a
v-if="!relatedItem.status != 'trash'"
id="button-edit"
@click.prevent.stop="setItemForEdit(relatedItem, relatedItemGroup)"
:aria-label="$i18n.getFrom('items','edit_item')">
:aria-label="$i18n.getFrom('items','edit_item')"
@click.prevent.stop="setItemForEdit(relatedItem, relatedItemGroup)">
<span
v-tooltip="{
delay: {
@ -136,11 +136,11 @@
</div>
</div>
<b-modal
:width="1200"
v-model="editItemModal"
@after-leave="reloadRelatedItems"
:width="1200"
custom-class="tainacan-modal"
:close-button-aria-label="$i18n.get('close')">
:close-button-aria-label="$i18n.get('close')"
@after-leave="reloadRelatedItems">
<iframe
width="100%"
:style="{ height: (isMobileScreen ? '100vh' : '85vh') }"

View File

@ -8,9 +8,9 @@
<template v-if="activeMetadatumList && !isLoadingMetadata">
<button
v-if="activeMetadatumList.length > 0"
aria-controls="filters-items-list"
:aria-expanded="!collapseAll"
v-if="activeMetadatumList.length > 0"
class="link-style collapse-all"
@click="collapseAll = !collapseAll">
<span class="icon">
@ -57,8 +57,8 @@
</b-field>
<b-field class="header-item">
<b-input
:placeholder="$i18n.get('instruction_type_search_metadata_filter')"
v-model="metadataNameFilterString"
:placeholder="$i18n.get('instruction_type_search_metadata_filter')"
icon="magnify"
size="is-small"
icon-right="close-circle"
@ -88,8 +88,6 @@
:list="activeMetadatumList"
item-key="id"
class="active-metadata-area"
@add="handleChange($event)"
@remove="handleChange($event)"
:options="{
group: { name:'metadata', pull: false, put: true },
handle: '.handle',
@ -98,7 +96,9 @@
filter: '.not-sortable-item',
preventOnFilter: false,
animation: 250
}">
}"
@add="handleChange($event)"
@remove="handleChange($event)">
<template #item="{ element: metadatum, index }">
<div
v-if="metadatum != undefined && metadatum.parent == 0"
@ -117,13 +117,13 @@
:ref="'metadatum-handler-' + metadatum.id"
class="handle">
<span
:style="{ opacity: '0.0' }"
v-tooltip="{
content: $i18n.get('info_not_allowed_change_order_metadata'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
:style="{ opacity: '0.0' }"
class="icon grip-icon">
<svg
xmlns="http://www.w3.org/2000/svg"
@ -144,9 +144,9 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
@click="Object.assign( collapses, { [metadatum.id]: !isCollapseOpen(metadatum.id) })"
class="gray-icon icon"
:style="{ cursor: 'pointer', opacity: openedMetadatumId != metadatum.id ? '1.0' : '0.0' }">
:style="{ cursor: 'pointer', opacity: openedMetadatumId != metadatum.id ? '1.0' : '0.0' }"
@click="Object.assign( collapses, { [metadatum.id]: !isCollapseOpen(metadatum.id) })">
<i :class="'tainacan-icon tainacan-icon-1-25em tainacan-icon-' + (isCollapseOpen(metadatum.id) ? 'arrowdown' : 'arrowright')" />
</span>
@ -170,13 +170,13 @@
({{ metadatum.metadata_type_object.name }})
<span
v-if="metadatum.status === 'private'"
class="icon"
v-tooltip="{
content: $i18n.get('status_private'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}">
}"
class="icon">
<i class="tainacan-icon tainacan-icon-private"/>
</span>
<span
@ -196,11 +196,11 @@
</span>
</span>
<span
class="loading-spinner"
v-if="metadatum.id == undefined"/>
v-if="metadatum.id == undefined"
class="loading-spinner"/>
<span
class="controls"
v-if="metadatum.id !== undefined">
v-if="metadatum.id !== undefined"
class="controls">
<a
v-if="metadatum.current_user_can_edit"
:style="{ visibility:
@ -256,20 +256,20 @@
<!-- Metadata edition form, for each metadata -->
<b-modal
@close="onEditionCanceled()"
:model-value="openedMetadatumId == metadatum.id"
trap-focus
aria-modal
aria-role="dialog"
custom-class="tainacan-modal"
:close-button-aria-label="$i18n.get('close')">
:close-button-aria-label="$i18n.get('close')"
@close="onEditionCanceled()">
<metadatum-edition-form
:collection-id="collectionId"
:original-metadatum="metadatum"
:is-repository-level="true"
:index="index"
@onEditionFinished="onEditionFinished()"
@onEditionCanceled="onEditionCanceled()"
:index="index" />
@onEditionCanceled="onEditionCanceled()" />
</b-modal>
</div>

View File

@ -9,17 +9,17 @@
<div class="field select-all is-pulled-left">
<span>
<b-checkbox
@click.native="selectAllOnPage()"
:model-value="allOnPageSelected">
:model-value="allOnPageSelected"
@click.native="selectAllOnPage()">
{{ $i18n.get('label_select_all_taxonomies_page') }}
</b-checkbox>
</span>
</div>
<div class="field is-pulled-right">
<b-dropdown
id="bulk-actions-dropdown"
position="is-bottom-left"
:disabled="!isSelecting"
id="bulk-actions-dropdown"
aria-role="list"
trap-focus>
<template #trigger>
@ -32,8 +32,8 @@
</template>
<b-dropdown-item
id="item-delete-selected-items"
@click="deleteSelected()"
aria-role="listitem">
aria-role="listitem"
@click="deleteSelected()">
{{ $i18n.get('label_delete_selected_taxonomies') }}
</b-dropdown-item>
<b-dropdown-item
@ -84,9 +84,9 @@
</thead>
<tbody>
<tr
:class="{ 'selected-row': selected[index] }"
v-for="(taxonomy, index) of taxonomies"
:key="index"
v-for="(taxonomy, index) of taxonomies">
:class="{ 'selected-row': selected[index] }">
<!-- Checking list -->
<td
v-if="$userCaps.hasCapability('tnc_rep_delete_taxonomies')"
@ -101,13 +101,13 @@
class="status-cell">
<span
v-if="$statusHelper.hasIcon(taxonomy.status)"
class="icon has-text-gray"
v-tooltip="{
content: $i18n.get('status_' + taxonomy.status),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}">
}"
class="icon has-text-gray">
<i
class="tainacan-icon tainacan-icon-1em"
:class="$statusHelper.getIcon(taxonomy.status)"
@ -117,9 +117,9 @@
<!-- Name -->
<td
class="column-default-width column-main-content"
@click="onClickTaxonomy($event, taxonomy.id, index)"
:label="$i18n.get('label_name')"
:aria-label="$i18n.get('label_name') + ': ' + taxonomy.name">
:label="$i18n.get('label_name')"
:aria-label="$i18n.get('label_name') + ': ' + taxonomy.name"
@click="onClickTaxonomy($event, taxonomy.id, index)">
<p
v-tooltip="{
delay: {
@ -136,9 +136,9 @@
<!-- Description -->
<td
class="column-large-width"
@click="onClickTaxonomy($event, taxonomy.id, index)"
:label="$i18n.get('label_description')"
:aria-label="$i18n.get('label_description') + ': ' + taxonomy.description != undefined && taxonomy.description != '' ? taxonomy.description : `<span class='has-text-gray is-italic'>` + $i18n.get('label_description_not_provided') + `</span>`">
:label="$i18n.get('label_description')"
:aria-label="$i18n.get('label_description') + ': ' + taxonomy.description != undefined && taxonomy.description != '' ? taxonomy.description : `<span class='has-text-gray is-italic'>` + $i18n.get('label_description_not_provided') + `</span>`"
@click="onClickTaxonomy($event, taxonomy.id, index)">
<p
v-tooltip="{
delay: {
@ -159,7 +159,6 @@
:label="$i18n.get('label_collections_using')"
:aria-label="(taxonomy.collections != undefined && taxonomy.collections.length != undefined && taxonomy.collections.length > 0) ? taxonomy.collections.toString() : $i18n.get('label_no_collections_using_taxonomy')">
<p
@click.self="onClickTaxonomy($event, taxonomy.id, index)"
v-tooltip="{
delay: {
shown: 500,
@ -171,15 +170,16 @@
popperClass: ['tainacan-tooltip', 'tooltip', 'tainacan-repository-tooltip'],
placement: 'auto-start'
}"
@click.self="onClickTaxonomy($event, taxonomy.id, index)"
v-html="(taxonomy.collections != undefined && taxonomy.collections.length != undefined && taxonomy.collections.length > 0) ? renderListOfCollections(taxonomy.collections, taxonomy.metadata_by_collection) : $i18n.get('label_no_collections_using_taxonomy')" />
</td>
<!-- Total terms -->
<td
@click.self="onClickTaxonomy($event, taxonomy.id, index)"
v-if="taxonomy.total_terms != undefined"
class="column-small-width column-align-right"
:label="$i18n.get('label_total_terms')"
v-if="taxonomy.total_terms != undefined"
:aria-label="$i18n.get('label_total_terms') + ': ' + taxonomy.total_terms['total']">
:aria-label="$i18n.get('label_total_terms') + ': ' + taxonomy.total_terms['total']"
@click.self="onClickTaxonomy($event, taxonomy.id, index)">
<p
v-tooltip="{
delay: {
@ -197,14 +197,14 @@
<!-- Actions -->
<td
v-if="taxonomy.current_user_can_edit || taxonomy.current_user_can_delete"
@click="onClickTaxonomy($event, taxonomy.id, index)"
class="column-default-width"
:class="{ 'actions-cell': taxonomy.current_user_can_edit || taxonomy.current_user_can_delete }"
:label="$i18n.get('label_actions')">
:class="{ 'actions-cell': taxonomy.current_user_can_edit || taxonomy.current_user_can_delete }"
:label="$i18n.get('label_actions')"
@click="onClickTaxonomy($event, taxonomy.id, index)">
<div class="actions-container">
<a
id="button-edit"
v-if="taxonomy.current_user_can_edit"
v-if="taxonomy.current_user_can_edit"
id="button-edit"
:aria-label="$i18n.getFrom('taxonomies','edit_item')"
@click="onClickTaxonomy($event, taxonomy.id, index)">
<span
@ -219,8 +219,8 @@
</span>
</a>
<a
id="button-delete"
v-if="taxonomy.current_user_can_delete"
v-if="taxonomy.current_user_can_delete"
id="button-delete"
:aria-label="$i18n.get('label_button_delete')"
@click.prevent.stop="deleteOneTaxonomy(taxonomy.id)">
<span
@ -240,9 +240,9 @@
v-if="!isOnTrash"
id="button-open-external"
:aria-label="$i18n.getFrom('taxonomies','view_item')"
@click.stop=""
target="_blank"
:href="themeTaxonomiesURL + taxonomy.slug">
target="_blank"
:href="themeTaxonomiesURL + taxonomy.slug"
@click.stop="">
<span
v-tooltip="{
content: $i18n.get('label_taxonomy_page_on_website'),

View File

@ -2,8 +2,8 @@
<div class="tainacan-hierarchical-list-container">
<b-loading
:is-full-page="false"
v-model="isColumnLoading"/>
v-model="isColumnLoading"
:is-full-page="false"/>
<transition name="appear-from-top">
<button
@ -17,14 +17,14 @@
<!-- Hierarchical lists -->
<transition-group
ref="tainacan-finder-scrolling-container"
tag="div"
class="tainacan-hierarchical-list-columns-container"
name="page-left"
ref="tainacan-finder-scrolling-container">
name="page-left">
<div
v-for="(column, columnIndex) in termColumns"
class="tainacan-hierarchical-list-column"
:key="column.name + '-' + columnIndex">
:key="column.name + '-' + columnIndex"
class="tainacan-hierarchical-list-column">
<div
v-if="!searchString.length"
class="column-header">
@ -37,9 +37,9 @@
class="b-checkbox checkbox">
<input
type="checkbox"
@input="selectColumn(columnIndex)"
:checked="selectedColumnIndex == columnIndex"
:value="columnIndex">
:value="columnIndex"
@input="selectColumn(columnIndex)">
<span class="check" />
<span
v-if="column.id"
@ -56,8 +56,8 @@
</label>
<a
:style="!column.children.length ? 'opacity: 0; visibility: hidden;' : ''"
@click="onAddNewChildTerm(column.id)"
class="add-link">
class="add-link"
@click="onAddNewChildTerm(column.id)">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-add"/>
</span>
@ -65,8 +65,8 @@
</a>
<a
:style="!column.children.length ? 'opacity: 0; visibility: hidden;' : 'position: relative;'"
@click="multipleInsertion({ parentId: column.id, parentName: column.name })"
class="add-link">
class="add-link"
@click="multipleInsertion({ parentId: column.id, parentName: column.name })">
<span
style="position: absolute;margin-left: -5px;margin-top: 5px;"
class="icon is-small">
@ -83,20 +83,20 @@
</div>
<ul v-if="column.children.length">
<b-field
:addons="false"
class="tainacan-li-checkbox"
:class="{ 'tainacan-li-checkbox--parent-active': termColumns[columnIndex + 1] && termColumns[columnIndex + 1].id == term.id }"
v-for="(term, index) in column.children"
:id="`${columnIndex}.${index}-tainacan-li-checkbox-model`"
:ref="`${columnIndex}.${index}-tainacan-li-checkbox-model`"
:key="term.id">
:key="term.id"
:addons="false"
class="tainacan-li-checkbox"
:class="{ 'tainacan-li-checkbox--parent-active': termColumns[columnIndex + 1] && termColumns[columnIndex + 1].id == term.id }">
<label class="b-checkbox checkbox" >
<input
@input="updateSelectedTerms(term)"
:checked="selectedColumnIndex >= 0 ? selectedColumnIndex == columnIndex : isTermSelected(term.id)"
:disabled="selectedColumnIndex >= 0"
:value="term.id"
type="checkbox">
type="checkbox"
@input="updateSelectedTerms(term)">
<span class="check" />
<span class="control-label">
<span
@ -167,17 +167,17 @@
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-nextlevel"/>
</span>
<span
class="is-hidden-mobile"
v-if="termColumns.length <= 1">
v-if="termColumns.length <= 1"
class="is-hidden-mobile">
{{ term.total_children + ' ' + $i18n.get('label_children_terms') }}
</span>
<span
v-else
v-tooltip="{
content: term.total_children + ' ' + $i18n.get('label_children_terms'),
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip']
}"
v-else>
}">
{{ term.total_children }}
</span>
</button>
@ -185,8 +185,8 @@
<li v-if="column.children.length">
<div
v-if="shouldShowMoreButton(columnIndex)"
@click="fetchMoreTerms(column, columnIndex)"
class="tainacan-show-more">
class="tainacan-show-more"
@click="fetchMoreTerms(column, columnIndex)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-showmore"/>
</span>
@ -204,8 +204,8 @@
<p>{{ column.name ? $i18n.getWithVariables('info_no_child_term_of_%s_found', [ column.name ]) : $i18n.get('info_no_terms_found') }}</p>
<p>
<a
@click="onAddNewChildTerm(column.id)"
class="add-link">
class="add-link"
@click="onAddNewChildTerm(column.id)">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-add"/>
</span>
@ -214,9 +214,9 @@
</p>
<p>
<a
@click="multipleInsertion({ parentId: column.id, parentName: column.name })"
class="add-link"
style="position: relative;">
style="position: relative;"
@click="multipleInsertion({ parentId: column.id, parentName: column.name })">
<span
style="position: absolute;margin-left: -5px;margin-top: 5px;"
class="icon is-small">
@ -246,8 +246,8 @@
<p>{{ $i18n.get('info_no_terms_found') }}</p>
<p>
<a
@click="onAddNewChildTerm(0)"
class="add-link">
class="add-link"
@click="onAddNewChildTerm(0)">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-add"/>
</span>
@ -270,8 +270,8 @@
:is-hierarchical="isHierarchical"
:taxonomy-id="taxonomyId"
:is-modal="true"
@onEditionFinished="onTermEditionFinished($event.term, $event.hasChangedParent, $event.initialParent)"
:original-form="editTerm" />
:original-form="editTerm"
@onEditionFinished="onTermEditionFinished($event.term, $event.hasChangedParent, $event.initialParent)" />
</b-modal>
</div>
</template>

View File

@ -6,18 +6,18 @@
<!-- Search input -->
<b-field class="is-clearfix terms-search">
<b-input
v-model="searchString"
expanded
autocomplete="on"
:placeholder="$i18n.get('instruction_search')"
:aria-name="$i18n.get('instruction_search')"
v-model="searchString"
icon-right="magnify"
type="search" />
</b-field>
<span
class="selected-terms-info"
v-if="selectedColumnIndex >= 0 && currentUserCanEditTaxonomy">
v-if="selectedColumnIndex >= 0 && currentUserCanEditTaxonomy"
class="selected-terms-info">
{{ selectedColumnIndex == 0 ? $i18n.get('label_all_root_terms_selected') : $i18n.getWithVariables('label_terms_child_of_%s_selected', [ selectedColumnObject.name ]) }}
<button
type="button"
@ -32,8 +32,8 @@
v-if="selected.length && selectedColumnIndex < 0"
class="field selected-terms-info">
<b-dropdown
:mobile-modal="true"
id="selected-terms-dropdown"
:mobile-modal="true"
aria-role="list"
trap-focus
position="is-bottom-left">
@ -48,16 +48,16 @@
</button>
</template>
<b-dropdown-item
custom
v-for="term of selected"
:key="term.id"
custom
aria-role="list-item">
<label class="b-checkbox checkbox">
<input
type="checkbox"
@input="updateSelectedTerms(term)"
:checked="isTermSelected(term.id)"
:value="getTermIdAsNumber(term.id)">
:value="getTermIdAsNumber(term.id)"
@input="updateSelectedTerms(term)">
<span class="check" />
<span class="control-label">
<span
@ -73,10 +73,10 @@
v-if="currentUserCanEditTaxonomy"
class="field">
<b-dropdown
id="bulk-actions-dropdown"
:mobile-modal="true"
position="is-bottom-left"
:disabled="amountOfTermsSelected <= 1"
id="bulk-actions-dropdown"
aria-role="list"
trap-focus>
<template #trigger>
@ -90,16 +90,16 @@
</button>
</template>
<b-dropdown-item
@click="$emit('deleteSelectedTerms')"
id="item-delete-selected-terms"
aria-role="listitem">
aria-role="listitem"
@click="$emit('deleteSelectedTerms')">
{{ $i18n.get('label_delete_permanently') }}
</b-dropdown-item>
<b-dropdown-item
v-if="isHierarchical"
@click="$emit('updateSelectedTermsParent')"
id="item-update-selected-terms"
aria-role="listitem">
aria-role="listitem"
@click="$emit('updateSelectedTermsParent')">
{{ $i18n.get('label_update_parent') }}
</b-dropdown-item>
</b-dropdown>

View File

@ -24,8 +24,8 @@
v-for="(childItemMetadatum, childIndex) of childItemMetadata"
:key="groupIndex + '-' + childIndex">
<div
class="field"
v-if="isRemovingGroup">
v-if="isRemovingGroup"
class="field">
<span class="collapse-handle">
<span class="icon">
<i class="has-text-secondary tainacan-icon tainacan-icon-1-25em tainacan-icon-arrowdown" />
@ -68,7 +68,6 @@
:help-info-bellow-label="helpInfoBellowLabel"
:is-collapsed="childItemMetadatum.collapse"
:is-mobile-screen="isMobileScreen"
@changeCollapse="onChangeCollapse($event, groupIndex, childIndex)"
:class="{
'is-last-input': childIndex == childItemMetadata.length - 1,
'is-metadata-navigation-active': isMetadataNavigation
@ -76,6 +75,7 @@
:is-focused="(focusedGroupMetadatum === groupIndex) && (focusedChildMetadatum === childIndex)"
:is-metadata-navigation="isMetadataNavigation"
:enumerate-metadatum="enumerateMetadatum ? ( enumerateMetadatum + ( childItemMetadataGroups.length > 1 ? ( '.' + (Number(groupIndex) + 1) ) : '' ) + '.' + (Number(childIndex) + 1) ) : false"
@changeCollapse="onChangeCollapse($event, groupIndex, childIndex)"
@touchstart="isMetadataNavigation ? setMetadatumChildFocus({ groupIndex: groupIndex, childIndex: childIndex, scrollIntoView: false }): ''"
@mousedown="isMetadataNavigation ? setMetadatumChildFocus({ groupIndex: groupIndex, childIndex: childIndex, scrollIntoView: false }) : ''"
@mobileSpecialFocus="setMetadatumChildFocus({ groupIndex: groupIndex, childIndex: childIndex, scrollIntoView: true })"
@ -84,8 +84,8 @@
</template>
<a
v-if="isMultiple"
@click="removeGroup(groupIndex)"
class="add-link">
class="add-link"
@click="removeGroup(groupIndex)">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-remove"/>
</span>
@ -109,8 +109,8 @@
<a
v-if="isMultiple && (maxMultipleValues === undefined || maxMultipleValues === 0 || (maxMultipleValues !== 1 && maxMultipleValues > childItemMetadataGroups.length))"
:disabled="itemMetadatum.item.id && (childItemMetadataGroups.length > 0 && !someValueOnLastInput)"
@click="addGroup"
class="is-inline-block add-link">
class="is-inline-block add-link"
@click="addGroup">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-add"/>
</span>

View File

@ -20,7 +20,6 @@
:style="{ minHeight: childrenMetadata.length > 0 ? '40px' : '70px' }"
class="active-metadata-area child-metadata-area"
item-key="id"
@change="handleChange"
:options="{
group: {
name: 'metadata',
@ -34,17 +33,18 @@
filter: '.not-sortable-item',
preventOnFilter: false,
animation: 250
}">
}"
@change="handleChange">
<template #item="{ element: metadatum, index }">
<div
class="active-metadatum-item"
v-show="(metadataNameFilterString == '' || filterByMetadatumName(metadatum)) && filterByMetadatumType(metadatum)"
class="active-metadatum-item"
:class="{
'not-sortable-item': metadatum.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder || metadatum.parent == 0 || metadatum.collection_id != collectionId || metadataNameFilterString != '' || hasSomeMetadataTypeFilterApplied,
'not-focusable-item': openedMetadatumId == metadatum.id,
'disabled-metadatum': parent.enabled == false,
'inherited-metadatum': (metadatum.collection_id != collectionId && metadatum.parent == 0) || isRepositoryLevel
}"
v-show="(metadataNameFilterString == '' || filterByMetadatumName(metadatum)) && filterByMetadatumType(metadatum)">
}">
<div
:ref="'metadatum-handler-' + metadatum.id"
class="handle">
@ -52,8 +52,8 @@
<button
:disabled="index == 0"
class="link-button"
@click="moveMetadatumUpViaButton(index)"
:aria-label="$i18n.get('label_move_up')">
:aria-label="$i18n.get('label_move_up')"
@click="moveMetadatumUpViaButton(index)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-previous tainacan-icon-rotate-90" />
</span>
@ -61,21 +61,21 @@
<button
:disabled="index == childrenMetadata.length - 1"
class="link-button"
@click="moveMetadatumDownViaButton(index)"
:aria-label="$i18n.get('label_move_down')">
:aria-label="$i18n.get('label_move_down')"
@click="moveMetadatumDownViaButton(index)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-next tainacan-icon-rotate-90" />
</span>
</button>
</span>
<span
:style="{ opacity: !(metadatum.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder || metadatum.parent == 0 || metadatum.collection_id != collectionId || metadataNameFilterString != '' || hasSomeMetadataTypeFilterApplied) ? '1.0' : '0.0' }"
v-tooltip="{
content: metadatum.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder ? $i18n.get('info_not_allowed_change_order_metadata') : $i18n.get('instruction_drag_and_drop_metadatum_sort'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : ''],
placement: 'auto-start'
}"
:style="{ opacity: !(metadatum.id == undefined || openedMetadatumId != '' || isUpdatingMetadataOrder || metadatum.parent == 0 || metadatum.collection_id != collectionId || metadataNameFilterString != '' || hasSomeMetadataTypeFilterApplied) ? '1.0' : '0.0' }"
class="icon grip-icon">
<!-- <i class="tainacan-icon tainacan-icon-18px tainacan-icon-drag"/> -->
<svg
@ -97,9 +97,9 @@
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : ''],
placement: 'auto-start'
}"
@click="Object.assign( collapses, { [metadatum.id]: !isCollapseOpen(metadatum.id) })"
class="gray-icon icon"
:style="{ cursor: 'pointer', opacity: openedMetadatumId != metadatum.id ? '1.0' : '0.0' }">
:style="{ cursor: 'pointer', opacity: openedMetadatumId != metadatum.id ? '1.0' : '0.0' }"
@click="Object.assign( collapses, { [metadatum.id]: !isCollapseOpen(metadatum.id) })">
<i :class="'tainacan-icon tainacan-icon-1-25em tainacan-icon-' + (isCollapseOpen(metadatum.id) ? 'arrowdown' : 'arrowright')" />
</span>
<span class="metadatum-name">
@ -132,13 +132,13 @@
</em>
<span
v-if="metadatum.status == 'private'"
class="icon"
v-tooltip="{
content: $i18n.get('status_private'),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : ''],
placement: 'auto-start'
}">
}"
class="icon">
<i class="tainacan-icon tainacan-icon-private"/>
</span>
<span
@ -161,11 +161,11 @@
</span>
</span>
<span
class="loading-spinner"
v-if="metadatum.id == undefined"/>
v-if="metadatum.id == undefined"
class="loading-spinner"/>
<span
class="controls"
v-if="metadatum.id !== undefined">
v-if="metadatum.id !== undefined"
class="controls">
<a
v-if="metadatum.current_user_can_edit"
:style="{ visibility:
@ -212,21 +212,21 @@
:metadatum="metadatum" />
</transition>
<b-modal
@close="onEditionCanceled()"
:model-value="openedMetadatumId == metadatum.id"
trap-focus
aria-modal
aria-role="dialog"
custom-class="tainacan-modal"
:close-button-aria-label="$i18n.get('close')">
:close-button-aria-label="$i18n.get('close')"
@close="onEditionCanceled()">
<metadatum-edition-form
:collection-id="collectionId"
:original-metadatum="metadatum"
:is-parent-multiple="isParentMultiple"
:is-repository-level="isRepositoryLevel"
:index="index"
@onEditionFinished="onEditionFinished()"
@onEditionCanceled="onEditionCanceled()"
:index="index" />
@onEditionCanceled="onEditionCanceled()" />
</b-modal>
</div>
</template>

View File

@ -14,14 +14,14 @@
<!-- TODO: FIX IMASK -->
<b-input
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
v-model="dateValue"
:disabled="disabled"
:custom-class="isInvalidDate && dateValue ? 'is-danger' : ''"
type="text"
v-model="dateValue"
:placeholder="itemMetadatum.metadatum.placeholder ? itemMetadatum.metadatum.placeholder : dateFormat.toLowerCase()"
@update:model-value="onInput"
@blur="onBlur"
@focus="onMobileSpecialFocus"
:placeholder="itemMetadatum.metadatum.placeholder ? itemMetadatum.metadatum.placeholder : dateFormat.toLowerCase()" />
@focus="onMobileSpecialFocus" />
<p
v-if="isInvalidDate && dateValue"
style="font-size: 0.75em;"

View File

@ -9,10 +9,10 @@
:message="$i18n.getHelperMessage('tainacan-geocoordinate', 'map_provider')" />
</label>
<b-input
name="mapProvider"
v-model="mapProvider"
@update:model-value="emitValues()"
placeholder="https://tile.openstreetmap.org/{z}/{x}/{y}.png" />
name="mapProvider"
placeholder="https://tile.openstreetmap.org/{z}/{x}/{y}.png"
@update:model-value="emitValues()" />
</b-field>
<b-field
@ -25,10 +25,10 @@
:message="$i18n.getHelperMessage('tainacan-geocoordinate', 'attribution')" />
</label>
<b-input
name="attribution"
v-model="attribution"
@update:model-value="emitValues()"
placeholder="© OpenStreetMap contributors" />
name="attribution"
placeholder="© OpenStreetMap contributors"
@update:model-value="emitValues()" />
</b-field>
@ -42,12 +42,12 @@
:message="$i18n.getHelperMessage('tainacan-geocoordinate', 'initial_zoom')" />
</label>
<b-numberinput
name="initialZoom"
v-model="initialZoom"
@update:model-value="emitValues()"
name="initialZoom"
:step="1"
:max="19"
:min="1" />
:min="1"
@update:model-value="emitValues()" />
</b-field>
<b-field
@ -60,12 +60,12 @@
:message="$i18n.getHelperMessage('tainacan-geocoordinate', 'maximum_zoom')" />
</label>
<b-numberinput
name="maximumZoom"
v-model="maximumZoom"
@update:model-value="emitValues()"
name="maximumZoom"
:step="1"
:max="19"
:min="1" />
:min="1"
@update:model-value="emitValues()" />
</b-field>
</section>

View File

@ -10,12 +10,12 @@
:max-zoom="maxZoom"
:center="[-14.4086569, -51.31668]"
:zoom-animation="true"
@click="onMapClick"
:options="{
name: 'map--' + itemMetadatumIdentifier,
trackResize: false, // We handle this manually in the component
worldCopyJump: true
}">
}"
@click="onMapClick">
<l-tile-layer
:url="mapProvider"
:attribution="attribution" />
@ -27,16 +27,16 @@
:placeholder="-14.408656999999"
type="text"
:step="0.000000000001"
@update:model-value="onUpdateFromLatitudeInput"
:model-value="latitude" />
:model-value="latitude"
@update:model-value="onUpdateFromLatitudeInput" />
<b-input
v-if="editingMarkerIndex >= 0"
expanded
:placeholder="-51.316689999999"
type="text"
:step="0.000000000001"
@update:model-value="onUpdateFromLongitudeInput"
:model-value="longitude" />
:model-value="longitude"
@update:model-value="onUpdateFromLongitudeInput" />
<b-button
v-if="editingMarkerIndex >= 0"
outlined

View File

@ -11,8 +11,8 @@
v-if="!showEditStepOptions"
class="is-flex">
<b-select
name="step_options"
v-model="step"
name="step_options"
@update:model-value="onUpdateStep">
<option value="0.001">0.001</option>
<option value="0.01">0.01</option>
@ -48,14 +48,14 @@
v-if="showEditStepOptions"
class="is-flex">
<b-input
name="max_options"
v-model="step"
@update:model-value="onUpdateStep"
name="max_options"
type="number"
step="1" />
step="1"
@update:model-value="onUpdateStep" />
<button
@click.prevent="showEditStepOptions = false"
class="button is-white is-pulled-right">
class="button is-white is-pulled-right"
@click.prevent="showEditStepOptions = false">
<span
v-tooltip="{
content: $i18n.get('close'),

View File

@ -1,17 +1,17 @@
<template>
<b-numberinput
:disabled="disabled"
:ref="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:ref="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:disabled="disabled"
:placeholder="itemMetadatum.metadatum.placeholder ? itemMetadatum.metadatum.placeholder : ''"
:model-value="Number(value)"
@update:model-value="$event =>onInput($event)"
@blur="onBlur"
@focus="onMobileSpecialFocus"
lang="en"
:min="getMin"
:max="getMax"
:step="getStep" />
:step="getStep"
@update:model-value="$event =>onInput($event)"
@blur="onBlur"
@focus="onMobileSpecialFocus" />
</template>
<script>

View File

@ -12,17 +12,17 @@
:message="$i18n.getHelperMessage('tainacan-relationship', 'collection_id')"/>
</label>
<b-select
v-model="collection"
name="metadata_type_relationship[collection_id]"
:placeholder="$i18n.get('instruction_select_collection_fetch_items' )"
v-model="collection"
@change="emitValues()"
@focus="clear()"
:loading="loading"
expanded>
expanded
@change="emitValues()"
@focus="clear()">
<option
v-for="option in collections"
:value="option.id"
:key="option.id">
:key="option.id"
:value="option.id">
{{ option.name }}
</option>
</b-select>
@ -44,8 +44,8 @@
:message="$i18n.getHelperMessage('tainacan-relationship', 'search')"/>
</label>
<b-select
name="metadata_type_relationship[search]"
v-model="modelSearch"
name="metadata_type_relationship[search]"
expanded>
<option
v-for="(option, index) in metadata.filter(metadatum => metadatum.metadata_type_object.component !== 'tainacan-compound')"
@ -69,20 +69,20 @@
</label>
<div :class="'displayed-metadata-options' + (metadata.length > 5 ? ' has-more-than-5-metadata' : '')">
<b-checkbox
v-model="displayRelatedItemMetadata"
native-value="thumbnail"
name="metadata_type_relationship[display_related_item_metadata]"
@update:model-value="emitValues()"
v-model="displayRelatedItemMetadata">
@update:model-value="emitValues()">
{{ $i18n.get('label_thumbnail') }}
</b-checkbox>
<b-checkbox
v-for="(metadatumOption, index) in metadata"
:key="index"
v-model="displayRelatedItemMetadata"
:native-value="metadatumOption.id"
name="metadata_type_relationship[display_related_item_metadata]"
@update:model-value="emitValues()"
v-model="displayRelatedItemMetadata"
:disabled="metadatumOption.id == modelSearch">
:disabled="metadatumOption.id == modelSearch"
@update:model-value="emitValues()">
{{ metadatumOption.name }}
</b-checkbox>
</div>
@ -94,11 +94,11 @@
:label="$i18n.getHelperTitle('tainacan-relationship', 'display_in_related_items')">
&nbsp;
<b-switch
size="is-small"
v-model="modelDisplayInRelatedItems"
@update:model-value="emitValues()"
v-model="modelDisplayInRelatedItems"
size="is-small"
true-value="yes"
false-value="no" />
false-value="no"
@update:model-value="emitValues()" />
<help-button
:title="$i18n.getHelperTitle('tainacan-relationship', 'display_in_related_items')"
:message="$i18n.getHelperMessage('tainacan-relationship', 'display_in_related_items')"/>
@ -109,11 +109,11 @@
:label="$i18n.getHelperTitle('tainacan-relationship', 'accept_draft_items')">
&nbsp;
<b-switch
size="is-small"
v-model="modelAcceptDraftItems"
@update:model-value="emitValues()"
v-model="modelAcceptDraftItems"
size="is-small"
true-value="yes"
false-value="no" />
false-value="no"
@update:model-value="emitValues()" />
<help-button
:title="$i18n.getHelperTitle('tainacan-relationship', 'accept_draft_items')"
:message="$i18n.getHelperMessage('tainacan-relationship', 'accept_draft_items')"/>
@ -124,11 +124,11 @@
:label="$i18n.getHelperTitle('tainacan-relationship', 'accept_only_items_authored_by_current_user')">
&nbsp;
<b-switch
size="is-small"
v-model="modelAcceptOnlyItemsAuthoredByCurrentUser"
@input="emitValues()"
v-model="modelAcceptOnlyItemsAuthoredByCurrentUser"
size="is-small"
true-value="yes"
false-value="no" />
false-value="no"
@input="emitValues()" />
<help-button
:title="$i18n.getHelperTitle('tainacan-relationship', 'accept_only_items_authored_by_current_user')"
:message="$i18n.getHelperMessage('tainacan-relationship', 'accept_only_items_authored_by_current_user')"/>

View File

@ -1,19 +1,17 @@
<template>
<div :class="{ 'is-flex is-flex-wrap-wrap': itemMetadatum.metadatum.multiple != 'yes' || maxtags != undefined }">
<b-tabs
v-model="activeTab"
size="is-small"
animated
v-model="activeTab">
animated>
<b-tab-item :label="$i18n.get('label_insert_items')">
<b-taginput
:id="relationshipInputId"
expanded
:disabled="disabled"
:id="relationshipInputId"
size="is-small"
icon="magnify"
:model-value="selected"
@update:model-value="onInput"
@blur="onBlur"
:data="options"
:maxtags="maxtags != undefined ? maxtags : (itemMetadatum.metadatum.multiple == 'yes' || allowNew === true ? (maxMultipleValues !== undefined ? maxMultipleValues : null) : '1')"
autocomplete
@ -25,10 +23,12 @@
:aria-close-label="$i18n.get('remove_value')"
:class="{ 'has-selected': selected != undefined && selected != [] }"
field="label"
@typing="search"
check-infinite-scroll
@infinite-scroll="searchMore"
:has-counter="false"
@update:model-value="onInput"
@blur="onBlur"
@typing="search"
@infinite-scroll="searchMore"
@focus="onMobileSpecialFocus">
<template #default="props">
<div
@ -80,15 +80,15 @@
<div v-html="itemValue.valuesAsHtml" />
<a
v-if="currentUserCanEditItems && (!$adminOptions.itemEditionMode || $adminOptions.allowItemEditionModalInsideModal)"
@click="editSelected(itemValue.value)"
class="relationship-value-button--edit">
class="relationship-value-button--edit"
@click="editSelected(itemValue.value)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-edit" />
</span>
</a>
<a
@click="removeFromSelected(itemValue.value)"
class="relationship-value-button--remove">
class="relationship-value-button--remove"
@click="removeFromSelected(itemValue.value)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-close" />
</span>
@ -116,16 +116,16 @@
v-if="(maxMultipleValues === undefined || maxMultipleValues > selected.length) &&
(itemMetadatum.metadatum.multiple === 'yes' || !selected.length )"
:disabled="$adminOptions.itemEditionMode && !$adminOptions.allowItemEditionModalInsideModal"
@click="editItemModalOpen = !editItemModalOpen"
class="add-link">
class="add-link"
@click="editItemModalOpen = !editItemModalOpen">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-add"/>
</span>
&nbsp;{{ $i18n.get('label_create_new_item') }}
</a>
<b-modal
:width="1200"
v-model="editItemModalOpen"
:width="1200"
:custom-class="'tainacan-modal' + (collection && collection.id ? ' tainacan-modal-item-edition--collection-' + collection.id : '')"
:close-button-aria-label="$i18n.get('close')">
<iframe

View File

@ -24,8 +24,6 @@
<b-taginput
v-model="options"
@update:model-value="emitValues()"
@focus="clear()"
attached
:confirm-keys="optionsSeparator"
:on-paste-separators="optionsSeparator"
@ -33,17 +31,19 @@
:aria-close-label="$i18n.get('remove_value')"
class="tainacan-selectbox-metadata-type--taginput"
:class="{'has-selected': options != undefined && options != []}"
:placeholder="$i18n.get('new') + ', ...'" />
:placeholder="$i18n.get('new') + ', ...'"
@update:model-value="emitValues()"
@focus="clear()" />
<div class="separator-options">
<label class="label is-inline">{{ $i18n.getHelperTitle('tainacan-selectbox', 'options_separator') }}</label>
<b-checkbox
v-for="separator of ['Enter', 'Tab', ',', ';', '|']"
:key="separator"
name="metadata_type_selectbox[options_separator]"
@update:model-value="emitValues()"
v-model="optionsSeparator"
name="metadata_type_selectbox[options_separator]"
:native-value="separator"
:disabled="separator == 'Enter'">
:disabled="separator == 'Enter'"
@update:model-value="emitValues()">
<kbd>{{ separator }}</kbd>
</b-checkbox>
</div>

View File

@ -7,9 +7,9 @@
autocomplete="on"
@focus="onMobileSpecialFocus">
<b-select
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
expanded
:disabled="disabled"
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:placeholder="itemMetadatum.metadatum.placeholder ? itemMetadatum.metadatum.placeholder : $i18n.get('label_selectbox_init')"
:model-value="value"
@update:model-value="onSelected($event)">

View File

@ -1,7 +1,7 @@
<template>
<b-field
:class="metadatumFormClasses"
:ref="isHighlightedMetadatum ? 'highlighted-metadatum': 'null'"
:class="metadatumFormClasses"
:addons="false"
:message="errorMessage"
:type="errorMessage ? 'is-danger' : ''">
@ -53,21 +53,19 @@
v-show="hideCollapses || isCollapsed || !!errorMessage"
v-if="isTextInputComponent">
<p
class="metadatum-description-help-info"
v-if="itemMetadatum.metadatum &&
itemMetadatum.metadatum.description &&
(
(!hideHelpButtons && helpInfoBellowLabel) ||
(itemMetadatum.metadatum.description_bellow_name === 'yes')
)">
)"
class="metadatum-description-help-info">
{{ itemMetadatum.metadatum.description }}
</p>
<component
:is="metadatumComponent"
v-model:value="values[0]"
:item-metadatum="itemMetadatum"
@input="changeValue"
@blur="performValueChange"
:disabled="false"
:metadata-name-filter-string="metadataNameFilterString"
:hide-collapses="hideCollapses"
@ -75,9 +73,11 @@
:hide-help-buttons="hideHelpButtons"
:help-info-bellow-label="helpInfoBellowLabel"
:is-mobile-screen="isMobileScreen"
@mobileSpecialFocus="onMobileSpecialFocus"
:is-focused="isFocused"
:is-metadata-navigation="isMetadataNavigation" />
:is-metadata-navigation="isMetadataNavigation"
@input="changeValue"
@blur="performValueChange"
@mobileSpecialFocus="onMobileSpecialFocus" />
<template v-if="isMultiple && values.length > 1">
<transition-group
tag="div"
@ -87,12 +87,10 @@
v-for="(value, index) of values"
:key="index">
<component
v-if="index > 0"
:is="metadatumComponent"
v-if="index > 0"
v-model:value="values[index]"
:item-metadatum="itemMetadatum"
@input="changeValue"
@blur="performValueChange"
:disabled="false"
:metadata-name-filter-string="metadataNameFilterString"
:hide-collapses="hideCollapses"
@ -100,14 +98,16 @@
:hide-help-buttons="hideHelpButtons"
:help-info-bellow-label="helpInfoBellowLabel"
:is-mobile-screen="isMobileScreen"
@mobileSpecialFocus="onMobileSpecialFocus"
:is-focused="isFocused"
:is-metadata-navigation="isMetadataNavigation" />
:is-metadata-navigation="isMetadataNavigation"
@input="changeValue"
@blur="performValueChange"
@mobileSpecialFocus="onMobileSpecialFocus" />
<a
v-if="index > 0"
@click="removeValue(index)"
:key="index"
class="add-link"
:key="index">
@click="removeValue(index)">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-remove"/>
</span>
@ -118,8 +118,8 @@
</template>
<template v-if="isMultiple && (maxMultipleValues === undefined || maxMultipleValues === 0 || (maxMultipleValues !== 1 && maxMultipleValues > values.length))">
<a
@click="addValue"
class="is-inline-block add-link">
class="is-inline-block add-link"
@click="addValue">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-add"/>
</span>
@ -133,21 +133,19 @@
v-show="hideCollapses || isCollapsed"
v-else>
<p
class="metadatum-description-help-info"
v-if="itemMetadatum.metadatum &&
itemMetadatum.metadatum.description &&
(
(!hideHelpButtons && helpInfoBellowLabel) ||
(itemMetadatum.metadatum.description_bellow_name === 'yes')
)">
)"
class="metadatum-description-help-info">
{{ itemMetadatum.metadatum.description }}
</p>
<component
:is="metadatumComponent"
v-model:value="values"
:item-metadatum="itemMetadatum"
@input="changeValue"
@blur="performValueChange"
:disabled="false"
:is-last-metadatum="isLastMetadatum"
:hide-collapses="hideCollapses"
@ -156,10 +154,12 @@
:help-info-bellow-label="helpInfoBellowLabel"
:is-mobile-screen="isMobileScreen"
:metadata-name-filter-string="metadataNameFilterString"
@mobileSpecialFocus="onMobileSpecialFocus"
:is-focused="isFocused"
:is-metadata-navigation="isMetadataNavigation"
:enumerate-metadatum="enumerateMetadatum" />
:enumerate-metadatum="enumerateMetadatum"
@input="changeValue"
@blur="performValueChange"
@mobileSpecialFocus="onMobileSpecialFocus" />
</div>
</transition>
</b-field>

View File

@ -13,18 +13,18 @@
:message="$i18n.getHelperMessage('tainacan-taxonomy', 'taxonomy_id')"/>
</label>
<b-select
v-model="taxonomy_id"
name="field_type_options[taxonomy_id]"
placeholder="Select the taxonomy"
v-model="taxonomy_id"
@update:model-value="emitValues()"
@focus="clear"
:loading="loading"
expanded>
expanded
@update:model-value="emitValues()"
@focus="clear">
<option value="">{{ $i18n.get('label_selectbox_init') }}...</option>
<option
v-for="option in taxonomies"
:value="option.id"
:key="option.id">
:key="option.id"
:value="option.id">
{{ option.name }}
</option>
</b-select>
@ -39,30 +39,30 @@
</label>
<b-select
v-if="listInputType"
v-model="input_type"
name="metadata_type_options[component_type]"
placeholder="Select the input type for the taxonomy metadatum"
@update:model-value="emitValues()"
v-model="input_type"
expanded>
expanded
@update:model-value="emitValues()">
<option
v-for="(option, index) in single_types"
:value="index"
:key="index">
:key="index"
:value="index">
{{ option }}
</option>
</b-select>
<b-select
v-else
v-model="input_type"
name="metadata_type_options[input_type]"
placeholder="Select the input type for the taxonomy metadatum"
v-model="input_type"
@update:model-value="emitValues()"
v-else
expanded>
expanded
@update:model-value="emitValues()">
<option
v-for="(option, index) in multiple_types"
:value="index"
:key="index">
:key="index"
:value="index">
{{ option }}
</option>
</b-select>
@ -74,8 +74,8 @@
:label="$i18n.getHelperTitle('tainacan-taxonomy', 'visible_options_list')">
&nbsp;
<b-switch
size="is-small"
v-model="visible_options_list"
v-model="visible_options_list"
size="is-small"
@update:model-value="emitValues()" />
<help-button
:title="$i18n.getHelperTitle('tainacan-taxonomy', 'visible_options_list')"
@ -87,11 +87,11 @@
:label="$i18n.get('label_taxonomy_allow_new_terms')">
&nbsp;
<b-switch
size="is-small"
v-model="allow_new_terms"
@update:model-value="emitValues()"
v-model="allow_new_terms"
size="is-small"
true-value="yes"
false-value="no" />
false-value="no"
@update:model-value="emitValues()" />
<help-button
:title="$i18n.getHelperTitle('tainacan-taxonomy', 'allow_new_terms')"
:message="$i18n.getHelperMessage('tainacan-taxonomy', 'allow_new_terms')"/>
@ -102,11 +102,11 @@
:label="$i18n.getHelperTitle('tainacan-taxonomy', 'do_not_dispaly_term_as_link')">
&nbsp;
<b-switch
size="is-small"
v-model="do_not_dispaly_term_as_link"
@update:model-value="emitValues()"
v-model="do_not_dispaly_term_as_link"
size="is-small"
true-value="yes"
false-value="no" />
false-value="no"
@update:model-value="emitValues()" />
<help-button
:title="$i18n.getHelperTitle('tainacan-taxonomy', 'do_not_dispaly_term_as_link')"
:message="$i18n.getHelperMessage('tainacan-taxonomy', 'do_not_dispaly_term_as_link')"/>
@ -124,16 +124,16 @@
:open-on-focus="true"
:data="collections.filter((collection) => !link_filtered_by_collections.includes(collection.id) && (collectionSearchString ? (collection.name.toLowerCase().indexOf(collectionSearchString.toLowerCase()) >= 0) : true) )"
field="name"
@update:model-value="updateSelectedCollections"
@focus="clear()"
attached
:disabled="do_not_dispaly_term_as_link == 'yes'"
:remove-on-keys="[]"
:aria-close-label="$i18n.get('remove_value')"
:class="{'has-selected': link_filtered_by_collections != undefined && link_filtered_by_collections != []}"
:placeholder="$i18n.get('instruction_select_one_or_more_collections')"
@typing="filterCollections"
:loading="loadingCollections">
:loading="loadingCollections"
@update:model-value="updateSelectedCollections"
@focus="clear()"
@typing="filterCollections">
<template #default="props">
<div class="media">
<div
@ -159,11 +159,11 @@
:label="$i18n.getHelperTitle('tainacan-taxonomy', 'hide_hierarchy_path')">
&nbsp;
<b-switch
size="is-small"
v-model="hide_hierarchy_path"
@update:model-value="emitValues()"
v-model="hide_hierarchy_path"
size="is-small"
true-value="yes"
false-value="no" />
false-value="no"
@update:model-value="emitValues()" />
<help-button
:title="$i18n.getHelperTitle('tainacan-taxonomy', 'hide_hierarchy_path')"
:message="$i18n.getHelperMessage('tainacan-taxonomy', 'hide_hierarchy_path')"/>

View File

@ -2,23 +2,22 @@
<div>
<tainacan-taxonomy-tag-input
v-if="getComponent == 'tainacan-taxonomy-tag-input'"
v-model:value="valueComponent"
:disabled="disabled || isFetchingTerms"
:maxtags="maxtags != undefined ? maxtags : (itemMetadatum.metadatum.multiple == 'yes' || allowNew === true ? (maxMultipleValues !== undefined ? maxMultipleValues : null) : '1')"
v-model:value="valueComponent"
:allow-select-to-create="allowSelectToCreate"
:allow-new="allowNewFromOptions"
:placeholder="itemMetadatum.metadatum.placeholder ? itemMetadatum.metadatum.placeholder : $i18n.get('instruction_type_existing_term')"
:taxonomy-id="taxonomyId"
:item-metadatum="itemMetadatum"
@showAddNewTerm="openTermCreationModal"
:has-counter="false" />
:has-counter="false"
@showAddNewTerm="openTermCreationModal" />
<checkbox-radio-metadata-input
v-else
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:is-modal="false"
:parent="0"
:allow-new="allowNewFromOptions"
@showAddNewTerm="openTermCreationModal"
:taxonomy_id="taxonomyId"
:selected="!valueComponent ? [] : valueComponent"
:metadatum-id="itemMetadatum.metadatum.id"
@ -29,17 +28,18 @@
:metadatum="itemMetadatum.metadatum"
:amount-selected="Array.isArray(valueComponent) ? valueComponent.length : (valueComponent ? '1' : '0')"
:is-checkbox="getComponent == 'tainacan-taxonomy-checkbox'"
@input="(selected) => valueComponent = selected"
:is-mobile-screen="isMobileScreen"
@showAddNewTerm="openTermCreationModal"
@input="(selected) => valueComponent = selected"
@mobileSpecialFocus="onMobileSpecialFocus"
/>
<div
v-if="displayCreateNewTerm && !isTermCreationPanelOpen && (maxMultipleValues !== undefined ? (maxMultipleValues > valueComponent.length) : true)"
class="add-new-term">
<a
@click="openTermCreationModal"
class="add-link"
:class="{ 'is-loading': isAddingNewTermVaue }">
:class="{ 'is-loading': isAddingNewTermVaue }"
@click="openTermCreationModal">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-add"/>
</span>
@ -73,10 +73,10 @@
<transition name="filter-item">
<component
:is="'term-creation-panel'"
v-if="isTermCreationPanelOpen"
:metadatum-id="itemMetadatum.metadatum.id"
:item-id="itemMetadatum.item.id"
:is-hierarchical="isHierarchical"
v-if="isTermCreationPanelOpen"
:taxonomy-id="taxonomyId"
:original-form="{ id: 'new', name: newTermName ? newTermName : '' }"
@onEditionFinished="($event) => addTermToBeCreated($event)"

View File

@ -1,17 +1,15 @@
<template>
<b-taginput
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
v-model="selected"
expanded
:disabled="disabled"
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
size="is-small"
icon="magnify"
@add="emitAdd"
@remove="emitRemove"
v-model="selected"
:data="options"
:maxtags="maxtags != undefined ? maxtags : (itemMetadatum.metadatum.multiple == 'yes' || allowNew === true ? (maxMultipleValues !== undefined ? maxMultipleValues : null) : '1')"
:maxtags="maxtags != undefined ? maxtags : (itemMetadatum.metadatum.multiple == 'yes' || allowNew === true ? (maxMultipleValues !== undefined ? maxMultipleValues : null) : '1')"
field="label"
:remove-on-keys="[]"
:remove-on-keys="[]"
:dropdown-position="isLastMetadatum ? 'top' :'auto'"
attached
ellipsis
@ -20,12 +18,14 @@
:loading="isFetching"
:class="{ 'has-selected': selected != undefined && selected != [] }"
autocomplete
@typing="search"
check-infinite-scroll
@infinite-scroll="searchMore"
:has-counter="false"
:append-to-body="!itemMetadatum.item"
:open-on-focus="false">
:open-on-focus="false"
@add="emitAdd"
@remove="emitRemove"
@typing="search"
@infinite-scroll="searchMore">
<template #default="props">
<div class="media">
<div class="media-content">

View File

@ -7,9 +7,9 @@
<b-switch
size="is-small"
:model-value="displaySuggestions"
@update:model-value="onUpdateDisplaySuggestions"
:true-value="'yes'"
:false-value="'no'" />
:false-value="'no'"
@update:model-value="onUpdateDisplaySuggestions" />
<help-button
:title="$i18n.getHelperTitle('tainacan-text', 'display_suggestions')"
:message="$i18n.getHelperMessage('tainacan-text', 'display_suggestions')"/>

View File

@ -4,31 +4,31 @@
v-if="!getDisplayAutocomplete"
class="control is-clearfix">
<input
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
v-imask="getMask"
class="input"
:disabled="disabled"
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:model-value="value"
:placeholder="itemMetadatum.metadatum.placeholder ? itemMetadatum.metadatum.placeholder : ''"
@focus="onMobileSpecialFocus"
v-imask="getMask"
@complete="($event) => getMask ? onInput($event.detail.value) : null"
@input="($event) => getMask ? null : onInput($event.target.value)"
@blur="onBlur" >
</div>
<b-autocomplete
v-else
:disabled="disabled"
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:disabled="disabled"
:model-value="value"
@blur="onBlur"
:data="options"
:loading="isLoadingOptions"
@update:model-value="($event) => { search($event); }"
field="label"
@select="onSelect"
clearable
:placeholder="itemMetadatum.metadatum.placeholder ? itemMetadatum.metadatum.placeholder : ''"
check-infinite-scroll
@blur="onBlur"
@update:model-value="($event) => { search($event); }"
@select="onSelect"
@infinite-scroll="searchMore"
@focus="onMobileSpecialFocus">
<template #header>

View File

@ -1,15 +1,15 @@
<template>
<b-input
:disabled="disabled"
:ref="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:ref="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
:disabled="disabled"
:placeholder="itemMetadatum.metadatum.placeholder ? itemMetadatum.metadatum.placeholder : ''"
:model-value="value"
type="textarea"
:maxlength="getMaxlength"
@update:model-value="onInput($event)"
@blur="onBlur"
type="textarea"
@focus="onMobileSpecialFocus"
:maxlength="getMaxlength" />
@focus="onMobileSpecialFocus" />
</template>
<script>

View File

@ -9,9 +9,9 @@
</label>
<b-checkbox
v-model="defaultAuthor"
@update:model-value="onUpdateDefaultAuthor"
true-value="yes"
false-value="no">
false-value="no"
@update:model-value="onUpdateDefaultAuthor">
{{ $i18n.get('label_default_author_user') }}
</b-checkbox>
</b-field>

View File

@ -1,14 +1,12 @@
<template>
<div :class="{ 'is-flex': itemMetadatum.metadatum.multiple != 'yes' || maxtags != undefined }">
<b-taginput
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
expanded
:disabled="disabled"
:id="'tainacan-item-metadatum_id-' + itemMetadatum.metadatum.id + (itemMetadatum.parent_meta_id ? ('_parent_meta_id-' + itemMetadatum.parent_meta_id) : '')"
size="is-small"
icon="account"
:model-value="selected"
@update:model-value="onInput"
@blur="onBlur"
:data="options"
:maxtags="maxtags != undefined ? maxtags : (itemMetadatum.metadatum.multiple == 'yes' || allowNew === true ? (maxMultipleValues !== undefined ? maxMultipleValues : null) : '1')"
autocomplete
@ -22,11 +20,13 @@
:aria-close-label="$i18n.get('remove_value')"
:class="{'has-selected': selected != undefined && selected != []}"
field="name"
check-infinite-scroll
:has-counter="false"
@update:model-value="onInput"
@blur="onBlur"
@typing="search"
@focus="onMobileSpecialFocus"
check-infinite-scroll
@infinite-scroll="searchMore"
:has-counter="false">
@infinite-scroll="searchMore">
<template #default="props">
<div class="media">
<div

View File

@ -1,11 +1,11 @@
<template>
<div
ref="activityDetailsModal"
autofocus
role="dialog"
class="tainacan-modal-content"
tabindex="-1"
aria-modal
ref="activityDetailsModal">
aria-modal>
<header
v-if="!isLoadingActivity"
class="tainacan-modal-title">
@ -14,8 +14,8 @@
<p>{{ activityCreationDate + ', ' + $i18n.get('info_by_inner') }} <strong> {{ activity.user_name }}</strong></p>
</header>
<b-loading
:is-full-page="false"
v-model="isLoadingActivity"
v-model="isLoadingActivity"
:is-full-page="false"
:can-cancel="false"/>
<div
v-if="!isLoadingActivity"
@ -39,8 +39,8 @@
<!-- Thumbnail -->
<div
class="content"
v-if="attributeName == 'thumbnail'">
v-if="attributeName == 'thumbnail'"
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>
@ -63,8 +63,8 @@
<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">
v-if="diff.old.length"
class="tainacan-attachments-in-modal">
<file-item
v-for="(attachment, anotherIndex) in diff.old"
:key="anotherIndex"
@ -83,8 +83,8 @@
</div>
<div
class="content"
v-if="!['thumbnail', 'attachments'].includes(attributeName)">
v-if="!['thumbnail', 'attachments'].includes(attributeName)"
class="content">
<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>
@ -92,10 +92,10 @@
<!-- 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[0] instanceof Object)"
class="tainacan-p-break">
{{ diff.old.toString() }}
</p>
@ -103,9 +103,9 @@
v-else-if="attributeName == 'metadata_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.old"
:key="diffTitle">
:key="diffTitle"
class="tainacan-p-break">
{{ diff.old ? `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` : infoEmpty }}
</p>
</div>
@ -114,9 +114,9 @@
v-else-if="attributeName == 'filters_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.old"
:key="diffTitle">
:key="diffTitle"
class="tainacan-p-break">
{{ diff.old ? `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` : infoEmpty }}
</p>
</div>
@ -134,8 +134,8 @@
<!-- -->
<p
class="tainacan-p-break"
v-else>
v-else
class="tainacan-p-break">
{{ diff.old ? (diff.old instanceof Array && !diff.old.length) ? infoEmpty : diff.old.toString().replace(/,/g, ' ') : infoEmpty }}
</p>
@ -147,8 +147,8 @@
<!-- Thumbnail -->
<div
class="content"
v-if="attributeName == 'thumbnail'">
v-if="attributeName == 'thumbnail'"
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>
@ -171,8 +171,8 @@
<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">
v-if="diff.new.length"
class="tainacan-attachments-in-modal">
<file-item
v-for="(attachment, attachmentIndex) in diff.new"
:key="attachmentIndex"
@ -191,8 +191,8 @@
</div>
<div
class="content"
v-if="!['thumbnail', 'attachments'].includes(attributeName)">
v-if="!['thumbnail', 'attachments'].includes(attributeName)"
class="content">
<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>
@ -200,10 +200,10 @@
<!-- 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[0] instanceof Object)"
class="tainacan-p-break">
{{ diff.new.toString() }}
</p>
@ -212,9 +212,9 @@
v-else-if="attributeName == 'metadata_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.new"
:key="diffTitle">
:key="diffTitle"
class="tainacan-p-break">
{{ `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` }}
</p>
</div>
@ -223,9 +223,9 @@
v-else-if="attributeName == 'filters_order'"
class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in diff.new"
:key="diffTitle">
:key="diffTitle"
class="tainacan-p-break">
{{ `ID: ${diffContent.id} | Enabled: ${diffContent.enabled}` }}
</p>
</div>
@ -242,8 +242,8 @@
<!-- -->
<p
class="tainacan-p-break"
v-else>
v-else
class="tainacan-p-break">
{{ diff.new ? (diff.new instanceof Array && !diff.new.length) ? infoEmpty : diff.new.toString().replace(/,/g, ' ') : infoEmpty }}
</p>
@ -307,8 +307,8 @@
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_before')})` }}</small>
</p>
<div
:key="index"
v-for="(attributeValue, attributeName, index) of activity.old_value">
v-for="(attributeValue, attributeName, index) of activity.old_value"
:key="index">
<p
v-if="attributeName == 'thumb' && attributeValue[0]"
class="tainacan-p-break">
@ -319,17 +319,17 @@
</p>
<p
v-else
v-html="`<strong>` + attributeName + `: </strong>` + (attributeValue ? attributeValue : infoEmpty)"
class="tainacan-p-break" />
class="tainacan-p-break"
v-html="`<strong>` + attributeName + `: </strong>` + (attributeValue ? attributeValue : infoEmpty)" />
</div>
</div>
<div
class="content"
v-if="activity.action == 'update-metadata-order' || activity.action == 'update-filters-order'">
v-if="activity.action == 'update-metadata-order' || activity.action == 'update-filters-order'"
class="content">
<div
:key="index"
v-for="(attributeValue, attributeName, index) in activity.old_value">
v-for="(attributeValue, attributeName, index) in activity.old_value"
:key="index">
<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>
@ -337,20 +337,20 @@
<div class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in attributeValue"
:key="diffTitle"
class="tainacan-p-break"
v-html="attributeValue ? `ID: ${diffContent.id} <span class='is-italic'>(${diffContent.enabled ? $i18n.get('label_enabled') : $i18n.get('label_disabled')})</span>` : infoEmpty " />
</div>
</div>
</div>
<div
class="content"
v-if="activity.action == 'update'">
v-if="activity.action == 'update'"
class="content">
<div
:key="index"
v-for="(attributeValue, attributeName, index) in activity.old_value">
v-for="(attributeValue, attributeName, index) in activity.old_value"
:key="index">
<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>
@ -358,10 +358,10 @@
<!-- Is array with length 1 -->
<p
class="tainacan-p-break"
v-if="(attributeValue instanceof Array) &&
(attributeValue.length == 1) &&
!(attributeValue[0] instanceof Object)">
!(attributeValue[0] instanceof Object)"
class="tainacan-p-break">
{{ attributeValue.toString() }}
</p>
@ -369,8 +369,8 @@
v-else-if="attributeName == 'metadata_type_options'"
class="content">
<p
:key="innerIndex"
v-for="(innerValue, innerName, innerIndex) of attributeValue"
:key="innerIndex"
class="tainacan-p-break">
<strong>{{ innerName + ': ' }}</strong>{{ innerValue ? innerValue : infoEmpty }}
<br>
@ -378,15 +378,15 @@
</div>
<p
class="tainacan-p-break"
v-else
class="tainacan-p-break"
v-html="(!attributeValue || (attributeValue instanceof Array && !attributeValue.length)) ? infoEmpty : (attributeValue instanceof Array ? attributeValue.join(`<span class='multivalue-separator'>|</span>`) : attributeValue)" />
</div>
</div>
<div
class="content"
v-if="activity.action == 'update-metadata-value'">
v-if="activity.action == 'update-metadata-value'"
class="content">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ activity.metadata && activity.metadata.name ? activity.metadata.name : $i18n.get('metadatum') }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_before')})` }}</small>
@ -449,8 +449,8 @@
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_after')})` }}</small>
</p>
<div
:key="index"
v-for="(attributeValue, attributeName, index) of activity.new_value">
v-for="(attributeValue, attributeName, index) of activity.new_value"
:key="index">
<p
v-if="attributeName == 'thumb' && attributeValue[0]"
class="tainacan-p-break">
@ -461,17 +461,17 @@
</p>
<p
v-else
v-html="`<strong>` + attributeName + `: </strong>` + (attributeValue ? attributeValue : infoEmpty)"
class="tainacan-p-break" />
class="tainacan-p-break"
v-html="`<strong>` + attributeName + `: </strong>` + (attributeValue ? attributeValue : infoEmpty)" />
</div>
</div>
<div
class="content"
v-if="activity.action == 'update-metadata-order' || activity.action == 'update-filters-order'">
v-if="activity.action == 'update-metadata-order' || activity.action == 'update-filters-order'"
class="content">
<div
:key="index"
v-for="(attributeValue, attributeName, index) in activity.new_value">
v-for="(attributeValue, attributeName, index) in activity.new_value"
:key="index">
<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>
@ -479,20 +479,20 @@
<div class="content">
<p
class="tainacan-p-break"
v-for="(diffContent, diffTitle) in attributeValue"
:key="diffTitle"
class="tainacan-p-break"
v-html="attributeValue ? `ID: ${diffContent.id} <span class='is-italic'>(${diffContent.enabled ? $i18n.get('label_enabled') : $i18n.get('label_disabled')})</span>` : infoEmpty " />
</div>
</div>
</div>
<div
:key="index"
v-for="(attributeValue, attributeName, index) in activity.new_value">
v-for="(attributeValue, attributeName, index) in activity.new_value"
:key="index">
<div
class="content"
v-if="activity.action == 'update'">
v-if="activity.action == 'update'"
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>
@ -502,8 +502,8 @@
v-if="attributeName == 'metadata_type_options'"
class="content">
<p
:key="innerIndex"
v-for="(innerValue, innerName, innerIndex) of attributeValue"
:key="innerIndex"
class="tainacan-p-break">
<strong>{{ innerName + ': ' }}</strong>{{ innerValue ? innerValue : infoEmpty }}
<br>
@ -517,23 +517,23 @@
{{ attributeValue ? attributeValue : infoEmpty }}
<br>
<img
style="margin: 12px 0; max-width: 160px;"
v-if="activity.terms && activity.terms.header_image"
style="margin: 12px 0; max-width: 160px;"
:alt="$i18n.get('label_header_image')"
:src="activity.terms.header_image" >
</p>
</div>
<p
class="tainacan-p-break"
v-else
class="tainacan-p-break"
v-html="(!attributeValue || (attributeValue instanceof Array && !attributeValue.length)) ? infoEmpty : (attributeValue instanceof Array ? attributeValue.join(`<span class='multivalue-separator'>|</span>`) : attributeValue)" />
</div>
</div>
<div
class="content"
v-if="activity.action == 'update-metadata-value'">
v-if="activity.action == 'update-metadata-value'"
class="content">
<p class="is-capitalized has-text-blue5 has-text-weight-bold">
{{ activity.metadata && activity.metadata.name ? activity.metadata.name : $i18n.get('metadatum') }}
<small class="has-text-gray4 has-text-weight-normal"> {{ `(${$i18n.get('info_logs_after')})` }}</small>

View File

@ -1,12 +1,12 @@
<template>
<form
ref="availableExportersModal"
action=""
autofocus
role="dialog"
class="tainacan-modal-content"
tabindex="-1"
aria-modal
ref="availableExportersModal">
aria-modal>
<div style="width: auto">
<header class="tainacan-modal-title">
<h2>{{ $i18n.get('exporters') }}</h2>
@ -22,9 +22,9 @@
v-for="exporterType in availableExporters"
:key="exporterType.slug">
<div
v-if="!(hideWhenManualCollection && !exporterType.manual_collection)"
role="listitem"
class="exporter-type"
v-if="!(hideWhenManualCollection && !exporterType.manual_collection)"
@click="onSelectExporter(exporterType)">
<h4>{{ exporterType.name }}</h4>
<p>{{ exporterType.description }}</p>

View File

@ -1,12 +1,12 @@
<template>
<form
ref="availableImportersModal"
action=""
autofocus
role="dialog"
class="tainacan-modal-content"
tabindex="-1"
aria-modal
ref="availableImportersModal">
aria-modal>
<div style="width: auto">
<header class="tainacan-modal-title">
<h2>{{ $i18n.get('importers') }}</h2>
@ -21,9 +21,9 @@
v-for="importerType in availableImporters"
:key="importerType.slug">
<div
v-if="!(hideWhenManualCollection && !importerType.manual_collection)"
role="listitem"
class="importer-type"
v-if="!(hideWhenManualCollection && !importerType.manual_collection)"
@click="onSelectImporter(importerType)">
<h4>{{ importerType.name }}</h4>
<p>{{ importerType.description }}</p>
@ -31,8 +31,8 @@
</template>
<b-loading
:is-full-page="false"
v-model="isLoading"
v-model="isLoading"
:is-full-page="false"
:can-cancel="false"/>
</div>

View File

@ -1,12 +1,12 @@
<template>
<div
ref="bulkEditionModal"
aria-labelledby="alert-dialog-title"
autofocus
role="alertdialog"
tabindex="-1"
aria-modal
class="tainacan-modal-content this-tainacan-modal-content"
ref="bulkEditionModal">
class="tainacan-modal-content this-tainacan-modal-content">
<header class="tainacan-modal-title">
<h2>{{ modalTitle }}
<small class="tainacan-total-objects-info">
@ -74,8 +74,8 @@
<template v-if="bulkEditionProcedures[criterion].metadatum">
<option
v-for="(edtAct, key) in getValidEditionActions(bulkEditionProcedures[criterion].metadatum)"
:value="edtAct"
:key="key">
:key="key"
:value="edtAct">
{{ edtAct }}
</option>
</template>
@ -87,8 +87,8 @@
<!-- This has do be a 'div' as the transition animation only renders one child -->
<div
style="margin-left: 12px; display: flex;"
v-if="bulkEditionProcedures[criterion].action == editionActions.replace">
v-if="bulkEditionProcedures[criterion].action == editionActions.replace"
style="margin-left: 12px; display: flex;">
<component
:is="bulkEditionProcedures[criterion].metadatum.metadata_type_object.component"
@ -217,8 +217,8 @@
<button
v-if="!bulkEditionProcedures[criterion].isDone && !bulkEditionProcedures[criterion].isExecuting"
@click="removeThis(criterion)"
class="button is-white is-pulled-right">
class="button is-white is-pulled-right"
@click="removeThis(criterion)">
<span
v-tooltip="{
content: $i18n.get('remove_bulk_edit'),
@ -233,8 +233,8 @@
<div
v-if="bulkEditionProcedures[criterion].isDone"
@mouseover="Object.assign( bulkEditionProcedures[criterion], { 'tooltipShow': !bulkEditionProcedures[criterion].tooltipShow })"
class="is-pulled-right">
class="is-pulled-right"
@mouseover="Object.assign( bulkEditionProcedures[criterion], { 'tooltipShow': !bulkEditionProcedures[criterion].tooltipShow })">
<span
v-tooltip="{
content: $i18n.get('info_bulk_edit_process_added'),
@ -250,14 +250,14 @@
</div>
<button
:disabled="!groupId"
v-if="!bulkEditionProcedures[criterion].isDone &&
!bulkEditionProcedures[criterion].isExecuting &&
bulkEditionProcedures[criterion].metadatum &&
bulkEditionProcedures[criterion].action &&
(bulkEditionProcedures[criterion].action != editionActions.copy || (bulkEditionProcedures[criterion].action == editionActions.copy && !!bulkEditionProcedures[criterion].metadatumIdCopyFrom))"
@click="executeBulkEditionProcedure(criterion)"
class="button is-white is-pulled-right">
:disabled="!groupId"
class="button is-white is-pulled-right"
@click="executeBulkEditionProcedure(criterion)">
<span
v-tooltip="{
content: $i18n.get('label_apply_changes'),
@ -278,8 +278,8 @@
</transition-group>
<a
:disabled="dones.every((item) => item === true) === false"
@click="addEditionCriterion()"
class="has-text-right is-inline-block add-link">
class="has-text-right is-inline-block add-link"
@click="addEditionCriterion()">
<span class="icon is-small">
<i class="tainacan-icon has-text-secondary tainacan-icon-add"/>
</span>
@ -290,11 +290,11 @@
<footer class="field is-grouped form-submit">
<p class="control">
<button
@click="$eventBusSearch.loadItems(); $emit('close')"
:disabled="(Object.keys(bulkEditionProcedures).length &&
bulkEditionProcedures[editionCriteria[editionCriteria.length-1]].isExecuting) || false"
type="button"
class="button is-outlined">
class="button is-outlined"
@click="$eventBusSearch.loadItems(); $emit('close')">
{{ $i18n.get('close') }}
</button>
</p>

View File

@ -22,8 +22,8 @@
<b-checkbox
v-if="!capability.roles_inherited[role.slug]"
:model-value="capability.roles[role.slug] || capability.roles_inherited[role.slug] ? true : false"
@update:model-value="($event) => updateRole(role.slug, $event)"
name="roles">
name="roles"
@update:model-value="($event) => updateRole(role.slug, $event)">
{{ role.name }}
</b-checkbox>
</template>
@ -74,8 +74,8 @@
</div>
<div v-else>
<b-loading
is-full-page="false"
v-model="isLoading" />
v-model="isLoading"
is-full-page="false" />
</div>
<div class="field is-grouped form-submit">
<div class="control">

View File

@ -1,33 +1,33 @@
<template>
<div
ref="collectionCreationModal"
aria-labelledby="collection-creation-title"
autofocus
role="dialog"
tabindex="-1"
aria-modal
class="tainacan-modal-content"
style="width: auto"
ref="collectionCreationModal">
aria-modal
class="tainacan-modal-content"
style="width: auto">
<header class="tainacan-modal-title">
<h2
id="collection-creation-title"
v-if="selectedEstrategy == 'mappers'">
v-if="selectedEstrategy == 'mappers'"
id="collection-creation-title">
{{ $i18n.get('label_create_collection_from_mapper') }}
</h2>
<h2
id="collection-creation-title"
v-else-if="selectedEstrategy == 'presets'">
v-else-if="selectedEstrategy == 'presets'"
id="collection-creation-title">
{{ $i18n.get('label_create_collection_from_preset') }}
</h2>
<h2
id="collection-creation-title"
v-else>
v-else
id="collection-creation-title">
{{ $i18n.get('label_create_collection') }}
</h2>
<a
@click="selectedEstrategy = hasPresetsHook ? undefined : 'mappers'"
v-if="(hasPresetsHook && selectedEstrategy != undefined) || (!hasPresetsHook && selectedEstrategy == 'mappers')"
class="back-link">
class="back-link"
@click="selectedEstrategy = hasPresetsHook ? undefined : 'mappers'">
{{ $i18n.get('back') }}
</a>
<hr>
@ -63,10 +63,10 @@
v-for="metadatumMapper in metadatumMappers"
:key="metadatumMapper.slug">
<button
class="collection-creation-option"
@click="$router.push($routerHelper.getNewMappedCollectionPath(metadatumMapper.slug)); $emit('close');"
v-if="metadatumMapper.metadata != false"
aria-role="listitem">
class="collection-creation-option"
aria-role="listitem"
@click="$router.push($routerHelper.getNewMappedCollectionPath(metadatumMapper.slug)); $emit('close');">
<h3>{{ metadatumMapper.name }}</h3>
<p>{{ metadatumMapper.description }}</p>
</button>
@ -78,24 +78,24 @@
class="collection-creation-options-container"
role="list">
<button
class="collection-creation-option"
@click="onNewCollectionPreset(collectionPreset)"
v-for="collectionPreset in getPresetsHook"
:key="collectionPreset.slug"
v-for="collectionPreset in getPresetsHook"
aria-role="listitem">
class="collection-creation-option"
aria-role="listitem"
@click="onNewCollectionPreset(collectionPreset)">
<h3>{{ collectionPreset.name }}</h3>
<p>{{ collectionPreset.description }}</p>
</button>
</div>
<b-loading
:is-full-page="false"
v-model="isLoadingMetadatumMappers"
v-model="isLoadingMetadatumMappers"
:is-full-page="false"
:can-cancel="false"/>
<b-loading
:is-full-page="false"
v-model="isCreatingCollectionPreset"
v-model="isCreatingCollectionPreset"
:is-full-page="false"
:can-cancel="false"/>
<footer class="field is-grouped form-submit">

View File

@ -1,12 +1,12 @@
<template>
<form
ref="collectionsModal"
action=""
autofocus
role="dialog"
class="tainacan-modal-content"
tabindex="-1"
aria-modal
ref="collectionsModal">
aria-modal>
<div
class="tainacan-modal-content"
style="width: auto">
@ -23,8 +23,8 @@
v-for="(collection, index) in collections"
:key="index">
<div
class="collection-type"
v-if="collection && collection.current_user_can_edit_items"
class="collection-type"
@click="onSelectCollection(collection)">
<h4>{{ collection.name }}</h4>
<p>{{ collection.description.length > 200 ? (collection.description.substring(0,197) + '...') : collection.description }}</p>
@ -39,8 +39,8 @@
</div>
</div>
<b-loading
:is-full-page="false"
v-model="isLoading"
v-model="isLoading"
:is-full-page="false"
:can-cancel="false"/>
<footer class="field is-grouped form-submit">

View File

@ -1,28 +1,28 @@
<template>
<div
ref="exposersModal"
aria-labelledby="exposers-modal-title"
autofocus
role="dialog"
tabindex="-1"
aria-modal
class="tainacan-modal-content"
style="width: auto"
ref="exposersModal">
aria-modal
class="tainacan-modal-content"
style="width: auto">
<header class="tainacan-modal-title">
<h2
id="exposers-modal-title"
v-if="selectedExposer == undefined">
v-if="selectedExposer == undefined"
id="exposers-modal-title">
{{ itemId ? $i18n.get('label_urls_for_item_page') : ($i18n.get('label_urls_for_items_list') + (selectedItems && selectedItems.length ? (' (' + selectedItems.length + ' ' + $i18n.get('items') + ')') : '')) }}
</h2>
<h2
id="exposers-modal-title"
v-if="selectedExposer != undefined">
v-if="selectedExposer != undefined"
id="exposers-modal-title">
{{ (itemId ? $i18n.get('label_urls_for_item_page') : $i18n.get('label_urls_for_items_list')) + " - " + selectedExposer.name }}
</h2>
<a
@click="selectedExposerMappers = []; selectedExposer = undefined;"
v-if="selectedExposer != undefined"
class="back-link">
class="back-link"
@click="selectedExposerMappers = []; selectedExposer = undefined;">
{{ $i18n.get('back') }}
</a>
<hr>
@ -96,10 +96,10 @@
role="list"
class="exposer-types-list">
<div
class="exposer-type"
role="listitem"
v-for="(exposerType, index ) in availableExposers"
:key="index"
class="exposer-type"
role="listitem"
@click="siteLinkCopied = false; selectExposer(exposerType)">
<h4>{{ exposerType.name }}</h4>
<p>{{ exposerType.description }}</p>
@ -115,23 +115,23 @@
v-if="itemId == undefined || itemId == null"
class="exposed-metadata-control">
<b-checkbox
v-model="shouldRespectFetchOnly"
v-tooltip="{
content: $i18n.get('info_expose_only_displayed_metadata'),
autoHide: true,
placement: 'bottom',
popperClass: ['tainacan-tooltip', 'tooltip']
}"
v-model="shouldRespectFetchOnly">{{ $i18n.get('label_expose_only_displayed_metadata') }}</b-checkbox>
}">{{ $i18n.get('label_expose_only_displayed_metadata') }}</b-checkbox>
</div>
<b-field
v-for="(exposerMapper, index) in selectedExposerMappers"
:key="index"
:addons="false"
class="exposer-item"
role="listitem"
v-for="(exposerMapper, index) in selectedExposerMappers"
:key="index">
role="listitem">
<span
@click="collapse(index)"
class="collapse-handle">
class="collapse-handle"
@click="collapse(index)">
<span class="icon">
<i
:class="{ 'tainacan-icon-arrowdown' : !exposerMapper.collapsed, 'tainacan-icon-arrowright' : exposerMapper.collapsed }"
@ -154,13 +154,13 @@
</span>
<transition name="filter-item">
<div
v-show="!exposerMapper.collapsed"
role="list"
class="exposer-item-links-list"
v-show="!exposerMapper.collapsed">
class="exposer-item-links-list">
<div
role="listitem"
:key="pagedLink"
v-for="pagedLink in totalPages"
:key="pagedLink"
role="listitem"
class="exposer-item-link">
<span>
<p>
@ -227,8 +227,8 @@
</div>
<b-loading
:is-full-page="false"
v-model="isLoading"
v-model="isLoading"
:is-full-page="false"
:can-cancel="false"/>
<footer class="field is-grouped form-submit">

View File

@ -5,11 +5,11 @@
<hr>
</div>
<b-input
aria-labelledby="item-document-text-modal-title"
ref="item-document-text-input"
v-model="localTextContent"
aria-labelledby="item-document-text-modal-title"
type="textarea"
:autofocus="true"
v-model="localTextContent"/>
:autofocus="true"/>
<div class="field is-grouped form-submit">
<div class="control">
@ -24,8 +24,8 @@
<button
id="button-submit-text-content-writing"
type="submit"
@click.prevent="confirmTextWriting();$emit('close');"
class="button is-success">
class="button is-success"
@click.prevent="confirmTextWriting();$emit('close');">
{{ $i18n.get('save') }}</button>
</div>
</div>

View File

@ -5,17 +5,17 @@
<hr>
</div>
<b-input
aria-labelledby="item-document-url-modal-title"
ref="item-document-url-input"
v-model="localUrlLink" />
v-model="localUrlLink"
aria-labelledby="item-document-url-modal-title" />
<br>
<b-field
:addons="false"
:label="$i18n.get('label_document_option_forced_iframe')">
&nbsp;
<b-switch
size="is-small"
v-model="localUrlForcedIframe" />
v-model="localUrlForcedIframe"
size="is-small" />
<help-button
:title="$i18n.get('label_document_option_forced_iframe')"
:message="$i18n.get('info_document_option_forced_iframe')" />
@ -26,18 +26,18 @@
group-multiline>
<b-field :label="$i18n.get('label_document_option_iframe_width')">
<b-numberinput
:aria-minus-label="$i18n.get('label_decrease')"
:aria-plus-label="$i18n.get('label_increase')"
min="1"
v-model="localUrlIframeWidth"
:aria-minus-label="$i18n.get('label_decrease')"
:aria-plus-label="$i18n.get('label_increase')"
min="1"
step="1" />
</b-field>
<b-field :label="$i18n.get('label_document_option_iframe_height')">
<b-numberinput
:aria-minus-label="$i18n.get('label_decrease')"
:aria-plus-label="$i18n.get('label_increase')"
min="1"
v-model="localUrlIframeHeight"
:aria-minus-label="$i18n.get('label_decrease')"
:aria-plus-label="$i18n.get('label_increase')"
min="1"
step="1" />
</b-field>
</b-field>
@ -54,8 +54,8 @@
:label="$i18n.get('label_document_option_is_image')">
&nbsp;
<b-switch
size="is-small"
v-model="localUrlIsImage" />
v-model="localUrlIsImage"
size="is-small" />
<help-button
:title="$i18n.get('label_document_option_is_image')"
:message="$i18n.get('info_document_option_is_image')" />
@ -73,8 +73,8 @@
<div class="control">
<button
id="button-submit-url-link-selection"
@click.prevent="confirmURLSelection();$emit('close');"
class="button is-success">
class="button is-success"
@click.prevent="confirmURLSelection();$emit('close');">
{{ $i18n.get('save') }}</button>
</div>
</div>

View File

@ -84,8 +84,8 @@
</router-link>
</li>
<li
class="is-hidden-mobile"
v-if="$userCaps.hasCapability('tnc_rep_edit_users') && !$adminOptions.hidePrimaryMenuCapabilitiesButton">
v-if="$userCaps.hasCapability('tnc_rep_edit_users') && !$adminOptions.hidePrimaryMenuCapabilitiesButton"
class="is-hidden-mobile">
<router-link
:to="$routerHelper.getCapabilitiesPath()"
:class="activeRoute == 'CapabilitiesPage' ? 'is-active':''">

View File

@ -6,15 +6,15 @@
<div class="back-button is-hidden-mobile">
<router-link
v-if="activeRoute == 'ItemPage' || activeRoute == 'ItemEditionForm' || activeRoute == 'ItemCreatePage'"
v-slot="{ navigate }"
:to="{ path: collection && collection.id ? $routerHelper.getCollectionItemsPath(collection.id, '') : '', query: activeRoute == 'CollectionItemsPage' ? $route.query : '' }"
custom
v-slot="{ navigate }">
custom>
<button
@click="navigate()"
role="link"
:aria-label="$i18n.get('back')"
type="button"
class="button is-turquoise4">
class="button is-turquoise4"
@click="navigate()">
<span class="icon">
<i class="tainacan-icon tainacan-icon-previous"/>
</span>
@ -26,15 +26,15 @@
<div class="back-button is-hidden-tablet level-item">
<router-link
v-if="activeRoute == 'ItemPage' || activeRoute == 'ItemEditionForm' || activeRoute == 'ItemCreatePage'"
:to="{ path: collection && collection.id ? $routerHelper.getCollectionItemsPath(collection.id, '') : '', query: activeRoute == 'CollectionItemsPage' ? $route.query : '' }"
custom
v-slot="{ navigate }">
v-slot="{ navigate }"
:to="{ path: collection && collection.id ? $routerHelper.getCollectionItemsPath(collection.id, '') : '', query: activeRoute == 'CollectionItemsPage' ? $route.query : '' }"
custom>
<button
@click="navigate()"
role="link"
:aria-label="$i18n.get('back')"
type="button"
class="button is-turquoise4">
class="button is-turquoise4"
@click="navigate()">
<span class="icon">
<i class="tainacan-icon tainacan-icon-previous"/>
</span>

View File

@ -42,9 +42,9 @@
v-if="!$adminOptions.hideTainacanHeaderSearchInput"
class="is-hidden-tablet">
<button
@click="$router.push($routerHelper.getItemsPath())"
class="button is-small is-white level-item"
:aria-label="$i18n.get('search')">
:aria-label="$i18n.get('search')"
@click="$router.push($routerHelper.getItemsPath())">
<span class="icon">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-search"/>
</span>
@ -60,10 +60,10 @@
class="search-header"
size="is-small"
:model-value="searchQuery"
@update:model-value="futureSearchQuery = $event.target.value"
@keyup.enter="updateSearch()"
icon-right="magnify"
icon-right-clickable
@update:model-value="futureSearchQuery = $event.target.value"
@keyup.enter="updateSearch()"
@icon-right-click="updateSearch()" />
<router-link
v-if="!$adminOptions.hideTainacanHeaderAdvancedSearch"
@ -75,9 +75,9 @@
</div>
<button
v-if="!$adminOptions.hideTainacanHeaderProcessesPopup"
@click="showProcesses = !showProcesses"
class="button is-small is-white level-item"
:aria-label="$i18n.get('processes')">
:aria-label="$i18n.get('processes')"
@click="showProcesses = !showProcesses">
<span
v-tooltip="{
content: $i18n.get('processes'),

View File

@ -9,9 +9,9 @@
class="back-button is-hidden-mobile">
<router-link
v-if="activeRoute == 'ItemPage' || activeRoute == 'ItemEditionForm' || activeRoute == 'ItemCreatePage'"
:to="{ path: collection && collection.id ? $routerHelper.getCollectionItemsPath(collection.id, '') : '', query: activeRoute == 'CollectionItemsPage' ? $route.query : '' }"
custom
v-slot="{ navigate }">
v-slot="{ navigate }"
:to="{ path: collection && collection.id ? $routerHelper.getCollectionItemsPath(collection.id, '') : '', query: activeRoute == 'CollectionItemsPage' ? $route.query : '' }"
custom>
<button
role="link"
class="button is-turquoise4"
@ -41,13 +41,13 @@
{{ collection.name ? collection.name : '' }}
<span
v-if="collection.status && $statusHelper.hasIcon(collection.status)"
class="icon has-text-white"
v-tooltip="{
content: $i18n.get('status_' + collection.status),
autoHide: true,
popperClass: ['tainacan-tooltip', 'tooltip'],
placement: 'auto-start'
}">
}"
class="icon has-text-white">
<i
class="tainacan-icon tainacan-icon-1em"
:class="$statusHelper.getIcon(collection.status)"
@ -59,11 +59,11 @@
<ul class="repository-subheader-icons">
<li>
<a
@click="openAvailableExportersModal"
class="button"
id="exporter-collection-button"
v-if="!isRepositoryLevel && !$adminOptions.hideRepositorySubheaderExportButton"
:aria-label="$i18n.get('exporters')">
id="exporter-collection-button"
class="button"
:aria-label="$i18n.get('exporters')"
@click="openAvailableExportersModal">
<span class="icon">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-export"/>
</span>
@ -72,11 +72,11 @@
</li>
<li>
<a
v-if="!isRepositoryLevel && collection && collection.url && !$adminOptions.hideRepositorySubheaderViewCollectionButton"
id="view-collection-button"
:href="collection && collection.url ? collection.url : ''"
target="_blank"
v-if="!isRepositoryLevel && collection && collection.url && !$adminOptions.hideRepositorySubheaderViewCollectionButton"
class="button"
id="view-collection-button">
class="button">
<span class="icon">
<i class="tainacan-icon tainacan-icon-1-125em tainacan-icon-openurl"/>
</span>
@ -85,11 +85,11 @@
</li>
<li>
<a
v-if="isRepositoryLevel && !$adminOptions.hideRepositorySubheaderViewTaxonomiesButton"
id="view-repository-button--taxonomies"
:href="repositoryTaxonomiesURL"
target="_blank"
v-if="isRepositoryLevel && !$adminOptions.hideRepositorySubheaderViewTaxonomiesButton"
class="button"
id="view-repository-button--taxonomies">
class="button">
<span class="icon">
<i class="tainacan-icon tainacan-icon-1-125em tainacan-icon-openurl"/>
</span>
@ -98,11 +98,11 @@
</li>
<li>
<a
v-if="isRepositoryLevel && !$adminOptions.hideRepositorySubheaderViewCollectionsButton"
id="view-repository-button"
:href="repositoryURL"
target="_blank"
v-if="isRepositoryLevel && !$adminOptions.hideRepositorySubheaderViewCollectionsButton"
class="button"
id="view-repository-button">
class="button">
<span class="icon">
<i class="tainacan-icon tainacan-icon-1-125em tainacan-icon-openurl"/>
</span>

View File

@ -5,8 +5,8 @@
{{ pageTitle }} <span class="is-italic has-text-weight-semibold">{{ !isRepositoryLevel && collection && collection.name ? collection.name : '' }}</span>
</h1>
<a
@click="$router.go(-1)"
class="back-link has-text-secondary">
class="back-link has-text-secondary"
@click="$router.go(-1)">
{{ $i18n.get('back') }}
</a>
<hr>

View File

@ -1,12 +1,12 @@
<template>
<div
ref="CheckboxRadioFilterInput"
:autofocus="isModal"
:role="isModal ? 'dialog' : ''"
:class="{ 'tainacan-modal-content': isModal }"
:tabindex="isModal ? -1 : 0"
:aria-modal="isModal"
:aria-labelledby="'checkbox-radio-filter--title-' + filter.id"
ref="CheckboxRadioFilterInput">
:aria-labelledby="'checkbox-radio-filter--title-' + filter.id">
<header
v-if="isModal"
class="tainacan-modal-title">
@ -18,11 +18,11 @@
:style="isModal ? '' : 'margin-top: 12px'"
class="tainacan-form">
<b-tabs
v-model="activeTab"
size="is-small"
animated
@update:model-value="fetchSelectedLabels()"
v-model="activeTab"
:class="{ 'hidden-tabs-section': !isModal || !hasToDisplaySearchBar }">
:class="{ 'hidden-tabs-section': !isModal || !hasToDisplaySearchBar }"
@update:model-value="fetchSelectedLabels()">
<b-tab-item
:style="{ margin: isModal ? '0' : '0 0 1rem 0' }"
:label="isTaxonomy ? $i18n.get('label_all_terms') : $i18n.get('label_all_metadatum_values')">
@ -32,14 +32,14 @@
v-if="hasToDisplaySearchBar"
class="is-clearfix tainacan-checkbox-search-section">
<b-input
v-model="optionName"
expanded
autocomplete="on"
:placeholder="$i18n.get('instruction_search')"
:aria-label="$i18n.get('instruction_search')"
v-model="optionName"
@update:model-value="autoComplete"
icon-right="magnify"
type="search" />
type="search"
@update:model-value="autoComplete" />
</b-field>
<!-- Search Results -->
@ -58,15 +58,15 @@
<ul class="tainacan-modal-checkbox-list-body">
<template v-if="searchResults.length">
<li
class="tainacan-li-checkbox-list"
v-for="(option, key) in searchResults"
:key="key">
:key="key"
class="tainacan-li-checkbox-list">
<label class="b-checkbox checkbox">
<input
@input="$emit('input', $event.target.value)"
:value="option.id ? (isNaN(Number(option.id)) ? option.id : Number(option.id)) : (isNaN(Number(option.value)) ? option.value : Number(option.value))"
:checked="isOptionSelected(option.value)"
type="checkbox">
type="checkbox"
@input="$emit('input', $event.target.value)">
<span class="check" />
<span class="control-label">
<span
@ -87,8 +87,8 @@
</li>
</template>
<b-loading
:is-full-page="false"
v-model="isLoadingSearch"/>
v-model="isLoadingSearch"
:is-full-page="false"/>
</ul>
<a
v-if="!noMoreSearchPage"
@ -119,15 +119,15 @@
class="tainacan-modal-checkbox-list-body">
<template v-if="options.length">
<li
class="tainacan-li-checkbox-list"
v-for="(option, key) in options"
:key="key">
:key="key"
class="tainacan-li-checkbox-list">
<label class="b-checkbox checkbox">
<input
@input="$emit('input', $event.target.value)"
:value="option.value"
:checked="isOptionSelected(option.value)"
type="checkbox">
type="checkbox"
@input="$emit('input', $event.target.value)">
<span class="check" />
<span class="control-label">
<span
@ -150,8 +150,8 @@
</li>
</template>
<b-loading
:is-full-page="false"
v-model="isCheckboxListLoading"/>
v-model="isCheckboxListLoading"
:is-full-page="false"/>
</ul>
<a
v-if="!noMorePage"
@ -172,9 +172,9 @@
tag="div">
<div
v-for="(finderColumn, key) in finderColumns"
:key="finderColumn.label + '-' + key"
class="tainacan-finder-column"
:class="!hasToDisplaySearchBar ? 'has-only-one-column' : ''"
:key="finderColumn.label + '-' + key">
:class="!hasToDisplaySearchBar ? 'has-only-one-column' : ''">
<p
v-if="hasToDisplaySearchBar"
class="column-label">
@ -182,20 +182,20 @@
</p>
<ul v-if="finderColumn.children.length">
<b-field
:addons="false"
class="tainacan-li-checkbox-modal"
v-for="(option, index) in finderColumn.children"
:id="`${key}.${index}-tainacan-li-checkbox-model`"
:ref="`${key}.${index}-tainacan-li-checkbox-model`"
:key="index">
:key="index"
:addons="false"
class="tainacan-li-checkbox-modal">
<label
@click="option.total_children > 0 && (!finderColumns[key + 1] || finderColumns[key + 1].label !== option.label) ? getOptionChildren(option, key, index) : null"
class="b-checkbox checkbox">
class="b-checkbox checkbox"
@click="option.total_children > 0 && (!finderColumns[key + 1] || finderColumns[key + 1].label !== option.label) ? getOptionChildren(option, key, index) : null">
<input
@input="$emit('input', $event.target.value)"
:value="(isNaN(Number(option.value)) ? option.value : Number(option.value))"
:checked="isOptionSelected(option.value)"
type="checkbox">
type="checkbox"
@input="$emit('input', $event.target.value)">
<span class="check" />
<span class="control-label">
<span
@ -216,17 +216,17 @@
v-if="option.total_children > 0"
@click="getOptionChildren(option, key, index)">
<span
class="is-hidden-mobile"
v-if="finderColumns.length <= 1 ">
v-if="finderColumns.length <= 1 "
class="is-hidden-mobile">
{{ option.total_children + ' ' + $i18n.get('label_children_terms') }}
</span>
<span
v-else
v-tooltip="{
content: option.total_children + ' ' + $i18n.get('label_children_terms'),
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip']
}"
v-else>{{ option.total_children }}</span>
}">{{ option.total_children }}</span>
<span class="icon is-pulled-right">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-arrowright"/>
</span>
@ -235,15 +235,15 @@
<li v-if="finderColumn.children.length">
<div
v-if="shouldShowMoreButton(key)"
@click="getMoreOptions(finderColumn, key)"
class="tainacan-show-more">
class="tainacan-show-more"
@click="getMoreOptions(finderColumn, key)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-showmore"/>
</span>
</div>
<div
class="warning-no-more-terms"
v-else>
v-else
class="warning-no-more-terms">
{{ isUsingElasticSearch ? $i18n.get('info_no_more_terms_found') : '' }}
</div>
</li>
@ -252,8 +252,8 @@
</transition-group>
<b-loading
:is-full-page="false"
v-model="isColumnLoading"/>
v-model="isColumnLoading"
:is-full-page="false"/>
</b-tab-item>
@ -292,8 +292,8 @@
</div>
</section>
<b-loading
:is-full-page="false"
v-model="isSelectedTermsLoading"/>
v-model="isSelectedTermsLoading"
:is-full-page="false"/>
</div>
</b-tab-item>
</b-tabs>
@ -312,9 +312,9 @@
</div>
<div class="control">
<button
@click="applyFilter"
type="button"
class="button is-success">{{ $i18n.get('apply') }}
class="button is-success"
@click="applyFilter">{{ $i18n.get('apply') }}
</button>
</div>
</footer>

View File

@ -8,11 +8,11 @@
autocomplete="on"
@focus="onMobileSpecialFocus">
<b-tabs
v-model="activeTab"
size="is-small"
animated
@update:model-value="fetchSelectedLabels()"
v-model="activeTab"
:class="{ 'hidden-tabs-section': (shouldBeginWithListExpanded && !hasToDisplaySearchBar) }">
:class="{ 'hidden-tabs-section': (shouldBeginWithListExpanded && !hasToDisplaySearchBar) }"
@update:model-value="fetchSelectedLabels()">
<b-tab-item :label="isTaxonomy ? $i18n.get('label_all_terms') : $i18n.get('label_all_metadatum_values')">
<!-- Search input -->
@ -35,15 +35,15 @@
</b-button>
</p>
<b-input
v-model="optionName"
expanded
autocomplete="on"
:placeholder="metadatum.placeholder ? metadatum.placeholder : ( expandResultsSection ? $i18n.get('instruction_search') : $i18n.get('instruction_click_to_see_or_search') )"
:aria-label="expandResultsSection ? $i18n.get('instruction_search') : $i18n.get('instruction_click_to_see_or_search')"
v-model="optionName"
@update:model-value="autoComplete"
@focus="!shouldBeginWithListExpanded && !expandResultsSection ? toggleResultsSection() : null"
icon-right="magnify"
type="search" />
type="search"
@update:model-value="autoComplete"
@focus="!shouldBeginWithListExpanded && !expandResultsSection ? toggleResultsSection() : null" />
</b-field>
<!-- Search Results -->
@ -63,9 +63,9 @@
<ul class="tainacan-modal-checkbox-list-body">
<template v-if="searchResults.length">
<li
class="tainacan-li-checkbox-list"
v-for="(option, key) in searchResults"
:key="key">
:key="key"
class="tainacan-li-checkbox-list">
<label
:class="{
'b-checkbox checkbox': isCheckbox,
@ -74,10 +74,10 @@
}">
<input
:disabled="!isOptionSelected(option.id ? option.id : option.value) && maxMultipleValues !== undefined && (maxMultipleValues - 1 < selected.length)"
@input="updateLocalSelection($event.target.value)"
:checked="isOptionSelected(option.id ? option.id : option.value)"
:value="option.id ? getOptionValue(option.id) : getOptionValue(option.value)"
:type="isCheckbox ? 'checkbox' : 'radio'">
:type="isCheckbox ? 'checkbox' : 'radio'"
@input="updateLocalSelection($event.target.value)">
<span class="check" />
<span class="control-label">
<span
@ -107,8 +107,8 @@
</li>
</template>
<b-loading
:is-full-page="false"
v-model="isLoadingSearch"/>
v-model="isLoadingSearch"
:is-full-page="false"/>
</ul>
<a
v-if="!noMoreSearchPage"
@ -137,9 +137,9 @@
</a>
<ul class="tainacan-modal-checkbox-list-body">
<li
class="tainacan-li-checkbox-list"
v-for="(option, key) in options"
:key="key">
:key="key"
class="tainacan-li-checkbox-list">
<label
:class="{
'b-checkbox checkbox': isCheckbox,
@ -149,9 +149,9 @@
<input
:disabled="!isOptionSelected(option.value) && maxMultipleValues !== undefined && (maxMultipleValues - 1 < selected.length)"
:checked="isOptionSelected(option.value)"
@input="updateLocalSelection($event.target.value)"
:value="getOptionValue(option.value)"
:type="isCheckbox ? 'checkbox' : 'radio'">
:type="isCheckbox ? 'checkbox' : 'radio'"
@input="updateLocalSelection($event.target.value)">
<span class="check" />
<span class="control-label">
<span
@ -167,8 +167,8 @@
</label>
</li>
<b-loading
:is-full-page="false"
v-model="isCheckboxListLoading"/>
v-model="isCheckboxListLoading"
:is-full-page="false"/>
</ul>
<a
v-if="!noMorePage"
@ -184,16 +184,16 @@
<!-- Hierarchical lists -->
<transition-group
v-if="!isSearching && isTaxonomy"
ref="tainacan-finder-scrolling-container"
class="modal-card-body tainacan-finder-columns-container"
:style="{ height: expandResultsSection ? 'auto' : '0px' }"
name="page-left"
ref="tainacan-finder-scrolling-container"
tag="div">
<div
v-for="(finderColumn, key) in finderColumns"
:key="finderColumn.label + '-' + key"
class="tainacan-finder-column"
:class="!hasToDisplaySearchBar ? 'has-only-one-column' : ''"
:key="finderColumn.label + '-' + key">
:class="!hasToDisplaySearchBar ? 'has-only-one-column' : ''">
<p
v-if="hasToDisplaySearchBar"
class="column-label">
@ -201,12 +201,12 @@
</p>
<ul v-if="finderColumn.children.length">
<b-field
:addons="false"
class="tainacan-li-checkbox-modal"
v-for="(option, index) in finderColumn.children"
:id="`${key}.${index}-tainacan-li-checkbox-model`"
:ref="`${key}.${index}-tainacan-li-checkbox-model`"
:key="index">
:key="index"
:addons="false"
class="tainacan-li-checkbox-modal">
<label
:class="{
'b-checkbox checkbox': isCheckbox,
@ -216,10 +216,10 @@
@click="option.total_children > 0 && (!finderColumns[key + 1] || finderColumns[key + 1].label !== option.label) ? getOptionChildren(option, key, index) : null">
<input
:disabled="!isOptionSelected(option.value) && maxMultipleValues !== undefined && (maxMultipleValues - 1 < selected.length)"
@input="updateLocalSelection($event.target.value)"
:checked="isOptionSelected(option.value)"
:value="getOptionValue(option.value)"
:type="isCheckbox ? 'checkbox' : 'radio'">
:type="isCheckbox ? 'checkbox' : 'radio'"
@input="updateLocalSelection($event.target.value)">
<span class="check" />
<span class="control-label">
<span
@ -237,17 +237,17 @@
v-if="option.total_children > 0"
@click="getOptionChildren(option, key, index)">
<span
class="is-hidden-mobile"
v-if="finderColumns.length <= 1 ">
v-if="finderColumns.length <= 1 "
class="is-hidden-mobile">
{{ option.total_children + ' ' + $i18n.get('label_children_terms') }}
</span>
<span
v-else
v-tooltip="{
content: option.total_children + ' ' + $i18n.get('label_children_terms'),
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip']
}"
v-else>{{ option.total_children }}</span>
}">{{ option.total_children }}</span>
<span class="icon is-pulled-right">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-arrowright"/>
</span>
@ -256,8 +256,8 @@
<li v-if="finderColumn.children.length">
<div
v-if="shouldShowMoreButton(key)"
@click="getMoreOptions(finderColumn, key)"
class="tainacan-show-more">
class="tainacan-show-more"
@click="getMoreOptions(finderColumn, key)">
<span class="icon">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-showmore"/>
</span>
@ -282,8 +282,8 @@
</section>
<b-loading
:is-full-page="false"
v-model="isColumnLoading"/>
v-model="isColumnLoading"
:is-full-page="false"/>
</b-tab-item>
@ -325,8 +325,8 @@
</div>
</section>
<b-loading
:is-full-page="false"
v-model="isSelectedTermsLoading"/>
v-model="isSelectedTermsLoading"
:is-full-page="false"/>
</div>
</b-tab-item>
</b-tabs>

View File

@ -1,11 +1,11 @@
<template>
<div
ref="customDialog"
aria-labelledby="alert-dialog-title"
aria-modal
autofocus
role="alertdialog"
class="tainacan-form tainacan-dialog dialog"
ref="customDialog">
class="tainacan-form tainacan-dialog dialog">
<div
class="modal-card"
style="width: auto">
@ -33,8 +33,8 @@
<span v-html="message" />
<div v-if="showNeverShowAgainOption">
<b-checkbox
@update:model-value="changeNeverShowMessageAgain($event)"
:native-value="neverShowAgain">
:native-value="neverShowAgain"
@update:model-value="changeNeverShowMessageAgain($event)">
{{ $i18n.get('instruction_never_show_message_again') }}
</b-checkbox>
</div>

View File

@ -21,8 +21,8 @@
class="image"
:style="{ 'background-image': 'url(' + (file.thumbnails['tainacan-medium'] ? file.thumbnails['tainacan-medium'][0] : file.thumbnails['medium'][0]) + ')' }"/>
<div
:style="{ 'background-color': 'var(--tainacan-gray1)' }"
v-else
v-else
:style="{ 'background-color': 'var(--tainacan-gray1)' }"
class="file-placeholder">
<span class="icon is-large">
<i

View File

@ -13,8 +13,8 @@
class="is-flex rendered-content"
v-html="file.description ? file.description : `<img alt='` + $i18n.get('label_thumbnail') + `' src='` + file.url + `'/>`" />
<iframe
style="width: 100%; min-height: 50vh;"
v-if="file.url != undefined && file.url != undefined && file.mime_type != undefined && file.mime_type == 'application/pdf'"
v-if="file.url != undefined && file.url != undefined && file.mime_type != undefined && file.mime_type == 'application/pdf'"
style="width: 100%; min-height: 50vh;"
:src="file.url" />
<div class="field is-grouped form-submit">
<div class="control">

View File

@ -1,12 +1,12 @@
<template>
<div
ref="itemCopyDialog"
aria-labelledby="alert-dialog-title"
autofocus
role="alertdialog"
tabindex="-1"
aria-modal
class="tainacan-form tainacan-dialog dialog"
ref="itemCopyDialog">
class="tainacan-form tainacan-dialog dialog">
<div
class="modal-card"
style="width: auto">
@ -68,24 +68,24 @@
<button
v-if="copyCount == 1 && hasCopied && newItems.length == 1"
class="button is-secondary"
@click.prevent="$router.push($routerHelper.getItemEditPath(collectionId, newItems[0].id)); $emit('close');"
type="submit">
type="submit"
@click.prevent="$router.push($routerHelper.getItemEditPath(collectionId, newItems[0].id)); $emit('close');">
{{ $i18n.getFrom('items','edit_item') }}
</button>
<button
style="margin-left: 24px;"
v-if="copyCount > 1 && hasCopied && newItems.length > 1"
style="margin-left: 24px;"
class="button is-secondary"
:class="{'is-loading': isCreatingSequenceEditGroup }"
@click.prevent="sequenceEditGroup()"
type="submit">
type="submit"
@click.prevent="sequenceEditGroup()">
{{ $i18n.get('label_sequence_edit_items') }}
</button>
<button
v-if="copyCount > 1 && hasCopied && newItems.length > 1"
class="button is-secondary"
@click.prevent="openBulkEditionModal()"
type="submit">
type="submit"
@click.prevent="openBulkEditionModal()">
{{ $i18n.get('label_bulk_edit_items') }}
</button>
</footer>

View File

@ -1,12 +1,12 @@
<template>
<div
ref="itemCreationStatusDialog"
aria-labelledby="alert-dialog-title"
autofocus
role="alertdialog"
tabindex="-1"
aria-modal
class="tainacan-form tainacan-dialog dialog"
ref="itemCreationStatusDialog">
class="tainacan-form tainacan-dialog dialog">
<div
class="modal-card"
style="width: auto">
@ -35,9 +35,9 @@
<!-- Status -------------------------------- -->
<div class="status-radios">
<b-radio
v-model="selectedStatus"
v-for="(statusOption, index) of availableStatus"
:key="index"
v-model="selectedStatus"
:native-value="statusOption.slug">
<span class="icon has-text-gray">
<i

View File

@ -1,7 +1,7 @@
<template>
<span
@mouseenter="loadMetadataElements"
class="tainacan-help-tooltip-trigger">
class="tainacan-help-tooltip-trigger"
@mouseenter="loadMetadataElements">
<v-tooltip
:popper-class="['tainacan-tooltip', 'tooltip', 'tainacan-helper-tooltip', 'is-danger']"
delay="{

View File

@ -2,13 +2,13 @@
<div class="tabs">
<ul>
<li
@click="onChangeTab('')"
:class="{ 'is-active': status == undefined || status == '' || status == 'publish,private,draft' }"
v-tooltip="{
content: $i18n.get('info_items_tab_all'),
autoHide: true,
placement: 'auto',
}">
}"
:class="{ 'is-active': status == undefined || status == '' || status == 'publish,private,draft' }"
@click="onChangeTab('')">
<a :style="{ fontWeight: 'bold', color: 'var(--tainacan-gray5) !important' }">
{{ $i18n.get('label_all_items') }}
<span
@ -23,15 +23,15 @@
:key="index">
<li
v-if="(isRepositoryLevel || statusOption.slug != 'private') || (statusOption.slug == 'private' && collection && collection.current_user_can_read_private_items)"
@click="onChangeTab(statusOption.slug)"
:class="{ 'is-active': status == statusOption.slug}"
:style="{ marginRight: statusOption.slug == 'draft' ? 'auto' : '', marginLeft: statusOption.slug == 'trash' ? 'auto' : '' }"
v-tooltip="{
content: $i18n.getWithVariables('info_%s_tab_' + statusOption.slug,[$i18n.get('items')]),
autoHide: true,
placement: 'auto',
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : '']
}">
}"
:class="{ 'is-active': status == statusOption.slug}"
:style="{ marginRight: statusOption.slug == 'draft' ? 'auto' : '', marginLeft: statusOption.slug == 'trash' ? 'auto' : '' }"
@click="onChangeTab(statusOption.slug)">
<a>
<span
v-if="$statusHelper.hasIcon(statusOption.slug)"

View File

@ -1,8 +1,8 @@
<template>
<div>
<div
@click="$emit('closeProcessesPopup')"
class="processes-popup-backdrop" />
class="processes-popup-backdrop"
@click="$emit('closeProcessesPopup')" />
<div class="processes-popup">
<div class="popup-header">
<a
@ -18,8 +18,8 @@
</span>
</a>
<span
@click="bgProcesses.length > 0 ? showProcessesList = !showProcessesList : null"
class="header-title">{{ getUnfinishedProcesses() + ' ' + $i18n.get('info_unfinished_processes') }}</span>
class="header-title"
@click="bgProcesses.length > 0 ? showProcessesList = !showProcessesList : null">{{ getUnfinishedProcesses() + ' ' + $i18n.get('info_unfinished_processes') }}</span>
<a @click="$emit('closeProcessesPopup')">
<span class="icon has-text-blue5">
<i class="tainacan-icon tainacan-icon-close"/>
@ -39,12 +39,12 @@
</router-link>
</li>
<li
:key="index"
v-for="(bgProcess, index) of bgProcesses">
v-for="(bgProcess, index) of bgProcesses"
:key="index">
<div class="process-item">
<div
@click="toggleDetails(index)"
class="process-title">
class="process-title"
@click="toggleDetails(index)">
<span class="icon has-text-gray">
<i
class="tainacan-icon tainacan-icon-18px"
@ -127,8 +127,8 @@
</ul>
</div>
<div
class="separator"
v-if="!showProcessesList" />
v-if="!showProcessesList"
class="separator" />
<div class="popup-footer">
<span
v-if="hasAnyProcessExecuting"

View File

@ -1,11 +1,11 @@
<template>
<div
ref="termDeletionDialog"
aria-labelledby="alert-dialog-title"
aria-modal
autofocus
role="alertdialog"
class="tainacan-form tainacan-dialog dialog"
ref="termDeletionDialog">
class="tainacan-form tainacan-dialog dialog">
<div
class="modal-card"
style="width: auto">
@ -32,13 +32,13 @@
v-if="showDescendantsDeleteButton"
class="type-of-deletion-options">
<b-radio
native-value="selected"
v-model="typeOfDelete">
v-model="typeOfDelete"
native-value="selected">
{{ amountOfTerms > 1 ? $i18n.get('label_remove_selected_terms') : $i18n.get('label_remove_selected_term') }}
</b-radio>
<b-radio
native-value="descendants"
v-model="typeOfDelete">
v-model="typeOfDelete"
native-value="descendants">
{{ amountOfTerms > 1 ? $i18n.get('label_remove_terms_and_descendants') : $i18n.get('label_remove_term_and_descendants') }}
</b-radio>
</div>

View File

@ -1,11 +1,11 @@
<template>
<div
ref="termMultipleInsertionDialog"
aria-labelledby="alert-dialog-title"
aria-modal
autofocus
role="alertdialog"
class="tainacan-form tainacan-dialog dialog"
ref="termMultipleInsertionDialog">
class="tainacan-form tainacan-dialog dialog">
<div
class="modal-card"
style="width: auto">
@ -51,8 +51,8 @@
<b-checkbox
v-for="separator of ['Enter', ',', ';', '|']"
:key="separator"
name="term-multiple-insertion-separator"
v-model="termNamesSeparator"
name="term-multiple-insertion-separator"
:native-value="separator"
:disabled="separator == 'Enter'">
<kbd>{{ separator }}</kbd>
@ -65,28 +65,28 @@
v-if="isHierarchical"
class="parent-term-options">
<b-radio
:native-value="false"
v-model="hasParent">
v-model="hasParent"
:native-value="false">
{{ $i18n.get('label_no_parent_root_term') }}
</b-radio>
<b-radio
:native-value="true"
v-model="hasParent">
v-model="hasParent"
:native-value="true">
{{ $i18n.get('instruction_select_a_parent_term') }}
</b-radio>
<b-autocomplete
v-if="hasParent"
id="tainacan-add-parent-field"
v-model="parentTermName"
:placeholder="$i18n.get('instruction_parent_term')"
:data="parentTerms"
field="name"
clearable
v-model="parentTermName"
@select="onSelectParentTerm($event)"
:loading="isFetchingParentTerms"
@update:model-value="fetchParentTerms"
check-infinite-scroll
:append-to-body="true"
@select="onSelectParentTerm($event)"
@update:model-value="fetchParentTerms"
@infinite-scroll="fetchMoreParentTerms">
<template #default="props">
<div class="media">

View File

@ -1,11 +1,11 @@
<template>
<div
ref="termParentSelectionDialog"
aria-labelledby="alert-dialog-title"
aria-modal
autofocus
role="alertdialog"
class="tainacan-form tainacan-dialog dialog"
ref="termParentSelectionDialog">
class="tainacan-form tainacan-dialog dialog">
<div
class="modal-card"
style="width: auto">
@ -32,28 +32,28 @@
<!-- Parent -------------- -->
<div class="parent-term-options">
<b-radio
:native-value="false"
v-model="hasParent">
v-model="hasParent"
:native-value="false">
{{ $i18n.get('label_no_parent_root_term') }}
</b-radio>
<b-radio
:native-value="true"
v-model="hasParent">
v-model="hasParent"
:native-value="true">
{{ $i18n.get('instruction_select_a_parent_term') }}
</b-radio>
<b-autocomplete
id="tainacan-add-parent-field"
v-model="parentTermName"
:placeholder="$i18n.get('instruction_parent_term')"
:data="parentTerms"
field="name"
clearable
v-model="parentTermName"
@select="onSelectParentTerm($event)"
:loading="isFetchingParentTerms"
@update:model-value="fetchParentTerms"
:disabled="!hasParent"
check-infinite-scroll
:append-to-body="true"
@select="onSelectParentTerm($event)"
@update:model-value="fetchParentTerms"
@infinite-scroll="fetchMoreParentTerms">
<template #default="props">
<div class="media">

View File

@ -1,8 +1,8 @@
<template>
<form
tabindex="0"
@submit.prevent.stop="performAdvancedSearch"
class="tnc-advanced-search-container">
class="tnc-advanced-search-container"
@submit.prevent.stop="performAdvancedSearch">
<h3>{{ $i18n.get('advanced_search') }}</h3>
<transition-group name="filter-item">
<b-field
@ -66,12 +66,12 @@
<!-- Comparators -->
<b-field class="column">
<b-select
:loading="isLoadingMetadata"
v-if="searchCriterion.type == 'metaquery' && advancedSearchQuery.metaquery[searchCriterion.index]"
@update:model-value="addComparatorToAdvancedSearchQuery($event, searchCriterion)"
:loading="isLoadingMetadata"
:model-value="advancedSearchQuery.metaquery[searchCriterion.index].compare"
:placeholder="$i18n.get('label_criterion_to_compare')"
:aria-label="$i18n.get('label_criterion_to_compare')">
:aria-label="$i18n.get('label_criterion_to_compare')"
@update:model-value="addComparatorToAdvancedSearchQuery($event, searchCriterion)">
<option
v-for="(comparator, key) in getComparators(searchCriterion)"
:key="key"
@ -79,12 +79,12 @@
>{{ comparator }}</option>
</b-select>
<b-select
:loading="isLoadingMetadata"
v-else-if="searchCriterion.type == 'taxquery' && advancedSearchQuery.taxquery[searchCriterion.index]"
@update:model-value="addComparatorToAdvancedSearchQuery($event, searchCriterion)"
:loading="isLoadingMetadata"
:model-value="advancedSearchQuery.taxquery[searchCriterion.index].operator"
:placeholder="$i18n.get('label_criterion_to_compare')"
:aria-label="$i18n.get('label_criterion_to_compare')">
:aria-label="$i18n.get('label_criterion_to_compare')"
@update:model-value="addComparatorToAdvancedSearchQuery($event, searchCriterion)">
<option
v-for="(comparator, key) in getComparators(searchCriterion)"
:key="key"
@ -105,36 +105,36 @@
v-if="getAdvancedSearchQueryCriterionMetadataType(searchCriterion.index) == 'int' || getAdvancedSearchQueryCriterionMetadataType(searchCriterion.index) == 'float'"
type="number"
step="any"
@update:model-value="addValueToAdvancedSearchQuery($event, searchCriterion)"
:model-value="advancedSearchQuery.metaquery[searchCriterion.index].value"
:placeholder="$i18n.get('label_number_to_search_for')"
:aria-label="$i18n.get('label_number_to_search_for')"
@update:model-value="addValueToAdvancedSearchQuery($event, searchCriterion)"
/>
<input
v-else-if="getAdvancedSearchQueryCriterionMetadataType(searchCriterion.index) == 'date'"
v-imask="dateMask"
class="input"
:value="parseValidDateToNavigatorLanguage(advancedSearchQuery.metaquery[searchCriterion.index].value)"
v-imask="dateMask"
@input="addValueToAdvancedSearchQuery($event.target.value, searchCriterion)"
:placeholder="dateFormat"
type="text"
:aria-label="$i18n.get('label_date_to_search_for')" >
:placeholder="dateFormat"
type="text"
:aria-label="$i18n.get('label_date_to_search_for')"
@input="addValueToAdvancedSearchQuery($event.target.value, searchCriterion)" >
<b-input
v-else
type="text"
@update:model-value="addValueToAdvancedSearchQuery($event, searchCriterion)"
:model-value="advancedSearchQuery.metaquery[searchCriterion.index].value"
:placeholder="$i18n.get('label_string_to_search_for')"
:aria-label="$i18n.get('label_string_to_search_for')"
@update:model-value="addValueToAdvancedSearchQuery($event, searchCriterion)"
/>
</template>
<b-input
v-else-if="searchCriterion.type == 'taxquery' && advancedSearchQuery.taxquery[searchCriterion.index]"
:model-value="advancedSearchQuery.taxquery[searchCriterion.index].terms"
@update:model-value="addValueToAdvancedSearchQuery($event, searchCriterion)"
type="text"
:placeholder="$i18n.get('label_string_to_search_for')"
:aria-label="$i18n.get('label_string_to_search_for')" />
:aria-label="$i18n.get('label_string_to_search_for')"
@update:model-value="addValueToAdvancedSearchQuery($event, searchCriterion)" />
<b-input
v-else
type="text"
@ -144,10 +144,10 @@
<div class="field">
<button
@click.prevent="removeCriterion(searchCriterion)"
class="button button-remove-criterion is-pulled-right has-text-secondary"
type="button"
:aria-label="$i18n.get('remove_search_criterion')">
:aria-label="$i18n.get('remove_search_criterion')"
@click.prevent="removeCriterion(searchCriterion)">
<span
v-tooltip="{
content: $i18n.get('remove_search_criterion'),
@ -177,8 +177,8 @@
}}
</a>
<a
role="button"
v-if="Object.keys(advancedSearchQuery.taxquery).length > 0 || Object.keys(advancedSearchQuery.metaquery).length > 0"
role="button"
@click="clearSearch();">
<span class="icon">
<i class="has-text-secondary tainacan-icon tainacan-icon-remove"/>
@ -194,8 +194,8 @@
<p class="control">
<button
type="reset"
@click="clearSearch(); $emit('close')"
class="button is-outlined">
class="button is-outlined"
@click="clearSearch(); $emit('close')">
{{ $i18n.get('label_close_search') }}
</button>
</p>
@ -204,16 +204,16 @@
aria-controls="items-list-results"
type="submit"
:disabled="!hasUpdatedSearch"
@click.prevent="performAdvancedSearch"
class="button is-secondary">
class="button is-secondary"
@click.prevent="performAdvancedSearch">
{{ $i18n.get('apply') }}
</button>
</p>
</div>
<b-loading
:is-full-page="false"
v-model="isLoadingMetadata" />
v-model="isLoadingMetadata"
:is-full-page="false" />
<section
v-if="!isLoadingMetadata && metadataAsArray && metadataAsArray.length <= 0"

View File

@ -3,8 +3,8 @@
aria-labelledby="filters-label-landmark"
:aria-busy="isLoadingFilters">
<b-loading
:is-full-page="false"
v-model="isLoadingFilters"/>
v-model="isLoadingFilters"
:is-full-page="false"/>
<h3
id="filters-label-landmark"
@ -16,11 +16,11 @@
</h3>
<button
aria-controls="filters-items-list"
:aria-expanded="!collapseAll"
v-if="!isLoadingFilters &&
((filters.length >= 0 &&
isRepositoryLevel) || filters.length > 0)"
aria-controls="filters-items-list"
:aria-expanded="!collapseAll"
class="link-style collapse-all"
@click="collapseAll = !collapseAll">
<span class="icon">
@ -36,9 +36,9 @@
<br>
<filters-tags-list
v-if="filtersAsModal && hasFiltered"
style="padding: 1em 0;"
class="filter-tags-list"
v-if="filtersAsModal && hasFiltered" />
class="filter-tags-list" />
<br v-if="filtersAsModal && hasFiltered">
<div
@ -53,6 +53,7 @@
:key="index">
<div v-if="key == 'repository-filters'">
<div
v-if="taxonomyFilter.length > 0 && taxonomyFiltersCollectionNames != undefined && taxonomyFiltersCollectionNames[key] != undefined"
v-tooltip="{
delay: {
shown: 500,
@ -62,8 +63,7 @@
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : ''],
placement: 'auto-start'
}"
v-if="taxonomyFilter.length > 0 && taxonomyFiltersCollectionNames != undefined && taxonomyFiltersCollectionNames[key] != undefined"
}"
class="collection-name">
{{ $i18n.get('label_filters_from') + " " + taxonomyFiltersCollectionNames[key] + ": " }}
</div>
@ -78,10 +78,10 @@
</div>
<template v-if="taxonomyFilter.length > 0">
<tainacan-filter-item
:is-loading-items="isLoadingItems"
:query="getQuery"
v-for="(filter, filterIndex) in taxonomyFilter"
:key="filterIndex"
:is-loading-items="isLoadingItems"
:query="getQuery"
:filter="filter"
:expand-all="!collapseAll"
:is-repository-level="key == 'repository-filters'"
@ -96,6 +96,7 @@
:key="index">
<div v-if="key != 'repository-filters'">
<div
v-if="taxonomyFilter.length > 0 && taxonomyFiltersCollectionNames != undefined && taxonomyFiltersCollectionNames[key] != undefined"
v-tooltip="{
delay: {
shown: 500,
@ -105,8 +106,7 @@
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : ''],
placement: 'auto-start'
}"
v-if="taxonomyFilter.length > 0 && taxonomyFiltersCollectionNames != undefined && taxonomyFiltersCollectionNames[key] != undefined"
}"
class="collection-name">
{{ $i18n.get('label_filters_from') + " " + taxonomyFiltersCollectionNames[key] + ": " }}
</div>
@ -121,10 +121,10 @@
</div>
<template v-if="taxonomyFilter.length > 0">
<tainacan-filter-item
:is-loading-items="isLoadingItems"
:query="getQuery"
v-for="(filter, filterIndex) in taxonomyFilter"
v-for="(filter, filterIndex) in taxonomyFilter"
:key="filterIndex"
:is-loading-items="isLoadingItems"
:query="getQuery"
:filter="filter"
:expand-all="!collapseAll"
:is-repository-level="key == 'repository-filters'"
@ -143,6 +143,7 @@
:key="index">
<div v-if="key == 'repository-filters'">
<div
v-if="repositoryCollectionFilter.length > 0 && repositoryCollectionNames != undefined && repositoryCollectionNames[key] != undefined"
v-tooltip="{
delay: {
shown: 500,
@ -152,8 +153,7 @@
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : ''],
placement: 'auto-start'
}"
v-if="repositoryCollectionFilter.length > 0 && repositoryCollectionNames != undefined && repositoryCollectionNames[key] != undefined"
}"
class="collection-name">
{{ $i18n.get('label_filters_from') + " " + repositoryCollectionNames[key] + ": " }}
</div>
@ -168,10 +168,10 @@
</div>
<template v-if="repositoryCollectionFilter.length > 0">
<tainacan-filter-item
:is-loading-items="isLoadingItems"
:query="getQuery"
v-for="(filter, filterIndex) in repositoryCollectionFilter"
v-for="(filter, filterIndex) in repositoryCollectionFilter"
:key="filterIndex"
:is-loading-items="isLoadingItems"
:query="getQuery"
:filter="filter"
:expand-all="!collapseAll"
:is-repository-level="key == 'repository-filters'"
@ -186,6 +186,7 @@
:key="index">
<div v-if="key != 'repository-filters'">
<div
v-if="repositoryCollectionFilter.length > 0 && repositoryCollectionNames != undefined && repositoryCollectionNames[key] != undefined"
v-tooltip="{
delay: {
shown: 500,
@ -195,8 +196,7 @@
autoHide: false,
popperClass: ['tainacan-tooltip', 'tooltip', isRepositoryLevel ? 'tainacan-repository-tooltip' : ''],
placement: 'auto-start'
}"
v-if="repositoryCollectionFilter.length > 0 && repositoryCollectionNames != undefined && repositoryCollectionNames[key] != undefined"
}"
class="collection-name">
{{ $i18n.get('label_filters_from') + " " + repositoryCollectionNames[key] + ": " }}
</div>
@ -211,10 +211,10 @@
</div>
<template v-if="repositoryCollectionFilter.length > 0">
<tainacan-filter-item
:is-loading-items="isLoadingItems"
:query="getQuery"
v-for="(filter, filterIndex) in repositoryCollectionFilter"
v-for="(filter, filterIndex) in repositoryCollectionFilter"
:key="filterIndex"
:is-loading-items="isLoadingItems"
:query="getQuery"
:filter="filter"
:expand-all="!collapseAll"
:is-repository-level="key == 'repository-filters'"
@ -229,10 +229,10 @@
<!-- COLLECTION ITEMS FILTERS -->
<template v-else>
<tainacan-filter-item
:is-loading-items="isLoadingItems"
:query="getQuery"
v-for="(filter, index) in filters"
:key="index"
:is-loading-items="isLoadingItems"
:query="getQuery"
:filter="filter"
:expand-all="!collapseAll"
:is-repository-level="isRepositoryLevel"
@ -257,15 +257,15 @@
<p v-if="isRepositoryLevel && $route.name != null">{{ $i18n.get('info_collection_filter_on_repository_level') }}</p>
<router-link
v-if="!$adminOptions.hideItemsListFilterCreationButton && $route.name != null && ((isRepositoryLevel && $userCaps.hasCapability('tnc_rep_edit_filters')) || (!isRepositoryLevel && collection && collection.current_user_can_edit_filters))"
v-slot="{ navigate }"
:to="isRepositoryLevel && $routerHelper ? $routerHelper.getNewFilterPath() : $routerHelper.getNewCollectionFilterPath(collectionId)"
custom
v-slot="{ navigate }">
custom>
<button
id="button-create-filter"
type="button"
role="button"
@click="navigate()"
id="button-create-filter"
class="button is-secondary is-centered">
class="button is-secondary is-centered"
@click="navigate()">
{{ $i18n.getFrom('filters', 'new_item') }}
</button>
</router-link>

View File

@ -12,15 +12,15 @@
<span v-html="filterTags.length == 1 ? $i18n.getWithVariables('info_%s_applied_filter', [filterTags.length]) : $i18n.getWithVariables('info_%s_applied_filters', [filterTags.length])" />
&nbsp;
<a
@click="clearAllFilters()"
id="button-clear-all">
id="button-clear-all"
@click="clearAllFilters()">
{{ $i18n.get('label_clear_filters') }}
</a>
</span>
</p>
<div
class="swiper"
:id="'tainacanFilterTagsSwiper' + (isInsideModal ? 'InsideModal' : '')">
:id="'tainacanFilterTagsSwiper' + (isInsideModal ? 'InsideModal' : '')"
class="swiper">
<ul class="swiper-wrapper">
<li
v-for="(filterTag, index) of filterTags"
@ -44,8 +44,8 @@
</li>
</ul>
<button
class="swiper-button-prev"
id="tainacan-filter-tags-prev">
id="tainacan-filter-tags-prev"
class="swiper-button-prev">
<svg
width="24"
height="24"
@ -57,8 +57,8 @@
</svg>
</button>
<button
class="swiper-button-next"
id="tainacan-filter-tags-next">
id="tainacan-filter-tags-next"
class="swiper-button-next">
<svg
width="24"
height="24"

View File

@ -17,6 +17,7 @@
{{ totalItems + '.' }}
</span>
<span
v-if="isSortingByCustomMetadata"
v-tooltip="{
content: $i18n.get('info_items_hidden_due_sorting'),
autoHide: false,
@ -24,14 +25,13 @@
popperClass: ['tainacan-tooltip', 'tooltip']
}"
style="margin-top: -3px"
class="icon has-text-warning"
v-if="isSortingByCustomMetadata">
class="icon has-text-warning">
<i class="tainacan-icon tainacan-icon-1-25em tainacan-icon-alertcircle" />
</span>
</div>
<div
id="tainacanItemsPerPageButton"
v-if="!hideItemsPerPageButton"
id="tainacanItemsPerPageButton"
class="items-per-page">
<b-field
id="items-per-page-select"
@ -55,18 +55,18 @@
</b-field>
</div>
<div
id="tainacanGoToPageButton"
v-if="!hideGoToPageButton"
id="tainacanGoToPageButton"
class="go-to-page items-per-page">
<b-field
horizontal
id="go-to-page-dropdown"
id="go-to-page-dropdown"
horizontal
:label="$i18n.get('label_go_to_page')">
<b-dropdown
position="is-top-right"
@change="onPageChange"
aria-role="list"
trap-focus>
trap-focus
@change="onPageChange">
<template #trigger>
<button
aria-labelledby="go-to-page-dropdown"
@ -78,10 +78,10 @@
</button>
</template>
<b-dropdown-item
aria-controls="items-list-results"
role="button"
:key="pageNumber"
v-for="pageNumber in totalPages"
:key="pageNumber"
aria-controls="items-list-results"
role="button"
:value="Number(pageNumber)"
aria-role="listitem">
{{ pageNumber }}
@ -92,17 +92,17 @@
<div class="pagination">
<b-pagination
aria-controls="items-list-results"
@change="onPageChange"
:total="totalItems"
v-model="page"
aria-controls="items-list-results"
:total="totalItems"
order="is-centered"
size="is-small"
:per-page="itemsPerPage"
:aria-next-label="$i18n.get('label_next_page')"
:aria-previous-label="$i18n.get('label_previous_page')"
:aria-page-label="$i18n.get('label_page')"
:aria-current-label="$i18n.get('label_current_page')" />
:aria-current-label="$i18n.get('label_current_page')"
@change="onPageChange" />
</div>
</div>
</template>

View File

@ -114,12 +114,12 @@
<div class="home-section-header collections-section-header">
<div class="home-section-icon">
<router-link
v-slot="{ navigate }"
to="/collections"
custom
v-slot="{ navigate }">
custom>
<span
@click="navigate()"
class="icon">
class="icon"
@click="navigate()">
<i class="tainacan-icon tainacan-icon-collections"/>
</span>
</router-link>

View File

@ -23,17 +23,17 @@
class="tabs">
<ul>
<li
@click="onChangeTab('')"
:class="{ 'is-active': tab == undefined || tab == ''}"><a>{{ $i18n.get('activities') }}</a></li>
:class="{ 'is-active': tab == undefined || tab == ''}"
@click="onChangeTab('')"><a>{{ $i18n.get('activities') }}</a></li>
<li
@click="onChangeTab('processes')"
:class="{ 'is-active': tab == 'processes'}"><a>{{ $i18n.get('processes') }}</a></li>
:class="{ 'is-active': tab == 'processes'}"
@click="onChangeTab('processes')"><a>{{ $i18n.get('processes') }}</a></li>
</ul>
</div>
<b-loading
:is-full-page="false"
v-model="isLoading"
v-model="isLoading"
:is-full-page="false"
:can-cancel="false"/>
<div
@ -43,11 +43,10 @@
<b-field class="header-item">
<b-datepicker
ref="datepicker"
:placeholder="$i18n.get('instruction_filter_activities_date')"
v-model="searchDates"
:placeholder="$i18n.get('instruction_filter_activities_date')"
range
:trap-focus="false"
@update:model-value="searchActivities()"
:date-formatter="(date) => dateFormatter(date)"
:date-parser="(date) => dateParser(date)"
icon="calendar-today"
@ -74,10 +73,11 @@
$i18n.get('datepicker_month_october'),
$i18n.get('datepicker_month_november'),
$i18n.get('datepicker_month_december')
]"/>
]"
@update:model-value="searchActivities()"/>
<p
class="control"
v-if="searchDates && searchDates.length != 0">
v-if="searchDates && searchDates.length != 0"
class="control">
<button
class="button"
@click="clearSearchDates()">
@ -95,13 +95,13 @@
:placeholder="$i18n.get('instruction_type_search_users_filter')"
keep-first
open-on-focus
@update:model-value="fetchUsersForFiltering"
@focus.once="($event) => fetchUsersForFiltering($event.target.value)"
@select="filterActivitiesByUser"
:loading="isFetchingUsers"
field="name"
icon="account"
check-infinite-scroll
@update:model-value="fetchUsersForFiltering"
@focus.once="($event) => fetchUsersForFiltering($event.target.value)"
@select="filterActivitiesByUser"
@infinite-scroll="fetchMoreUsersForFiltering">
<template #default="props">
<div class="media">
@ -127,15 +127,15 @@
<b-field class="header-item">
<b-input
v-model="searchQuery"
:placeholder="$i18n.get('instruction_search')"
type="search"
size="is-small"
:aria-label="$i18n.get('instruction_search') + ' ' + $i18n.get('activities')"
autocomplete="on"
v-model="searchQuery"
@keyup.enter="searchActivities()"
icon-right="magnify"
icon-right-clickable
@keyup.enter="searchActivities()"
@icon-right-click="searchActivities()" />
</b-field>
</div>
@ -146,11 +146,10 @@
<b-field class="header-item">
<b-datepicker
ref="datepicker"
v-model="searchDates"
:placeholder="$i18n.get('instruction_filter_activities_date')"
range
icon="calendar-today"
v-model="searchDates"
@update:model-value="searchProcesses()"
:date-formatter="(date) => dateFormatter(date)"
:date-parser="(date) => dateParser(date)"
:years-range="[-50, 3]"
@ -177,10 +176,11 @@
$i18n.get('datepicker_month_november'),
$i18n.get('datepicker_month_december'),
]"
@update:model-value="searchProcesses()"
/>
<p
class="control"
v-if="searchDates && searchDates.length != 0">
v-if="searchDates && searchDates.length != 0"
class="control">
<button
class="button"
@click="clearSearchDates()">
@ -191,15 +191,15 @@
<b-field class="header-item">
<b-input
v-model="searchQuery"
:placeholder="$i18n.get('instruction_search')"
type="search"
size="is-small"
:aria-label="$i18n.get('instruction_search') + ' ' + $i18n.get('activities')"
autocomplete="on"
v-model="searchQuery"
@keyup.enter="searchProcesses()"
icon-right="magnify"
icon-right-clickable
@keyup.enter="searchProcesses()"
@icon-right-click="searchProcesses" />
</b-field>
</div>
@ -249,8 +249,8 @@
<!-- Footer -->
<div
class="pagination-area"
v-if="tab != 'processes' && totalActivities > 0">
v-if="tab != 'processes' && totalActivities > 0"
class="pagination-area">
<div class="shown-items">
{{
$i18n.get('info_showing_activities') + ' ' +
@ -266,8 +266,8 @@
:label="$i18n.get('label_activities_per_page')">
<b-select
:model-value="activitiesPerPage"
@update:model-value="onChangeActivitiesPerPage"
:disabled="activities.length <= 0">
:disabled="activities.length <= 0"
@update:model-value="onChangeActivitiesPerPage">
<option value="12">12</option>
<option value="24">24</option>
<option value="48">48</option>
@ -277,21 +277,21 @@
</div>
<div class="pagination">
<b-pagination
@change="onPageChange"
:total="totalActivities"
v-model="activitiesPage"
:total="totalActivities"
order="is-centered"
size="is-small"
:per-page="activitiesPerPage"
:aria-next-label="$i18n.get('label_next_page')"
:aria-previous-label="$i18n.get('label_previous_page')"
:aria-page-label="$i18n.get('label_page')"
:aria-current-label="$i18n.get('label_current_page')"/>
:aria-current-label="$i18n.get('label_current_page')"
@change="onPageChange"/>
</div>
</div>
<div
class="pagination-area"
v-if="tab == 'processes' && processes.length > 0">
v-if="tab == 'processes' && processes.length > 0"
class="pagination-area">
<div class="shown-items">
{{
$i18n.get('info_showing_processes') + ' ' +
@ -307,8 +307,8 @@
:label="$i18n.get('label_processes_per_page')">
<b-select
:model-value="processesPerPage"
@update:model-value="onChangeProcessesPerPage"
:disabled="processes.length <= 0">
:disabled="processes.length <= 0"
@update:model-value="onChangeProcessesPerPage">
<option value="12">12</option>
<option value="24">24</option>
<option value="48">48</option>
@ -318,16 +318,16 @@
</div>
<div class="pagination">
<b-pagination
@change="onPageChange"
:total="totalProcesses"
v-model="processesPage"
:total="totalProcesses"
order="is-centered"
size="is-small"
:per-page="processesPerPage"
:aria-next-label="$i18n.get('label_next_page')"
:aria-previous-label="$i18n.get('label_previous_page')"
:aria-page-label="$i18n.get('label_page')"
:aria-current-label="$i18n.get('label_current_page')"/>
:aria-current-label="$i18n.get('label_current_page')"
@change="onPageChange"/>
</div>
</div>
</div>

Some files were not shown because too many files have changed in this diff Show More