Browse Source

loading thingy

master
wes 9 years ago
parent
commit
3567bf2e0f
  1. 10
      src/scripts/results.tag
  2. 2
      src/scripts/search.js
  3. 1
      src/scripts/search.tag

10
src/scripts/results.tag

@ -1,14 +1,22 @@
<results> <results>
<div class="courses container"> <div if={notLoading} class="courses container">
<row class="course-row columns" each={ rows } data="{ this }" classrow={ row }></row> <row class="course-row columns" each={ rows } data="{ this }" classrow={ row }></row>
</div> </div>
this.rows = []; this.rows = [];
var self = this; var self = this;
results_passer.on("loading",
function() {
self.notLoading = false;
self.update();
});
results_passer.on("new_results", results_passer.on("new_results",
function(data) { function(data) {
console.log("new search results detected"); console.log("new search results detected");
console.log(data); console.log(data);
self.rows = data; self.rows = data;
self.notLoading = true;
self.update(); self.update();
}); });
</results> </results>

2
src/scripts/search.js

@ -49,7 +49,7 @@ function ResultsPasser() {
var results_passer = new ResultsPasser(); var results_passer = new ResultsPasser();
riot.mount("search", {booksLoading : false}); riot.mount("search", {booksLoading : false});
riot.mount("results"); riot.mount("results", {notLoading : true});
function autocomplete(element, endpoint) { function autocomplete(element, endpoint) {
// The element should be an input class // The element should be an input class

1
src/scripts/search.tag

@ -24,6 +24,7 @@ function submit(ev) {
console.log("submitted"); console.log("submitted");
this.booksLoading = true; this.booksLoading = true;
this.update(); this.update();
results_passer.trigger("loading");
var params = $(ev.currentTarget).serialize(); var params = $(ev.currentTarget).serialize();
$.getJSON("/search/fc?"+params, $.getJSON("/search/fc?"+params,
(function(courses) { (function(courses) {

Loading…
Cancel
Save