Replaces URL usages by Url to avoid dynamic component initilization issues on Vue3.

This commit is contained in:
mateuswetah 2024-03-18 15:22:27 -03:00
parent c600f2afad
commit cb5d643839
6 changed files with 59 additions and 54 deletions

View File

@ -407,7 +407,7 @@
import FormNumeric from '../metadata-types/numeric/FormNumeric.vue'; import FormNumeric from '../metadata-types/numeric/FormNumeric.vue';
import FormUser from '../metadata-types/user/FormUser.vue'; import FormUser from '../metadata-types/user/FormUser.vue';
import FormGeoCoordinate from '../metadata-types/geocoordinate/FormGeoCoordinate.vue'; import FormGeoCoordinate from '../metadata-types/geocoordinate/FormGeoCoordinate.vue';
import FormURL from '../metadata-types/url/FormURL.vue'; import FormUrl from '../metadata-types/url/FormUrl.vue';
export default { export default {
name: 'MetadatumEditionForm', name: 'MetadatumEditionForm',
@ -420,7 +420,7 @@
'tainacan-form-numeric': FormNumeric, 'tainacan-form-numeric': FormNumeric,
'tainacan-form-user': FormUser, 'tainacan-form-user': FormUser,
'tainacan-form-geocoordinate': FormGeoCoordinate, 'tainacan-form-geocoordinate': FormGeoCoordinate,
'tainacan-form-url': FormURL 'tainacan-form-url': FormUrl
}, },
mixins: [ formHooks ], mixins: [ formHooks ],
props: { props: {

View File

@ -181,7 +181,7 @@
TainacanCompound: defineAsyncComponent(() => import('./compound/TainacanCompound.vue')), TainacanCompound: defineAsyncComponent(() => import('./compound/TainacanCompound.vue')),
TainacanUser: defineAsyncComponent(() => import('./user/TainacanUser.vue')), TainacanUser: defineAsyncComponent(() => import('./user/TainacanUser.vue')),
TainacanGeocoordinate: defineAsyncComponent(() => import('./geocoordinate/TainacanGeoCoordinate.vue')), TainacanGeocoordinate: defineAsyncComponent(() => import('./geocoordinate/TainacanGeoCoordinate.vue')),
TainacanURL: defineAsyncComponent(() => import('./url/TainacanURL.vue')) TainacanUrl: defineAsyncComponent(() => import('./url/TainacanUrl.vue'))
}, },
props: { props: {
itemMetadatum: Object, itemMetadatum: Object,

View File

@ -1,5 +1,5 @@
<template> <template>
<div> <section>
<b-field <b-field
:addons="false" :addons="false"
:label="$i18n.getHelperTitle('tainacan-url', 'link-as-button')"> :label="$i18n.getHelperTitle('tainacan-url', 'link-as-button')">
@ -16,6 +16,7 @@
</b-field> </b-field>
<b-field <b-field
v-if="linkAsButton == 'no'"
:addons="false" :addons="false"
:label="$i18n.getHelperTitle('tainacan-url', 'force-iframe')"> :label="$i18n.getHelperTitle('tainacan-url', 'force-iframe')">
&nbsp; &nbsp;
@ -30,54 +31,59 @@
:message="$i18n.getHelperMessage('tainacan-url', 'force-iframe')" /> :message="$i18n.getHelperMessage('tainacan-url', 'force-iframe')" />
</b-field> </b-field>
<b-field <transition name="filter-item">
v-if="forceIframe == 'yes'" <div
:addons="false"> v-if="forceIframe == 'yes'"
<label class="label is-inline-block"> style="break-inside: avoid;">
{{ $i18n.getHelperTitle('tainacan-url', 'iframe-min-height') }} <b-field
<help-button :addons="false">
:title="$i18n.getHelperTitle('tainacan-url', 'iframe-min-height')" <label class="label is-inline-block">
:message="$i18n.getHelperMessage('tainacan-url', 'iframe-min-height')" /> {{ $i18n.getHelperTitle('tainacan-url', 'iframe-min-height') }}
</label> <help-button
<b-numberinput :title="$i18n.getHelperTitle('tainacan-url', 'iframe-min-height')"
:model-value="iframeMinimumHeight === '' ? 0 : iframeMinimumHeight" :message="$i18n.getHelperMessage('tainacan-url', 'iframe-min-height')" />
size="is-small" </label>
step="1" <b-numberinput
@update:model-value="onUpdateIframeMinimumHeight" /> :model-value="iframeMinimumHeight === '' ? 0 : iframeMinimumHeight"
</b-field> size="is-small"
step="1"
@update:model-value="onUpdateIframeMinimumHeight" />
</b-field>
<b-field <b-field
v-if="forceIframe == 'yes'" v-if="forceIframe == 'yes'"
:addons="false" :addons="false"
:label="$i18n.getHelperTitle('tainacan-url', 'iframe-allowfullscreen')"> :label="$i18n.getHelperTitle('tainacan-url', 'iframe-allowfullscreen')">
&nbsp; &nbsp;
<b-switch <b-switch
v-model="iframeAllowfullscreen" v-model="iframeAllowfullscreen"
size="is-small" size="is-small"
true-value="yes" true-value="yes"
false-value="no" false-value="no"
@update:model-value="onUpdateIframeAllowfullscreen" /> @update:model-value="onUpdateIframeAllowfullscreen" />
<help-button <help-button
:title="$i18n.getHelperTitle('tainacan-url', 'iframe-allowfullscreen')" :title="$i18n.getHelperTitle('tainacan-url', 'iframe-allowfullscreen')"
:message="$i18n.getHelperMessage('tainacan-url', 'iframe-allowfullscreen')" /> :message="$i18n.getHelperMessage('tainacan-url', 'iframe-allowfullscreen')" />
</b-field> </b-field>
<b-field <b-field
v-if="forceIframe == 'yes'" :addons="false"
:addons="false" :label="$i18n.getHelperTitle('tainacan-url', 'is-image')">
:label="$i18n.getHelperTitle('tainacan-url', 'is-image')"> &nbsp;
&nbsp; <b-switch
<b-switch v-model="isImage"
v-model="isImage" size="is-small"
size="is-small" true-value="yes"
true-value="yes" false-value="no"
false-value="no" @update:model-value="onUpdateIsImage" />
@update:model-value="onUpdateIsImage" /> <help-button
<help-button :title="$i18n.getHelperTitle('tainacan-url', 'is-image')"
:title="$i18n.getHelperTitle('tainacan-url', 'is-image')" :message="$i18n.getHelperMessage('tainacan-url', 'is-image')" />
:message="$i18n.getHelperMessage('tainacan-url', 'is-image')" /> </b-field>
</b-field> </div>
</div> </transition>
</section>
</template> </template>
<script> <script>

View File

@ -31,7 +31,6 @@
<script> <script>
export default { export default {
name: 'TainacanMetadataTypeURL',
props: { props: {
itemMetadatum: Object, itemMetadatum: Object,
value: [String, Number, Array], value: [String, Number, Array],

View File

@ -329,7 +329,7 @@
TainacanCompound: defineAsyncComponent(() => import('../metadata-types/compound/TainacanCompound.vue')), TainacanCompound: defineAsyncComponent(() => import('../metadata-types/compound/TainacanCompound.vue')),
TainacanUser: defineAsyncComponent(() => import('../metadata-types/user/TainacanUser.vue')), TainacanUser: defineAsyncComponent(() => import('../metadata-types/user/TainacanUser.vue')),
TainacanGeocoordinate: defineAsyncComponent(() => import('../metadata-types/geocoordinate/TainacanGeoCoordinate.vue')), TainacanGeocoordinate: defineAsyncComponent(() => import('../metadata-types/geocoordinate/TainacanGeoCoordinate.vue')),
TainacanURL: defineAsyncComponent(() => import('../metadata-types/url/TainacanURL.vue')) TainacanUrl: defineAsyncComponent(() => import('../metadata-types/url/TainacanUrl.vue'))
}, },
props: { props: {
modalTitle: String, modalTitle: String,

View File

@ -39,7 +39,7 @@ import TainacanTaxonomy from '../../../admin/components/metadata-types/taxonomy/
import TainacanCompound from '../../../admin/components/metadata-types/compound/TainacanCompound.vue'; import TainacanCompound from '../../../admin/components/metadata-types/compound/TainacanCompound.vue';
import TainacanUser from '../../../admin/components/metadata-types/user/TainacanUser.vue'; import TainacanUser from '../../../admin/components/metadata-types/user/TainacanUser.vue';
import TainacanGeoCoordinate from '../../../admin/components/metadata-types/geocoordinate/TainacanGeoCoordinate.vue'; import TainacanGeoCoordinate from '../../../admin/components/metadata-types/geocoordinate/TainacanGeoCoordinate.vue';
import TainacanURL from '../../../admin/components/metadata-types/url/TainacanURL.vue'; import TainacanUrl from '../../../admin/components/metadata-types/url/TainacanUrl.vue';
// Main components // Main components
import ItemSubmissionForm from './theme.vue'; import ItemSubmissionForm from './theme.vue';
@ -179,7 +179,7 @@ export default (element) => {
VueItemSubmission.component('tainacan-compound', TainacanCompound); VueItemSubmission.component('tainacan-compound', TainacanCompound);
VueItemSubmission.component('tainacan-user', TainacanUser); VueItemSubmission.component('tainacan-user', TainacanUser);
VueItemSubmission.component('tainacan-geocoordinate', TainacanGeoCoordinate); VueItemSubmission.component('tainacan-geocoordinate', TainacanGeoCoordinate);
VueItemSubmission.component('tainacan-url', TainacanURL); VueItemSubmission.component('tainacan-url', TainacanUrl);
/* Others */ /* Others */
VueItemSubmission.component('tainacan-form-item', TainacanFormItem); VueItemSubmission.component('tainacan-form-item', TainacanFormItem);