Files
awx/awx/ui/static/js/lists/Streams.js

231 lines
7.5 KiB
JavaScript

/*********************************************
* Copyright (c) 2014 AnsibleWorks, Inc.
*
* Streams.js
* List view object for activity stream data model.
*
*
*/
angular.module('StreamListDefinition', [])
.value(
'StreamList', {
name: 'activities',
iterator: 'activity',
editTitle: 'Activity Stream',
selectInstructions: '',
index: false,
hover: true,
"class": "table-condensed",
searchWidgets: 3,
fields: {
timestamp: {
label: 'Event Time',
key: true,
desc: true,
noLink: true,
searchable: false
},
user: {
label: 'Initiated by',
ngBindHtml: 'activity.user',
sourceModel: 'actor',
sourceField: 'username',
//awToolTip: "\{\{ userToolTip \}\}",
//dataPlacement: 'top',
searchPlaceholder: 'Username',
searchWidget: 1
},
description: {
label: 'Action',
ngBindHtml: 'activity.description',
nosort: true,
searchable: false
},
system_event: {
label: 'System event',
searchOnly: true,
searchType: 'isnull',
sourceModel: 'actor',
sourceField: 'username',
searchWidget: 1
},
// The following fields exist to force loading each type of object into the search
// dropdown
all_objects: {
label: 'All',
searchOnly: true,
searchObject: 'all',
searchPlaceholder: 'All resources',
searchWidget: 2
},
credential_search: {
label: 'Credential',
searchOnly: true,
searchObject: 'credential',
searchPlaceholder: 'Credential name',
searchWidget: 2,
searchField: 'object1'
},
group_search: {
label: 'Group',
searchOnly: true,
searchObject: 'group',
searchPlaceholder: 'Group name',
searchWidget: 2,
searchField: 'object1'
},
host_search: {
label: 'Host',
searchOnly: true,
searchObject: 'host',
searchPlaceholder: 'Host name',
searchWidget: 2,
searchField: 'object1'
},
inventory_search: {
label: 'Inventory',
searchOnly: true,
searchObject: 'inventory',
searchPlaceholder: 'Inventory name',
searchWidget: 2,
searchField: 'object1'
},
job_template_search: {
label: 'Job Template',
searchOnly: true,
searchObject: 'job_template',
searchPlaceholder: 'Job template name',
searchWidget: 2,
searchField: 'object1'
},
organization_search: {
label: 'Organization',
searchOnly: true,
searchObject: 'organization',
searchPlaceholder: 'Organization name',
searchWidget: 2,
searchField: 'object1'
},
project_search: {
label: 'Project',
searchOnly: true,
searchObject: 'project',
searchPlaceholder: 'Project name',
searchWidget: 2,
searchField: 'object1'
},
user_search: {
label: 'User',
searchOnly: true,
searchObject: 'user',
searchPlaceholder: 'Primary username',
searchWidget: 2,
searchField: 'object1'
},
// The following fields exist to force loading each type of object into the search
// dropdown
all_objects3: {
label: 'All',
searchOnly: true,
searchObject: 'all',
searchPlaceholder: 'All related resources',
searchWidget: 3,
searchField: 'object2'
},
credential_search3: {
label: 'Credential',
searchOnly: true,
searchObject: 'credential',
searchPlaceholder: 'Related credential name',
searchWidget: 3,
searchField: 'object2'
},
group_search3: {
label: 'Group',
searchOnly: true,
searchObject: 'group',
searchPlaceholder: 'Related group name',
searchWidget: 3,
searchField: 'object2'
},
host_search3: {
label: 'Host',
searchOnly: true,
searchObject: 'host',
searchPlaceholder: 'Related host name',
searchWidget: 3,
searchField: 'object2'
},
inventory_search3: {
label: 'Inventory',
searchOnly: true,
searchObject: 'inventory',
searchPlaceholder: 'Related inventory name',
searchWidget: 3,
searchField: 'object2'
},
job_template_search3: {
label: 'Job Template',
searchOnly: true,
searchObject: 'job_template',
searchPlaceholder: 'Related job template name',
searchWidget: 3,
searchField: 'object2'
},
organization_search3: {
label: 'Organization',
searchOnly: true,
searchObject: 'organization',
searchPlaceholder: 'Related organization name',
searchWidget: 3,
searchField: 'object2'
},
project_search3: {
label: 'Project',
searchOnly: true,
searchObject: 'project',
searchPlaceholder: 'Related project name',
searchWidget: 3,
searchField: 'object2'
},
user_search3: {
label: 'User',
searchOnly: true,
searchObject: 'user',
searchPlaceholder: 'Related username',
searchWidget: 3,
searchField: 'object2'
}
},
actions: {
refresh: {
mode: 'all',
'class': 'btn-xs',
awToolTip: "Refresh the page",
ngClick: "refreshStream()"
},
close: {
mode: 'all',
awToolTip: "Close Activity Stream view",
ngClick: "closeStream()"
}
},
fieldActions: {
view: {
label: 'View',
ngClick: "showDetail(\{\{ activity.id \}\})",
icon: 'fa-zoom-in',
"class": 'btn-default btn-xs',
awToolTip: 'View event details',
dataPlacement: 'top'
}
}
});