tethys/resources/js/components/Dataset.ts

145 lines
2.6 KiB
TypeScript
Raw Normal View History

import { Component, Vue, Watch } from 'vue-property-decorator';
//outside of the component:
function initialState() {
return {
type: "",
state: "",
rights: null,
project_id: "",
creating_corporation: "GBA Repository",
language: "",
embargo_date: "",
belongs_to_bibliography: 0,
title_main: {
value: "",
language: ""
},
abstract_main: {
value: "",
language: ""
},
// geolocation: {
// xmin: "",
// ymin: "",
// xmax: "",
// ymax: ""
// },
coverage: {
xmin: "",
ymin: "",
xmax: "",
ymax: "",
elevation_min: "",
elevation_max: "",
elevation_absolut: "",
depth_min: "",
depth_max: "",
depth_absolut: "",
time_min: "",
time_max: "",
time_absolut: ""
},
checkedAuthors: [],
checkedLicenses: [], // [],
files: [],
keywords: [],
references: [],
titles: [],
descriptions: [],
checkedContributors: [],
// checkedSubmitters: [],
persons: [],
contributors: []
// submitters: []
};
}
// const dataset = new Vue({
@Component
export default class Dataset extends Vue {
// data: function() {
// return initialState();
// }
initialState = {};
type = "";
state = "";
rights = null;
project_id = "";
creating_corporation = "TETHYS Repository";
language = "";
embargo_date = "";
belongs_to_bibliography = 0;
title_main = {
value: "",
language: ""
};
abstract_main = {
value: "",
language: ""
};
// geolocation: {
// xmin: "",
// ymin: "",
// xmax: "",
// ymax: ""
// },
coverage = {
xmin: "",
ymin: "",
xmax: "",
ymax: "",
elevation_min: "",
elevation_max: "",
elevation_absolut: "",
depth_min: "",
depth_max: "",
depth_absolut: "",
time_min: "",
time_max: "",
time_absolut: ""
};
checkedAuthors = [];
checkedLicenses = [];
files = [];
keywords = [];
references = [];
titles = [];
descriptions = [];
checkedContributors = [];
// checkedSubmitters: [],
persons = [];
contributors = [];
// submitters: []
created() {
this.initialState = Object.assign({}, this);
// let json = JSON.stringify(this.$data);
// this.reset = () => {
// Object.assign(this.$data, JSON.parse(json));
// };
// this.reset(json);
}
@Watch('language')
onLanguageChanged(val) {
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;