On 11/03/2010 08:33 AM, Endi Sukma Dewata wrote:
On 11/2/2010 2:33 PM, Adam Young wrote:
While this doesn't fix all of the jslint complaints for ipa.js, it fixes
the worst offenders.

Nearly ACKed... is there such thing? :)

The IPA and ipa_cmd are defined twice.

+var IPA;
+var ipa_cmd;

+var IPA = ( function () {
function ipa_cmd(name, args, options, win_callback, fail_callback, objname)

Fixed
From 530398ab623d088e2edbe7f424366c94c6e4870f Mon Sep 17 00:00:00 2001
From: Adam Young <ayo...@redhat.com>
Date: Mon, 1 Nov 2010 16:32:07 -0400
Subject: [PATCH] jslint cleanup

---
 install/static/ipa.js |  156 +++++++++++++++++++++++--------------------------
 1 files changed, 74 insertions(+), 82 deletions(-)

diff --git a/install/static/ipa.js b/install/static/ipa.js
index d1558ee..18833e6 100644
--- a/install/static/ipa.js
+++ b/install/static/ipa.js
@@ -18,16 +18,17 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */
 
-/* IPA JSON-RPC helper */
 
-var IPA_DEFAULT_JSON_URL = '/ipa/json';
-
-/* JSON-RPC ID counter */
-var ipa_jsonrpc_id = 0;
+/*global $:true, location:true */
 
-var IPA = function() {
+/*Forward defined due to circular dependency with IPA.*/
+var ipa_cmd;
+var IPA_DEFAULT_JSON_URL = '/ipa/json';
+var IPA = ( function () {
 
-    var that = {};
+    var that = {
+        jsonrpc_id: 0
+    };
 
     that.json_url = null;
     that.use_static_files = false;
@@ -53,42 +54,46 @@ var IPA = function() {
     /* initialize the IPA JSON-RPC helper
      * arguments:
      *   url - JSON-RPC URL to use (optional) */
-    that.init = function(url, use_static_files, on_success, on_error) {
-        if (url)
+    that.init = function (url, use_static_files, on_success, on_error) {
+        if (url) {
             that.json_url = url;
+        }
 
-        if (use_static_files)
+        if (use_static_files) {
             that.use_static_files = use_static_files;
+        }
 
         $.ajaxSetup(that.ajax_options);
 
         ipa_cmd('json_metadata', [], {},
-            function(data, text_status, xhr) {
+            function (data, text_status, xhr) {
                 that.metadata = data.result.metadata;
                 that.messages = data.result.messages;
-                if (on_success) on_success(data, text_status, xhr);
+                if (on_success) {
+                    on_success(data, text_status, xhr);
+                }
             },
             on_error
         );
     };
 
-    that.get_entities = function() {
+    that.get_entities = function () {
         return that.entities;
     };
 
-    that.get_entity = function(name) {
+    that.get_entity = function (name) {
         return that.entities_by_name[name];
     };
 
-    that.add_entity = function(entity) {
+    that.add_entity = function (entity) {
         that.entities.push(entity);
         that.entities_by_name[entity.name] = entity;
     };
 
-    that.show_page = function(entity_name, facet_name, other_entity) {
+    that.show_page = function (entity_name, facet_name, other_entity) {
 
-        var entity = IPA.get_entity(entity_name);
-        var facet = entity.get_facet(facet_name);
+        //var entity = IPA.get_entity(entity_name);
+        //var facet = entity.get_facet(facet_name);
 
         var state = {};
         state[entity_name + '-facet'] = facet_name;
@@ -97,7 +102,7 @@ var IPA = function() {
     };
 
     return that;
-}();
+}());
 
 /* call an IPA command over JSON-RPC
  * arguments:
@@ -109,6 +114,7 @@ var IPA = function() {
  *   objname - name of an IPA object (optional) */
 function ipa_cmd(name, args, options, win_callback, fail_callback, objname)
 {
+
     function dialog_open(xhr, text_status, error_thrown) {
         var that = this;
 
@@ -116,11 +122,11 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname)
             modal: true,
             width: 400,
             buttons: {
-                'Retry': function() {
+                'Retry': function () {
                     IPA.error_dialog.dialog('close');
                     ipa_cmd(name, args, options, win_callback, fail_callback, objname);
                 },
-                'Cancel': function() {
+                'Cancel': function () {
                     IPA.error_dialog.dialog('close');
                     fail_callback.call(that, xhr, text_status, error_thrown);
                 }
@@ -128,24 +134,14 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname)
         });
     }
 
-    function success_handler(data, text_status, xhr) {
-        if (!data) {
-            var error_thrown = {
-                title: 'HTTP Error '+xhr.status,
-                message: data ? xhr.statusText : "No response"
-            };
-            http_error_handler.call(this, xhr, text_status, error_thrown);
+    function ajax_error_handler(xhr, text_status, error_thrown) {
+        IPA.error_dialog.empty();
+        IPA.error_dialog.attr('title', error_thrown.title);
 
-        } else if (data.error) {
-            var error_thrown = {
-                title: 'IPA Error '+data.error.code,
-                message: data.error.message
-            };
-            ipa_error_handler.call(this, xhr, text_status, error_thrown);
+        IPA.error_dialog.append('<p>URL: '+this.url+'</p>');
+        IPA.error_dialog.append('<p>'+error_thrown.message+'</p>');
 
-        } else if (win_callback) {
-            win_callback.call(this, data, text_status, xhr);
-        }
+        dialog_open.call(this, xhr, text_status, error_thrown);
     }
 
     function error_handler(xhr, text_status, error_thrown) {
@@ -153,7 +149,8 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname)
         ajax_error_handler.call(this, xhr, text_status, error_thrown);
     }
 
-    function ajax_error_handler(xhr, text_status, error_thrown) {
+
+    function http_error_handler(xhr, text_status, error_thrown) {
         IPA.error_dialog.empty();
         IPA.error_dialog.attr('title', error_thrown.title);
 
@@ -163,40 +160,53 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname)
         dialog_open.call(this, xhr, text_status, error_thrown);
     }
 
-    function http_error_handler(xhr, text_status, error_thrown) {
+    function ipa_error_handler(xhr, text_status, error_thrown) {
         IPA.error_dialog.empty();
         IPA.error_dialog.attr('title', error_thrown.title);
 
-        IPA.error_dialog.append('<p>URL: '+this.url+'</p>');
         IPA.error_dialog.append('<p>'+error_thrown.message+'</p>');
 
         dialog_open.call(this, xhr, text_status, error_thrown);
     }
 
-    function ipa_error_handler(xhr, text_status, error_thrown) {
-        IPA.error_dialog.empty();
-        IPA.error_dialog.attr('title', error_thrown.title);
 
-        IPA.error_dialog.append('<p>'+error_thrown.message+'</p>');
+    function success_handler(data, text_status, xhr) {
+        if (!data) {
+            var error_thrown = {
+                title: 'HTTP Error '+xhr.status,
+                message: data ? xhr.statusText : "No response"
+            };
+            http_error_handler.call(this, xhr, text_status, error_thrown);
 
-        dialog_open.call(this, xhr, text_status, error_thrown);
+        } else if (data.error) {
+            ipa_error_handler.call(this, xhr, text_status,  /* error_thrown */ {
+                title: 'IPA Error '+data.error.code,
+                message: data.error.message
+            });
+
+        } else if (win_callback) {
+            win_callback.call(this, data, text_status, xhr);
+        }
     }
 
-    var id = ipa_jsonrpc_id++;
+    IPA.jsonrpc_id += 1;
+    var id = IPA.jsonrpc_id;
 
     var method_name = name;
 
-    if (objname)
+    if (objname){
         method_name = objname + '_' + name;
+    }
 
     var url = IPA.json_url;
 
-    if (!url)
+    if (!url){
         url = IPA_DEFAULT_JSON_URL;
+    }
 
-    if (IPA.use_static_files)
+    if (IPA.use_static_files){
         url += '/' + method_name + '.json';
-
+    }
     var data = {
         method: method_name,
         params: [args, options],
@@ -215,43 +225,24 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname)
     return (id);
 }
 
-/* parse query string into key:value dict
- * arguments:
- *   qs - query string (optional) */
-function ipa_parse_qs(qs)
-{
-    var dict = {};
-
-    if (!qs)
-        qs = location.hash.substring(1);
-    qs = qs.replace(/\+/g, ' ');
-
-    var args = qs.split('&');
-    for (var i = 0; i < args.length; ++i) {
-        var parts = args[i].split('=', 2);
-        var key = decodeURIComponent(parts[0]);
-    if (parts.length == 2)
-        dict[key] = decodeURIComponent(parts[1]);
-    else
-        dict[key] = key;
-    }
-
-    return (dict);
-}
 
 /* helper function used to retrieve information about an attribute */
 function ipa_get_param_info(obj_name, attr)
 {
     var ipa_obj = IPA.metadata[obj_name];
-    if (!ipa_obj) return null;
+    if (!ipa_obj) {
+        return null;
+    }
 
     var takes_params = ipa_obj.takes_params;
-    if (!takes_params)
+    if (!takes_params) {
         return (null);
 
-    for (var i = 0; i < takes_params.length; ++i) {
-        if (takes_params[i]['name'] == attr)
+    }
+    for (var i = 0; i < takes_params.length; i += 1) {
+        if (takes_params[i].name === attr){
             return (takes_params[i]);
+        }
     }
 
     return (null);
@@ -261,16 +252,17 @@ function ipa_get_param_info(obj_name, attr)
 function ipa_get_member_attribute(obj_name, member)
 {
     var ipa_obj = IPA.metadata[obj_name];
-    if (!ipa_obj) return null;
-
+    if (!ipa_obj) {
+        return null;
+    }
     var attribute_members = ipa_obj.attribute_members;
     for (var a in attribute_members) {
         var objs = attribute_members[a];
-        for (var i = 0; i < objs.length; ++i) {
-            if (objs[i] == member)
+        for (var i = 0; i < objs.length; i += 1) {
+            if (objs[i] === member){
                 return a;
+            }
         }
     }
-
     return null;
 }
-- 
1.7.1

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to