+ composer updates
+ CreatingCorporation nur readonly + doctypes zusätzlich: 'mixedtype' => 'Mixed Type' + bei einer Fehlermeldung beim Submit: kein Reset mehr... nur mehr "retry: edit inputs" + Eingabe der Contributor gleich nach der Eingabe der Creator + Projekteingabe beim Submitten entfernt + Keyword wird nun mit einer default language angelegt + elevation und depth-Angaben in Meter (im Label) + 'server_date_modified' wird nun auch aktualisiert beim automatischen reject, falls der Reviewer länger als 14 Tage den Datensatz nicht kontrolliert + GeoLocation hat nun eine Doppelbindung -> nicht mehr readonly
This commit is contained in:
parent
dabb905111
commit
0dc6ca034e
|
@ -59,7 +59,8 @@ class DatasetState extends Command
|
||||||
->where('id', $dataset->id)
|
->where('id', $dataset->id)
|
||||||
->update([
|
->update([
|
||||||
'reject_reviewer_note' => 'Dataset was automatically rejected because of the time limit',
|
'reject_reviewer_note' => 'Dataset was automatically rejected because of the time limit',
|
||||||
'server_state' => 'rejected_reviewer'
|
'server_state' => 'rejected_reviewer',
|
||||||
|
'server_date_modified' => DB::raw('now()')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,9 +54,7 @@ class IndexController extends Controller
|
||||||
->pluck('part1', 'part1');
|
->pluck('part1', 'part1');
|
||||||
// ->toArray();
|
// ->toArray();
|
||||||
|
|
||||||
// $persons = Person::where('status', 1)
|
// $projects = Project::pluck('label', 'id');
|
||||||
// ->pluck('last_name', 'id');
|
|
||||||
$projects = Project::pluck('label', 'id');
|
|
||||||
$relatedIdentifierTypes = ["ARK", "arXiv", "bibcode", "DOI", "EAN13", "EISSN", "Handle", "IGSN", "ISBN", "ISSN", "ISTC", "LISSN", "LSID", "PMID", "PURL", "UPC", "URL", "URN"];
|
$relatedIdentifierTypes = ["ARK", "arXiv", "bibcode", "DOI", "EAN13", "EISSN", "Handle", "IGSN", "ISBN", "ISSN", "ISTC", "LISSN", "LSID", "PMID", "PURL", "UPC", "URL", "URN"];
|
||||||
$relatedIdentifierTypes = array_combine($relatedIdentifierTypes, $relatedIdentifierTypes);
|
$relatedIdentifierTypes = array_combine($relatedIdentifierTypes, $relatedIdentifierTypes);
|
||||||
|
|
||||||
|
@ -67,14 +65,14 @@ class IndexController extends Controller
|
||||||
|
|
||||||
$keywordTypes = ['uncontrolled' => 'uncontrolled'];
|
$keywordTypes = ['uncontrolled' => 'uncontrolled'];
|
||||||
|
|
||||||
$descriptionTypes = [ 'methods' => 'methods', 'series_information' => 'series_information', 'technical_info' => 'technical_info', 'other' => 'other'];
|
$descriptionTypes = [ 'methods' => 'methods', 'series_information' => 'series_information', 'technical_info' => 'technical_info', 'translated' => 'translated', 'other' => 'other'];
|
||||||
|
|
||||||
$page = Page::query()->where('page_slug', 'terms-and-conditions')->firstOrFail();
|
$page = Page::query()->where('page_slug', 'terms-and-conditions')->firstOrFail();
|
||||||
|
|
||||||
//$relationTypes = array('updates' => 'updates', 'updated-by' => 'updated-by', 'other' => 'other');
|
//$relationTypes = array('updates' => 'updates', 'updated-by' => 'updated-by', 'other' => 'other');
|
||||||
return view(
|
return view(
|
||||||
'publish.create-step1',
|
'publish.create-step1',
|
||||||
compact('licenses', 'languages', 'projects', 'relatedIdentifierTypes', 'relationTypes', 'titleTypes', 'keywordTypes', 'descriptionTypes', 'page')
|
compact('licenses', 'languages', 'relatedIdentifierTypes', 'relationTypes', 'titleTypes', 'keywordTypes', 'descriptionTypes', 'page')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ class Subject extends Model
|
||||||
protected $table = 'document_subjects';
|
protected $table = 'document_subjects';
|
||||||
public $timestamps = false;
|
public $timestamps = false;
|
||||||
|
|
||||||
protected $fillable = ['value', 'type'];
|
protected $fillable = ['value', 'type', 'language'];
|
||||||
|
|
||||||
public function dataset()
|
public function dataset()
|
||||||
{
|
{
|
||||||
|
|
70
composer.lock
generated
70
composer.lock
generated
|
@ -227,21 +227,24 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "doctrine/lexer",
|
"name": "doctrine/lexer",
|
||||||
"version": "v1.0.1",
|
"version": "1.0.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/doctrine/lexer.git",
|
"url": "https://github.com/doctrine/lexer.git",
|
||||||
"reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
|
"reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
|
"url": "https://api.github.com/repos/doctrine/lexer/zipball/1febd6c3ef84253d7c815bed85fc622ad207a9f8",
|
||||||
"reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
|
"reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3.2"
|
"php": ">=5.3.2"
|
||||||
},
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.5"
|
||||||
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
|
@ -249,8 +252,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-0": {
|
"psr-4": {
|
||||||
"Doctrine\\Common\\Lexer\\": "lib/"
|
"Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
@ -271,13 +274,16 @@
|
||||||
"email": "schmittjoh@gmail.com"
|
"email": "schmittjoh@gmail.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
|
"description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
|
||||||
"homepage": "http://www.doctrine-project.org",
|
"homepage": "https://www.doctrine-project.org/projects/lexer.html",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
"annotations",
|
||||||
|
"docblock",
|
||||||
"lexer",
|
"lexer",
|
||||||
"parser"
|
"parser",
|
||||||
|
"php"
|
||||||
],
|
],
|
||||||
"time": "2014-09-09T13:34:57+00:00"
|
"time": "2019-06-08T11:03:04+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dragonmantank/cron-expression",
|
"name": "dragonmantank/cron-expression",
|
||||||
|
@ -2985,16 +2991,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "yajra/laravel-datatables-oracle",
|
"name": "yajra/laravel-datatables-oracle",
|
||||||
"version": "v8.13.6",
|
"version": "v8.13.7",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/yajra/laravel-datatables.git",
|
"url": "https://github.com/yajra/laravel-datatables.git",
|
||||||
"reference": "0b6f9c0653499d73d051dc46275511fc4c9dd7f1"
|
"reference": "17b50e3ee91ceb5b1cc6e596c366718af4ff45cc"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/0b6f9c0653499d73d051dc46275511fc4c9dd7f1",
|
"url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/17b50e3ee91ceb5b1cc6e596c366718af4ff45cc",
|
||||||
"reference": "0b6f9c0653499d73d051dc46275511fc4c9dd7f1",
|
"reference": "17b50e3ee91ceb5b1cc6e596c366718af4ff45cc",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3052,7 +3058,7 @@
|
||||||
"jquery",
|
"jquery",
|
||||||
"laravel"
|
"laravel"
|
||||||
],
|
],
|
||||||
"time": "2019-03-26T05:01:51+00:00"
|
"time": "2019-06-12T05:03:20+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zizaco/entrust",
|
"name": "zizaco/entrust",
|
||||||
|
@ -3544,16 +3550,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpspec/prophecy",
|
"name": "phpspec/prophecy",
|
||||||
"version": "1.8.0",
|
"version": "1.8.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/phpspec/prophecy.git",
|
"url": "https://github.com/phpspec/prophecy.git",
|
||||||
"reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
|
"reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
|
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76",
|
||||||
"reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
|
"reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3574,8 +3580,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-0": {
|
"psr-4": {
|
||||||
"Prophecy\\": "src/"
|
"Prophecy\\": "src/Prophecy"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
@ -3603,7 +3609,7 @@
|
||||||
"spy",
|
"spy",
|
||||||
"stub"
|
"stub"
|
||||||
],
|
],
|
||||||
"time": "2018-08-05T17:53:17+00:00"
|
"time": "2019-06-13T12:50:23+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-code-coverage",
|
"name": "phpunit/php-code-coverage",
|
||||||
|
@ -3761,16 +3767,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-timer",
|
"name": "phpunit/php-timer",
|
||||||
"version": "2.1.1",
|
"version": "2.1.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
||||||
"reference": "8b389aebe1b8b0578430bda0c7c95a829608e059"
|
"reference": "1038454804406b0b5f5f520358e78c1c2f71501e"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b389aebe1b8b0578430bda0c7c95a829608e059",
|
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e",
|
||||||
"reference": "8b389aebe1b8b0578430bda0c7c95a829608e059",
|
"reference": "1038454804406b0b5f5f520358e78c1c2f71501e",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3806,7 +3812,7 @@
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"timer"
|
"timer"
|
||||||
],
|
],
|
||||||
"time": "2019-02-20T10:12:59+00:00"
|
"time": "2019-06-07T04:22:29+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-token-stream",
|
"name": "phpunit/php-token-stream",
|
||||||
|
@ -4560,16 +4566,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "theseer/tokenizer",
|
"name": "theseer/tokenizer",
|
||||||
"version": "1.1.2",
|
"version": "1.1.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/theseer/tokenizer.git",
|
"url": "https://github.com/theseer/tokenizer.git",
|
||||||
"reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8"
|
"reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/1c42705be2b6c1de5904f8afacef5895cab44bf8",
|
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
|
||||||
"reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8",
|
"reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -4596,7 +4602,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
|
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
|
||||||
"time": "2019-04-04T09:56:43+00:00"
|
"time": "2019-06-13T22:48:21+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "webmozart/assert",
|
"name": "webmozart/assert",
|
||||||
|
|
1595
package-lock.json
generated
1595
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
16
package.json
16
package.json
|
@ -8,23 +8,25 @@
|
||||||
"production": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
|
"production": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"axios": "^0.18",
|
"axios": "^0.18.1",
|
||||||
"bootstrap-sass": "^3.4.0",
|
"bootstrap-sass": "^3.4.0",
|
||||||
"cross-env": "^5.1",
|
"cross-env": "^5.1",
|
||||||
"jquery": "^3.2",
|
"jquery": "^3.4.1",
|
||||||
"laravel-mix": "^4.0.13",
|
"laravel-mix": "^4.0.16",
|
||||||
"leaflet": "^1.4.0",
|
"leaflet": "^1.5.1",
|
||||||
"leaflet-draw": "^1.0.4",
|
"leaflet-draw": "^1.0.4",
|
||||||
"lodash": "^4.17.11",
|
"lodash": "^4.17.11",
|
||||||
"node-sass": "^4.11.0",
|
"node-sass": "^4.12.0",
|
||||||
"npm-font-open-sans": "^1.1.0",
|
"npm-font-open-sans": "^1.1.0",
|
||||||
"purecss-sass": "^1.0.0",
|
"purecss-sass": "^1.0.0",
|
||||||
"resolve-url-loader": "^2.3.1",
|
"resolve-url-loader": "^2.3.2",
|
||||||
"sass-loader": "^7.1.0",
|
"sass-loader": "^7.1.0",
|
||||||
"vee-validate": "^2.1.5",
|
"vee-validate": "^2.2.10",
|
||||||
"vue": "^2.5.21",
|
"vue": "^2.5.21",
|
||||||
"vue-events": "^3.1.0",
|
"vue-events": "^3.1.0",
|
||||||
"vue-template-compiler": "^2.5.21",
|
"vue-template-compiler": "^2.5.21",
|
||||||
|
"vue-toast-notification": "0.0.2",
|
||||||
|
"vuejs-datetimepicker": "^1.1.11",
|
||||||
"vuetable-2": "^1.7.5"
|
"vuetable-2": "^1.7.5"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
2
public/backend/ckeditor.js
vendored
2
public/backend/ckeditor.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/backend/tinyDatePicker.js
Normal file
1
public/backend/tinyDatePicker.js
Normal file
File diff suppressed because one or more lines are too long
2
public/css/app1.css
vendored
2
public/css/app1.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,7 +1,66 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div style="position:relative">
|
||||||
<div id="map">
|
<!-- <div id="inset">
|
||||||
|
xmin:
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="xmin"
|
||||||
|
id="xmin"
|
||||||
|
v-model="geolocation.xmin"
|
||||||
|
data-vv-scope="step-2"
|
||||||
|
v-validate="'decimal'"
|
||||||
|
>
|
||||||
|
<br>ymin:
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="ymin"
|
||||||
|
id="ymin"
|
||||||
|
v-model="geolocation.ymin"
|
||||||
|
data-vv-scope="step-2"
|
||||||
|
>
|
||||||
|
xmax:
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="xmax"
|
||||||
|
id="xmax"
|
||||||
|
v-model="geolocation.xmax"
|
||||||
|
data-vv-scope="step-2"
|
||||||
|
>
|
||||||
|
<br>ymax:
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="ymax"
|
||||||
|
id="ymax"
|
||||||
|
v-model="geolocation.ymax"
|
||||||
|
data-vv-scope="step-2"
|
||||||
|
>
|
||||||
|
<input type="button" v-on:click="zoomTo" value="zoomTo">
|
||||||
|
</div> -->
|
||||||
|
<div id="map"></div>
|
||||||
|
|
||||||
|
<div class="pure-g">
|
||||||
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
|
<label for="xmin">xmin: </label>
|
||||||
|
<input name="xmin" type="text" class="pure-u-23-24" v-model="geolocation.xmin" data-vv-scope="step-2" id="xmin" v-validate="'decimal'">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
|
<label for="ymin">ymin: </label>
|
||||||
|
<input name="ymin" type="text" class="pure-u-23-24" v-model="geolocation.ymin" data-vv-scope="step-2" id="ymin" v-validate="'decimal'">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
|
<label for="xmax">xmax: </label>
|
||||||
|
<input name="xmax" type="text" class="pure-u-23-24" v-model="geolocation.xmax" data-vv-scope="step-2" id="xmax" v-validate="'decimal'">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
|
<label for="ymax">ymax: </label>
|
||||||
|
<input name="ymax" type="text" class="pure-u-23-24" v-model="geolocation.ymax" data-vv-scope="step-2" id="ymax" v-validate="'decimal'">
|
||||||
|
</div>
|
||||||
|
<input type="button" v-on:click="zoomTo" value="validate coordinates">
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -20,14 +79,50 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
map: [],
|
map: [],
|
||||||
markers: null
|
drawnItems: null,
|
||||||
|
locationErrors: []
|
||||||
};
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.$validator.extend('boundingBox', {
|
||||||
|
getMessage: field => 'At least one ' + field + ' needs to be checked.',
|
||||||
|
validate: (value, [testProp]) => {
|
||||||
|
const options = this.dataset.checkedLicenses;
|
||||||
|
return value || options.some((option) => option[testProp]);
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
watch: {},
|
watch: {},
|
||||||
methods: {},
|
methods: {
|
||||||
|
zoomTo() {
|
||||||
|
var _this = this;
|
||||||
|
_this.locationErrors.length = 0;
|
||||||
|
this.drawnItems.clearLayers();
|
||||||
|
var xmin = document.getElementById("xmin").value;
|
||||||
|
var ymin = document.getElementById("ymin").value;
|
||||||
|
var xmax = document.getElementById("xmax").value;
|
||||||
|
var ymax = document.getElementById("ymax").value;
|
||||||
|
var bounds = [[ymin, xmin], [ymax, xmax]];
|
||||||
|
try {
|
||||||
|
var boundingBox = L.rectangle(bounds, { color: "#005F6A", weight: 1 });
|
||||||
|
// this.geolocation.xmin = xmin;
|
||||||
|
// this.geolocation.ymin = ymin;
|
||||||
|
// this.geolocation.xmax = xmax;
|
||||||
|
// this.geolocation.ymax = ymax;
|
||||||
|
|
||||||
|
_this.drawnItems.addLayer(boundingBox);
|
||||||
|
_this.map.fitBounds(bounds);
|
||||||
|
_this.$toast.success("valid bounding box");
|
||||||
|
} catch (e) {
|
||||||
|
// _this.errors.push(e);
|
||||||
|
_this.$toast.error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
const map = L.map("map");
|
const map = L.map("map");
|
||||||
|
this.map = map;
|
||||||
map.scrollWheelZoom.disable();
|
map.scrollWheelZoom.disable();
|
||||||
// Construct a bounding box for this map that the user cannot
|
// Construct a bounding box for this map that the user cannot
|
||||||
var southWest = L.latLng(46.5, 9.9),
|
var southWest = L.latLng(46.5, 9.9),
|
||||||
|
@ -57,7 +152,7 @@ export default {
|
||||||
// this.addPlaces(this.places)
|
// this.addPlaces(this.places)
|
||||||
|
|
||||||
// Initialise the FeatureGroup to store editable layers
|
// Initialise the FeatureGroup to store editable layers
|
||||||
var drawnItems = new L.FeatureGroup();
|
var drawnItems = (this.drawnItems = new L.FeatureGroup());
|
||||||
map.addLayer(drawnItems);
|
map.addLayer(drawnItems);
|
||||||
var drawPluginOptions = {
|
var drawPluginOptions = {
|
||||||
position: "topright",
|
position: "topright",
|
||||||
|
@ -140,4 +235,14 @@ export default {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
text-shadow: 0 0 2px #fff;
|
text-shadow: 0 0 2px #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#inset {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
border: none;
|
||||||
|
width: 120px;
|
||||||
|
z-index: 999;
|
||||||
|
// height: 120px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -32,10 +32,18 @@ import MyAutocomplete from './components/MyAutocomplete.vue';
|
||||||
import VeeValidate from 'vee-validate';
|
import VeeValidate from 'vee-validate';
|
||||||
import dataset from './components/Dataset';
|
import dataset from './components/Dataset';
|
||||||
import LocationsMap from './components/LocationsMap.vue';
|
import LocationsMap from './components/LocationsMap.vue';
|
||||||
import modal from './components/ShowModal.vue'
|
import modal from './components/ShowModal.vue';
|
||||||
|
// import datetime from 'vuejs-datetimepicker';
|
||||||
// import { Validator } from 'vee-validate';
|
// import { Validator } from 'vee-validate';
|
||||||
|
import VueToast from 'vue-toast-notification';
|
||||||
|
import 'vue-toast-notification/dist/index.css';
|
||||||
|
Vue.use(VueToast);
|
||||||
|
|
||||||
Vue.use(VeeValidate);
|
// Vue.use(VeeValidate);
|
||||||
|
Vue.use(VeeValidate, {
|
||||||
|
// validity: true
|
||||||
|
useConstraintAttrs: true
|
||||||
|
});
|
||||||
|
|
||||||
const STATUS_INITIAL = 0, STATUS_SAVING = 1, STATUS_SUCCESS = 2, STATUS_FAILED = 3;
|
const STATUS_INITIAL = 0, STATUS_SAVING = 1, STATUS_SUCCESS = 2, STATUS_FAILED = 3;
|
||||||
const app = new Vue({
|
const app = new Vue({
|
||||||
|
@ -370,7 +378,7 @@ const app = new Vue({
|
||||||
adds a new Keyword
|
adds a new Keyword
|
||||||
*/
|
*/
|
||||||
addKeyword() {
|
addKeyword() {
|
||||||
let newKeyword = { value: '', type: '' };
|
let newKeyword = { value: '', type: '', language: this.dataset.language };
|
||||||
//this.dataset.files.push(uploadedFiles[i]);
|
//this.dataset.files.push(uploadedFiles[i]);
|
||||||
this.dataset.keywords.push(newKeyword);
|
this.dataset.keywords.push(newKeyword);
|
||||||
},
|
},
|
||||||
|
|
3
resources/assets/js/tinyDatePicker.js
Normal file
3
resources/assets/js/tinyDatePicker.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import TinyDatePicker from 'tiny-date-picker';
|
||||||
|
|
||||||
|
TinyDatePicker(document.querySelector("input[name='time_absolut']"));
|
|
@ -19,6 +19,7 @@ return [
|
||||||
'models' => 'Models',
|
'models' => 'Models',
|
||||||
'rawdata' => 'Raw Data',
|
'rawdata' => 'Raw Data',
|
||||||
'supplementarydata' => 'Supplementary Data',
|
'supplementarydata' => 'Supplementary Data',
|
||||||
|
'mixedtype' => 'Mixed Type'
|
||||||
//'diplom' => 'Diploma Thesis',
|
//'diplom' => 'Diploma Thesis',
|
||||||
//'doctoralthesis' => 'Doctoral Thesis',
|
//'doctoralthesis' => 'Doctoral Thesis',
|
||||||
//'coursematerial' => 'Course Material',
|
//'coursematerial' => 'Course Material',
|
||||||
|
|
|
@ -201,11 +201,30 @@
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset id="fieldset-contributors">
|
||||||
|
<legend>Contributors</legend>
|
||||||
|
<div class="pure-g">
|
||||||
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
|
<my-autocomplete title="searching active person table" @person="onAddContributor"></my-autocomplete>
|
||||||
|
</div>
|
||||||
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
|
<div class="pure-control-group checkboxlist">
|
||||||
|
<label v-for="(contributor, index) in dataset.contributors" :for="contributor.id" class="pure-checkbox">
|
||||||
|
<input type="checkbox" name="contributors" v-bind:value="contributor.id" v-model="dataset.checkedContributors" class="form-check-input" data-vv-scope="step-1">
|
||||||
|
@{{ contributor.full_name }}
|
||||||
|
</label>
|
||||||
|
<br />
|
||||||
|
{{-- <span>Checked Contributors: @{{ dataset.checkedContributors }}</span> --}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
<fieldset id="fieldset-publisher">
|
<fieldset id="fieldset-publisher">
|
||||||
<legend>Publisher</legend>
|
<legend>Publisher</legend>
|
||||||
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
{!! Form::label('CreatingCorporation', 'Creating Corporation') !!}
|
{!! Form::label('CreatingCorporation', 'Creating Corporation') !!}
|
||||||
{!! Form::text('CreatingCorporation', null, ['class' =>
|
{!! Form::text('CreatingCorporation', null, ['readonly', 'class' =>
|
||||||
'pure-u-23-24', 'v-model' => 'dataset.creating_corporation', "v-validate" => "'required'", 'data-vv-scope' => 'step-1']) !!}
|
'pure-u-23-24', 'v-model' => 'dataset.creating_corporation', "v-validate" => "'required'", 'data-vv-scope' => 'step-1']) !!}
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
@ -270,17 +289,10 @@
|
||||||
<div v-if="step === 2 && isInitial" data-vv-scope="step-2">
|
<div v-if="step === 2 && isInitial" data-vv-scope="step-2">
|
||||||
<h1>Step Two: Recommended Elements</h1>
|
<h1>Step Two: Recommended Elements</h1>
|
||||||
|
|
||||||
<fieldset id="fieldset-project">
|
{{-- <fieldset id="fieldset-project">
|
||||||
<legend>Project</legend>
|
<legend>Project</legend>
|
||||||
<div class="pure-g">
|
<div class="pure-g">
|
||||||
|
|
||||||
{{-- <div class="pure-u-1 pure-u-md-1-2 pure-div">
|
|
||||||
<div class="select pure-u-23-24">
|
|
||||||
{!! Form::select( 'State', ['unpublished' => 'unpublished', 'inprogress' => 'inprogress'], null, ['id' => 'state',
|
|
||||||
'placeholder' => '-- select server state --', 'v-model' => 'dataset.state', "v-validate" => "'required'", 'data-vv-scope' => 'step-2'] ) !!}
|
|
||||||
</div>
|
|
||||||
</div> --}}
|
|
||||||
|
|
||||||
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
{!! Form::label('project_id', 'Project..') !!}
|
{!! Form::label('project_id', 'Project..') !!}
|
||||||
<div class="select pure-u-23-24">
|
<div class="select pure-u-23-24">
|
||||||
|
@ -291,7 +303,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset> --}}
|
||||||
|
|
||||||
<fieldset-dates>
|
<fieldset-dates>
|
||||||
<legend>Date(s)</legend>
|
<legend>Date(s)</legend>
|
||||||
|
@ -303,48 +315,34 @@
|
||||||
</div>
|
</div>
|
||||||
</fieldset-dates>
|
</fieldset-dates>
|
||||||
|
|
||||||
<fieldset id="fieldset-contributors">
|
|
||||||
<legend>Contributors</legend>
|
|
||||||
<div class="pure-g">
|
|
||||||
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
|
||||||
<my-autocomplete title="searching active person table" @person="onAddContributor"></my-autocomplete>
|
|
||||||
</div>
|
|
||||||
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
|
||||||
<div class="pure-control-group checkboxlist">
|
|
||||||
<label v-for="(contributor, index) in dataset.contributors" :for="contributor.id" class="pure-checkbox">
|
|
||||||
<input type="checkbox" name="contributors" v-bind:value="contributor.id" v-model="dataset.checkedContributors" class="form-check-input" data-vv-scope="step-2">
|
|
||||||
@{{ contributor.full_name }}
|
|
||||||
</label>
|
|
||||||
<br />
|
|
||||||
{{-- <span>Checked Contributors: @{{ dataset.checkedContributors }}</span> --}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset id="fieldset-geolocation">
|
<fieldset id="fieldset-geolocation">
|
||||||
<legend>Geo Location</legend>
|
<legend>Geo Location</legend>
|
||||||
<div class="pure-g">
|
<div class="pure-g">
|
||||||
<div class="pure-u-1 pure-u-md-1 pure-u-lg-1 pure-div">
|
<div class="pure-u-1 pure-u-md-1 pure-u-lg-1 pure-div">
|
||||||
<locations-map v-bind:geolocation="dataset.coverage"></locations-map>
|
<locations-map v-bind:geolocation="dataset.coverage"></locations-map>
|
||||||
</div>
|
</div>
|
||||||
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
{{-- <div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
{!! Form::label('xmin', 'xmin: ') !!}
|
{!! Form::label('xmin', 'xmin: ') !!}
|
||||||
{!! Form::text('xmin', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.coverage.xmin', 'readonly']) !!}
|
{!! Form::text('xmin', null, [
|
||||||
|
'class' => 'pure-u-23-24',
|
||||||
|
'v-model' => 'dataset.coverage.xmin',
|
||||||
|
"v-validate" => "'decimal'",
|
||||||
|
'data-vv-scope' => 'step-2'
|
||||||
|
]) !!}
|
||||||
</div>
|
</div>
|
||||||
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
{!! Form::label('ymin', 'ymin: ') !!}
|
{!! Form::label('ymin', 'ymin: ') !!}
|
||||||
{!! Form::text('ymin', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.coverage.ymin', 'readonly']) !!}
|
{!! Form::text('ymin', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.coverage.ymin', 'data-vv-scope' => 'step-2']) !!}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
{!! Form::label('xmax', 'xmax: ') !!}
|
{!! Form::label('xmax', 'xmax: ') !!}
|
||||||
{!! Form::text('xmax', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.coverage.xmax', 'readonly']) !!}
|
{!! Form::text('xmax', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.coverage.xmax', 'data-vv-scope' => 'step-2']) !!}
|
||||||
</div>
|
</div>
|
||||||
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
<div class="pure-u-1 pure-u-md-1-2 pure-div">
|
||||||
{!! Form::label('ymax', 'ymax: ') !!}
|
{!! Form::label('ymax', 'ymax: ') !!}
|
||||||
{!! Form::text('ymax', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.coverage.ymax', 'readonly']) !!}
|
{!! Form::text('ymax', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.coverage.ymax', 'data-vv-scope' => 'step-2']) !!}
|
||||||
</div>
|
</div> --}}
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
@ -356,11 +354,11 @@
|
||||||
<div class="pure-u-1 pure-u-md-1">
|
<div class="pure-u-1 pure-u-md-1">
|
||||||
<label for="elevation-option-one" class="pure-radio">
|
<label for="elevation-option-one" class="pure-radio">
|
||||||
<input id="elevation-option-one" type="radio" v-model="elevation" value="absolut">
|
<input id="elevation-option-one" type="radio" v-model="elevation" value="absolut">
|
||||||
absolut elevation
|
absolut elevation (m)
|
||||||
</label>
|
</label>
|
||||||
<label for="elevation-option-two" class="pure-radio">
|
<label for="elevation-option-two" class="pure-radio">
|
||||||
<input id="elevation-option-two" type="radio" v-model="elevation" value="range">
|
<input id="elevation-option-two" type="radio" v-model="elevation" value="range">
|
||||||
elevation range
|
elevation range (m)
|
||||||
</label>
|
</label>
|
||||||
<label for="elevation-option-three" class="pure-radio">
|
<label for="elevation-option-three" class="pure-radio">
|
||||||
<input id="elevation-option-three" type="radio" v-model="elevation" value="no_elevation">
|
<input id="elevation-option-three" type="radio" v-model="elevation" value="no_elevation">
|
||||||
|
@ -388,11 +386,11 @@
|
||||||
<div class="pure-u-1 pure-u-md-1">
|
<div class="pure-u-1 pure-u-md-1">
|
||||||
<label for="depth-option-one" class="pure-radio">
|
<label for="depth-option-one" class="pure-radio">
|
||||||
<input id="depth-option-one" type="radio" v-model="depth" value="absolut">
|
<input id="depth-option-one" type="radio" v-model="depth" value="absolut">
|
||||||
absolut depth
|
absolut depth (m)
|
||||||
</label>
|
</label>
|
||||||
<label for="depth-option-two" class="pure-radio">
|
<label for="depth-option-two" class="pure-radio">
|
||||||
<input id="depth-option-two" type="radio" v-model="depth" value="range">
|
<input id="depth-option-two" type="radio" v-model="depth" value="range">
|
||||||
depth range
|
depth range (m)
|
||||||
</label>
|
</label>
|
||||||
<label for="depth-option-three" class="pure-radio">
|
<label for="depth-option-three" class="pure-radio">
|
||||||
<input id="depth-option-three" type="radio" v-model="depth" value="no_depth">
|
<input id="depth-option-three" type="radio" v-model="depth" value="no_depth">
|
||||||
|
@ -435,9 +433,10 @@
|
||||||
|
|
||||||
<div v-show="time === 'absolut'" class="pure-u-1 pure-u-md-1">
|
<div v-show="time === 'absolut'" class="pure-u-1 pure-u-md-1">
|
||||||
{!! Form::label('time_absolut', 'time absolut: ') !!}
|
{!! Form::label('time_absolut', 'time absolut: ') !!}
|
||||||
{!! Form::date('time_absolut', null, ['class' => 'pure-u-23-24',
|
{!! Form::datetimelocal('time_absolut', null, ['class' => 'pure-u-23-24', 'placeholder' => 'dd.MM.yyyy HH:mm:ss',
|
||||||
'v-model' => 'dataset.coverage.time_absolut', 'data-vv-scope' => 'step-2',
|
'v-model' => 'dataset.coverage.time_absolut', 'data-vv-scope' => 'step-2', 'step' => 1,
|
||||||
"v-validate" => "this.isTimeAbsolut ? 'required' : '' " ]) !!}
|
"v-validate" => "this.isTimeAbsolut ? 'required|date_format:dd.MM.yyyy HH:mm:ss' : '' " ]) !!}
|
||||||
|
{{-- <datetime name="time_absolut" format="MM-DD-YYYY H:i:s" width="300px" v-model="dataset.coverage.time_absolut"></datetime> --}}
|
||||||
</div>
|
</div>
|
||||||
<div v-show="time === 'range'" class="pure-u-1 pure-u-md-1">
|
<div v-show="time === 'range'" class="pure-u-1 pure-u-md-1">
|
||||||
{!! Form::label('time_min', 'time min: ') !!}
|
{!! Form::label('time_min', 'time min: ') !!}
|
||||||
|
@ -493,6 +492,7 @@
|
||||||
</table>
|
</table>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
|
||||||
<fieldset id="fieldset-keywords">
|
<fieldset id="fieldset-keywords">
|
||||||
<legend>Dataset Keywords</legend>
|
<legend>Dataset Keywords</legend>
|
||||||
<button class="pure-button button-small" @click.prevent="addKeyword()">Add Keyword</button>
|
<button class="pure-button button-small" @click.prevent="addKeyword()">Add Keyword</button>
|
||||||
|
@ -501,6 +501,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th style="width: 20px;">Keyword</th>
|
<th style="width: 20px;">Keyword</th>
|
||||||
<th>Type</th>
|
<th>Type</th>
|
||||||
|
<th>Language</th>
|
||||||
<th style="width: 130px;"></th>
|
<th style="width: 130px;"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -514,6 +515,10 @@
|
||||||
{!! Form::select('Keyword[Type]', $keywordTypes, null, ['placeholder' => '[keyword type]', 'v-model' =>
|
{!! Form::select('Keyword[Type]', $keywordTypes, null, ['placeholder' => '[keyword type]', 'v-model' =>
|
||||||
'item.type', "v-validate" => "'required'", 'data-vv-scope' => 'step-2']) !!}
|
'item.type', "v-validate" => "'required'", 'data-vv-scope' => 'step-2']) !!}
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<input name="Keyword Language" readonly class="form-control" placeholder="[KEYWORD LANGUAGE]" v-model="item.language" v-validate="'required'"
|
||||||
|
data-vv-scope="step-2" />
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<button class="pure-button button-small is-warning" @click.prevent="removeKeyword(index)">Remove</button>
|
<button class="pure-button button-small is-warning" @click.prevent="removeKeyword(index)">Remove</button>
|
||||||
</td>
|
</td>
|
||||||
|
@ -523,6 +528,7 @@
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<div class="pure-controls">
|
<div class="pure-controls">
|
||||||
<button @click.prevent="prev()" class="pure-button button-small">
|
<button @click.prevent="prev()" class="pure-button button-small">
|
||||||
<i class="fa fa-arrow-left"></i>
|
<i class="fa fa-arrow-left"></i>
|
||||||
|
@ -688,9 +694,9 @@
|
||||||
<p>
|
<p>
|
||||||
<a href="javascript:void(0)" @click="retry()">Retry: Edit inputs</a>
|
<a href="javascript:void(0)" @click="retry()">Retry: Edit inputs</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
{{-- <p>
|
||||||
<a href="javascript:void(0)" @click="reset()">Start again</a>
|
<a href="javascript:void(0)" @click="reset()">Submit new dataset</a>
|
||||||
</p>
|
</p> --}}
|
||||||
<div v-if="serrors.length > 0">
|
<div v-if="serrors.length > 0">
|
||||||
<b>Please correct the following server error(s):</b>
|
<b>Please correct the following server error(s):</b>
|
||||||
<ul class="alert validation-summary-errors">
|
<ul class="alert validation-summary-errors">
|
||||||
|
@ -731,6 +737,4 @@
|
||||||
<script type="text/javascript" src="{{ resource_path('assets\js\datasetPublish.js') }}"></script> --}}
|
<script type="text/javascript" src="{{ resource_path('assets\js\datasetPublish.js') }}"></script> --}}
|
||||||
<script type="text/javascript" src="{{ asset('backend/publish/datasetPublish.js') }}"></script>
|
<script type="text/javascript" src="{{ asset('backend/publish/datasetPublish.js') }}"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@stop
|
@stop
|
Loading…
Reference in New Issue
Block a user