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">
