main.component.ts
4.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import {bundle, Component, StateConfig, Inject} from "ng-forward";
import {ArticleBlogComponent} from "./../article/types/blog/blog.component";
import {ArticleViewComponent} from "./../article/article-default-view.component";
import {ProfileComponent} from "../profile/profile.component";
import {BoxesComponent} from "../layout/boxes/boxes.component";
import {BlockComponent} from "../layout/blocks/block.component";
import {EnvironmentComponent} from "../environment/environment.component";
import {EnvironmentHomeComponent} from "../environment/environment-home.component";
import {PeopleBlockComponent} from "../layout/blocks/people-block/people-block.component"
import {LinkListBlockComponent} from "./../layout/blocks/link-list/link-list.component";
import {RecentDocumentsBlockComponent} from "../layout/blocks/recent-documents/recent-documents.component";
import {ProfileImageBlockComponent} from "../layout/blocks/profile-image-block/profile-image-block.component";
import {RawHTMLBlockComponent} from "../layout/blocks/raw-html/raw-html.component";
import {MembersBlockComponent} from "./../layout/blocks/members-block/members-block.component";
import {CommunitiesBlockComponent} from "./../layout/blocks/communities-block/communities-block.component";
import {NoosferoTemplate} from "../shared/pipes/noosfero-template.filter";
import {DateFormat} from "../shared/pipes/date-format.filter";
import {AuthService} from "../login/auth.service";
import {SessionService} from "../login/session.service";
import {NotificationService} from "../shared/services/notification.service";
import {BodyStateClassesService} from "./../layout/services/body-state-classes.service";
import {Navbar} from "../layout/navbar/navbar";
import {MainBlockComponent} from "../layout/blocks/main-block/main-block.component";
/**
* @ngdoc controller
* @name main.MainContentComponent
* @requires AuthService, Session
* @descrition
* This controller actually contains the main content of Noosfero Angular Theme:
* - the navbar
* - the {@link Main} view content
*
*/
@Component({
selector: 'main-content',
templateUrl: "app/main/main.html",
providers: [AuthService, SessionService]
})
@Inject(BodyStateClassesService)
export class MainContentComponent {
constructor(private bodyStateClassesService: BodyStateClassesService) {
bodyStateClassesService.start();
}
}
@Component({
selector: 'environment-content',
templateUrl: "app/main/main.html",
providers: [AuthService, SessionService]
})
export class EnvironmentContent {
}
/**
* @ngdoc controller
* @name main.Main
* @requires AuthService, Session, Notification, ArticleBlog, ArticleView, Boxes, Block, LinkListBlock,
* MainBlock, RecentDocumentsBlock, Navbar, ProfileImageBlock, MembersBlock,
* NoosferoTemplate, DateFormat, RawHTMLBlock
* @description
* The Main controller for the Noosfero Angular Theme application.
*
* The main route '/' is defined as the URL for this controller, which routes
* requests to the {@link main.MainContentComponent} controller and also, the '/profile' route,
* which routes requests to the {@link profile.Profile} controller. See {@link profile.Profile}
* for more details on how various Noosfero profiles are rendered.
*/
@Component({
selector: 'main',
template: '<div ng-view></div>',
directives: [
ArticleBlogComponent, ArticleViewComponent, BoxesComponent, BlockComponent,
EnvironmentComponent, PeopleBlockComponent,
LinkListBlockComponent, CommunitiesBlockComponent,
MainBlockComponent, RecentDocumentsBlockComponent, Navbar, ProfileImageBlockComponent,
MembersBlockComponent, NoosferoTemplate, DateFormat, RawHTMLBlockComponent
],
providers: [AuthService, SessionService, NotificationService, BodyStateClassesService]
})
@StateConfig([
{
url: '',
component: MainContentComponent,
abstract: true,
name: 'main',
},
{
url: '/',
component: EnvironmentComponent,
name: 'main.environment',
abstract: true,
views: {
"content": {
templateUrl: "app/environment/environment.html",
controller: EnvironmentComponent,
controllerAs: "vm"
}
}
},
{
url: "^/:profile",
abstract: true,
component: ProfileComponent,
name: 'main.profile',
views: {
"content": {
templateUrl: "app/profile/profile.html",
controller: ProfileComponent,
controllerAs: "vm"
}
}
}
])
export class MainComponent {
}