Merge pull request #2368 from mabashian/inv-manage-breadcrumb

Tweaked several inventory manage breadcrumbs per UX feedback
This commit is contained in:
Michael Abashian
2016-06-16 14:29:58 -04:00
committed by GitHub
5 changed files with 20 additions and 11 deletions

View File

@@ -12,12 +12,12 @@ export default
return (index === -1) ? $stateParams.group.length : index; return (index === -1) ? $stateParams.group.length : index;
}); });
$scope.inventory = inventoryData; $scope.inventory = inventoryData;
$scope.state = $state;
// slices the group stack at $index to supply new group params to $state.go() // slices the group stack at $index to supply new group params to $state.go()
$scope.goToGroup = function($index){ $scope.goToGroup = function($index){
var group = $stateParams.group.slice(0, $index); var group = $stateParams.group.slice(0, $index);
$state.go('inventoryManage', {group: group}, {reload: true}); $state.go('inventoryManage', {group: group}, {reload: true});
}; };
$scope.state = $state;
$scope.isRootState = function(){ $scope.isRootState = function(){
return $state.current.name === 'inventoryManage'; return $state.current.name === 'inventoryManage';
}; };

View File

@@ -1,7 +1,10 @@
<div class="BreadCrumb InventoryManageBreadCrumbs"> <div class="BreadCrumb InventoryManageBreadCrumbs">
<ol class="BreadCrumb-list"> <ol class="BreadCrumb-list">
<li class="BreadCrumb-item"><a ui-sref="inventories">Inventories</a></li> <li class="BreadCrumb-item"><a ui-sref="inventories">Inventories</a></li>
<li href class="BreadCrumb-item"><a href ng-click="goToInventory()">Manage {{inventory.name}}</a></li> <li href class="BreadCrumb-item">
<a href ng-if="!isRootState() || groups.length > 0" ng-click="goToInventory()">{{inventory.name}}</a>
<span ng-if="isRootState() && groups.length === 0">{{inventory.name}}</span>
</li>
<!-- inside inventoryManage list view (last item is not clickable) --> <!-- inside inventoryManage list view (last item is not clickable) -->
<span ng-if="isRootState()"> <span ng-if="isRootState()">
<li class="BreadCrumb-item"></li> <li class="BreadCrumb-item"></li>

View File

@@ -11,7 +11,7 @@ var ManageGroupsEdit = {
name: 'inventoryManage.editGroup', name: 'inventoryManage.editGroup',
route: '/edit-group?group_id', route: '/edit-group?group_id',
ncyBreadcrumb: { ncyBreadcrumb: {
label: "EDIT {{group.name}}" label: "{{name}}"
}, },
data: { data: {
mode: 'edit' mode: 'edit'
@@ -36,7 +36,7 @@ var ManageGroupsAdd = {
route: '/add-group', route: '/add-group',
// use a query string to break regex search // use a query string to break regex search
ncyBreadcrumb: { ncyBreadcrumb: {
label: "ADD GROUP" label: "CREATE GROUP"
}, },
data: { data: {
mode: 'add' mode: 'add'

View File

@@ -11,7 +11,7 @@ var ManageHostsEdit = {
name: 'inventoryManage.editHost', name: 'inventoryManage.editHost',
route: '/edit-host?host_id', route: '/edit-host?host_id',
ncyBreadcrumb: { ncyBreadcrumb: {
label: "EDIT {{host.name}}", label: "{{host.name}}",
}, },
data: { data: {
mode: 'edit' mode: 'edit'
@@ -35,7 +35,7 @@ var ManageHostsAdd = {
route: '/add-host', route: '/add-host',
// use a query string to break regex search // use a query string to break regex search
ncyBreadcrumb: { ncyBreadcrumb: {
label: "ADD HOST" label: "CREATE HOST"
}, },
data: { data: {
mode: 'add' mode: 'add'

View File

@@ -77,7 +77,7 @@ export default
}); });
$stateExtender.addState({ $stateExtender.addState({
name: 'inventoryManage.schedules', name: 'inventoryManage.schedules',
route: '/schedules/:id', route: '/:id/schedules',
views: { views: {
'form@inventoryManage': { 'form@inventoryManage': {
templateUrl: templateUrl("scheduler/scheduler"), templateUrl: templateUrl("scheduler/scheduler"),
@@ -85,19 +85,25 @@ export default
} }
}, },
ncyBreadcrumb: { ncyBreadcrumb: {
label: "{{name}} SCHEDULES" label: "SCHEDULES"
}, }
}); });
$stateExtender.addState({ $stateExtender.addState({
name: 'inventoryManage.schedules.add', name: 'inventoryManage.schedules.add',
route: '/add', route: '/add',
templateUrl: templateUrl("scheduler/schedulerForm"), templateUrl: templateUrl("scheduler/schedulerForm"),
controller: 'schedulerAddController' controller: 'schedulerAddController',
ncyBreadcrumb: {
label: "CREATE SCHEDULE"
}
}); });
$stateExtender.addState({ $stateExtender.addState({
name: 'inventoryManage.schedules.edit', name: 'inventoryManage.schedules.edit',
route: '/:schedule_id', route: '/:schedule_id',
templateUrl: templateUrl("scheduler/schedulerForm"), templateUrl: templateUrl("scheduler/schedulerForm"),
controller: 'schedulerEditController' controller: 'schedulerEditController',
ncyBreadcrumb: {
label: "{{schedule_obj.name}}"
}
}); });
}]); }]);