Initial checkin

This commit is contained in:
Joe
2017-02-07 12:55:56 -06:00
commit b557c002ae
44 changed files with 15499 additions and 0 deletions

56
js/router.js Normal file
View File

@@ -0,0 +1,56 @@
/*globals $,ibuyproperties,window*/
ibuyproperties.router=(function(){
var allRoutes=[];
function route() {
var hash = window.location.hash;
var lastLocation = null;
if (!hash) {
window.location.hash = "#Home";
}
if (lastLocation != hash) {
this.lastLocation=hash;
// Generic routing based on template names
$.each(ibuyproperties.templates.getType("mainPages"),function(pos,name){
var re=new RegExp("^#" + name + "[/]*");
if (ibuyproperties.isDebugMode) { console.log("Generic Router - test ",name);}
// debugger;
if (hash.match(re)) {
if (ibuyproperties.isDebugMode) { console.log("Generic Router - match ",name);}
if ($("#pnl_" +name).length === 0) {
$("#content").empty().append(ibuyproperties.templateHelper.get(name)({templateName:name}));
}
ibuyproperties.navShow('mainScreen',name);
$('.in,.open').removeClass('in open');
}
});
// Dynamic route handling
$.each(allRoutes,function(pos,theRoute){
if (ibuyproperties.isDebugMode) { console.log("Dynamic Router - test ",hash ,theRoute);}
var re=new RegExp(theRoute.re);
if (hash.match(re)) {
if (ibuyproperties.isDebugMode) { console.log("Dynamic Router - match ",hash,theRoute);}
theRoute.cb.call();
return false; // exit the loop
}
});
}
}
function addRoute(re, callBack){
var theRoute={re:re,cb:callBack};
allRoutes.push(theRoute);
}
return {
route:route,
addRoute:addRoute
};
}());