Skip to content

Commit

Permalink
Redo some search stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
Cocoa committed Mar 24, 2024
1 parent 265313c commit a739698
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 20 deletions.
18 changes: 0 additions & 18 deletions resources/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,21 +79,3 @@ $(() => {
const image = document.head.querySelector('meta[name="default-image"]');

window.defaultImage = image ? image.content : '/images/default.png';



// /**
// * 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('v-pagination', require('./components/Pagination.vue').default);
// Vue.component('search-page', require('./components/Search.vue').default);
// Vue.component('v-select', require('vue-select').VueSelect);
// Vue.component('b-form-radio-group', require('bootstrap-vue').BFormRadioGroup);
// Vue.component('search-result', require('./components/Result.vue').default);

// const app = new Vue({
// el: '#app'
// });
16 changes: 14 additions & 2 deletions resources/js/search.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,17 @@ import Slider from "bootstrap-slider";
searchJs.triggerSearch(evt);
});

$('#search-results')
.on('click', '.page-link', (evt) => {
searchJs.triggerSearch(evt);
});

$('.match_type input:radio, .year_match_type input:radio')
.on('click', (evt) => {
$(evt.currentTarget).parent().parent().find('label').removeClass('active');
$(evt.currentTarget).parent().addClass('active');
searchJs.doSearch();
})
});


$('#search').on('keypress', (evt) => {
Expand Down Expand Up @@ -80,11 +85,14 @@ import Slider from "bootstrap-slider";
doSearch: () => {
let form = document.getElementById('search-form');
let form_values = searchJs.getFormValues();
let page = document.getElementById('search-page').value;
searchJs.loader.css('display', 'block');
searchJs.results.css('display', 'none');
searchJs.error.css('display', 'none');
let form_data = new FormData(form);
form_data.set('page', page);
window.history.pushState(null, null, '/search/?' + $.param(form_values));
fetch('/search', { method: "POST", headers: searchJs.headers, body: new FormData(form)})
fetch('/search', { method: "POST", headers: searchJs.headers, body: form_data})
.then((response) => {
if (response.ok) {
return response.text()
Expand Down Expand Up @@ -137,6 +145,10 @@ import Slider from "bootstrap-slider";
},
getFormValues: () => {
let form_values = $('#search-form').serializeArray();
let page = $('#search-page').val();
if (page && page > 1) {
form_values.push({name: "page", value: page.toString()});
}
let exclude_matching = ['search'];
let filter_names = form_values.map((form_obj) => form_obj.name.replace('[]', ''));
return form_values.filter((form_obj) => {
Expand Down
1 change: 1 addition & 0 deletions resources/views/components/search-results.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@

@if ($items->count() > 0)
{{ $items->links() }}
<input type="hidden" id="search-page" value="{{ $items->meta->current_page }}">
@endif

0 comments on commit a739698

Please sign in to comment.