diff options
-rw-r--r-- | install/static/index.xhtml | 17 | ||||
-rw-r--r-- | install/static/ipa.js | 63 |
2 files changed, 46 insertions, 34 deletions
diff --git a/install/static/index.xhtml b/install/static/index.xhtml index b22a5bacc..e94e6d18e 100644 --- a/install/static/index.xhtml +++ b/install/static/index.xhtml @@ -7,6 +7,14 @@ <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.cookie.js"></script> + + <script type="text/javascript"> + /* the develop.js file that follows will set this to true. + that file should only exist in the source file system + and should not get deployed to the web server */ + var useSampleData = false; + </script> + <script type="text/javascript" src="ipa.js" /> <script type="text/javascript" src="pageparams.js" /> @@ -25,7 +33,10 @@ <script type="text/javascript"> $(document).ready(function(){ - buildNavigation(); + if (useSampleData) + ipa_init(sampleData, buildNavigation); + else + ipa_init(null, buildNavigation); }); </script> @@ -49,8 +60,8 @@ </div> <div id="search" style="visibility:hidden"> - <div id="searchControls" class="searchControls" > - <span id="filter" class="filter" > + <div class="searchControls" > + <span class="filter" > <input id="queryFilter" type="text"/> <input id="query" type="submit" value="find" /> <input id="new" type="submit" value="new" /> diff --git a/install/static/ipa.js b/install/static/ipa.js index 8fba8fb4c..d1f9fe59c 100644 --- a/install/static/ipa.js +++ b/install/static/ipa.js @@ -18,17 +18,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - - -//the develop.js file that follows will set this to true. -//that file should only exist in the source file system -//and should not get deployed to the web server -var useSampleData = false; - - -//Maximum number of records to return on any query. -var sizelimit=100; - /* IPA JSON-RPC helper */ /* JSON-RPC ID counter */ @@ -37,11 +26,35 @@ var ipa_jsonrpc_id = 0; /* IPA objects data in JSON format */ var ipa_objs = {}; +var _ipa_init_on_win_callback = null; /* initialize the IPA JSON-RPC helper * arguments: * url - JSON-RPC URL to use (optional) */ -function ipa_init(url) +function ipa_init(url, on_win) { + if (!url) + url = '/ipa/json'; + + _ipa_init_on_win_callback = on_win; + + var options = { + url: url, + type: 'POST', + contentType: 'application/json', + dataType: 'json', + processData: false, + }; + + $.ajaxSetup(options); + + ipa_cmd('json_metadata', [], {}, _ipa_load_objs); +} + +function _ipa_load_objs(data, textStatus, xhr) +{ + ipa_objs = data.result.result; + if (_ipa_init_on_win_callback) + _ipa_init_on_win_callback(data, textStatus, xhr); } /* call an IPA command over JSON-RPC @@ -58,31 +71,19 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname) if (objname) name = objname + '_' + name; - options.sizelimit = sizelimit; - var data = { method: name, params: [args, options], id: id, }; - var jsonUrl = '/ipa/json'; - if (useSampleData){ - jsonUrl = sampleData; - } - $.ajax({ - beforeSend: function(xhrObj){ - xhrObj.setRequestHeader("Content-Type","application/json"); - xhrObj.setRequestHeader("Accept","application/json"); - }, - type: "POST", - url: jsonUrl, - processData: false, - data: JSON.stringify(data), - dataType: "json", - success: win_callback, - error: fail_callback, - }); + var request = { + data: JSON.stringify(data), + success: win_callback, + error: fail_callback, + }; + + $.ajax(request); return (id); } |