WIP - Show only two panels at a time

This commit is contained in:
Marliana Lara 2017-07-26 09:34:53 -04:00
parent 669cf79898
commit be39c483b4
5 changed files with 53 additions and 50 deletions

View File

@ -258,7 +258,7 @@ export default
};
$scope.configureSchedule = function(id) {
$state.transitionTo('managementJobSchedules', {
$state.transitionTo('managementJobsList.schedule', {
id: id
});
};

View File

@ -1,42 +1,45 @@
<div ui-view></div>
<div class="tab-pane Panel" id="management_jobs">
<div class="List-title">
<div class="List-titleText" translate>
MANAGEMENT JOBS
</div>
<span class="badge List-titleBadge ng-binding">
{{ mgmtCards.length }}
</span>
</div>
<div class="MgmtCards">
<div class="MgmtCards-card"
ng-repeat="card in mgmtCards track by card.id" ng-class="{'MgmtCards-card--selected': activeCard === card.id}">
<!-- Begin Card Header -->
<div class="MgmtCards-header">
<h3 class="MgmtCards-label"> {{ card.name }}</h3>
<div class="MgmtCards-actionItems">
<button class="MgmtCards-actionItem List-actionButton"
ng-click='chooseRunJob(card.id, card.name)'
ng-show='current_user.is_superuser'
data-placement="top" aw-tool-tip="{{'Launch Management Job'|translate}}" data-original-title="" title="">
<i class="MgmtCards-actionItemIcon icon-launch"></i>
</button>
<button class="MgmtCards-actionItem List-actionButton"
ng-click='configureSchedule(card.id)'
data-placement="top" aw-tool-tip="{{'Schedule Management Job'|translate}}" data-original-title="" title="">
<i class="MgmtCards-actionItemIcon fa fa-calendar"></i>
</button>
<button class="MgmtCards-actionItem List-actionButton"
ng-click='goToNotifications(card, card.id)'
ng-show='current_user.is_superuser'
data-placement="top" aw-tool-tip="{{'Configure Notifications'|translate}}" data-original-title="" title="" ng-class="{'List-editButton--selected': activeCard === card.id && cardAction === 'notifications'}">
<i class="MgmtCards-actionItemIcon fa fa-bell-o"></i>
</button>
</div>
<div class="tab-pane" id="management-jobs-panel">
<aw-limit-panels max-panels="2" panel-container="management-jobs-panel"></aw-limit-panels>
<div ui-view></div>
<div class="tab-pane Panel" id="management_jobs">
<div class="List-title">
<div class="List-titleText" translate>
MANAGEMENT JOBS
</div>
<!-- End Card Header -->
<!-- Begin Card Body -->
<p>{{card.description || "Place organization description here"}}</p>
<!-- End Card Body -->
<span class="badge List-titleBadge ng-binding">
{{ mgmtCards.length }}
</span>
</div>
</div>
<div class="MgmtCards">
<div class="MgmtCards-card"
ng-repeat="card in mgmtCards track by card.id" ng-class="{'MgmtCards-card--selected': activeCard === card.id}">
<!-- Begin Card Header -->
<div class="MgmtCards-header">
<h3 class="MgmtCards-label"> {{ card.name }}</h3>
<div class="MgmtCards-actionItems">
<button class="MgmtCards-actionItem List-actionButton"
ng-click='chooseRunJob(card.id, card.name)'
ng-show='current_user.is_superuser'
data-placement="top" aw-tool-tip="{{'Launch Management Job'|translate}}" data-original-title="" title="">
<i class="MgmtCards-actionItemIcon icon-launch"></i>
</button>
<button class="MgmtCards-actionItem List-actionButton"
ng-click='configureSchedule(card.id)'
data-placement="top" aw-tool-tip="{{'Schedule Management Job'|translate}}" data-original-title="" title="">
<i class="MgmtCards-actionItemIcon fa fa-calendar"></i>
</button>
<button class="MgmtCards-actionItem List-actionButton"
ng-click='goToNotifications(card, card.id)'
ng-show='current_user.is_superuser'
data-placement="top" aw-tool-tip="{{'Configure Notifications'|translate}}" data-original-title="" title="" ng-class="{'List-editButton--selected': activeCard === card.id && cardAction === 'notifications'}">
<i class="MgmtCards-actionItemIcon fa fa-bell-o"></i>
</button>
</div>
</div>
<!-- End Card Header -->
<!-- Begin Card Body -->
<p>{{card.description || "Place organization description here"}}</p>
<!-- End Card Body -->
</div>
</div>
</div>

View File

@ -19,14 +19,14 @@ angular.module('managementJobScheduler', [])
.run(['$stateExtender', function($stateExtender) {
$stateExtender.addState({
searchPrefix: 'schedule',
name: 'managementJobSchedules',
name: 'managementJobsList.schedule',
route: '/management_jobs/:id/schedules',
ncyBreadcrumb: {
parent: 'managementJobsList',
label: N_('SCHEDULES')
},
views: {
'@': {
'@managementJobsList': {
templateProvider: function(ScheduleList, generateList, ParentObject) {
// include name of parent resource in listTitle
ScheduleList.listTitle = `${ParentObject.name}<div class='List-titleLockup'></div>` + N_('SCHEDULES');
@ -74,10 +74,10 @@ angular.module('managementJobScheduler', [])
}
});
$stateExtender.addState({
name: 'managementJobSchedules.add',
name: 'managementJobsList.schedule.add',
route: '/add',
ncyBreadcrumb: {
parent: 'managementJobSchedules',
parent: 'managementJobsList.schedule',
label: N_('CREATE SCHEDULED JOB')
},
views: {
@ -88,10 +88,10 @@ angular.module('managementJobScheduler', [])
}
});
$stateExtender.addState({
name: 'managementJobSchedules.edit',
name: 'managementJobsList.schedule.edit',
route: '/edit/:schedule_id',
ncyBreadcrumb: {
parent: 'managementJobSchedules',
parent: 'managementJobsList.schedule',
label: N_('EDIT SCHEDULED JOB')
},
views: {

View File

@ -18,7 +18,7 @@ function($filter, $state, $stateParams, EditSchedule, Wait, $scope, $rootScope,
/*
* This is a workaround for the angular-scheduler library inserting `ll` into fields after an
* invalid entry and never unsetting them. Presumably null is being truncated down to 2 chars
* invalid entry and never unsetting them. Presumably null is being truncated down to 2 chars
* in that case.
*
* Because this same problem exists in the edit mode and because there's no inheritence, this
@ -91,7 +91,7 @@ function($filter, $state, $stateParams, EditSchedule, Wait, $scope, $rootScope,
};
// extra_data field is not manifested in the UI when scheduling a Management Job
if ($state.current.name !== 'managementJobSchedules.add' && $state.current.name !== 'managementJobSchedules.edit'){
if ($state.current.name !== 'managementJobsList.schedule.add' && $state.current.name !== 'managementJobsList.schedule.edit'){
$scope.$on('ScheduleFound', function(){
let readOnly = !$scope.schedule_obj.summary_fields.user_capabilities
.edit;

View File

@ -183,7 +183,7 @@ export default [
case 'system_job':
deferred.resolve({
name: 'managementJobSchedules.edit',
name: 'managementJobsList.schedule.edit',
params: {
id: schedule.unified_job_template,
schedule_id: schedule.id