parent
70a4e9fa08
commit
5006a09f11
@ -0,0 +1,13 @@ |
|||||||
|
PageNotFound.prototype.Main = function () { |
||||||
|
$('#404-modal').modal('setting', 'closable', false).modal('show'); |
||||||
|
}; |
||||||
|
|
||||||
|
function gotoDash() { |
||||||
|
$('#404-modal').modal('hide'); |
||||||
|
router.navigate('Testing/Bob'); |
||||||
|
} |
||||||
|
|
||||||
|
function goBack() { |
||||||
|
$('#404-modal').modal('hide'); |
||||||
|
history.back(); |
||||||
|
} |
||||||
@ -0,0 +1,6 @@ |
|||||||
|
Testing.prototype.Main = function() { |
||||||
|
let dp = new tts.DeferredPromise(); |
||||||
|
alert("HI"); |
||||||
|
dp.resolve("All Done"); |
||||||
|
return dp; |
||||||
|
}; |
||||||
@ -0,0 +1,188 @@ |
|||||||
|
/* Was this Asset loaded yet, and did the PHP Footer file find this Asset */ |
||||||
|
function doesAssetExists(filename) { |
||||||
|
let dfd = new tts.DeferredPromise(); |
||||||
|
if ( hasLoaded(filename) === true ) { |
||||||
|
dfd.resolve("loaded"); |
||||||
|
return dfd; |
||||||
|
} |
||||||
|
var exists = false; |
||||||
|
for (i = 0; i < assets_files.length; i++) { |
||||||
|
if (filename == assets_files[i].filename) { |
||||||
|
debug_print('Loading: ' + filename) |
||||||
|
dfd.resolve(assets_files[i].ts); |
||||||
|
include_once_files.push(filename); |
||||||
|
exists = true; |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
if (exists === false) { |
||||||
|
dfd.reject("skipped"); |
||||||
|
} |
||||||
|
return dfd; |
||||||
|
} |
||||||
|
/** |
||||||
|
* @todo Finsh this FN |
||||||
|
*/ |
||||||
|
/* Helper method to apply CSS dynamicly */ |
||||||
|
function apply_css(href, version) { |
||||||
|
var dfd_css = new tts.DeferredPromise(); |
||||||
|
tts.getAsset({name: href, path: ajax_folder, ts: version}).then(val=>{ |
||||||
|
dfd_css.resolve("Loaded CSS"); |
||||||
|
}).catch(function (err) { |
||||||
|
dfd_css.reject(err); |
||||||
|
}); |
||||||
|
return dfd_css; |
||||||
|
} |
||||||
|
|
||||||
|
/* Run Main method on Class File */ |
||||||
|
function do_run_main(obj, req) { |
||||||
|
var dfd_run_main = new tts.DeferredPromise(); |
||||||
|
if (obj['Main']) { |
||||||
|
tts.when([obj['Main']()]).then(function () { |
||||||
|
debug_print(obj.constructor.name + ' Main complete'); |
||||||
|
dfd_run_main.resolve("Main_ajax_complete"); |
||||||
|
}); |
||||||
|
} else { |
||||||
|
debug_print(obj.constructor.name + " MAIN FN not found!"); |
||||||
|
dfd_run_main.reject('Main FN not found!'); |
||||||
|
} |
||||||
|
return dfd_run_main; |
||||||
|
} |
||||||
|
|
||||||
|
/* This will Run JS code for Tabs! */ |
||||||
|
function do_run(obj, req) { |
||||||
|
var dfd_run = new tts.DeferredPromise(); |
||||||
|
if (obj[req.params.tab]) { |
||||||
|
tts.when([obj[req.params.tab]()]).then(function () { |
||||||
|
debug_print(obj.constructor.name + ' ' + req.params.tab + ' complete'); |
||||||
|
dfd_run.resolve("fn_ajax_complete"); |
||||||
|
}); |
||||||
|
} else if ( is_404(req.params.tab) ) { |
||||||
|
console.log(obj.constructor.name + " " + req.params.tab + " tab FN not found!"); |
||||||
|
do_404_page(); |
||||||
|
dfd_run.reject('FN not found!');
|
||||||
|
} else { |
||||||
|
dfd_run.resolve("empty_page"); /* Known empty page */ |
||||||
|
} |
||||||
|
return dfd_run; |
||||||
|
} |
||||||
|
|
||||||
|
/* Just checks if file has been loaded once yet */ |
||||||
|
var include_once_files = []; |
||||||
|
function hasLoaded(file) { |
||||||
|
if (include_once_files.indexOf(file) === -1) { |
||||||
|
return false; |
||||||
|
} else { |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/* JS Loader */ |
||||||
|
function loadJS(scriptFile, version, obj, req, fn) { |
||||||
|
var method_fn = window[fn]; |
||||||
|
var dfd_loadjs = new tts.DeferredPromise(); |
||||||
|
|
||||||
|
tts.getAsset({name: scriptFile + version, path: ajax_folder, ts: version}).then(val=>{ |
||||||
|
tts.when([method_fn(obj, req)]).then(function() { |
||||||
|
dfd_loadjs.resolve("js_complete"); |
||||||
|
}).catch(function (exception) { |
||||||
|
method_fn(obj, req); |
||||||
|
dfd_loadjs.reject('Something went wrong'); |
||||||
|
console.warn("Something went wrong: " + exception);
|
||||||
|
}); |
||||||
|
return dfd_loadjs;
|
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/* Does Class StartUp, CSS, and JS - After Main JS has completed loading... */ |
||||||
|
function do_other_FN(obj, req) { |
||||||
|
var className = obj.constructor.name; |
||||||
|
if (obj['StartUp']) { |
||||||
|
obj['StartUp'](); |
||||||
|
} |
||||||
|
var Script_File = className + "-" + req.params.tab + ".js"; |
||||||
|
var CSS_File = className + "-" + req.params.tab + ".css"; |
||||||
|
var MainCSS_File = className + "-Main.css";
|
||||||
|
var dfdScript = doesAssetExists(Script_File); |
||||||
|
dfdScript.then(function (versionNumber) { |
||||||
|
if (versionNumber === 'loaded') { |
||||||
|
do_run(obj, req); |
||||||
|
} else { |
||||||
|
loadJS(Script_File, versionNumber, obj, req, 'do_run'); |
||||||
|
} |
||||||
|
}).catch(function (err) { |
||||||
|
do_run(obj, req); |
||||||
|
}); |
||||||
|
|
||||||
|
var Main_dfd_CSS = doesAssetExists(MainCSS_File); |
||||||
|
Main_dfd_CSS.then(function (versionNumber) { |
||||||
|
if (versionNumber !== 'loaded') { |
||||||
|
var applied_main_css = apply_css(MainCSS_File, versionNumber); |
||||||
|
tts.when([applied_main_css]).then(function() { |
||||||
|
Main_dfd_CSS.resolve("Added main css"); |
||||||
|
}); |
||||||
|
} |
||||||
|
}).catch(function (err) { |
||||||
|
Main_dfd_CSS.reject(err); |
||||||
|
}); |
||||||
|
|
||||||
|
var dfdCSS = doesAssetExists(CSS_File); |
||||||
|
dfdCSS.then(function (versionNumber) { |
||||||
|
if (versionNumber !== 'loaded') { |
||||||
|
var applied_css = apply_css(CSS_File, versionNumber); |
||||||
|
tts.when([applied_main_css]).then(function() { |
||||||
|
dfdCSS.resolve("Added CSS"); |
||||||
|
}); |
||||||
|
} |
||||||
|
}).catch(function (err) { |
||||||
|
dfdCSS.reject(err); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/* This is the core loader for Tabs and Main Route */ |
||||||
|
var cloneObject = {}; |
||||||
|
function do_tabs(className, req) { |
||||||
|
var myclass = window[className]; |
||||||
|
var obj = new myclass(req); |
||||||
|
cloneObject = obj; |
||||||
|
var MainScript_File = className + "-Main.js"; |
||||||
|
var Main_dfd_Script = doesAssetExists(MainScript_File); |
||||||
|
Main_dfd_Script.then(function (versionNumber) { |
||||||
|
if (versionNumber === 'loaded') { |
||||||
|
var dfd_main_code = do_run_main(obj, req); |
||||||
|
tts.when([dfd_main_code]).then(function () { do_other_FN(obj, req); }); |
||||||
|
} else { |
||||||
|
var dfd_main_code = loadJS(MainScript_File, versionNumber, obj, req, 'do_run_main'); |
||||||
|
tts.when([dfd_main_code]).then(function () { do_other_FN(obj, req); }); |
||||||
|
} |
||||||
|
}).catch(function (err) { |
||||||
|
var dfd_main_code = do_run_main(obj, req); |
||||||
|
tts.when([dfd_main_code]).then(function () { do_other_FN(obj, req); }); |
||||||
|
}); |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
/* Load 404 JS for doing 404 Page */ |
||||||
|
function do_404_page() { |
||||||
|
var ErrorScript_File = "PageNotFound-Main.js"; |
||||||
|
var err_page = new PageNotFound(false); |
||||||
|
if ( hasLoaded(ErrorScript_File) === true ) { |
||||||
|
err_page.Main(); |
||||||
|
} else { |
||||||
|
tts.getAsset({name: ErrorScript_File, path: ajax_folder}).then(val=>{ |
||||||
|
include_once_files.push(ErrorScript_File); |
||||||
|
err_page.Main(); |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/* Is 404 on, if so does Tab Method/File exists, if not was an exception made */ |
||||||
|
function is_404(tab_name) { |
||||||
|
if (do_404_page_on_bad_tabs === false) return false; /* Is 404 off?? */ |
||||||
|
for (i = 0; i < empty_tab_pages.length; i++) { |
||||||
|
if (empty_tab_pages[i] == tab_name) { |
||||||
|
return false; /* Found allowed empty tab page */ |
||||||
|
} |
||||||
|
} |
||||||
|
return true; /* Unable to find tab page hash in allowed list */ |
||||||
|
} |
||||||
Loading…
Reference in new issue