Commit a68fcd7ab902b7c885988ca127b660955dae02be
1 parent
d56bc4d4
Exists in
master
and in
26 other branches
Add hotspot to display extra content for articles
Showing
3 changed files
with
29 additions
and
2 deletions
Show diff stats
src/app/article/article-default-view.component.ts
... | ... | @@ -3,6 +3,7 @@ import {ArticleBlogComponent} from "./types/blog/blog.component"; |
3 | 3 | import {CommentsComponent} from "./comment/comments.component"; |
4 | 4 | import {MacroDirective} from "./macro/macro.directive"; |
5 | 5 | import {ArticleToolbarHotspotComponent} from "../hotspot/article-toolbar-hotspot.component"; |
6 | +import {ArticleContentHotspotComponent} from "../hotspot/article-content-hotspot.component"; | |
6 | 7 | |
7 | 8 | /** |
8 | 9 | * @ngdoc controller |
... | ... | @@ -33,7 +34,8 @@ export class ArticleDefaultViewComponent { |
33 | 34 | selector: 'noosfero-article', |
34 | 35 | template: 'not-used', |
35 | 36 | directives: [ArticleDefaultViewComponent, ArticleBlogComponent, |
36 | - CommentsComponent, MacroDirective, ArticleToolbarHotspotComponent] | |
37 | + CommentsComponent, MacroDirective, ArticleToolbarHotspotComponent, | |
38 | + ArticleContentHotspotComponent] | |
37 | 39 | }) |
38 | 40 | @Inject("$element", "$scope", "$injector", "$compile") |
39 | 41 | export class ArticleViewComponent { | ... | ... |
src/app/article/article.html
... | ... | @@ -0,0 +1,25 @@ |
1 | +import {Component, Input, Inject} from "ng-forward"; | |
2 | +import * as plugins from "../../plugins"; | |
3 | +import {dasherize} from "ng-forward/cjs/util/helpers"; | |
4 | +import {PluginHotspot} from "./plugin-hotspot"; | |
5 | + | |
6 | +@Component({ | |
7 | + selector: "noosfero-hotspot-article-content", | |
8 | + template: "<span></span>" | |
9 | +}) | |
10 | +@Inject("$element", "$scope", "$compile") | |
11 | +export class ArticleContentHotspotComponent extends PluginHotspot { | |
12 | + | |
13 | + @Input() article: noosfero.Article; | |
14 | + | |
15 | + constructor( | |
16 | + private $element: any, | |
17 | + private $scope: ng.IScope, | |
18 | + private $compile: ng.ICompileService) { | |
19 | + super("article_extra_content"); | |
20 | + } | |
21 | + | |
22 | + addHotspot(directiveName: string) { | |
23 | + this.$element.append(this.$compile('<' + directiveName + ' [article]="ctrl.article"></' + directiveName + '>')(this.$scope)); | |
24 | + } | |
25 | +} | ... | ... |