Merge pull request #2672 from leigh-johnson/2663

Add labels column to job list
This commit is contained in:
Leigh Johnson
2016-06-28 09:47:56 -04:00
committed by GitHub
4 changed files with 19 additions and 11 deletions

View File

@@ -13,6 +13,7 @@ export default
scope: false, scope: false,
templateUrl: templateUrl('job-templates/labels/labelsList'), templateUrl: templateUrl('job-templates/labels/labelsList'),
link: function(scope, element, attrs) { link: function(scope, element, attrs) {
scope.showDelete = attrs.showDelete === 'true';
scope.seeMoreInactive = true; scope.seeMoreInactive = true;
var getNext = function(data, arr, resolve) { var getNext = function(data, arr, resolve) {
@@ -29,7 +30,7 @@ export default
scope.seeMore = function () { scope.seeMore = function () {
var seeMoreResolve = $q.defer(); var seeMoreResolve = $q.defer();
Rest.setUrl(scope.job_template.related.labels); Rest.setUrl(scope[scope.$parent.list.iterator].related.labels);
Rest.get() Rest.get()
.success(function(data) { .success(function(data) {
if (data.next) { if (data.next) {
@@ -70,11 +71,13 @@ export default
}); });
}; };
scope.$watch("job_template.summary_fields.labels.results", function() { scope.$watch(scope.$parent.list.iterator+".summary_fields.labels.results", function() {
// To keep the array of labels fresh, we need to set up a watcher - otherwise, the // To keep the array of labels fresh, we need to set up a watcher - otherwise, the
// array will get set initially and then never be updated as labels are removed // array will get set initially and then never be updated as labels are removed
scope.labels = scope.job_template.summary_fields.labels.results; if (scope[scope.$parent.list.iterator].summary_fields.labels){
scope.count = scope.job_template.summary_fields.labels.count; scope.labels = scope[scope.$parent.list.iterator].summary_fields.labels.results;
scope.count = scope[scope.$parent.list.iterator].summary_fields.labels.count;
}
}); });
} }
}; };

View File

@@ -1,9 +1,10 @@
<div class="LabelList-tagContainer" ng-repeat="label in labels"> <div class="LabelList-tagContainer" ng-repeat="label in labels">
<div class="LabelList-deleteContainer" <div class="LabelList-deleteContainer"
ng-click="deleteLabel(job_template.id, job_template.name, label.id, label.name)"> ng-click="deleteLabel(job_template.id, job_template.name, label.id, label.name)"
ng-show="showDelete">
<i class="fa fa-times LabelList-tagDelete"></i> <i class="fa fa-times LabelList-tagDelete"></i>
</div> </div>
<div class="LabelList-tag LabelList-tag--deletable"> <div class="LabelList-tag" ng-class="{'LabelList-tag--deletable' : showDelete}">
<span class="LabelList-name">{{ label.name }}</span> <span class="LabelList-name">{{ label.name }}</span>
</div> </div>
</div> </div>

View File

@@ -44,7 +44,7 @@ export default
}, },
name: { name: {
label: 'Name', label: 'Name',
columnClass: 'col-lg-3 col-md-3 col-sm-4 col-xs-6', columnClass: 'col-lg-2 col-md-3 col-sm-4 col-xs-6',
ngClick: "viewJobDetails(all_job)", ngClick: "viewJobDetails(all_job)",
defaultSearchField: true, defaultSearchField: true,
awToolTip: "{{ all_job.name | sanitize }}", awToolTip: "{{ all_job.name | sanitize }}",
@@ -54,7 +54,7 @@ export default
label: 'Type', label: 'Type',
ngBind: 'all_job.type_label', ngBind: 'all_job.type_label',
link: false, link: false,
columnClass: "col-lg-3 col-md-3 hidden-sm hidden-xs", columnClass: "col-lg-2 hidden-md hidden-sm hidden-xs",
columnShow: "showJobType", columnShow: "showJobType",
searchable: true, searchable: true,
searchType: 'select', searchType: 'select',
@@ -65,7 +65,7 @@ export default
noLink: true, noLink: true,
searchable: false, searchable: false,
filter: "longDate", filter: "longDate",
columnClass: "col-lg-3 col-md-3 col-sm-3 hidden-xs", columnClass: "col-lg-2 col-md-3 col-sm-3 hidden-xs",
key: true, key: true,
desc: true desc: true
}, },
@@ -79,7 +79,10 @@ export default
}, },
labels: { labels: {
label: 'Labels', label: 'Labels',
searchOnly: true, type: 'labels',
nosort: true,
showDelete: false,
columnClass: 'List-tableCell col-lg-4 col-md-4 hidden-sm hidden-xs',
searchType: 'related', searchType: 'related',
sourceModel: 'labels', sourceModel: 'labels',
sourceField: 'name' sourceField: 'name'

View File

@@ -474,11 +474,12 @@ angular.module('GeneratorHelpers', [systemStatus.name])
</td> </td>
`; `;
} else if (field.type === 'labels') { } else if (field.type === 'labels') {
var showDelete = field.showDelete === undefined ? true : field.showDelete;
classList = (field.columnClass) ? classList = (field.columnClass) ?
Attr(field, 'columnClass') : ""; Attr(field, 'columnClass') : "";
html += ` html += `
<td ${classList}> <td ${classList}>
<labels-list class=\"LabelList\"> <labels-list class=\"LabelList\" show-delete="${showDelete}">
</labels-list> </labels-list>
</td> </td>
`; `;