add keywords during publishing

This commit is contained in:
Arno Kaimbacher 2019-03-18 14:32:29 +01:00
parent f3f17d9371
commit d9b26afb3f
13 changed files with 332 additions and 96 deletions

View file

@ -31,6 +31,7 @@ function initialState() {
checkedAuthors: [],
checkedLicenses: [], // [],
files: [],
keywords: [],
references: [],
titles: [],
descriptions: [],

View file

@ -217,6 +217,12 @@ const app = new Vue({
formData.append('references[' + i + '][relation]', reference.relation);
}
for (var i = 0; i < this.dataset.keywords.length; i++) {
let keyword = this.dataset.keywords[i];
formData.append('keywords[' + i + '][value]', keyword.value);
formData.append('keywords[' + i + '][type]', keyword.type);
}
for (var i = 0; i < this.dataset.titles.length; i++) {
let title = this.dataset.titles[i];
formData.append('titles[' + i + '][value]', title.value);
@ -301,6 +307,20 @@ const app = new Vue({
removeReference(key) {
this.dataset.references.splice(key, 1);
},
/*
adds a new Keyword
*/
addKeyword() {
let newKeyword = { value: '', type: '' };
//this.dataset.files.push(uploadedFiles[i]);
this.dataset.keywords.push(newKeyword);
},
/*
Removes a selected keyword
*/
removeKeyword(key) {
this.dataset.keywords.splice(key, 1);
},
addTitle() {
let newTitle = { value: '', language: '', type: '' };
//this.dataset.files.push(uploadedFiles[i]);

View file

@ -306,7 +306,7 @@
</fieldset>
<fieldset id="fieldset-references">
<legend>Dataset references</legend>
<legend>Dataset References</legend>
<button class="pure-button button-small" @click.prevent="addReference()">Add Reference</button>
<table class="table table-hover" v-if="dataset.references.length">
<thead>
@ -342,6 +342,35 @@
</table>
</fieldset>
<fieldset id="fieldset-keywords">
<legend>Dataset Keywords</legend>
<button class="pure-button button-small" @click.prevent="addKeyword()">Add Keyword</button>
<table class="table table-hover" v-if="dataset.keywords.length">
<thead>
<tr>
<th style="width: 20px;">Keyword</th>
<th>Type</th>
<th style="width: 130px;"></th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in dataset.keywords">
<td>
<input name="Keyword Value" class="form-control" placeholder="[KEYWORD VALUE]" v-model="item.value" v-validate="'required'"
data-vv-scope="step-2" />
</td>
<td>
{!! Form::select('Keyword[Type]', $keywordTypes, null, ['placeholder' => '[keyword type]', 'v-model' =>
'item.type', "v-validate" => "'required'", 'data-vv-scope' => 'step-2']) !!}
</td>
<td>
<button class="pure-button button-small is-warning" @click.prevent="removeKeyword(index)">Remove</button>
</td>
</tr>
</tbody>
</table>
</fieldset>
<br />
<div class="pure-controls">
<button @click.prevent="prev()" class="pure-button button-small">