First attempt at accessing /activity_stream. Modified /list/Stream.js to match the API and to start providing some of the translation we'll need.

This commit is contained in:
Chris Houseknecht
2013-11-14 07:02:22 +00:00
parent bd942e540a
commit 9505768bf6
4 changed files with 43 additions and 20 deletions

View File

@@ -70,9 +70,11 @@ angular.module('PaginateHelper', ['RefreshHelper', 'ngCookies'])
scope[iterator + 'Page'] = 0; scope[iterator + 'Page'] = 0;
var new_url = url.replace(/\?page_size\=\d+/,''); var new_url = url.replace(/\?page_size\=\d+/,'');
console.log('new_url: ' + new_url);
var connect = (/\/$/.test(new_url)) ? '?' : '&'; var connect = (/\/$/.test(new_url)) ? '?' : '&';
new_url += (scope[iterator + 'SearchParams']) ? connect + scope[iterator + 'SearchParams'] + '&page_size=' + scope[iterator + 'PageSize' ] : new_url += (scope[iterator + 'SearchParams']) ? connect + scope[iterator + 'SearchParams'] + '&page_size=' + scope[iterator + 'PageSize' ] :
+ connect + 'page_size=' + scope[iterator + 'PageSize' ]; connect + 'page_size=' + scope[iterator + 'PageSize' ];
console.log('new_url: ' + new_url);
Refresh({ scope: scope, set: set, iterator: iterator, url: new_url }); Refresh({ scope: scope, set: set, iterator: iterator, url: new_url });
} }
} }

View File

@@ -19,17 +19,20 @@ angular.module('StreamListDefinition', [])
"class": "table-condensed", "class": "table-condensed",
fields: { fields: {
event_time: {
key: true,
label: 'When'
},
user: { user: {
label: 'Who', label: 'User',
linkTo: "\{\{ activity.userLink \}\}",
sourceModel: 'user', sourceModel: 'user',
sourceField: 'username' sourceField: 'username',
awToolTip: "\{\{ userToolTip \}\}",
dataPlacement: 'top'
}, },
operation: { timestamp: {
label: 'Operation' label: 'Event Time',
},
objects: {
label: 'Objects',
ngBindHtml: 'activity.objects'
}, },
description: { description: {
label: 'Description' label: 'Description'

View File

@@ -61,7 +61,7 @@ angular.module('StreamWidget', ['RestServices', 'Utilities', 'StreamListDefiniti
return function(params) { return function(params) {
var list = StreamList; var list = StreamList;
var defaultUrl = $basePath + 'html/event_log.html/'; var defaultUrl = GetBasePath('activity_stream');
var view = GenerateList; var view = GenerateList;
// Push the current page onto browser histor. If user clicks back button, restore current page without // Push the current page onto browser histor. If user clicks back button, restore current page without
@@ -84,20 +84,37 @@ angular.module('StreamWidget', ['RestServices', 'Utilities', 'StreamListDefiniti
} }
scope.refreshStream = function() { scope.refreshStream = function() {
scope['activities'].splice(10,10); scope.search(list.iterator);
//scope.search(list.iterator);
} }
function fixUrl(u) { return u.replace(/\/api\/v1\//,'/#/'); }
if (scope.removePostRefresh) { if (scope.removePostRefresh) {
scope.removePostRefresh(); scope.removePostRefresh();
} }
scope.removePostRefresh = scope.$on('PostRefresh', function() { scope.removePostRefresh = scope.$on('PostRefresh', function() {
for (var i=0; i < scope['activities'].length; i++) { for (var i=0; i < scope['activities'].length; i++) {
// Convert event_time date to local time zone // Convert event_time date to local time zone
cDate = new Date(scope['activities'][i].event_time); cDate = new Date(scope['activities'][i].timestamp);
scope['activities'][i].event_time = FormatDate(cDate); scope['activities'][i].timestamp = FormatDate(cDate);
// Display username // Display username
scope['activities'][i].user = scope.activities[i].summary_fields.user.username; scope['activities'][i].user = (scope['activities'][i].summary_fields.user) ? scope['activities'][i].summary_fields.user.username :
'System';
if (scope['activities'][i].user !== 'System') {
scope['activities'][i].userLink = (scope['activities'][i].summary_fields.user) ? fixUrl(scope['activities'][i].related.user) :
"";
}
// Objects
var href;
if (scope['activities'][i].summary_fields.object1) {
href = fixUrl(scope['activities'][i].related.object_1);
scope['activities'][i].objects = "<a href=\"" + href + "\">" + scope['activities'][i].summary_fields.object1.name + "</a>";
}
if (scope['activities'][i].summary_fields.object2) {
href = fixUrl(scope['activities'][i].related.object_2);
scope['activities'][i].objects += ", <a href=\"" + href + "\">" + scope['activities'][i].summary_fields.object2.name + "</a>";
}
} }
ShowStream(); ShowStream();
}); });

View File

@@ -340,6 +340,7 @@ angular.module('GeneratorHelpers', ['GeneratorHelpers'])
html += (field.ngClass) ? Attr(field, 'ngClass') : ""; html += (field.ngClass) ? Attr(field, 'ngClass') : "";
html += (options.mode == 'lookup' || options.mode == 'select') ? " ng-click=\"toggle_" + list.iterator +"({{ " + list.iterator + ".id }})\"" : ""; html += (options.mode == 'lookup' || options.mode == 'select') ? " ng-click=\"toggle_" + list.iterator +"({{ " + list.iterator + ".id }})\"" : "";
html += (field.columnShow) ? Attr(field, 'columnShow') : ""; html += (field.columnShow) ? Attr(field, 'columnShow') : "";
html += (field.ngBindHtml) ? "ng-bind-html-unsafe=\"" + field.ngBindHtml + "\" " : "";
html += ">\n"; html += ">\n";
// Add ngShow // Add ngShow
@@ -359,7 +360,7 @@ angular.module('GeneratorHelpers', ['GeneratorHelpers'])
// Start the Link // Start the Link
if ( (field.key || field.link || field.linkTo || field.ngClick || field.ngHref) && if ( (field.key || field.link || field.linkTo || field.ngClick || field.ngHref) &&
options['mode'] != 'lookup' && options['mode'] != 'select' && !field.noLink ) { options['mode'] != 'lookup' && options['mode'] != 'select' && !field.noLink && !field.ngBindHtml) {
var cap=false; var cap=false;
if (field.linkTo) { if (field.linkTo) {
html += "<a href=\"" + field.linkTo + "\" "; html += "<a href=\"" + field.linkTo + "\" ";
@@ -397,7 +398,7 @@ angular.module('GeneratorHelpers', ['GeneratorHelpers'])
} }
// Add data binds // Add data binds
if (field.showValue == undefined || field.showValue == true) { if (!field.ngBindHtml && (field.showValue == undefined || field.showValue == true)) {
if (field.ngBind) { if (field.ngBind) {
html += "{{ " + field.ngBind + " }}"; html += "{{ " + field.ngBind + " }}";
} }
@@ -417,7 +418,7 @@ angular.module('GeneratorHelpers', ['GeneratorHelpers'])
// close the link // close the link
if ( (field.key || field.link || field.linkTo || field.ngClick || field.ngHref ) if ( (field.key || field.link || field.linkTo || field.ngClick || field.ngHref )
&& options.mode != 'lookup' && options.mode != 'select' && !field.noLink ) { && options.mode != 'lookup' && options.mode != 'select' && !field.noLink && !field.ngBindHtml ) {
html += "</a>"; html += "</a>";
} }
// close ngShow // close ngShow