move search logic to frontend
This commit is contained in:
parent
783ac823ba
commit
98f50a2b6f
|
@ -1,12 +1,10 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
|
||||
use App\Exceptions\GeneralException;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Page;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
|
@ -45,9 +43,10 @@ class HomeController extends Controller
|
|||
|
||||
// }
|
||||
return view('frontend.home.index');
|
||||
// return view('welcome');
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Show the application dashboard.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
|
@ -96,7 +95,7 @@ class HomeController extends Controller
|
|||
if (!is_null(Page::query()->wherePage_slug($slug)->firstOrFail())) {
|
||||
$result = Page::query()->wherePage_slug($slug)->firstOrFail();
|
||||
return view('frontend.pages.index')
|
||||
->withpage($result);
|
||||
->withpage($result);
|
||||
} else {
|
||||
throw new GeneralException(trans('exceptions.backend.access.pages.not_found'));
|
||||
}
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers;
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Book;
|
||||
use App\Dataset;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Library\Search\Navigation;
|
||||
use App\Library\Util\SolrSearchSearcher;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class SearchController extends Controller
|
||||
{
|
||||
private $_query;
|
||||
private $_numOfHits;
|
||||
private $_searchtype;
|
||||
private $_resultList;
|
||||
private $_facetMenu;
|
||||
private $query;
|
||||
private $numOfHits;
|
||||
private $searchtype;
|
||||
private $resultList;
|
||||
private $facetMenu;
|
||||
|
||||
protected $client;
|
||||
|
||||
|
@ -53,16 +54,16 @@ class SearchController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
public function search1(Request $request) : View
|
||||
public function search1(Request $request): View
|
||||
{
|
||||
$this->_request = $request;
|
||||
$data=$request->all();
|
||||
//$this->_searchtype = $request->input('searchtype');
|
||||
$this->_searchtype = $request->input('searchtype');
|
||||
return view('rdr.solrsearch.index');
|
||||
$data = $request->all();
|
||||
//$this->searchtype = $request->input('searchtype');
|
||||
$this->searchtype = $request->input('searchtype');
|
||||
return view('frontend.solrsearch.index');
|
||||
}
|
||||
|
||||
public function search(Request $request) : View
|
||||
public function search(Request $request): View
|
||||
{
|
||||
Log::info('Received new search request. Redirecting to search action of IndexController.');
|
||||
$this->_request = $request;
|
||||
|
@ -76,10 +77,10 @@ class SearchController extends Controller
|
|||
// // // display the total number of documents found by solr
|
||||
// echo 'NumFound: ' .$results->getNumFound();
|
||||
|
||||
//$this->_query = Navigation::getQueryUrl($request);
|
||||
//$this->query = Navigation::getQueryUrl($request);
|
||||
$query = $this->buildQuery();
|
||||
if (!is_null($query)) {
|
||||
$this->_query = $query;
|
||||
$this->query = $query;
|
||||
$this->performSearch();
|
||||
|
||||
// set start and rows param (comparable to SQL limit) using fluent interface
|
||||
|
@ -87,33 +88,29 @@ class SearchController extends Controller
|
|||
// set fields to fetch (this overrides the default setting 'all fields')
|
||||
//$query->setFields(array('id','year'));
|
||||
|
||||
$results = $this->resultList->getResults();
|
||||
$numOfHits = $this->numOfHits;
|
||||
|
||||
$results = $this->_resultList->getResults();
|
||||
$numOfHits = $this->_numOfHits;
|
||||
|
||||
|
||||
return view('rdr.solrsearch.index', compact('results', 'numOfHits'));
|
||||
return view('frontend.solrsearch.index', compact('results', 'numOfHits'));
|
||||
}
|
||||
return view('rdr.solrsearch.index');
|
||||
return view('frontend.solrsearch.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays simple search form.
|
||||
*/
|
||||
public function index() : View
|
||||
public function index(): View
|
||||
{
|
||||
$totalNumOfDocs = Dataset::count();
|
||||
return view('rdr.solrsearch.index', compact('totalNumOfDocs'));
|
||||
return view('frontend.solrsearch.index', compact('totalNumOfDocs'));
|
||||
}
|
||||
|
||||
|
||||
public function searchDb(Request $request) : View
|
||||
public function searchDb(Request $request): View
|
||||
{
|
||||
$searchType = "simple";
|
||||
$params = $request->all();
|
||||
//build query
|
||||
$this->_searchtype = $request->input('searchtype');
|
||||
|
||||
$this->searchtype = $request->input('searchtype');
|
||||
|
||||
// Gets the query string from our form submission
|
||||
//$query = Request::input('search');
|
||||
|
@ -123,19 +120,18 @@ class SearchController extends Controller
|
|||
// Returns an array of articles that have the query string located somewhere within
|
||||
// our articles titles. Paginates them so we can break up lots of search results.
|
||||
$books = Book::where('title', 'LIKE', '%' . $filter . '%')
|
||||
->get();//paginate(10);
|
||||
->get(); //paginate(10);
|
||||
|
||||
// returns a view and passes the view the list of articles and the original query.
|
||||
return view('rdr.solrsearch.index', compact('books'));
|
||||
return view('frontend.solrsearch.index', compact('books'));
|
||||
}
|
||||
|
||||
|
||||
#region private helper
|
||||
|
||||
private function buildQuery()
|
||||
{
|
||||
$request = $this->_request;
|
||||
$this->_searchtype = $request->input('searchtype');
|
||||
$this->searchtype = $request->input('searchtype');
|
||||
return Navigation::getQueryUrl($request);
|
||||
}
|
||||
|
||||
|
@ -147,16 +143,16 @@ class SearchController extends Controller
|
|||
//$this->getLogger()->debug('performing search');
|
||||
try {
|
||||
$searcher = new SolrSearchSearcher();
|
||||
// $openFacets = $this->_facetMenu->buildFacetArray( $this->getRequest()->getParams() );
|
||||
// $openFacets = $this->facetMenu->buildFacetArray( $this->getRequest()->getParams() );
|
||||
// $searcher->setFacetArray($openFacets);
|
||||
$this->_resultList = $searcher->search($this->_query);
|
||||
$this->resultList = $searcher->search($this->query);
|
||||
// $this->view->openFacets = $openFacets;
|
||||
} catch (Exception $e) {
|
||||
// $this->getLogger()->err(__METHOD__ . ' : ' . $e);
|
||||
//throw new Application_SearchException($e);
|
||||
echo 'Exception abgefangen: ', $e->getMessage(), "\n";
|
||||
}
|
||||
$this->_numOfHits = $this->_resultList->getNumberOfHits();
|
||||
$this->numOfHits = $this->resultList->getNumberOfHits();
|
||||
}
|
||||
#endregion private helper
|
||||
}
|
184
package-lock.json
generated
184
package-lock.json
generated
|
@ -478,6 +478,17 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"babel-helper-bindify-decorators": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
|
||||
"integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
}
|
||||
},
|
||||
"babel-helper-builder-binary-assignment-operator-visitor": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
|
||||
|
@ -524,6 +535,18 @@
|
|||
"babel-types": "^6.24.1"
|
||||
}
|
||||
},
|
||||
"babel-helper-explode-class": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
|
||||
"integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-helper-bindify-decorators": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
}
|
||||
},
|
||||
"babel-helper-function-name": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
|
||||
|
@ -650,6 +673,30 @@
|
|||
"integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
|
||||
"dev": true
|
||||
},
|
||||
"babel-plugin-syntax-async-generators": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
|
||||
"integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
|
||||
"dev": true
|
||||
},
|
||||
"babel-plugin-syntax-class-properties": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
|
||||
"integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
|
||||
"dev": true
|
||||
},
|
||||
"babel-plugin-syntax-decorators": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
|
||||
"integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
|
||||
"dev": true
|
||||
},
|
||||
"babel-plugin-syntax-dynamic-import": {
|
||||
"version": "6.18.0",
|
||||
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
|
||||
"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
|
||||
"dev": true
|
||||
},
|
||||
"babel-plugin-syntax-exponentiation-operator": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
|
||||
|
@ -668,6 +715,17 @@
|
|||
"integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
|
||||
"dev": true
|
||||
},
|
||||
"babel-plugin-transform-async-generator-functions": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
|
||||
"integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-helper-remap-async-to-generator": "^6.24.1",
|
||||
"babel-plugin-syntax-async-generators": "^6.5.0",
|
||||
"babel-runtime": "^6.22.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-async-to-generator": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
|
||||
|
@ -679,6 +737,31 @@
|
|||
"babel-runtime": "^6.22.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-class-properties": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
|
||||
"integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-helper-function-name": "^6.24.1",
|
||||
"babel-plugin-syntax-class-properties": "^6.8.0",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-decorators": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
|
||||
"integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-helper-explode-class": "^6.24.1",
|
||||
"babel-plugin-syntax-decorators": "^6.13.0",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-template": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-es2015-arrow-functions": {
|
||||
"version": "6.22.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
|
||||
|
@ -1012,6 +1095,63 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"babel-preset-es2015": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz",
|
||||
"integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-plugin-check-es2015-constants": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-block-scoping": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-classes": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-computed-properties": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-destructuring": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-duplicate-keys": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-for-of": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-function-name": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-literals": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-modules-amd": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-modules-systemjs": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-modules-umd": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-object-super": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-parameters": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-shorthand-properties": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-spread": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-sticky-regex": "^6.24.1",
|
||||
"babel-plugin-transform-es2015-template-literals": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-typeof-symbol": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-unicode-regex": "^6.24.1",
|
||||
"babel-plugin-transform-regenerator": "^6.24.1"
|
||||
}
|
||||
},
|
||||
"babel-preset-stage-2": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
|
||||
"integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-plugin-syntax-dynamic-import": "^6.18.0",
|
||||
"babel-plugin-transform-class-properties": "^6.24.1",
|
||||
"babel-plugin-transform-decorators": "^6.24.1",
|
||||
"babel-preset-stage-3": "^6.24.1"
|
||||
}
|
||||
},
|
||||
"babel-preset-stage-3": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
|
||||
"integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-plugin-syntax-trailing-function-commas": "^6.22.0",
|
||||
"babel-plugin-transform-async-generator-functions": "^6.24.1",
|
||||
"babel-plugin-transform-async-to-generator": "^6.24.1",
|
||||
"babel-plugin-transform-exponentiation-operator": "^6.24.1",
|
||||
"babel-plugin-transform-object-rest-spread": "^6.22.0"
|
||||
}
|
||||
},
|
||||
"babel-register": {
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
|
||||
|
@ -10778,6 +10918,12 @@
|
|||
"integrity": "sha512-mFbcWoDIJi0w0Za4emyLiW72Jae0yjANHbCVquMKijcavBGypqlF7zHRgMa5k4sesdv7hv2rB4JPdZfR+TPfhQ==",
|
||||
"dev": true
|
||||
},
|
||||
"vue-events": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-events/-/vue-events-3.1.0.tgz",
|
||||
"integrity": "sha512-JoE6ZlIEFdpj/vE7oW6T1T3Vz2h0Zxc4XEyz92L2tiRVc1TZ0u/nY1s6ZrnpHKoVxeEU0ouAp/FMxTKI3JBpvA==",
|
||||
"dev": true
|
||||
},
|
||||
"vue-hot-reload-api": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.0.tgz",
|
||||
|
@ -10872,6 +11018,44 @@
|
|||
"integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg==",
|
||||
"dev": true
|
||||
},
|
||||
"vuetable-2": {
|
||||
"version": "1.7.5",
|
||||
"resolved": "https://registry.npmjs.org/vuetable-2/-/vuetable-2-1.7.5.tgz",
|
||||
"integrity": "sha512-cKLD7ufbwNZZA1exOU1U7oXC+nrXq88YwDNAPL8dR9Kk1Pj/HMvLhOr4xw/15748c4OfYxBZQvVTJh4Hnu35AA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"axios": "^0.15.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": {
|
||||
"version": "0.15.3",
|
||||
"resolved": "http://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
|
||||
"integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"follow-redirects": "1.0.0"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
|
||||
"integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"debug": "^2.2.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"watchpack": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
|
||||
|
|
|
@ -9,12 +9,17 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"axios": "^0.18",
|
||||
"babel-plugin-transform-runtime": "^6.22.0",
|
||||
"babel-preset-es2015": "^6.24.1",
|
||||
"babel-preset-stage-2": "^6.22.0",
|
||||
"bootstrap-sass": "^3.3.7",
|
||||
"cross-env": "^5.1",
|
||||
"jquery": "^3.2",
|
||||
"laravel-mix": "^2.1.14",
|
||||
"lodash": "^4.17.10",
|
||||
"vue": "^2.5.7"
|
||||
"vue": "^2.5.7",
|
||||
"vue-events": "^3.0.0",
|
||||
"vuetable-2": "^1.7.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"datatables.net": "^1.10.15",
|
||||
|
|
|
@ -1 +1 @@
|
|||
!function(t){var e={};function a(s){if(e[s])return e[s].exports;var r=e[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=t,a.c=e,a.d=function(t,e,s){a.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:s})},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="/",a(a.s=0)}([function(t,e,a){t.exports=a(1)},function(t,e){new Vue({el:"#app",data:function(){return{rows:[],errors:[],uploadedFiles:[],uploadError:null,currentStatus:null,uploadFieldName:"photos",fileCount:0,step:1,dataset:{type:"",state:"",rights:0,project_id:"",creating_corporation:"GBA",embargo_date:"",belongs_to_bibliography:0,title_main:{value:"",language:""},abstract_main:{value:"",language:""},checkedPersons:[],checkedLicenses:[],files:[]}}},mounted:function(){this.step=1,this.reset()},computed:{isInitial:function(){return 0===this.currentStatus},isSaving:function(){return 1===this.currentStatus},isSuccess:function(){return 2===this.currentStatus},isFailed:function(){return 3===this.currentStatus}},methods:{reset:function(){this.currentStatus=0,this.uploadedFiles=[],this.uploadError=null},resetDropbox:function(){this.currentStatus=0,this.dataset.files=[]},save:function(){var t=this;this.errors=[];for(var e=new FormData,a=0;a<this.dataset.files.length;a++){var s=this.dataset.files[a];e.append("files["+a+"][file]",s.file),e.append("files["+a+"][label]",s.label),e.append("files["+a+"][sorting]",a+1)}e.append("type",this.dataset.type),e.append("server_state",this.dataset.state),e.append("rights",this.dataset.rights),e.append("creating_corporation",this.dataset.creating_corporation),e.append("project_id",this.dataset.project_id),e.append("embargo_date",this.dataset.embargo_date),e.append("belongs_to_bibliography",this.dataset.belongs_to_bibliography),e.append("title_main[value]",this.dataset.title_main.value),e.append("title_main[language]",this.dataset.title_main.language),e.append("abstract_main[value]",this.dataset.abstract_main.value),e.append("abstract_main[language]",this.dataset.abstract_main.language);for(a=0;a<this.dataset.checkedLicenses.length;a++)e.append("licenses["+a+"]",this.dataset.checkedLicenses[a]);axios.post("/publish/dataset/store",e,{headers:{"Content-Type":"multipart/form-data"}}).then(function(e){console.log(e.data),t.currentStatus=2,e.data.redirect&&(window.location=e.data.redirect)}).catch(function(e){var a=JSON.parse(JSON.stringify(e));if(a.response.data.errors){var s=a.response.data.errors;for(var r in s)console.log(s[r]),t.errors.push(s[r])}if(a.response.data.error){e=a.response.data.error;t.errors.push(e.message)}t.currentStatus=3})},filesChange:function(t,e){for(var a=e,s=0;s<a.length;s++){var r=a[s].name.replace(/\.[^/.]+$/,""),n={file:a[s],label:r,sorting:0};this.dataset.files.push(n)}},removeFile:function(t){this.dataset.files.splice(t,1)},prev:function(){this.step--},next:function(){this.step++},submit:function(){this.save()}}})}]);
|
||||
!function(t){var e={};function a(s){if(e[s])return e[s].exports;var r=e[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=t,a.c=e,a.d=function(t,e,s){a.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:s})},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="/",a(a.s=53)}({53:function(t,e,a){t.exports=a(54)},54:function(t,e){new Vue({el:"#app",data:function(){return{rows:[],errors:[],uploadedFiles:[],uploadError:null,currentStatus:null,uploadFieldName:"photos",fileCount:0,step:1,dataset:{type:"",state:"",rights:0,project_id:"",creating_corporation:"GBA",embargo_date:"",belongs_to_bibliography:0,title_main:{value:"",language:""},abstract_main:{value:"",language:""},checkedPersons:[],checkedLicenses:[],files:[]}}},mounted:function(){this.step=1,this.reset()},computed:{isInitial:function(){return 0===this.currentStatus},isSaving:function(){return 1===this.currentStatus},isSuccess:function(){return 2===this.currentStatus},isFailed:function(){return 3===this.currentStatus}},methods:{reset:function(){this.currentStatus=0,this.uploadedFiles=[],this.uploadError=null},resetDropbox:function(){this.currentStatus=0,this.dataset.files=[]},save:function(){var t=this;this.errors=[];for(var e=new FormData,a=0;a<this.dataset.files.length;a++){var s=this.dataset.files[a];e.append("files["+a+"][file]",s.file),e.append("files["+a+"][label]",s.label),e.append("files["+a+"][sorting]",a+1)}e.append("type",this.dataset.type),e.append("server_state",this.dataset.state),e.append("rights",this.dataset.rights),e.append("creating_corporation",this.dataset.creating_corporation),e.append("project_id",this.dataset.project_id),e.append("embargo_date",this.dataset.embargo_date),e.append("belongs_to_bibliography",this.dataset.belongs_to_bibliography),e.append("title_main[value]",this.dataset.title_main.value),e.append("title_main[language]",this.dataset.title_main.language),e.append("abstract_main[value]",this.dataset.abstract_main.value),e.append("abstract_main[language]",this.dataset.abstract_main.language);for(a=0;a<this.dataset.checkedLicenses.length;a++)e.append("licenses["+a+"]",this.dataset.checkedLicenses[a]);axios.post("/publish/dataset/store",e,{headers:{"Content-Type":"multipart/form-data"}}).then(function(e){console.log(e.data),t.currentStatus=2,e.data.redirect&&(window.location=e.data.redirect)}).catch(function(e){var a=JSON.parse(JSON.stringify(e));if(a.response.data.errors){var s=a.response.data.errors;for(var r in s)console.log(s[r]),t.errors.push(s[r])}if(a.response.data.error){e=a.response.data.error;t.errors.push(e.message)}t.currentStatus=3})},filesChange:function(t,e){for(var a=e,s=0;s<a.length;s++){var r=a[s].name.replace(/\.[^/.]+$/,""),n={file:a[s],label:r,sorting:0};this.dataset.files.push(n)}},removeFile:function(t){this.dataset.files.splice(t,1)},prev:function(){this.step--},next:function(){this.step++},submit:function(){this.save()}}})}});
|
1
public/js/app.js
Normal file
1
public/js/app.js
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
"/js/app.js": "/js/app.js",
|
||||
"/backend/publish/datasetPublish.js": "/backend/publish/datasetPublish.js",
|
||||
"/js/dataTable.js": "/js/dataTable.js"
|
||||
}
|
||||
|
|
22
resources/assets/js/app.js
Normal file
22
resources/assets/js/app.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
/**
|
||||
* First we will load all of this project's JavaScript dependencies which
|
||||
* includes Vue and other libraries. It is a great starting point when
|
||||
* building robust, powerful web applications using Vue and Laravel.
|
||||
*/
|
||||
|
||||
require('./bootstrap');
|
||||
|
||||
window.Vue = require('vue');
|
||||
|
||||
/**
|
||||
* Next, we will create a fresh Vue application instance and attach it to
|
||||
* the page. Then, you may begin adding components to this application
|
||||
* or customize the JavaScript scaffolding to fit your unique needs.
|
||||
*/
|
||||
|
||||
Vue.component('my-vuetable', require('./components/MyVuetable.vue'));
|
||||
|
||||
const app = new Vue({
|
||||
el: '#app'
|
||||
});
|
18
resources/assets/js/components/MyVuetable.vue
Normal file
18
resources/assets/js/components/MyVuetable.vue
Normal file
|
@ -0,0 +1,18 @@
|
|||
// MyVuetable.vue
|
||||
|
||||
<template>
|
||||
<vuetable ref="vuetable"
|
||||
api-url="https://vuetable.ratiw.net/api/users"
|
||||
:fields="['name', 'email', 'birthdate']"
|
||||
></vuetable>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Vuetable from "vuetable-2/src/components/Vuetable";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Vuetable
|
||||
}
|
||||
};
|
||||
</script>
|
|
@ -1,5 +1,5 @@
|
|||
<div class="sidebar-simplesearch">
|
||||
{!! Form::open(array('route' => 'queries','method' => 'POST', 'class'=>'pure-form')) !!}
|
||||
{!! Form::open(array('route' => 'frontend.queries','method' => 'POST', 'class'=>'pure-form')) !!}
|
||||
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
|||
}
|
||||
?>
|
||||
|
||||
<a id="link-solrsearch-all-documents" class="link" href="{{ URL::route('queries1',['searchtype' => 'all']) }}"><?= $searchAllDocsText; ?>
|
||||
<a id="link-solrsearch-all-documents" class="link" href="{{ URL::route('frontend.queries1',['searchtype' => 'all']) }}"><?= $searchAllDocsText; ?>
|
||||
</a>
|
||||
<!--<a class="link" href="">'resources.solrsearch_title_latest'</a>-->
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
<div class="pure-u-1 pure-u-md-2-3">
|
||||
<div class="content">
|
||||
<h1>Suche</h1>
|
||||
@include('rdr.solrsearch.simpleSearchForm')
|
||||
@include('frontend.partials.simpleSearchForm')
|
||||
|
||||
<div id="searchbar">
|
||||
@if (isset($results))
|
||||
|
@ -25,7 +25,7 @@
|
|||
@endif
|
||||
|
||||
@if (!is_null($result->getAsset('title_output')))
|
||||
<a href="{{ route('document.show', $result->getId()) }}">
|
||||
<a href="{{ route('frontend.dataset.show', $result->getId()) }}">
|
||||
{{ $result->getAsset('title_output') }}
|
||||
</a>
|
||||
@else
|
||||
|
@ -38,9 +38,9 @@
|
|||
</dt>
|
||||
|
||||
|
||||
@if (!is_null($result->getAsset( 'author' )))
|
||||
@if (!is_null($result->getAsset('author')))
|
||||
<dt class="results_author">
|
||||
@foreach($result->getAsset( 'author' ) as $authorIndex => $author)
|
||||
@foreach($result->getAsset('author') as $authorIndex => $author)
|
||||
<a>{{ htmlspecialchars($author)}}</a>
|
||||
@endforeach
|
||||
</dt>
|
||||
|
@ -55,7 +55,7 @@
|
|||
</div>
|
||||
@endif
|
||||
|
||||
@include('rdr.solrsearch.pagination')
|
||||
@include('frontend.solrsearch.pagination')
|
||||
</div>
|
||||
|
||||
</div>
|
|
@ -18,5 +18,4 @@
|
|||
</strong>
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
|
@ -99,11 +99,11 @@
|
|||
</p>-->
|
||||
</div>
|
||||
<div class="pure-u-1 pure-u-md-1-4 footer-funded">
|
||||
@role('administrator')
|
||||
{{-- @role('administrator')
|
||||
I'm an administrator!
|
||||
@else
|
||||
I'm not an administrator...
|
||||
@endrole
|
||||
@endrole --}}
|
||||
</div>
|
||||
<div class="pure-u-1 pure-u-md-1-4 footer-funded">
|
||||
</div>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<div id="topmenu-inner">
|
||||
<nav class="pure-menu pure-menu-open pure-menu-horizontal">
|
||||
<ul class="pure-menu-list">
|
||||
<li class="pure-menu-item {{ Route::currentRouteName() == 'home.index' ? 'active' : '' }}">
|
||||
<li class="pure-menu-item {{ Route::currentRouteName() == 'frontend.home.index' ? 'active' : '' }}">
|
||||
<a class="pure-menu-link" href="{{ url('/') }}">HOME</a>
|
||||
</li>
|
||||
|
||||
|
@ -51,8 +51,8 @@
|
|||
|
||||
@else
|
||||
|
||||
<li class="pure-menu-item {{ Route::currentRouteName() == 'search.index' ? 'active' : '' }}">
|
||||
<a class="pure-menu-link" href="{{ route('search.index') }}">
|
||||
<li class="pure-menu-item {{ Route::currentRouteName() == 'frontend.search.index' ? 'active' : '' }}">
|
||||
<a class="pure-menu-link" href="{{ route('frontend.search.index') }}">
|
||||
<i class="fa fa-search" aria-hidden="true"></i>
|
||||
SEARCH
|
||||
</a>
|
||||
|
|
|
@ -35,8 +35,11 @@
|
|||
{{-- <input name="rights" value="0" type="hidden"> --}}
|
||||
<label>
|
||||
<input class="form-checkbox" name="rights" id="rights" type="checkbox" v-model="dataset.rights" true-value="1" false-value="0">
|
||||
<p>
|
||||
I accept {!! link_to_route('frontend.pages.show', trans('validation.attributes.backend.create-dataset.terms_and_conditions').'*', ['page_slug'=>'terms-and-conditions']) !!}
|
||||
<p>
|
||||
I accept
|
||||
<a target="_blank" href="{{ route("frontend.pages.show", ['page_slug'=>'terms-and-conditions']) }}">
|
||||
{!! trans('validation.attributes.backend.create-dataset.terms_and_conditions').'*' !!}
|
||||
</a>
|
||||
</p>
|
||||
</label>
|
||||
</div>
|
||||
|
|
28
resources/views/welcome.blade.php
Normal file
28
resources/views/welcome.blade.php
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!doctype html>
|
||||
<html lang="{{ app()->getLocale() }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<!-- CSRF Token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>{{ config('app.name', 'Laravel') }}</title>
|
||||
|
||||
<!-- Fonts -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
|
||||
|
||||
<!-- Styles -->
|
||||
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<div class="container">
|
||||
<my-vuetable></my-vuetable>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="{{ asset('js/app.js') }}"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -190,7 +190,7 @@ Route::group(['middleware' => ['permission:settings']], function () {
|
|||
]);
|
||||
});
|
||||
|
||||
//=================================================home fronmtend controller=======================================
|
||||
//=================================================home frontend controller=======================================
|
||||
/*
|
||||
* Frontend Routes
|
||||
* Namespaces indicate folder structure
|
||||
|
@ -230,23 +230,20 @@ Route::group(['namespace' => 'Frontend', 'as' => 'frontend.'], function () {
|
|||
* Show pages
|
||||
*/
|
||||
Route::get('pages/{slug}', 'HomeController@showPage')->name('pages.show');
|
||||
|
||||
//=================================================solr search====================================================
|
||||
Route::get('/index', [
|
||||
'as' => 'search.index', 'uses' => 'SearchController@index',
|
||||
]);
|
||||
Route::post('/queries', [
|
||||
'as' => 'queries', 'uses' => 'SearchController@search',
|
||||
]);
|
||||
Route::get('/queries/', [
|
||||
'as' => 'queries1', 'uses' => 'SearchController@search',
|
||||
]);
|
||||
Route::get('/ping', 'SearchController@ping');
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//=================================================solr search====================================================
|
||||
Route::get('/index', [
|
||||
'as' => 'search.index', 'uses' => 'SearchController@index',
|
||||
]);
|
||||
Route::post('/queries', [
|
||||
'as' => 'queries', 'uses' => 'SearchController@search',
|
||||
]);
|
||||
Route::get('/queries/', [
|
||||
'as' => 'queries1', 'uses' => 'SearchController@search',
|
||||
]);
|
||||
Route::get('/ping', 'SearchController@ping');
|
||||
//=================================================borrow====================================================
|
||||
Route::get('borrow', [
|
||||
'as' => 'borrow.borrow', 'uses' => 'BorrowController@index',
|
||||
|
|
|
@ -15,10 +15,11 @@ let mix = require('laravel-mix');
|
|||
// .sass('resources/assets/sass/app1.scss', 'public/css')
|
||||
|
||||
mix.js('resources/assets/js/datasetPublish.js', 'public/backend/publish')
|
||||
.js('resources/assets/js/app.js', 'public/js')
|
||||
.scripts([
|
||||
'node_modules/datatables.net/js/jquery.dataTables.js',
|
||||
'node_modules/datatables.net/js/jquery.dataTables.js',
|
||||
'node_modules/datatables.net-buttons/js/dataTables.buttons.js',
|
||||
'node_modules/datatables.net-buttons/js/buttons.flash.js',
|
||||
'node_modules/datatables.net-buttons/js/buttons.flash.js',
|
||||
'node_modules/datatables.net-buttons/js/buttons.html5.js',
|
||||
'node_modules/datatables.net-buttons/js/buttons.print.js',
|
||||
], 'public/js/dataTable.js');
|
||||
|
|
Loading…
Reference in New Issue
Block a user