activity stream, display name of resource as title

related to #4185

* When activity stream is gone to from a resource edit view, it should:
  * only show activity for the particular object
  * display the name of the resource as a title

This commit patch half-ass does those two things. So what's missing?
That questions is best answered by looking at how the feature behaves in
tower 3.0.3. You'll notice that you are "locked" on the resource you are
viewing the activity stream for. With this commit:
* You aren't locked
* The removal of the resource-id filter (smart-search) is borked.

So what do we need to do?:
* Lock the view to the resource being viewed

How do we need to do it?:
* router params.activity_search.values is a "static" thing. It is used
to tell smart-search to not generate search tags. This is what we want
to do. However, this is a contructor-only parameter. Further, the value
"value" gets passed around to all sorts of other UI contructors that are
hard to get access to when they are needed to try and dynamically set
smart-search ignore search-tags.
This commit is contained in:
Chris Meyers 2017-01-16 08:31:35 -05:00
parent 67b9960d5a
commit a58433ed9b
2 changed files with 13 additions and 3 deletions

View File

@ -47,6 +47,9 @@ export default
order_by: '-timestamp',
page_size: '20',
};
if (streamConfig.activityStreamTarget && streamConfig.activityStreamId) {
stateGoParams.activity_search[streamConfig.activityStreamTarget] = $state.params[streamConfig.activityStreamId];
}
}
else {
stateGoParams.activity_search = {

View File

@ -177,7 +177,7 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
break;
case 'edit':
url = params.urls && params.urls.edit ? params.urls.edit : (params.url ? params.url : `/:${form.name}_id`);
formNode = $stateExtender.buildDefinition({
let formNodeState = {
name: params.name || `${params.parent}.edit`,
url: url,
ncyBreadcrumb: {
@ -215,8 +215,15 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
return Rest.get();
}
]
}
});
},
};
if (params.data && params.data.activityStreamTarget) {
formNodeState.data = {};
formNodeState.data.activityStreamId = params.data.activityStreamTarget + '_id';
}
formNode = $stateExtender.buildDefinition(formNodeState);
if (params.resolve && params.resolve.edit) {
formNode.resolve = _.merge(formNode.resolve, params.resolve.edit);
}