Repository: ambari Updated Branches: refs/heads/trunk 48f033580 -> 5962d489a
AMBARI-6797. Admin View: UI cleanup. (yusaku) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5962d489 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5962d489 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5962d489 Branch: refs/heads/trunk Commit: 5962d489a6d59600c9bd48e2d79d0362a881c739 Parents: 48f0335 Author: Yusaku Sako <[email protected]> Authored: Fri Aug 8 13:21:44 2014 -0700 Committer: Yusaku Sako <[email protected]> Committed: Fri Aug 8 13:26:36 2014 -0700 ---------------------------------------------------------------------- .gitignore | 1 - .../main/resources/ui/admin-web/app/index.html | 2 + .../resources/ui/admin-web/app/scripts/app.js | 3 +- .../controllers/ambariViews/ViewsEditCtrl.js | 18 +++++- .../controllers/ambariViews/ViewsListCtrl.js | 12 ---- .../controllers/groups/GroupsEditCtrl.js | 8 ++- .../scripts/controllers/users/UsersShowCtrl.js | 3 +- .../ui/admin-web/app/scripts/services/Group.js | 19 ++++++ .../resources/ui/admin-web/app/styles/main.css | 15 +++++ .../admin-web/app/views/ambariViews/create.html | 24 ++++---- .../admin-web/app/views/ambariViews/edit.html | 36 +++++++----- .../admin-web/app/views/ambariViews/list.html | 21 ++++--- .../app/views/clusters/manageAccess.html | 10 ++-- .../ui/admin-web/app/views/groups/create.html | 3 +- .../ui/admin-web/app/views/groups/edit.html | 24 +++++--- .../ui/admin-web/app/views/groups/list.html | 9 ++- .../ui/admin-web/app/views/users/create.html | 3 +- .../ui/admin-web/app/views/users/list.html | 10 ++-- .../ui/admin-web/app/views/users/show.html | 61 +++++++------------- .../src/main/resources/ui/admin-web/bower.json | 3 +- 20 files changed, 162 insertions(+), 123 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/.gitignore ---------------------------------------------------------------------- diff --git a/.gitignore b/.gitignore index cff27da..0430303 100644 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,3 @@ derby.log pass.txt ambari-agent/src/test/python/ambari_agent/dummy_files/current-stack velocity.log* -*.pydevproject http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/index.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/index.html b/ambari-admin/src/main/resources/ui/admin-web/app/index.html index 9aef85b..cccd914 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/index.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/index.html @@ -27,6 +27,7 @@ <!-- build:css styles/vendor.css --> <!-- bower:css --> <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" /> + <link rel="stylesheet" href="bower_components/angular-bootstrap-toggle-switch/style/bootstrap3/angular-toggle-switch-bootstrap-3.css" /> <!-- endbower --> <!-- endbuild --> @@ -88,6 +89,7 @@ <script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script> <script src="bower_components/lodash/dist/lodash.compat.js"></script> <script src="bower_components/restangular/dist/restangular.js"></script> + <script src="bower_components/angular-bootstrap-toggle-switch/angular-toggle-switch.js"></script> <!-- endbower --> <!-- endbuild --> http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js index c7d2478..7ddeb44 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/app.js @@ -21,7 +21,8 @@ angular.module('ambariAdminConsole', [ 'ngRoute', 'ui.bootstrap', 'restangular', - 'angularAlert' + 'angularAlert', + 'toggle-switch' ]) .constant('Settings',{ baseUrl: '/api/v1' http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js index 5c988e8..b55e157 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js @@ -18,8 +18,8 @@ 'use strict'; angular.module('ambariAdminConsole') -.controller('ViewsEditCtrl', ['$scope', '$routeParams' , 'View', 'uiAlert', 'PermissionLoader', 'PermissionSaver', function($scope, $routeParams, View, uiAlert, PermissionLoader, PermissionSaver) { - +.controller('ViewsEditCtrl', ['$scope', '$routeParams' , 'View', 'uiAlert', 'PermissionLoader', 'PermissionSaver', 'ConfirmationModal', '$location', function($scope, $routeParams, View, uiAlert, PermissionLoader, PermissionSaver, ConfirmationModal, $location) { + $scope.isConfigurationEmpty = true; function reloadViewInfo(){ // Load instance data, after View permissions meta loaded View.getInstance($routeParams.viewId, $routeParams.version, $routeParams.instanceId) @@ -31,6 +31,7 @@ angular.module('ambariAdminConsole') }; $scope.configuration = angular.copy($scope.instance.ViewInstanceInfo.properties); + $scope.isConfigurationEmpty = angular.equals({}, $scope.configuration); }) .catch(function(data) { uiAlert.danger(data.data.status, data.data.message); @@ -47,6 +48,7 @@ angular.module('ambariAdminConsole') // Refresh data for rendering $scope.permissionsEdit = permissions; $scope.permissions = angular.copy(permissions); + $scope.isPermissionsEmpty = angular.equals({}, $scope.permissions); }) .catch(function(data) { uiAlert.danger(data.data.status, data.data.message); @@ -143,4 +145,16 @@ angular.module('ambariAdminConsole') uiAlert.danger(data.data.status, data.data.message); }); }; + + $scope.deleteInstance = function(instance) { + ConfirmationModal.show('Delete View Instance', 'Are you sure you want to delete View Instance '+ instance.ViewInstanceInfo.label +'?').then(function() { + View.deleteInstance(instance.ViewInstanceInfo.view_name, instance.ViewInstanceInfo.version, instance.ViewInstanceInfo.instance_name) + .then(function() { + $location.path('/views'); + }) + .catch(function(data) { + uiAlert.danger(data.data.status, data.data.message); + }); + }); + }; }]); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js index 512b0c2..91d48be 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsListCtrl.js @@ -45,18 +45,6 @@ angular.module('ambariAdminConsole') modalInstance.result.then(loadViews); }; - $scope.deleteInstance = function(instance) { - ConfirmationModal.show('Delete View Instance', 'Are you sure you want to delete View Instance '+ instance.ViewInstanceInfo.label +'?').then(function() { - View.deleteInstance(instance.ViewInstanceInfo.view_name, instance.ViewInstanceInfo.version, instance.ViewInstanceInfo.instance_name) - .then(function() { - loadViews(); - }) - .catch(function(data) { - uiAlert.danger(data.data.status, data.data.message); - }); - }); - }; - $scope.viewsFilter = ''; $scope.filteredViews = []; $scope.getFilteredViews = function(views) { http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js index a386b62..2818746 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js @@ -31,7 +31,11 @@ angular.module('ambariAdminConsole') }); } - loadMembers(); + $scope.group.isLDAP().then(function(isLDAP) { + $scope.group.ldap_group = isLDAP; + loadMembers(); + }); + $scope.removeMember = function(member) { $scope.group.removeMember(member).finally(function() { @@ -59,6 +63,8 @@ angular.module('ambariAdminConsole') ConfirmationModal.show('Delete Group', 'Are you sure you want to delete group "'+ group.group_name +'"?').then(function() { group.destroy().then(function() { $location.path('/groups'); + }).catch(function() { + }); }); }; http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js index 2911b68..ad6a7e3 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js @@ -69,8 +69,7 @@ angular.module('ambariAdminConsole') }; $scope.toggleUserActive = function() { - $scope.user.active = !$scope.user.active; - User.setActive($scope.user.user_name, $scope.user.active); + User.setActive($scope.user.user_name, !$scope.user.active); }; User.get($routeParams.id).then(function(data) { http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js index 5f67233..206712e 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Group.js @@ -28,6 +28,25 @@ angular.module('ambariAdminConsole') } } + Group.prototype.isLDAP = function() { + var deferred = $q.defer(); + var self = this; + if( typeof this.ldap_group === 'boolean' ){ + deferred.resolve(this.ldap_group) + } else { + $http({ + method: 'GET', + url: Settings.baseUrl + '/groups/'+this.group_name + }). + success(function(data) { + self.ldap_group = data.Groups.ldap_group; + deferred.resolve(self.ldap_group); + }); + } + + return deferred.promise; + } + Group.prototype.save = function() { return $http({ method : 'POST', http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css b/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css index 4104ccb..42da202 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css +++ b/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css @@ -51,6 +51,18 @@ font-weight: bold; font-size: 2em; } + +.breadcrumb{ + background: none; + font-size: 24px; + margin: 0; + padding: 0; +} + +.user-edit-panel .ats-switch span.switch-right{ + background-color: #da4f49; + color: white; +} /* Style topnav menu */ @@ -167,6 +179,9 @@ table.no-border tr td{ .no-border{ border: none !important; } +.top-margin-4{ + margin-top: 4px; +} .groups-pane table ul{ list-style-type: none; http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html index 1b11d65..ce5c5f7 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html @@ -17,9 +17,8 @@ --> <ol class="breadcrumb"> <li><a href="#/views">Views</a></li> - <li class="active">Create instance</li> + <li class="active">Create {{view.ViewVersionInfo.view_name}} instance</li> </ol> -<h2>Create View Instance</h2> <hr> <form class="form-horizontal create-view-form" role="form" name="form.isntanceCreateForm" novalidate> <div class="view-header"> @@ -105,19 +104,22 @@ <div class="panel panel-default"> <div class="panel-heading"> - <h3 class="panel-title">Configuration</h3> + <h3 class="panel-title">Properties</h3> </div> <div class="panel-body"> - <div class="form-group" ng-repeat="parameter in instance.properties" - ng-class="{'has-error' : (form.isntanceCreateForm[parameter.name].$error.required && form.isntanceCreateForm.submitted)}" > - <label for="" class="col-sm-3 control-label">{{parameter.description}}</label> - <div class="col-sm-9"> - <input type="text" class="form-control" name="{{parameter.name}}" ng-required="parameter.required" ng-model="parameter.value"> - <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.isntanceCreateForm[parameter.name].$error.required && form.isntanceCreateForm.submitted'> - Field requried! + <div class="form-group" ng-repeat="parameter in instance.properties" + ng-class="{'has-error' : (form.isntanceCreateForm[parameter.name].$error.required && form.isntanceCreateForm.submitted)}" > + <label for="" class="col-sm-3 control-label">{{parameter.description}}</label> + <div class="col-sm-9"> + <input type="text" class="form-control" name="{{parameter.name}}" ng-required="parameter.required" ng-model="parameter.value"> + <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.isntanceCreateForm[parameter.name].$error.required && form.isntanceCreateForm.submitted'> + Field requried! + </div> </div> </div> - </div> + <div ng-show="!instance.properties.length"> + <div class="alert alert-info">There are no properties defined for this view.</div> + </div> </div> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html index 9bfcffd..20e26fd 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html @@ -15,13 +15,17 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<ol class="breadcrumb"> - <li><a href="#/views">Views</a></li> - <li class="active">Edit {{instance.ViewInstanceInfo.label}}</li> -</ol> -<h2>Edit {{instance.ViewInstanceInfo.view_name}}: {{instance.ViewInstanceInfo.label}}</h2> +<div class="clearfix"> + <ol class="breadcrumb pull-left"> + <li><a href="#/views">Views</a></li> + <li class="active">{{instance.ViewInstanceInfo.view_name}}: {{instance.ViewInstanceInfo.label}}</li> + </ol> + <div class="pull-right top-margin-4"> + <button class="btn btn-danger" ng-click="deleteInstance(instance)">Delete Instance</button> + </div> +</div> <hr> -<div class="panel panel-default"> +<div class="panel panel-default" ng-cloak> <div class="panel-heading clearfix"> <h3 class="panel-title pull-left">Settings</h3> <div class="pull-right"> @@ -62,12 +66,12 @@ <div class="panel panel-default views-permissions-panel" style=""> <div class="panel-heading clearfix"> <h3 class="panel-title pull-left">Permissions</h3> - <div class="pull-right"> - <a href ng-click="editPermissionDisabled = !editPermissionDisabled" ng-show="editPermissionDisabled"> <span class="glyphicon glyphicon-cog"></span> Edit</a> + <div class="pull-right" > + <a ng-hide="isPermissionsEmpty" href ng-click="editPermissionDisabled = !editPermissionDisabled" ng-show="editPermissionDisabled"> <span class="glyphicon glyphicon-cog"></span> Edit</a> </div> </div> <div class="panel-body"> - <form class="form-horizontal"> + <form class="form-horizontal" ng-show="!isPermissionsEmpty"> <div class="form-group"> <div class="col-sm-2"></div> <label class="col-sm-5 control-label text-left">Users</label> @@ -98,6 +102,7 @@ </div> </div> </div> + <div class="form-group" ng-hide="editPermissionDisabled"> <div class="col-sm-offset-2 col-sm-10"> <button class="btn btn-primary pull-right left-margin" ng-click="savePermissions()">Save</button> @@ -105,19 +110,21 @@ </div> </div> </form> - + <div ng-show="isPermissionsEmpty"> + <div class="alert alert-info">There are no permissions defined for this view.</div> + </div> </div> </div> <div class="panel panel-default"> <div class="panel-heading clearfix"> - <h3 class="panel-title pull-left">Configuration</h3> + <h3 class="panel-title pull-left">Properties</h3> <div class="pull-right"> - <a href ng-click="editConfigurationDisabled = !editConfigurationDisabled" ng-show="editConfigurationDisabled"> <span class="glyphicon glyphicon-cog"></span> Edit</a> + <a href ng-hide="isConfigurationEmpty" ng-click="editConfigurationDisabled = !editConfigurationDisabled" ng-show="editConfigurationDisabled"> <span class="glyphicon glyphicon-cog"></span> Edit</a> </div> </div> <div class="panel-body"> - <form action="" class="form-horizontal"> + <form action="" class="form-horizontal" ng-hide="isConfigurationEmpty"> <fieldset ng-disabled="editConfigurationDisabled"> <div class="form-group" ng-repeat="(propertyName, propertyValue) in configuration"> <label for="" class="control-label col-sm-3">{{propertyName}}</label> @@ -131,5 +138,8 @@ </div> </fieldset> </form> + <div ng-show="isConfigurationEmpty"> + <div class="alert alert-info">There are no configuration defined for this view.</div> + </div> </div> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html index aad6665..3da2823 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/list.html @@ -15,13 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<ol class="breadcrumb"> - <li class="active">Views</li> -</ol> + <div class="views-list-pane"> <div class="clearfix"> - <h3 class="pull-left">Views</h3> - <div class="pull-right top-buffer col-sm-4"> + <ol class="breadcrumb pull-left"> + <li class="active">Views</li> + </ol> + <div class="pull-right col-sm-4"> <div class="input-group"> <input type="text" class="form-control" placeholder="Search" ng-model="viewsFilter" ng-change="getFilteredViews()"> <span class="input-group-addon"> @@ -55,12 +55,10 @@ <tr ng-repeat="instance in view.instances"> <td class="col-sm-3"></td> <td class="col-sm-3">{{instance.ViewInstanceInfo.version}}</td> - <td class="col-sm-3">{{instance.ViewInstanceInfo.label}}</td> <td class="col-sm-3"> - <a href="#/views/{{view.view_name}}/versions/{{instance.ViewInstanceInfo.version}}/instances/{{instance.ViewInstanceInfo.instance_name}}/edit" class="btn btn-default"><span class="glyphicon glyphicon-cog"></span> Edit</a> - <a href="" class="btn btn-default" ng-click="deleteInstance(instance)"> - <span class="glyphicon glyphicon-trash"></span> Delete - </a> + <a href="#/views/{{view.view_name}}/versions/{{instance.ViewInstanceInfo.version}}/instances/{{instance.ViewInstanceInfo.instance_name}}/edit" class="">{{instance.ViewInstanceInfo.label}}</a> + </td> + <td class="col-sm-3"> </td> </tr> </tbody> @@ -68,10 +66,11 @@ <tr> <td class="col-sm-3"></td> <td class="col-sm-3"></td> - <td class="col-sm-3"></td> <td class="col-sm-3"> <a class="btn btn-default" href="#/views/{{view.view_name}}/versions/{{view.versionsList[view.versionsList.length-1].ViewVersionInfo.version}}/new"><span class="glyphicon glyphicon-plus" ></span> Create Instance</a> </td> + <td class="col-sm-3"> + </td> </tr> </tfoot> </table> http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html index 8074fae..790d73d 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/clusters/manageAccess.html @@ -15,13 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<ol class="breadcrumb"> - <li class="active">Cluster Permissions</li> -</ol> + <div class="cluster-manage-access-pane"> <div class="clearfix"> - <h3 class="pull-left">{{clusterName}} Permissions</h3> - <div class="pull-right top-buffer"> + <ol class="breadcrumb pull-left"> + <li class="active">{{clusterName}} Permissions</li> + </ol> + <div class="pull-right top-margin-4"> <a href class="btn btn-primary" ng-click="toggleEditMode()"><span class="glyphicon glyphicon-pencil"></span> Edit</a> </div> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html index 5bcc2fc..070fd95 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/create.html @@ -17,9 +17,8 @@ --> <ol class="breadcrumb"> <li><a href="#/groups">Groups</a></li> - <li class="active">Create group</li> + <li class="active">Create local group</li> </ol> -<h2>Create local group</h2> <hr> <form class="form-horizontal" role="form" novalidate name="form"> <div class="form-group" ng-class="{'has-error' : form.user_name.$error.required && form.submitted}"> http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html index 8e8476b..1df0739 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html @@ -15,13 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<ol class="breadcrumb"> - <li><a href="#/groups">Groups</a></li> - <li class="active">Edit {{group.group_name}}</li> -</ol> + <div class="clearfix"> - <h3 class="pull-left">Edit {{group.group_name}}</h3> - <div class="pull-right top-buffer"> + <ol class="breadcrumb pull-left"> + <li><a href="#/groups">Groups</a></li> + <li class="active">{{group.group_name}}</li> + </ol> + <div class="pull-right top-margin-4"> <button class="btn btn-danger" ng-click="deleteGroup(group)">Delete Group</button> </div> </div> @@ -34,7 +34,13 @@ </div> </div> <div class="form-group"> - <label for="" class="col-sm-2 control-label">Users</label> + <label for="" class="col-sm-2 control-label">Type</label> + <div class="col-sm-10"> + <label for="" class="control-label">{{group.ldap_group ? 'LDAP' : 'Local'}}</label> + </div> + </div> + <div class="form-group"> + <label for="" class="col-sm-2 control-label">{{group.ldap_group ? 'LDAP Members' : 'Local Members'}}</label> <div class="col-sm-10"> <div ng-switch="editMode"> <div class="well users" ng-switch-when="false"> @@ -42,7 +48,7 @@ <link-to route='users.show' id="{{member}}"> {{member}} </link-to> - <button type="button" class="close" ng-click="removeMember(member)"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> + <button ng-show="!group.ldap_group" type="button" class="close" ng-click="removeMember(member)"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> {{$last ? '' : ', '}} </span> </div> @@ -53,7 +59,7 @@ </div> - <button class="btn btn-primary pull-right" ng-click="toggleEditMode()"><span class="glyphicon {{editMode ? 'glyphicon-save' : 'glyphicon-pencil'}}"></span> {{editMode ? 'Save': 'Edit'}}</button> + <button ng-show="!group.ldap_group" class="btn btn-primary pull-right" ng-click="toggleEditMode()"><span class="glyphicon {{editMode ? 'glyphicon-save' : 'glyphicon-pencil'}}"></span> {{editMode ? 'Save': 'Edit'}}</button> </div> </div> </form> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html index 12f990a..43493dd 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/list.html @@ -15,13 +15,12 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<ol class="breadcrumb"> - <li class="active">Groups</li> -</ol> <div class="groups-pane"> <div class="clearfix"> - <h3 class="pull-left">Groups management</h3> - <div class="pull-right top-buffer"> + <ol class="breadcrumb pull-left"> + <li class="active">Groups</li> + </ol> + <div class="pull-right top-margin-4"> <link-to route="groups.create" class="btn btn-primary"><span class="glyphicon glyphicon-plus"></span> Create Local Group</link-to> </div> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html index 7b33c76..b37e54b 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/create.html @@ -17,9 +17,8 @@ --> <ol class="breadcrumb"> <li><a href="#/users">Users</a></li> - <li class="active">Create user</li> + <li class="active">Create local user</li> </ol> -<h2>Create local user</h2> <hr> <form class="form-horizontal" role="form" novalidate name="form"> <div class="form-group" ng-class="{'has-error' : form.user_name.$error.required && form.submitted}"> http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html index 45c3a4f..1ee21d4 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/list.html @@ -15,13 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<ol class="breadcrumb"> - <li class="active">Users</li> -</ol> + <div class="users-pane"> <div class="clearfix"> - <h3 class="pull-left">Users management</h3> - <div class="pull-right top-buffer"> + <ol class="breadcrumb pull-left"> + <li class="active">Users</li> + </ol> + <div class="pull-right top-margin-4"> <link-to route="users.create" class="btn btn-primary"><span class="glyphicon glyphicon-plus"></span> Create Local User</link-to> </div> </div> http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html index e171d0c..e577b97 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/users/show.html @@ -15,14 +15,14 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<ol class="breadcrumb"> - <li><a href="#/users">Users</a></li> - <li class="active">Edit {{user.user_name}}</li> -</ol> -<div ng-show="user.user_name"> + +<div ng-show="user.user_name" class="user-edit-panel"> <div class="clearfix"> - <h3 class="pull-left">{{user.user_name}}</h3> - <div class="pull-right top-buffer"> + <ol class="breadcrumb pull-left"> + <li><a href="#/users">Users</a></li> + <li class="active">{{user.user_name}}</li> + </ol> + <div class="pull-right top-margin-4"> <button class="btn btn-danger" ng-click="deleteUser()">Delete User</button> </div> </div> @@ -31,17 +31,13 @@ <div class="form-group"> <label for="" class="col-sm-2 control-label">Type</label> <div class="col-sm-10"> - <label for="" class="control-label">Local</label> + <label for="" class="control-label">{{user.ldap_user ? 'LDAP' : 'Local'}}</label> </div> </div> <div class="form-group"> <label for="" class="col-sm-2 control-label">Status</label> <div class="col-sm-10"> - <div class="btn" ng-class="user.active ? 'btn-success' : 'btn-danger'"> - <span ng-show="user.active">Active</span> - <span ng-show="!user.active">Inactive</span> - </div> - <a href ng-click="toggleUserActive()">Make User {{user.active ? 'Inactive' : 'Active'}}</a> + <toggle-switch on-change="toggleUserActive()" model="user.active" on-label="Active" off-label="Inactive" class="switch-primary" data-off-color="danger"></toggle-switch> </div> </div> <div class="form-group"> @@ -51,7 +47,7 @@ </div> </div> <div class="form-group"> - <label for="groups" class="col-sm-2 control-label">Groups</label> + <label for="groups" class="col-sm-2 control-label">{{user.ldap_user ? 'LDAP Group Membership' : 'Local Group Membership'}}</label> <div class="col-sm-10"> <div class="row" ng-hide="isGroupEditing"> <div class="col-sm-10"> @@ -60,7 +56,7 @@ </div> </div> <div class="col-sm-2"> - <a href ng-click="enableGroupEditing()"><span class="glyphicon glyphicon-cog"></span> Edit</a> + <a href ng-click="enableGroupEditing()" ng-hide="user.ldap_user"><span class="glyphicon glyphicon-cog"></span> Edit</a> </div> </div> <div class="row" ng-show="isGroupEditing"> @@ -74,34 +70,19 @@ </div> <div class="form-group"> - <label for="" class="col-sm-2 control-label">Clusters</label> + <label for="" class="col-sm-2 control-label">Privileges</label> <div class="col-sm-10"> - <div class="control-label text-left"> - <a href="#">My Cluster</a> OPERATOR - </div> + <table class="table"> + <thead> + <tr> + <th>Resource</th> + <th>Permissions</th> + </tr> + </thead> + <tbody></tbody> + </table> </div> </div> - <div class="form-group"> - <label for="" class="col-sm-2 control-label">Views</label> - <div class="col-sm-10 padding-top-7"> - <div ng-repeat="view in user.views" class="row"> - <div class="col-sm-4"> - <a href="#">Some limk to some view</a> - </div> - <div class="col-sm-5"> - USE, EDIT_SCRIPT - </div> - </div> - <div class="row"> - <div class="col-sm-4"> - <a href="#">Some limk to some view</a> - </div> - <div class="col-sm-5"> - USE, EDIT_SCRIPT - </div> - </div> - </div> - </div> </form> </div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/5962d489/ambari-admin/src/main/resources/ui/admin-web/bower.json ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/bower.json b/ambari-admin/src/main/resources/ui/admin-web/bower.json index 1030988..0c30117 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/bower.json +++ b/ambari-admin/src/main/resources/ui/admin-web/bower.json @@ -6,7 +6,8 @@ "angular": "~1.2.18", "angular-route": "~1.2.18", "angular-bootstrap": "~0.11.0", - "restangular": "~1.4.0" + "restangular": "~1.4.0", + "angular-bootstrap-toggle-switch": "~0.5.1" }, "devDependencies": {} }
