diff --git a/package-lock.json b/package-lock.json index e0245b22..1c0e7771 100644 --- a/package-lock.json +++ b/package-lock.json @@ -562,10 +562,10 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, - "angularfire2": { - "version": "4.0.0-rc.1", - "resolved": "https://registry.npmjs.org/angularfire2/-/angularfire2-4.0.0-rc.1.tgz", - "integrity": "sha1-1zAUrFQxwEWO6VMhT3mVOgZSjD8=" + "angular-in-memory-web-api": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/angular-in-memory-web-api/-/angular-in-memory-web-api-0.3.2.tgz", + "integrity": "sha1-iDbZ4lNNN7co88taHK9v4ef7vs0=" }, "ansi-escapes": { "version": "2.0.0", diff --git a/package.json b/package.json index 4cbc0e88..9eb2302c 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@angular/platform-browser": "^4.3.0", "@angular/platform-browser-dynamic": "^4.3.0", "@angular/router": "^4.3.0", - "angularfire2": "4.0.0-rc.1", + "angular-in-memory-web-api": "^0.3.2", "core-js": "^2.4.1", "firebase": "^4.1.3", "hammerjs": "^2.0.8", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 769c11a0..813c42e0 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -18,11 +18,11 @@ import { FuseMdSidenavHelperService } from './core/directives/md-sidenav-helper/ import { UIPageLayoutsModule } from './main/ui/page-layouts/page-layouts.module'; import { FuseLayoutModule } from './core/components/layout/layout.module'; import { PerfectScrollbarConfigInterface, PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; -import { AngularFireModule } from 'angularfire2'; import { environment } from 'environments/environment'; -import { AngularFireDatabaseModule } from 'angularfire2/database'; import { MailListComponent } from './main/apps/mail/mail-list/mail-list.component'; import { MailDetailsComponent } from './main/apps/mail/mail-details/mail-details.component'; +import { MailDataService } from './main/apps/mail/mail-data.service'; +import { HttpModule } from '@angular/http'; const PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { suppressScrollX: true @@ -31,7 +31,10 @@ const PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { const appRoutes: Routes = [ { path : 'apps/mail', - loadChildren: './main/apps/mail/mail.module#MailModule' + loadChildren: './main/apps/mail/mail.module#MailModule', + resolve : { + mailDB: MailDataService + } }, { path : '**', @@ -46,14 +49,13 @@ const appRoutes: Routes = [ ], imports : [ BrowserModule, + HttpModule, HttpClientModule, BrowserAnimationsModule, SharedModule, RouterModule.forRoot(appRoutes), PerfectScrollbarModule.forRoot(PERFECT_SCROLLBAR_CONFIG), - AngularFireModule.initializeApp(environment.firebase), - AngularFireDatabaseModule, FuseLayoutModule, @@ -64,6 +66,7 @@ const appRoutes: Routes = [ UIPageLayoutsModule ], providers : [ + MailDataService, FuseNavigationService, FuseLayoutService, FuseMatchMedia, diff --git a/src/app/core/components/navigation/navigation.model.ts b/src/app/core/components/navigation/navigation.model.ts index 48c68977..5be3a735 100644 --- a/src/app/core/components/navigation/navigation.model.ts +++ b/src/app/core/components/navigation/navigation.model.ts @@ -58,7 +58,7 @@ export class FuseNavigation 'title': 'Mail', 'type' : 'nav-item', 'icon' : 'email', - 'url' : '/apps/mail/inbox' + 'url' : '/apps/mail' }, { 'title': 'Chat', diff --git a/src/app/main/apps/mail/mail-data.service.ts b/src/app/main/apps/mail/mail-data.service.ts new file mode 100644 index 00000000..0dabeb5e --- /dev/null +++ b/src/app/main/apps/mail/mail-data.service.ts @@ -0,0 +1,38 @@ +import { Injectable } from '@angular/core'; +import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { Observable } from 'rxjs/Observable'; +import { Http } from '@angular/http'; + +@Injectable() +export class MailDataService implements Resolve +{ + constructor( + private http: Http + ) + { + + } + + resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | any + { + return new Promise((resolve, reject) => + { + console.log('resolve...'); + + this.http.get('api/mailMails').subscribe(response => + { + resolve(response); + }, reject); + }); + } + + getMailsByFolder(handle) + { + + } + + saveMailSubject(subject) + { + + } +} diff --git a/src/app/main/apps/mail/mail-fake-db.service.ts b/src/app/main/apps/mail/mail-fake-db.service.ts new file mode 100644 index 00000000..0d0cf8f8 --- /dev/null +++ b/src/app/main/apps/mail/mail-fake-db.service.ts @@ -0,0 +1,561 @@ +import { InMemoryDbService } from 'angular-in-memory-web-api'; + +export class MailFakeDbService implements InMemoryDbService +{ + createDb() + { + const mails = [ + { + 'id' : '15459251a6d6b397565', + 'from' : { + 'name' : 'Alice Freeman', + 'avatar': 'assets/images/avatars/alice.jpg', + 'email' : 'alicefreeman@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '28 Jun', + 'read' : false, + 'starred' : false, + 'important' : true, + 'hasAttachments': true, + 'attachments' : [ + { + 'type' : 'image', + 'fileName': 'flowers', + 'preview' : 'assets/images/etc/flowers-thumb.jpg', + 'url' : '', + 'size' : '1.1Mb' + }, + { + 'type' : 'image', + 'fileName': 'snow', + 'preview' : 'assets/images/etc/snow-thumb.jpg', + 'url' : '', + 'size' : '380kb' + }, + { + 'type' : 'image', + 'fileName': 'sunrise', + 'preview' : 'assets/images/etc/sunrise-thumb.jpg', + 'url' : 'assets/images/etc/early-sunrise.jpg', + 'size' : '17Mb' + } + ], + 'labels' : [ + 1 + ], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '154588a0864d2881124', + 'from' : { + 'name' : 'Lawrence Collins', + 'avatar': 'assets/images/avatars/vincent.jpg', + 'email' : 'lawrencecollins@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '28 Jun', + 'read' : false, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '15453ba60d3baa5daaf', + 'from' : { + 'name' : 'Judith Burton', + 'avatar': 'assets/images/avatars/joyce.jpg', + 'email' : 'judithburton@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '28 Jun', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [ + 3, + 2 + ], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '15453a06c08fb021776', + 'from' : { + 'name' : 'Danielle Obrien', + 'avatar': 'assets/images/avatars/danielle.jpg', + 'email' : 'danielleobrien@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '28 Jun', + 'read' : true, + 'starred' : true, + 'important' : false, + 'hasAttachments': false, + 'labels' : [ + 3, + 4 + ], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '154537435d5b32bf11a', + 'from' : { + 'name' : 'Brian Flores', + 'avatar': '', + 'email' : 'brianflores@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '26 Jun', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '1544e43dcdae6ebf876', + 'from' : { + 'name' : 'Charles Kim', + 'avatar': 'assets/images/avatars/garry.jpg', + 'email' : 'charleskim@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '18 Jun', + 'read' : true, + 'starred' : false, + 'important' : true, + 'hasAttachments': false, + 'labels' : [ + 2 + ], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '1543ee3a5b43e0f9f45', + 'from' : { + 'name' : 'Patricia White', + 'avatar': '', + 'email' : 'patriciawhite@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '15 Jun', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '1543cc4515df3146112', + 'from' : { + 'name' : 'Juan Carpenter', + 'avatar': 'assets/images/avatars/james.jpg', + 'email' : 'juancarpenter@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '11 Jun', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '154398a4770d7aaf9a2', + 'from' : { + 'name' : 'Maria Gilbert', + 'avatar': 'assets/images/avatars/danielle.jpg', + 'email' : 'mariagilbert@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '5 Jun', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '15438351f87dcd68567', + 'from' : { + 'name' : 'Tammy Brooks', + 'avatar': '', + 'email' : 'tammybrooks@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '1 Jun', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '1542d75d929a603125', + 'from' : { + 'name' : 'Kathy Price', + 'avatar': '', + 'email' : 'kathyprice@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '1 Jun', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '1541ca7af66da284177', + 'from' : { + 'name' : 'Alan Coleman', + 'avatar': '', + 'email' : 'alancoleman@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '28 June', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '154297167e781781745', + 'from' : { + 'name' : 'Thomas Silva', + 'avatar': '', + 'email' : 'thomassilva@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '16 Jun', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 0, + 1, + 2 + ] + }, + { + 'id' : '15427f4c1b7f3953234', + 'from' : { + 'name' : 'Jessica Robertson', + 'avatar': '', + 'email' : 'jessicarobertson@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '19 May', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 3 + ] + }, + { + 'id' : '154204e45a59b168453', + 'from' : { + 'name' : 'John Palmer', + 'avatar': '', + 'email' : 'johnpalmer@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '8 May', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 3 + ] + }, + { + 'id' : '1541dd1e05dfc439216', + 'from' : { + 'name' : 'David Butler', + 'avatar': '', + 'email' : 'davidbutler@creapond.com' + }, + 'to' : [ + { + 'name' : 'me', + 'email': 'johndoe@creapond.com' + } + ], + 'subject' : 'Commits that need to be pushed lorem ipsum dolor sit amet, consectetur adipiscing elit.', + 'message' : '

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce lorem diam, pulvinar id nisl non, ultrices maximus nibh. Suspendisse ut justo velit. Nullam ac ultrices risus, quis auctor orci. Vestibulum volutpat nisi et neque porta ullamcorper. Maecenas porttitor porta erat ac suscipit. Sed cursus leo ut elementum fringilla. Maecenas semper viverra erat, vel ullamcorper dui efficitur in. Vestibulum placerat imperdiet tellus, et tincidunt eros posuere eget. Proin sit amet facilisis libero. Nulla eget est ut erat aliquet rhoncus. Quisque ac urna vitae dui hendrerit sollicitudin vel id sem.

In eget ante sapien. Quisque consequat velit non ante finibus, vel placerat erat ultricies. Aliquam bibendum justo erat, ultrices vehicula dolor elementum a. Mauris eu nisl feugiat ligula molestie eleifend. Aliquam efficitur venenatis velit ac porta. Vivamus vitae pulvinar tellus. Donec odio enim, auctor eget nibh mattis, ultricies dignissim lacus. Phasellus non tincidunt dui. Nulla eu arcu lorem.

Donec non hendrerit augue, lobortis sollicitudin odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis sit amet euismod enim, eget vestibulum justo. Fusce a placerat lectus, eget feugiat purus. Cras risus ante, faucibus eget justo commodo, volutpat tempor ante. Donec sit amet leo venenatis, gravida quam sit amet, blandit dui. In quam ante, elementum ut faucibus nec, tristique vitae dui. Praesent vel erat at enim placerat luctus vel ut ipsum. In congue tempor mi, non ornare lectus condimentum at. Aenean libero diam, finibus eget sapien et, tristique fermentum lorem.

', + 'time' : '7 May', + 'read' : true, + 'starred' : false, + 'important' : false, + 'hasAttachments': false, + 'labels' : [], + 'folders' : [ + 3 + ] + } + ]; + + const folders = [ + { + 'id' : 0, + 'handle': 'inbox', + 'title' : 'Inbox', + 'icon' : 'icon-inbox' + }, + { + 'id' : 1, + 'handle': 'sent', + 'title' : 'Sent', + 'icon' : 'icon-send' + }, + { + 'id' : 2, + 'handle': 'drafts', + 'title' : 'Drafts', + 'icon' : 'icon-email-open' + }, + { + 'id' : 3, + 'handle': 'spam', + 'title' : 'Spam', + 'icon' : 'icon-alert-octagon' + }, + { + 'id' : 4, + 'handle': 'trash', + 'title' : 'Trash', + 'icon' : 'icon-delete' + }, + { + 'id' : 5, + 'handle': 'starred', + 'title' : 'Starred', + 'icon' : 'icon-star' + }, + { + 'id' : 6, + 'handle': 'important', + 'title' : 'Important', + 'icon' : 'icon-label' + } + ]; + + const labels = [ + { + 'id' : 0, + 'handle': 'note', + 'title' : 'Note', + 'color' : 'md-green-600-bg' + }, + { + 'id' : 1, + 'handle': 'paypal', + 'title' : 'Paypal', + 'color' : 'md-orange-800-bg' + }, + { + 'id' : 2, + 'handle': 'invoice', + 'title' : 'Invoice', + 'color' : 'md-blue-grey-500-bg' + }, + { + 'id' : 3, + 'handle': 'amazon', + 'title' : 'Amazon', + 'color' : 'md-blue-500-bg' + } + ]; + + return { + 'mailMails' : mails, + 'mail-folders': folders, + 'mail-labels' : labels + }; + } + + /*get(args): Observable + { + console.log(args); + + // return new Observable + + return Observable.create((observer: Observer) => + { + const response = new Response({id: '1111'}); + observer.next(response); + }); + + }*/ +} diff --git a/src/app/main/apps/mail/mail-list/mail-list.component.html b/src/app/main/apps/mail/mail-list/mail-list.component.html index bf618a11..a5da02c8 100644 --- a/src/app/main/apps/mail/mail-list/mail-list.component.html +++ b/src/app/main/apps/mail/mail-list/mail-list.component.html @@ -1,3 +1,15 @@ + + + +
+
+
+
+
+
+
+
+ diff --git a/src/app/main/apps/mail/mail-list/mail-list.component.ts b/src/app/main/apps/mail/mail-list/mail-list.component.ts index 76d0bcfa..ac5d4cae 100644 --- a/src/app/main/apps/mail/mail-list/mail-list.component.ts +++ b/src/app/main/apps/mail/mail-list/mail-list.component.ts @@ -1,6 +1,7 @@ -import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; -import {AngularFireDatabase, FirebaseListObservable} from 'angularfire2/database'; -import {MailModel} from '../mail.model'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { MailModel } from '../mail.model'; +import { MailDataService } from '../mail-data.service'; +import { Http } from '@angular/http'; @Component({ selector : 'fuse-mail-list', @@ -9,80 +10,58 @@ import {MailModel} from '../mail.model'; }) export class MailListComponent implements OnInit { - mailsDB: FirebaseListObservable; - mails: any; + mails: MailModel[]; + @Input('selectedMail') public selectedMail: MailModel; @Output() onMailSelect = new EventEmitter(); - constructor(private db: AngularFireDatabase) + constructor( + private mailDataService: MailDataService, + private http: Http + ) { - this.mailsDB = this.db.list('/mail/data', { - // query: { - // orderByChild: 'important', - // equalTo : true - // } - }); + } ngOnInit() { - this.mailsDB.subscribe((response) => - { - console.log('mail list component inited'); - console.log(response); - - this.mails = response; - }); } onSave() { - // this.mailList.push({name: 'Mustafa'}); - this.mails.push({subject: 'deneme'}); + /*this.http.get('api/mails?important=true&labels=1').subscribe(response => + { + console.log(response); + });*/ - // this.mails.update({test: 'deneme'}); - // this.mails.set({test: 'deneme'}); + /*this.http.get('api/mail-mails').subscribe(response => + { + console.log(response); + });*/ - /*this.mails.set({ - name: 'sercan', - age : 29 - });*/ + /*this.http.get('api/mail/folders/0').subscribe(response => + { + console.log(response); + });*/ + + + /*this.http.post('api/mails', {id: '2', subject: 'Test test'}).subscribe(response => + { + console.log(response); + + this.http.get('api/mails/2').subscribe(response2 => + { + console.log(response2); + }); + });*/ - console.log(this.mails); } selectMail(mail) { - console.info('mail selected', mail); this.selectedMail = mail; this.onMailSelect.emit(mail); } - onGet() - { - this.mails.subscribe((response) => - { - - console.log(response); - }); - - /*const get = this.http.get('https://fuse2-demo.firebaseio.com/mail.json'); - - get.subscribe((response) => - { - console.log(response); - });*/ - } - - onGoOnline() - { - this.db.database.goOnline(); - } - - onGoOffline() - { - this.db.database.goOffline(); - } - } diff --git a/src/app/main/apps/mail/mail.component.ts b/src/app/main/apps/mail/mail.component.ts index f981f5d5..57d6d2ce 100644 --- a/src/app/main/apps/mail/mail.component.ts +++ b/src/app/main/apps/mail/mail.component.ts @@ -1,7 +1,7 @@ -import {Component, OnInit} from '@angular/core'; -import {AngularFireDatabase, FirebaseListObservable} from 'angularfire2/database'; -import {ActivatedRoute, Data} from '@angular/router'; -import {MailModel} from './mail.model'; +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { MailModel } from './mail.model'; +import { MailDataService } from './mail-data.service'; @Component({ selector : 'fuse-mail', @@ -10,35 +10,23 @@ import {MailModel} from './mail.model'; }) export class MailComponent implements OnInit { - mails: FirebaseListObservable; selectedMail: MailModel; - constructor(private db: AngularFireDatabase, private route: ActivatedRoute) + constructor( + private route: ActivatedRoute, + private mailDataService: MailDataService + ) { console.log('mail component inited'); - - // this.mails = db.list('/mail/data'); - - /*this.mails.subscribe(response => - { - console.log(response); - - console.log('going offline...'); - this.db.database.goOffline(); - });*/ } ngOnInit() { - this.route.data.subscribe((data: Data) => - { - console.warn(data['mails']); - }); + } onMailSelect(mail) { - console.info('on mail select', mail); this.selectedMail = mail; } } diff --git a/src/app/main/apps/mail/mail.model.ts b/src/app/main/apps/mail/mail.model.ts index 4cec6de2..99a24b3b 100644 --- a/src/app/main/apps/mail/mail.model.ts +++ b/src/app/main/apps/mail/mail.model.ts @@ -27,6 +27,7 @@ export class MailModel } ]; labels: string[]; + folders: any[]; constructor() { diff --git a/src/app/main/apps/mail/mail.module.ts b/src/app/main/apps/mail/mail.module.ts index 417114aa..a19ecded 100644 --- a/src/app/main/apps/mail/mail.module.ts +++ b/src/app/main/apps/mail/mail.module.ts @@ -1,49 +1,36 @@ -import { Injectable, NgModule } from '@angular/core'; +import { NgModule } from '@angular/core'; import { SharedModule } from '../../../core/modules/shared.module'; -import { ActivatedRouteSnapshot, Resolve, RouterModule, RouterStateSnapshot, Routes } from '@angular/router'; +import { RouterModule, Routes } from '@angular/router'; import { MailComponent } from './mail.component'; import { MainSidenavComponent } from './sidenavs/main/main-sidenav.component'; import { MailListItemComponent } from './mail-list/mail-list-item/mail-list-item.component'; import { MailListComponent } from './mail-list/mail-list.component'; import { MailDetailsComponent } from './mail-details/mail-details.component'; -import { Observable } from 'rxjs/Observable'; -import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database'; - -@Injectable() -export class MailsResolver implements Resolve -{ - mails: FirebaseListObservable; - - constructor(private db: AngularFireDatabase) - { - console.log('Mails Resolver constructor..'); - this.mails = db.list('/mail/data'); - } - - resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | any - { - return new Promise((resolve, reject) => - { - this.mails.subscribe(response => - { - console.log('resolver....'); - console.log('going offline...'); - this.db.database.goOffline(); - - resolve(response); - - }, reject); - }); - } -} +import { InMemoryWebApiModule } from 'angular-in-memory-web-api'; +import { MailFakeDbService } from './mail-fake-db.service'; +import { HttpModule } from '@angular/http'; const routes: Routes = [ { - path : 'inbox', + path : 'label/:labelHandle', + children: [ + { + path: ':mailId' + } + ] + }, + { + path : ':folderHandle', component: MailComponent, - resolve : { - mails: MailsResolver - } + children : [ + { + path: ':mailId' + } + ] + }, + { + path : '**', + redirectTo: 'inbox' } ]; @@ -57,11 +44,11 @@ const routes: Routes = [ ], imports : [ SharedModule, + HttpModule, + InMemoryWebApiModule.forRoot(MailFakeDbService), RouterModule.forChild(routes) ], - providers : [ - MailsResolver - ] + providers : [] }) export class MailModule { diff --git a/src/app/main/apps/mail/sidenavs/main/main-sidenav.component.html b/src/app/main/apps/mail/sidenavs/main/main-sidenav.component.html index 9ba61cdb..4fa6704d 100644 --- a/src/app/main/apps/mail/sidenavs/main/main-sidenav.component.html +++ b/src/app/main/apps/mail/sidenavs/main/main-sidenav.component.html @@ -22,17 +22,12 @@
- Sidenav + Inbox + Sent + Drafts + Spam + + Spam
- - - -
- -
- - -

- main sidenav -

+ \ No newline at end of file