X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=22230d024284950b73c58558f94360f174bcb9f5;hb=a01f87567b8ad321d474caf8a03d5602a067b6fd;hp=10a391562e178ee1d2ce4b64a17816920ada9f7f;hpb=ea2128e0b27d5832ed2c6b85f046fcb1b3e603ff;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 10a3915..22230d0 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -1,5 +1,4 @@ -/* A very simple client that shows a basic usage of the pz2.js -*/ +/*! MKWS, the MasterKey Widget Set. Copyright (C) 2013, Index Data */ "use strict"; // HTML5: disable for debug_level >= 2 @@ -10,17 +9,16 @@ var mkws = { filters: [] }; -/* - * global config object: mkws_config - * - * Needs to be defined in the HTML header before including this JS file. - * Define empty mkws_config for simple applications that don't define it. - */ +// Define empty mkws_config for simple applications that don't define it. if (!mkws_config) var mkws_config = {}; -// Wrapper for jQuery -(function ($) { +// wrapper for jQuery lib +function _mkws($) { + // if (console && console.log) console.log("run _mkws()"); + + // call this function only once + if (mkws.init) return; mkws.locale_lang = { "de": { @@ -89,7 +87,7 @@ mkws.debug_function = function (string) { } var now = $.now(); - var timestamp = (now - mkws.debug_time.start)/1000 + " (+" + (now - mkws.debug_time.last)/1000 + ") " + var timestamp = ((now - mkws.debug_time.start)/1000).toFixed(3) + " (+" + ((now - mkws.debug_time.last)/1000).toFixed(3) + ") " mkws.debug_time.last = now; // you need to disable use strict at the top of the file!!! @@ -101,6 +99,7 @@ mkws.debug_function = function (string) { console.log(timestamp + string); } var debug = mkws.debug_function; // local alias +debug("start running MKWS"); Handlebars.registerHelper('json', function(obj) { @@ -215,7 +214,7 @@ for (var key in mkws_config) { } } - +debug("Create main pz2 object"); // create a parameters array and pass it to the pz2's constructor // then register the form submit event with the pz2.search function // autoInit is set to true on default @@ -422,6 +421,8 @@ function onFormSubmitEventHandler() function newSearch(query, sort, targets) { + debug("newSearch: " + query); + if (mkws_config.use_service_proxy && !mkws.authenticated) { alert("searching before authentication"); return; @@ -904,10 +905,14 @@ function mkws_html_all() { mkws_html_switch(); - if (mkws_config.use_service_proxy) + if (mkws_config.use_service_proxy) { mkws_service_proxy_auth(mkws_config.service_proxy_auth, mkws_config.service_proxy_auth_domain, mkws_config.pazpar2_url); + } else { + // raw pp2 + run_auto_searches(); + } if (mkws_config.responsive_design_width) { // Responsive web design - change layout on the fly based on @@ -932,6 +937,8 @@ function mkws_html_all() { function run_auto_searches() { + debug("run auto searches"); + var node = $('#mkwsRecords'); if (node.attr('autosearch')) { var query = node.attr('autosearch'); @@ -1267,11 +1274,8 @@ function init_popup(obj) { }); }; - - - -/* magic */ -$(document).ready(function() { +// main +(function() { try { mkws_html_all() } @@ -1280,6 +1284,17 @@ $(document).ready(function() { mkws_config.error = e.message; // alert(e.message); } -}); +})(); + // done + mkws.init = true; +}; + + +// wrapper to call _mkws after page load +(function (j) { + $(document).ready(function() { + // if (console && console.log) console.log("on load ready"); + _mkws(j); + }); })(jQuery);