This is an automated email from the ASF dual-hosted git repository.

ni3galave pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit 767d69e335a70bdb96fed39623facd4319397980
Author: Nitin Galave <[email protected]>
AuthorDate: Mon Apr 8 16:17:42 2019 +0530

    RANGER-2399: User's listing page hits users API call twice from UI
---
 .../main/webapp/scripts/controllers/Controller.js  | 27 ++++++-------
 .../scripts/views/security_zone/SecurityZone.js    |  8 ++--
 .../main/webapp/scripts/views/users/GroupCreate.js | 24 +-----------
 .../main/webapp/scripts/views/users/UserCreate.js  | 30 +--------------
 .../webapp/scripts/views/users/UserTableLayout.js  | 44 +++++++++++++++++++---
 security-admin/src/main/webapp/styles/xa.css       |  6 +++
 .../main/webapp/templates/common/breadcrumbs.html  | 13 +++----
 .../templates/security_zone/SecurityZone_tmpl.html |  2 +-
 8 files changed, 70 insertions(+), 84 deletions(-)

diff --git a/security-admin/src/main/webapp/scripts/controllers/Controller.js 
b/security-admin/src/main/webapp/scripts/controllers/Controller.js
index 934a1a2..29740f4 100755
--- a/security-admin/src/main/webapp/scripts/controllers/Controller.js
+++ b/security-admin/src/main/webapp/scripts/controllers/Controller.js
@@ -108,24 +108,19 @@ define(function(require) {
           },
           
           /************** UserORGroups Related *********************/
-          userManagerAction :function(tab){
-                  MAppState.set({
+               userManagerAction :function(tab){
+                       MAppState.set({
                                'currentTab' : XAGlobals.AppTabs.Settings.value
                        });
-                  var XAUtil           = require('utils/XAUtils');
-                  var view             = 
require('views/users/UserTableLayout');
-                  var VXUserList       = require('collections/VXUserList');
-                  var userList         = new VXUserList();
-                  
-                  App.rContent.show(new view({
-                          collection : userList,
-                          tab :tab
-                  }));
-                  _.extend(userList.queryParams, XAUtil.getUserDataParams())
-                  userList.fetch({
-                          cache:false,
-                  });
-          },
+                       var XAUtil              = require('utils/XAUtils');
+                       var view                = 
require('views/users/UserTableLayout');
+                       var VXUserList  = require('collections/VXUserList');
+                       var userList    = new VXUserList();
+                       App.rContent.show(new view({
+                               collection : userList,
+                               tab :tab
+                       }));
+               },
           userCreateAction : function(){
                   MAppState.set({
                                'currentTab' : XAGlobals.AppTabs.Settings.value
diff --git 
a/security-admin/src/main/webapp/scripts/views/security_zone/SecurityZone.js 
b/security-admin/src/main/webapp/scripts/views/security_zone/SecurityZone.js
index a1e9716..2a07020 100644
--- a/security-admin/src/main/webapp/scripts/views/security_zone/SecurityZone.js
+++ b/security-admin/src/main/webapp/scripts/views/security_zone/SecurityZone.js
@@ -132,7 +132,7 @@ define(function(require) {
                 that.zoneResourcesColl.reset(resources);
                 that.renderTable();
                 that.zoneAdministrationView();
-                that.ui.zoneName.html(_.escape(that.zoneModel.get('name')));
+                
that.ui.zoneName.html(_.escape(that.zoneModel.get('name'))).attr('title', 
_.escape(that.zoneModel.get('name')));
                 App.appRouter.navigate("#!/zones/zone/"+zoneModel.id);
                 that.ui.editZone.attr('href', '#!/zones/edit/' + 
zoneModel.get('id'));
             }else{
@@ -147,9 +147,11 @@ define(function(require) {
                 _.each(zoneArray,
                     function(zone) {
                         if(that.zoneModel.attributes.name == zone) {
-                            that.ui.zoneUlList.append('<li class="selected" 
data-action="zoneListing" data-id="' + _.escape(zone) + '">' + _.escape(zone) + 
'</li>');
+                            that.ui.zoneUlList.append('<li class="selected 
trim-containt" title="'+_.escape(zone)+
+                                '" data-action="zoneListing" data-id="' + 
_.escape(zone) + '">' + _.escape(zone) + '</li>');
                         } else {
-                            that.ui.zoneUlList.append('<li 
data-action="zoneListing" data-id="' + _.escape(zone) + '">' + _.escape(zone) + 
'</li>');
+                            that.ui.zoneUlList.append('<li 
class="trim-containt" data-action="zoneListing" title="'
+                                +_.escape(zone)+'" data-id="' + _.escape(zone) 
+ '">' + _.escape(zone) + '</li>');
                         }
                     }
                 );
diff --git a/security-admin/src/main/webapp/scripts/views/users/GroupCreate.js 
b/security-admin/src/main/webapp/scripts/views/users/GroupCreate.js
index a764387..4087d09 100644
--- a/security-admin/src/main/webapp/scripts/views/users/GroupCreate.js
+++ b/security-admin/src/main/webapp/scripts/views/users/GroupCreate.js
@@ -129,30 +129,8 @@ define(function(require){
                                                
App.appRouter.navigate("#!/users/grouptab",{trigger: true});
                                                return;
                                        }
+                                       App.usersGroupsListing = 
{'showLastPage' : true}
                                        
App.appRouter.navigate("#!/users/grouptab",{trigger: true});
-                                       
-                                       var groupList = new VXGroupList();
-                                        _.extend(groupList.queryParams, 
XAUtil.getUserDataParams());   
-                                       groupList.fetch({
-                                                  cache:false
-                                          }).done(function(){
-                                                       var newColl;
-                                                       groupList.getLastPage({
-                                                               cache : false,
-                                                               success : 
function(collection, response, options){
-                                                                       
App.rContent.show(new UserTableLayout({
-                                                                               
groupList : collection,
-                                                                               
tab : 'grouptab'
-                                                                       }));
-                                                                       newColl 
= collection;
-                                                               }
-                                                       }).done(function(){
-                                                               var model = 
newColl.get(that.model.id);
-                                                               if(model){
-                                                                       
model.trigger("model:highlightBackgridRow1");
-                                                               }
-                                                       });
-                                          });
                                },
                                error : function (model, response, options) {
                                        XAUtil.blockUI('unblock');
diff --git a/security-admin/src/main/webapp/scripts/views/users/UserCreate.js 
b/security-admin/src/main/webapp/scripts/views/users/UserCreate.js
index e1afff1..e8a2e8d 100644
--- a/security-admin/src/main/webapp/scripts/views/users/UserCreate.js
+++ b/security-admin/src/main/webapp/scripts/views/users/UserCreate.js
@@ -161,35 +161,9 @@ define(function(require){
                                                
App.appRouter.navigate("#!/users/usertab",{trigger: true});
                                                return;
                                        }
+                                       App.usersGroupsListing = 
{'showLastPage' : true}
                                        
App.appRouter.navigate("#!/users/usertab",{trigger: true});
-                                       
-                                       var userList = new VXUserList();
-                                       _.extend(userList.queryParams, 
XAUtil.getUserDataParams())
-                                       userList.fetch({
-                                          cache:false
-                                       }).done(function(){
-                                               var newColl = userList;
-                                               userList.getLastPage({
-                                                       cache : false,
-                                                       success : 
function(collection, response, options){
-                                                               
App.rContent.show(new UserTableLayout({
-                                                                       
collection : collection,
-                                                                       tab : 
'usertab'
-                                                               }));
-                                                               newColl = 
collection;
-                                                       }
-                                               }).done(function(){
-                                                       var model = 
newColl.get(that.model.id);
-                                                       if(model){
-                                                               
model.trigger("model:highlightBackgridRow");
-                                                       }
-                                               });
-                                               
-                                               App.rContent.show(new 
UserTableLayout({
-                                                       collection : userList
-                                               }));
-                                  });
-                               }   ,
+                               },
                                error : function(model,resp){
                                        XAUtil.blockUI('unblock');
                                        if(!_.isUndefined(resp.responseJSON) && 
!_.isUndefined(resp.responseJSON.msgDesc)){
diff --git 
a/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js 
b/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
index 94afd75..529958d 100755
--- a/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
@@ -28,6 +28,7 @@ define(function(require){
        var XABackgrid          = require('views/common/XABackgrid');
        var localization        = require('utils/XALangSupport');
        var SessionMgr          = require('mgrs/SessionMgr');
+       var App                         = require('App');
 
        var VXGroupList         = require('collections/VXGroupList');
        var VXGroup                     = require('models/VXGroup');
@@ -127,6 +128,14 @@ define(function(require){
                                        coll.deselect(model);
                                }, this);
                        }, this);
+                       this.listenTo(coll, 'model:highlightUserGroupTableRow', 
function(){
+                               this.$el.find('.table 
tr:last').addClass("alert");
+                               var self = this;
+                               setTimeout(function () {
+                                       self.$el.find('.table 
tr:last').removeClass("alert");
+                               }, 6000);
+                               XAUtil.scrollToField(this.$el.find('.table 
tr:last'));
+                       })
                },
                onTabChange : function(e){
                        var that = this;
@@ -219,11 +228,21 @@ define(function(require){
                        this.renderUserListTable();
                        _.extend(this.collection.queryParams, 
XAUtil.getUserDataParams())
                        this.collection.fetch({
-                               //cache:true,
                                reset: true,
                                cache: false
-//                             data : XAUtil.getUserDataParams(),
-                       }).done(function(){
+                       }).done(function(userList){
+                               if(App.usersGroupsListing && 
!_.isEmpty(App.usersGroupsListing) && App.usersGroupsListing.showLastPage){
+                                       if(userList.state.totalRecords > 
userList.state.pageSize){
+                                               that.collection.getLastPage({
+                                                       cache : false,
+                                               }).done(function(m){
+                                                       
App.usersGroupsListing={};
+                                                       
(_.last(m.models)).trigger("model:highlightUserGroupTableRow");
+                                               });
+                                       }else{
+                                               
_.last(userList.models).trigger("model:highlightUserGroupTableRow");
+                                       }
+                               }
                                if(!_.isString(that.ui.addNewGroup)){
                                        that.ui.addNewGroup.hide();
                                        that.ui.addNewUser.show();
@@ -240,10 +259,21 @@ define(function(require){
                        this.groupList.selectNone();
                        this.renderGroupListTable();
                        this.groupList.fetch({
-                               //cache:true,
                                reset:true,
-                               cache: false
-                       }).done(function(){
+                               cache: false,
+                       }).done(function(groupList){
+                               if(App.usersGroupsListing && 
!_.isEmpty(App.usersGroupsListing) && App.usersGroupsListing.showLastPage){
+                                       if(groupList.state.totalRecords > 
groupList.state.pageSize){
+                                               that.groupList.getLastPage({
+                                                       cache : false,
+                                               }).done(function(m){
+                                                       
(_.last(m.models)).trigger("model:highlightUserGroupTableRow");
+                                               });
+                                       }else{
+                                               
(_.last(groupList.models)).trigger("model:highlightUserGroupTableRow");
+                                       }
+                                       App.usersGroupsListing={};
+                               }
                                that.ui.addNewUser.hide();
                                that.ui.addNewGroup.show();
                                that.$('.wrap-header').text('Group List');
@@ -667,6 +697,7 @@ define(function(require){
                                        error:function(response,options){
                                                count += 1;
                                                notDeletedUserName += m.value + 
", ";
+                                               
that.collection.find(function(model){return model.get('name') === 
m.value}).selected = false
                                                
that.userCollection(jsonUsers.vXStrings.length, count, notDeletedUserName)
                                        }
                                });
@@ -683,6 +714,7 @@ define(function(require){
                                        error:function(response,options){
                                                count += 1;
                                                notDeletedGroupName += m.value 
+ ", ";
+                                               
that.groupList.find(function(model){return model.get('name') === 
m.value}).selected = false
                                                
that.groupCollection(jsonUsers.vXStrings.length,count, notDeletedGroupName)
                                        }
                                })
diff --git a/security-admin/src/main/webapp/styles/xa.css 
b/security-admin/src/main/webapp/styles/xa.css
index f90f21b..60e045c 100644
--- a/security-admin/src/main/webapp/styles/xa.css
+++ b/security-admin/src/main/webapp/styles/xa.css
@@ -2693,4 +2693,10 @@ textarea:read-only{
   max-height: 400px;
   overflow: auto;
   display: block;
+}
+.trim-containt-breadcrumb {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  max-width: 300px;
 }
\ No newline at end of file
diff --git a/security-admin/src/main/webapp/templates/common/breadcrumbs.html 
b/security-admin/src/main/webapp/templates/common/breadcrumbs.html
index 8de0ad3..85ac195 100644
--- a/security-admin/src/main/webapp/templates/common/breadcrumbs.html
+++ b/security-admin/src/main/webapp/templates/common/breadcrumbs.html
@@ -20,11 +20,10 @@
 }
 }}
 
- <ul class="breadcrumb-flat">
-       {{#each breadcrumb}}
-       <li>
-               <a href="{{./this.href}}"> {{tt ./this.text}} </a>
-       </li>
-       {{/each}}
+<ul class="breadcrumb-flat">
+    {{#each breadcrumb}}
+        <li>
+            <a href="{{./this.href}}"><p class="trim-containt-breadcrumb" 
title="{{tt ./this.text}}"> {{tt ./this.text}}</p></a>
+        </li>
+    {{/each}}
 </ul>
- 
diff --git 
a/security-admin/src/main/webapp/templates/security_zone/SecurityZone_tmpl.html 
b/security-admin/src/main/webapp/templates/security_zone/SecurityZone_tmpl.html
index f0b2572..a2f1374 100644
--- 
a/security-admin/src/main/webapp/templates/security_zone/SecurityZone_tmpl.html
+++ 
b/security-admin/src/main/webapp/templates/security_zone/SecurityZone_tmpl.html
@@ -60,7 +60,7 @@
                 <button class="btn btn-default btn-small btn-slide-toggle" 
data-id="sideBarBtn"><i class="icon-reorder"></i><span></span></button>
                 </div>
                 <div class="span7">
-                    <h2 data-id="zoneName">{{{zoneModelName}}}</h2>
+                    <h2 data-id="zoneName" class="trim-containt" 
title="{{{zoneModelName}}}">{{{zoneModelName}}}</h2>
                 </div>
                 {{#if isZoneAdministration}}
                     <div class="span4">

Reply via email to