- small adaption for OpenAire inside OaiController.ts
Some checks failed
CI Pipeline / japa-tests (push) Failing after 59s
Some checks failed
CI Pipeline / japa-tests (push) Failing after 59s
- validate abstratct for max 2500 characters - small changes inside page for releasing a dataset - npm updates - adapted validating messages
This commit is contained in:
parent
005df2e454
commit
49ea0fc967
12 changed files with 533 additions and 485 deletions
|
@ -43,6 +43,14 @@ const props = defineProps({
|
|||
type: [String, Number, Boolean, Array, Object],
|
||||
default: '',
|
||||
},
|
||||
showCharCount: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
maxInputLength: {
|
||||
type: Number,
|
||||
default: null,
|
||||
},
|
||||
required: Boolean,
|
||||
borderless: Boolean,
|
||||
transparent: Boolean,
|
||||
|
@ -110,36 +118,25 @@ if (props.ctrlKFocus) {
|
|||
|
||||
<template>
|
||||
<div class="relative">
|
||||
<select v-if="computedType === 'select'" :id="id" v-model="computedValue" :name="name" :class="inputElClass" :disabled="isReadOnly">
|
||||
<select v-if="computedType === 'select'" :id="id" v-model="computedValue" :name="name" :class="inputElClass"
|
||||
:disabled="isReadOnly">
|
||||
<option v-if="placeholder" class="text-opacity-25" value="" disabled selected>{{ placeholder }}</option>
|
||||
<option v-for="(option, index) in options" :key="index" :value="option.value ?? index">
|
||||
{{ option.label ?? option }}
|
||||
</option>
|
||||
</select>
|
||||
<textarea
|
||||
v-else-if="computedType === 'textarea'"
|
||||
:id="id"
|
||||
v-model="computedValue"
|
||||
:class="inputElClass"
|
||||
:name="name"
|
||||
:placeholder="placeholder"
|
||||
:required="required"
|
||||
/>
|
||||
<input
|
||||
v-else
|
||||
:id="id"
|
||||
ref="inputEl"
|
||||
v-model="computedValue"
|
||||
:name="name"
|
||||
:inputmode="inputmode"
|
||||
:autocomplete="autocomplete"
|
||||
:required="required"
|
||||
:placeholder="placeholder"
|
||||
:type="computedType"
|
||||
:class="inputElClass"
|
||||
:readonly="isReadOnly"
|
||||
/>
|
||||
<textarea v-else-if="computedType === 'textarea'" :id="id" v-model="computedValue" :class="inputElClass"
|
||||
:name="name" :placeholder="placeholder" :required="required" />
|
||||
<input v-else :id="id" ref="inputEl" v-model="computedValue" :name="name" :inputmode="inputmode"
|
||||
:autocomplete="autocomplete" :required="required" :placeholder="placeholder" :type="computedType"
|
||||
:class="inputElClass" :readonly="isReadOnly" />
|
||||
<FormControlIcon v-if="icon" :icon="icon" :h="controlIconH" />
|
||||
<slot />
|
||||
<span v-if="showCharCount" class="message-counter" :class="{ 'text-red-500': maxInputLength && maxInputLength < computedValue.length }">
|
||||
{{ computedValue.length }}
|
||||
<template v-if="maxInputLength">
|
||||
/ {{ maxInputLength }}
|
||||
</template>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -669,7 +669,7 @@ Removes a selected keyword
|
|||
:class="{ 'text-red-400': form.errors['descriptions.0.value'] }"
|
||||
class="w-full mx-2 flex-1">
|
||||
<FormControl required v-model="form.descriptions[0].value" type="textarea"
|
||||
placeholder="[enter main abstract]">
|
||||
placeholder="[enter main abstract]" :show-char-count="true" :max-input-length="2500">
|
||||
<div class="text-red-400 text-sm"
|
||||
v-if="form.errors['descriptions.0.value'] && Array.isArray(form.errors['descriptions.0.value'])">
|
||||
{{ form.errors['descriptions.0.value'].join(', ') }}
|
||||
|
@ -701,7 +701,7 @@ Removes a selected keyword
|
|||
:class="{ 'text-red-400': form.errors[`descriptions.${index}.value`] }"
|
||||
class="w-full mx-2 flex-1">
|
||||
<FormControl required v-model="form.descriptions[index].value" type="text"
|
||||
placeholder="[enter additional description]">
|
||||
placeholder="[enter additional description]" :show-char-count="true" :max-input-length="2500">
|
||||
<div class="text-red-400 text-sm" v-if="form.errors[`descriptions.${index}.value`] &&
|
||||
Array.isArray(form.errors[`descriptions.${index}.value`])
|
||||
">
|
||||
|
|
|
@ -65,15 +65,15 @@ const handleSubmit = async (e: Event) => {
|
|||
</SectionTitleLineWithButton>
|
||||
<CardBox form @submit.prevent="handleSubmit">
|
||||
<FormValidationErrors v-bind:errors="errors" />
|
||||
<div class="lex flex-col md:flex-row mb-3">
|
||||
<label for="elevation-option-one" class="pure-radio">
|
||||
<input id="elevation-option-one" type="radio" v-model="form.preferation" value="yes_preferation" />
|
||||
preferred reviewer
|
||||
</label>
|
||||
<div class="lex flex-col md:flex-row mb-3">
|
||||
<label for="elevation-option-two" class="pure-radio">
|
||||
<input id="elevation-option-two" type="radio" v-model="form.preferation" value="no_preferation" />
|
||||
no preferred reviewer
|
||||
</label>
|
||||
<label for="elevation-option-one" class="pure-radio">
|
||||
<input id="elevation-option-one" type="radio" v-model="form.preferation" value="yes_preferation" />
|
||||
preferred reviewer
|
||||
</label>
|
||||
</div>
|
||||
<div v-if="isPreferationRequired == true">
|
||||
<FormField label="preferred reviewer" :class="{ 'text-red-400': form.errors.preferred_reviewer }">
|
||||
|
|
|
@ -11,7 +11,7 @@ import { darkModeKey, styleKey } from '@/config';
|
|||
// import type { DefineComponent } from 'vue';
|
||||
// import { resolvePageComponent } from '@adonisjs/inertia/helpers';
|
||||
const pinia = createPinia();
|
||||
import i18n from './i18n';
|
||||
// import i18n from './i18n';
|
||||
import { EmitterPlugin } from '@/EmitterDirective';
|
||||
|
||||
import { initRoutes } from '@eidellev/adonis-stardust/client/index.js';
|
||||
|
@ -63,7 +63,7 @@ createInertiaApp({
|
|||
createApp({ render: () => h(App, props) })
|
||||
.use(plugin)
|
||||
.use(pinia)
|
||||
.use(i18n)
|
||||
// .use(i18n)
|
||||
.use(EmitterPlugin)
|
||||
// .component('inertia-link', Link)
|
||||
.mount(el);
|
||||
|
|
Loading…
Add table
editor.link_modal.header
Reference in a new issue