- unique keywords

- Dataset.ts formatting
- composer file without composer dependencies
This commit is contained in:
Arno Kaimbacher 2019-11-28 13:08:34 +01:00
parent faa68cc223
commit e2c131edd1
6 changed files with 49 additions and 29 deletions

1
.gitignore vendored
View File

@ -25,6 +25,7 @@ desktop.ini
/.idea
/.vscode
/.vs
/.vagrant
Homestead.json
Homestead.yaml

View File

@ -21,8 +21,7 @@
"yajra/laravel-datatables-oracle": "^9.0",
"zizaco/entrust": "^1.9"
},
"require-dev": {
"composer/composer": "^1.9",
"require-dev": {
"fzaninotto/faker": "^1.8",
"phpunit/phpunit": "^7.0",
"squizlabs/php_codesniffer": "^3.4"

File diff suppressed because one or more lines are too long

View File

@ -65,21 +65,21 @@ export default class Dataset extends Vue {
// return initialState();
// }
initialState = {};
type= "";
state= "";
rights= null;
project_id= "";
type = "";
state = "";
rights = null;
project_id = "";
creating_corporation= "TETHYS Repository";
language= "";
embargo_date= "";
belongs_to_bibliography= 0;
creating_corporation = "TETHYS Repository";
language = "";
embargo_date = "";
belongs_to_bibliography = 0;
title_main= {
title_main = {
value: "",
language: ""
};
abstract_main= {
abstract_main = {
value: "",
language: ""
};
@ -89,7 +89,7 @@ export default class Dataset extends Vue {
// xmax: "",
// ymax: ""
// },
coverage= {
coverage = {
xmin: "",
ymin: "",
xmax: "",
@ -104,21 +104,21 @@ export default class Dataset extends Vue {
time_max: "",
time_absolut: ""
};
checkedAuthors= [];
checkedLicenses= [];
files= [];
keywords= [];
references= [];
titles= [];
descriptions= [];
checkedContributors= [];
checkedAuthors = [];
checkedLicenses = [];
files = [];
keywords = [];
references = [];
titles = [];
descriptions = [];
checkedContributors = [];
// checkedSubmitters: [],
persons= [];
contributors= [];
persons = [];
contributors = [];
// submitters: []
created () {
created() {
this.initialState = Object.assign({}, this);
// let json = JSON.stringify(this.$data);
// this.reset = () => {
@ -132,13 +132,13 @@ export default class Dataset extends Vue {
this.title_main.language = val;
this.abstract_main.language = val;
}
reset() {
// Object.assign(this.$data, initialState());
Object.assign(this.$data, this.initialState);
}
}
// export default dataset;

View File

@ -122,6 +122,26 @@ const app = new Vue({
}
});
const isUnique = (value, [objectArray, index]) =>
new Promise(resolve => {
setTimeout(() => {
if (objectArray.some((item, i) => item.value === value && index !== i)) {
return resolve({
valid: false,
data: {
message: value + ' is already taken.'
}
});
}
return resolve({
valid: true
});
}, 200);
});
VeeValidate.Validator.extend("unique", {
getMessage: (field, params, data) => field + ' ' + data.message,
validate: isUnique,
});
},
mounted() {
//this.step = 2;

View File

@ -526,7 +526,7 @@
<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'"
<input name="Keyword Value" class="form-control" placeholder="[KEYWORD VALUE]" v-model="item.value" v-validate="{required: true, unique: [dataset.keywords, index]}"
data-vv-scope="step-2" />
</td>
<td>