mirror of
https://github.com/techgaun/active-forks.git
synced 2024-11-14 00:01:11 +01:00
Merge pull request #9 from alcar/feature/direct-links
Replace query string handling with hash logic
This commit is contained in:
commit
42babe6ec8
1 changed files with 10 additions and 14 deletions
24
js/main.js
24
js/main.js
|
@ -1,7 +1,8 @@
|
|||
window.addEventListener('load', () => {
|
||||
initDT() // Initialize the DatatTable and window.columnNames variables
|
||||
|
||||
const repo = getQueryParams().q;
|
||||
const repo = getRepoFromUrl();
|
||||
|
||||
if (repo) {
|
||||
document.getElementById('q').value = repo;
|
||||
fetchData();
|
||||
|
@ -17,7 +18,11 @@ function fetchData() {
|
|||
const repo = document.getElementById('q').value;
|
||||
const re = /[-_\w]+\/[-_.\w]+/;
|
||||
|
||||
window.history.pushState('', '', `?q=${repo}`);
|
||||
const urlRepo = getRepoFromUrl();
|
||||
|
||||
if (!urlRepo || urlRepo !== repo) {
|
||||
window.history.pushState('', '', `/#${repo}`);
|
||||
}
|
||||
|
||||
if (re.test(repo)) {
|
||||
fetchAndShow(repo);
|
||||
|
@ -156,19 +161,10 @@ function showData(data) {
|
|||
document.getElementById('footer').innerHTML = `${data.length} ${data.length == 1 ? 'result' : 'results'}`;
|
||||
}
|
||||
|
||||
function getQueryParams() {
|
||||
let query = location.search;
|
||||
if (!query) {
|
||||
return { };
|
||||
}
|
||||
function getRepoFromUrl() {
|
||||
const urlRepo = location.hash && location.hash.slice(1);
|
||||
|
||||
return (/^[?#]/.test(query) ? query.slice(1) : query)
|
||||
.split('&')
|
||||
.reduce((params, param) => {
|
||||
let [ key, value ] = param.split('=');
|
||||
params[key] = value ? decodeURIComponent(value.replace(/\+/g, ' ')) : '';
|
||||
return params;
|
||||
}, { });
|
||||
return urlRepo && decodeURIComponent(urlRepo);
|
||||
}
|
||||
|
||||
function timeSince(date_str) {
|
||||
|
|
Loading…
Reference in a new issue