Skip to content

Commit

Permalink
+ JS cleanup / redesign
Browse files Browse the repository at this point in the history
  • Loading branch information
floere committed Oct 16, 2010
1 parent c04484f commit 9dc10e4
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 28 deletions.
4 changes: 2 additions & 2 deletions examples/simple_example/webapp/javascripts/picky.backend.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ var PickyBackend = function(url) {
params = $.extend({ query: query, offset: offset }, specificParams);
// wrap the data before returning it
//
var wrappedCallback = function(data, query) {
var data = new PickyData(data);
var wrappedCallback = function(data_hash, query) {
var data = new PickyData(data_hash);
if (clientCallback) { data = clientCallback(data, query); }
return data;
};
Expand Down
49 changes: 25 additions & 24 deletions examples/simple_example/webapp/javascripts/picky.client.js
Original file line number Diff line number Diff line change
@@ -1,38 +1,39 @@
var PickyClient = function(config) {

this.config = config;
// TODO A bit strange.
//
var controller = config.controller && new config.controller(this, config) || new PickyController(this, config);

this.init = function() {
var controller = config.controller;
this.controller = controller && new controller(this) || new PickyController(this);

var backends = config.backends;
if (backends) {
backends.live || alert('Both a full and live backend must be provided.');
backends.full || alert('Both a full and live backend must be provided.');
} else {
backends = {
live: config.live && new LiveBackend(config.live) || alert('A live backend path must be provided.'),
full: config.full && new FullBackend(config.full) || alert('A live backend path must be provided.')
};
}
this.searchBackends = backends;

Localization.qualifiers = config.qualifiers;
Localization.explanations = config.explanations;
};
// TODO Move to controller?
var backends = config.backends;
if (backends) {
backends.live || alert('Both a full and live backend must be provided.');
backends.full || alert('Both a full and live backend must be provided.');
} else {
backends = {
live: config.live && new LiveBackend(config.live) || alert('A live backend path must be provided.'),
full: config.full && new FullBackend(config.full) || alert('A live backend path must be provided.')
};
}

Localization.qualifiers = config.qualifiers;
Localization.explanations = config.explanations;

// Insert a query into the client and run it.
// Default is a full query.
//
this.insert = function(query, full) {
this.controller.insert(query, full || true);
controller.insert(query, full || true);
};

// Search directly. TODO Remove and only handle through insert?
//
// If the given backend cannot be found, ignore the search request.
//
this.search = function(type, query, callback, offset, specificParams) {
var currentBackend = this.searchBackends[type];
// TODO Handle through controller.
var currentBackend = backends[type];
if (currentBackend) { currentBackend.search(query, callback, offset, specificParams); };
};

this.init();

};
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
var PickyController = function(searchEngine) {
var PickyController = function(searchEngine, config) {

var config = searchEngine.config;
var beforeCallback = config.before || function(params, query, offset) { };
var successCallback = config.success || function(data, query) { };
var afterCallback = config.after || function(data, query) { };

// TODO This is actually a client.
// Replace this with the search engine.
//
var searchEngine = searchEngine;
var view = new PickyView(this, config);

Expand Down

0 comments on commit 9dc10e4

Please sign in to comment.