summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--install/static/index.xhtml17
-rw-r--r--install/static/ipa.js63
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);
}