mirror of
https://github.com/ansible/awx.git
synced 2026-02-16 02:30:01 -03:30
Merge pull request #2672 from leigh-johnson/2663
Add labels column to job list
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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'
|
||||||
|
|||||||
@@ -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>
|
||||||
`;
|
`;
|
||||||
|
|||||||
Reference in New Issue
Block a user