Skip to content
Snippets Groups Projects
Commit a34b52d5 authored by Moises Sacal's avatar Moises Sacal
Browse files

organised files, added numFound

parent db74c69d
No related merge requests found
Showing with 68 additions and 54 deletions
File moved
const Header = require('./views/header');
const Main = require('./views/main');
const Footer = require('./views/footer');
const Search = require('./views/search');
const ViewDoc = require('./views/ViewDoc');
const ViewError = require('./views/ViewError');
const delegate = require('./Delegate');
const solrService = require('./SolrService');
const RegisterEvents = function (state) {
const renderApp = function (data, into) {
into.innerHTML = [Header(data), Search(data), Main(data), Footer(data)].join('');
};
const app = document.querySelector('#app');
delegate('#app', 'click', '#search-text', async () => {
const search = document.querySelector('#text-to-search');
const {data, status} = await solrService.search({api: state.config.api}, search.value);
state.main.docs = data.docs;
state.main.numFound = data.numFound;
renderApp(state, app);
});
delegate('#app', 'keyup', '#text-to-search', async (event) => {
if (event.keyCode === 13) {
event.preventDefault();
const search = document.querySelector('#text-to-search');
const {data, status} = await solrService.search({api: state.config.api}, search.value);
state.main.docs = data.docs;
state.main.numFound = data.numFound;
renderApp(state, app);
}
});
delegate('#app', 'click', '#search-text-1', async () => {
const search = document.querySelector('#text-to-search');
const {data, status} = await solrService.search({api: state.config.api}, search.value);
state.main.docs = data;
renderApp(state, app);
});
};
module.exports = RegisterEvents;
\ No newline at end of file
const Header = require('./header');
const Main = require('./main');
const Footer = require('./footer');
const Search = require('./search');
const ViewDoc = require('./ViewDoc');
const ViewError = require('./ViewError');
const solrService = require('../lib/SolrService');
const Header = require('./views/header');
const Main = require('./views/main');
const Footer = require('./views/footer');
const Search = require('./views/search');
const ViewDoc = require('./views/ViewDoc');
const ViewError = require('./views/ViewError');
const solrService = require('./SolrService');
const Router = async function (state) {
const route = window.location.hash;
......@@ -26,7 +26,8 @@ const Router = async function (state) {
} else {
const {data, status} = await solrService.searchAll({api: state.config.api});
if (status === 200) {
state.main.docs = data;
state.main.docs = data.docs;
state.main.numFound = data.numFound;
app.innerHTML = [Header(state), Search(state), Main(state), Footer(state)].join('');
} else {
app.innerHTML = [Header(state), Search(state), ViewError(state), Footer(state)].join('');
......
......@@ -5,7 +5,7 @@ const SolrService = {
try {
const req = await axios.get(`${config.api}/select?q=*%3A*`);
if (req.data) {
return {data: req.data['response']['docs'], status: req.status};
return {data: req.data['response'], status: req.status};
} else {
return {data: [], status: req.status};
}
......@@ -36,7 +36,7 @@ const SolrService = {
data = encodeURIComponent(`${data}`);
const req = await axios.get(`${config.api}/${param}${data}`);
if (req.data) {
return {data: req.data['response']['docs'], status: req.status};
return {data: req.data['response'], status: req.status};
} else {
return {data: [], status: req.status};
}
......
File moved
File moved
File moved
File moved
const $ = require("jquery");
const ListDocs = require('./ListDocs');
const Main = function (data) {
let html = '';
html = [ListDocs(data)].join('');
html += `<div class="container">
<br/>
<div class="text-center">
<p>Results: ${data.main.numFound}</p>
</div>`;
return html;
};
......
File moved
File moved
File moved
......@@ -8,7 +8,6 @@ const ViewSubDoc = function (ele) {
const dummy = $('<div>');
const sub = $('<div>');
const a = $('<a>');
console.log(ele);
ele = JSON.parse(ele);
const href = `/#view/${ele['@id']}`;
a.attr('href', href);
......@@ -16,7 +15,6 @@ const ViewSubDoc = function (ele) {
a.text(ele['name']);
a.addClass("link");
sub.append(a);
console.log(a.html());
dummy.append(sub);
return dummy;
} else {
......
File moved
......@@ -4,17 +4,11 @@ import 'bootstrap';
import './styles/styles.scss';
import './images/logo.svg';
const delegate = require('./lib/Delegate');
const solrService = require('./lib/SolrService');
const config = require('../config.json');
//App view components
const Header = require('./components/header');
const Main = require('./components/main');
const Footer = require('./components/footer');
const Search = require('./components/search');
const Router = require('./components/Router');
const RegisterEvents = require('./components/RegisterEvents');
//Default state
let state = {
......@@ -22,7 +16,7 @@ let state = {
title: 'Data Portal',
URL: '/',
logo: 'images/logo.svg',
help: 'help',
help: 'Help',
helpURL: '',
portal: 'Back to Stash',
portalURL: 'http://stash.research.uts.edu.au',
......@@ -36,42 +30,14 @@ let state = {
searchText: 'Search'
},
main: {
docs: []
docs: [],
doc: {},
numFound: 0
},
config: config
};
const renderApp = function (data, into) {
into.innerHTML = [Header(data), Search(data), Main(data), Footer(data)].join('');
};
const app = document.querySelector('#app');
// Register Events
delegate('#app', 'click', '#search-text', async () => {
const search = document.querySelector('#text-to-search');
const {data, status} = await solrService.search({api: state.config.api}, search.value);
state.main.docs = data;
renderApp(state, app);
});
delegate('#app', 'keyup', '#text-to-search', async (event) => {
if (event.keyCode === 13) {
event.preventDefault();
const search = document.querySelector('#text-to-search');
const {data, status} = await solrService.search({api: state.config.api}, search.value);
state.main.docs = data;
renderApp(state, app);
}
});
delegate('#app', 'click', '#search-text-1', async () => {
const search = document.querySelector('#text-to-search');
const {data, status} = await solrService.search({api: state.config.api}, search.value);
state.main.docs = data;
renderApp(state, app);
});
RegisterEvents(state);
window.onhashchange = main;
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment