Browse Source

Kinda done

Nicholas Maidanos 6 years ago
parent
commit
8a38312abc

+ 1
- 1
.sourcemaps/main.js.map
File diff suppressed because it is too large
View File


+ 17
- 1
src/app/app.component.ts View File

8
 import { ChannelPage } from '../pages/channel/channel';
8
 import { ChannelPage } from '../pages/channel/channel';
9
 import { CreateChannelPage } from '../pages/create-channel/create-channel';
9
 import { CreateChannelPage } from '../pages/create-channel/create-channel';
10
 import { AllChannelsPage } from '../pages/all-channels/all-channels';
10
 import { AllChannelsPage } from '../pages/all-channels/all-channels';
11
+import { ChannelProvider } from '../providers/channel/channel';
12
+import { MessageProvider } from '../providers/message/message';
11
 
13
 
12
 
14
 
13
 @Component({
15
 @Component({
20
 
22
 
21
   pages: Array<{title: string, component: any}>;
23
   pages: Array<{title: string, component: any}>;
22
 
24
 
23
-  constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen) {
25
+  constructor(
26
+    public platform: Platform,
27
+    public statusBar: StatusBar,
28
+    public splashScreen: SplashScreen,
29
+    public channelProvider: ChannelProvider,
30
+    public messageProvider: MessageProvider
31
+  ) {
24
     this.initializeApp();
32
     this.initializeApp();
25
 
33
 
26
     // used for an example of ngFor and navigation
34
     // used for an example of ngFor and navigation
39
       this.statusBar.styleDefault();
47
       this.statusBar.styleDefault();
40
       this.splashScreen.hide();
48
       this.splashScreen.hide();
41
     });
49
     });
50
+    this.channelProvider.userChannels;
51
+  }
52
+
53
+  setChannel(channel){
54
+    this.channelProvider.channel = channel;
55
+    console.log(this.channelProvider.channel);
56
+    this.messageProvider.get( result => {
57
+    })
42
   }
58
   }
43
 
59
 
44
   openPage(page) {
60
   openPage(page) {

+ 5
- 3
src/app/app.html View File

22
         </ion-list-header>
22
         </ion-list-header>
23
 
23
 
24
         <!-- <ion-item (click)="openPage(ChannelPage)">General Channel</ion-item> -->
24
         <!-- <ion-item (click)="openPage(ChannelPage)">General Channel</ion-item> -->
25
-        <ion-item menuClose (click)="openChannelPage()">General Channel</ion-item>
25
+        <ion-item menuClose *ngFor="let channel of this.channelProvider.userChannels" (click)="setChannel(channel)">
26
+          {{ channel.name }}
27
+        </ion-item>
26
 
28
 
27
         <button menuClose ion-button color="light" type="button"(click)="openCreateChannelPage()" round>+ New Channel</button>
29
         <button menuClose ion-button color="light" type="button"(click)="openCreateChannelPage()" round>+ New Channel</button>
28
         
30
         
33
           View All Channels
35
           View All Channels
34
         </button>
36
         </button>
35
 
37
 
36
-
38
+<!-- 
37
         <ion-list-header>
39
         <ion-list-header>
38
             Direct messages
40
             Direct messages
39
           </ion-list-header>
41
           </ion-list-header>
42
           <ion-item (click)="openPage(ChannelPage)">Small_Wrld</ion-item>
44
           <ion-item (click)="openPage(ChannelPage)">Small_Wrld</ion-item>
43
 
45
 
44
           <button ion-button color="light" type="button" (click)="openPage(Channel)">+ New Direct Message</button>
46
           <button ion-button color="light" type="button" (click)="openPage(Channel)">+ New Direct Message</button>
45
-          
47
+           -->
46
 
48
 
47
 
49
 
48
 
50
 

+ 4
- 0
src/pages/all-channels/all-channels.html View File

12
 
12
 
13
 <ion-content padding>
13
 <ion-content padding>
14
 
14
 
15
+  <ion-item menuClose *ngFor="let channel of this.channelProvider.allChannels" (click)="joinChannel(channel)">
16
+    {{ channel.name }}
17
+  </ion-item>
18
+
15
 </ion-content>
19
 </ion-content>

+ 12
- 1
src/pages/all-channels/all-channels.ts View File

1
 import { Component } from '@angular/core';
1
 import { Component } from '@angular/core';
2
 import { IonicPage, NavController, NavParams } from 'ionic-angular';
2
 import { IonicPage, NavController, NavParams } from 'ionic-angular';
3
+import { ChannelProvider } from '../../providers/channel/channel';
3
 
4
 
4
 /**
5
 /**
5
  * Generated class for the AllChannelsPage page.
6
  * Generated class for the AllChannelsPage page.
15
 })
16
 })
16
 export class AllChannelsPage {
17
 export class AllChannelsPage {
17
 
18
 
18
-  constructor(public navCtrl: NavController, public navParams: NavParams) {
19
+  constructor(
20
+    public navCtrl: NavController,
21
+    public navParams: NavParams,
22
+    public channelProvider: ChannelProvider
23
+  ) {
19
   }
24
   }
20
 
25
 
21
   ionViewDidLoad() {
26
   ionViewDidLoad() {
22
     console.log('ionViewDidLoad AllChannelsPage');
27
     console.log('ionViewDidLoad AllChannelsPage');
23
   }
28
   }
24
 
29
 
30
+  joinChannel(channel){
31
+    this.channelProvider.join(channel, result => {
32
+        this.navCtrl.remove(1);
33
+    });
34
+  }
35
+
25
 }
36
 }

+ 1
- 1
src/pages/channel/channel.html View File

61
       </ion-list> -->
61
       </ion-list> -->
62
 
62
 
63
     <ion-list padding>
63
     <ion-list padding>
64
-      <ion-item-sliding *ngFor="let message of messages">
64
+      <ion-item-sliding *ngFor="let message of this.messageProvider.messages">
65
           <ion-item>{{message.user.username}} - {{message.message}}</ion-item>
65
           <ion-item>{{message.user.username}} - {{message.message}}</ion-item>
66
     
66
     
67
         <ion-item-options side="right">
67
         <ion-item-options side="right">

+ 18
- 14
src/pages/channel/channel.ts View File

19
 
19
 
20
 
20
 
21
   public messages=[];
21
   public messages=[];
22
-  public channels=[];
23
 
22
 
24
   public message: any;
23
   public message: any;
25
 
24
 
41
     private messageProvider: MessageProvider,
40
     private messageProvider: MessageProvider,
42
     private channelProvider: ChannelProvider
41
     private channelProvider: ChannelProvider
43
   ) {
42
   ) {
44
-      this.getMessages();
45
-      this.getChannels();
43
+      //this.getMessages();
44
+      this.messageProvider.get(result =>{
45
+
46
+      });
47
+      //this.getChannels();
46
   }
48
   }
47
 
49
 
48
   ionViewDidLoad() {
50
   ionViewDidLoad() {
49
     console.log('ionViewDidLoad ChannelPage');
51
     console.log('ionViewDidLoad ChannelPage');
50
-    this.start();
52
+    //this.start();
51
   }
53
   }
52
 
54
 
53
 
55
 
56
   }
58
   }
57
 
59
 
58
   getMessages(){
60
   getMessages(){
59
-    this.messageProvider.get(1, after => {
60
-      this.messages = after.json();
61
+    this.messageProvider.get(result =>{
62
+      
61
     });
63
     });
62
   }
64
   }
63
 
65
 
64
-  getChannels(){
65
-    this.timerToken = setInterval(this.channelProvider.get(channels => {
66
-      this.channels = channels;
67
-    }), 5000);
68
-  }
66
+  // getChannels(){
67
+  //   this.timerToken = setInterval(this.channelProvider.getuser(channels => {
68
+  //     this.channels = channels;
69
+  //   }), 5000);
70
+  // }
69
   
71
   
70
   runningLoopOfMessages(channelProvider: ChannelProvider) {
72
   runningLoopOfMessages(channelProvider: ChannelProvider) {
71
-    this.messageProvider.get(1, after => {
73
+    this.messageProvider.get( after => {
72
       this.messages = after.json();
74
       this.messages = after.json();
73
     });
75
     });
74
   }
76
   }
75
   deleteMessage(messageId: number){
77
   deleteMessage(messageId: number){
76
     this.messageProvider.delete(messageId, after =>{
78
     this.messageProvider.delete(messageId, after =>{
77
-      this.getMessages();
79
+      this.messageProvider.get(callback => {
80
+        console.log(callback);
81
+      })
78
     });
82
     });
79
   }
83
   }
80
 
84
 
113
 
117
 
114
   sendMessage(){
118
   sendMessage(){
115
     if (!this.message.trim()) return;
119
     if (!this.message.trim()) return;
116
-    this.messageProvider.post(1, this.message, after => {
120
+    this.messageProvider.post(this.channelProvider.channel.id, this.message, after => {
117
       this.message = '';
121
       this.message = '';
118
       this.getMessages();
122
       this.getMessages();
119
     });
123
     });

+ 2
- 2
src/pages/create-channel/create-channel.html View File

25
         <ion-input
25
         <ion-input
26
         type="text"
26
         type="text"
27
         placeholder="# e.g. ZipTeam Study Session"
27
         placeholder="# e.g. ZipTeam Study Session"
28
-        [(ngModel)]="message"
29
-        (keyup.enter)="sendMessage()"
28
+        [(ngModel)]="channel"
29
+        (keyup.enter)="createChannel()"
30
         >
30
         >
31
         </ion-input>
31
         </ion-input>
32
         
32
         

+ 17
- 1
src/pages/create-channel/create-channel.ts View File

1
 import { Component } from '@angular/core';
1
 import { Component } from '@angular/core';
2
 import { IonicPage, NavController, NavParams } from 'ionic-angular';
2
 import { IonicPage, NavController, NavParams } from 'ionic-angular';
3
+import { ChannelProvider } from '../../providers/channel/channel';
3
 
4
 
4
 /**
5
 /**
5
  * Generated class for the CreateChannelPage page.
6
  * Generated class for the CreateChannelPage page.
15
 })
16
 })
16
 export class CreateChannelPage {
17
 export class CreateChannelPage {
17
 
18
 
18
-  constructor(public navCtrl: NavController, public navParams: NavParams) {
19
+  private channel: string;
20
+
21
+  constructor(
22
+    public navCtrl: NavController, 
23
+    public navParams: NavParams,
24
+    public channelProvider: ChannelProvider
25
+  ) {
19
   }
26
   }
20
 
27
 
21
   ionViewDidLoad() {
28
   ionViewDidLoad() {
22
     console.log('ionViewDidLoad CreateChannelPage');
29
     console.log('ionViewDidLoad CreateChannelPage');
23
   }
30
   }
24
 
31
 
32
+  createChannel(){
33
+    console.log(this.channel)
34
+    if(this.channel.trim()){
35
+      this.channelProvider.create(this.channel, result => {
36
+        this.navCtrl.remove(1);
37
+      });
38
+    }
39
+  }
40
+
25
 }
41
 }

+ 1
- 1
src/pages/home/home.html View File

70
 
70
 
71
   <!-- Toggle menu button -->
71
   <!-- Toggle menu button -->
72
   <!-- <br> -->
72
   <!-- <br> -->
73
-  <button ion-button secondary menuToggle>Toggle Menu</button> 
73
+  <!-- <button ion-button secondary menuToggle>Toggle Menu</button>  -->
74
   
74
   
75
 </ion-content>
75
 </ion-content>

+ 8
- 3
src/pages/home/home.ts View File

5
 import { UserProvider } from '../../providers/user/user';
5
 import { UserProvider } from '../../providers/user/user';
6
 import { MessageProvider } from '../../providers/message/message';
6
 import { MessageProvider } from '../../providers/message/message';
7
 import { RegisterPage } from '../register/register';
7
 import { RegisterPage } from '../register/register';
8
+import { ChannelProvider } from '../../providers/channel/channel';
8
 
9
 
9
 
10
 
10
 
11
 
21
   username: AbstractControl;
22
   username: AbstractControl;
22
   password: AbstractControl;
23
   password: AbstractControl;
23
 
24
 
24
-  constructor(public navCtrl: NavController, private formbuilder: FormBuilder, private userprovider: UserProvider) {
25
+  constructor(
26
+    public navCtrl: NavController,
27
+    private formbuilder: FormBuilder,
28
+    private userprovider: UserProvider,
29
+    private channeProvder: ChannelProvider
30
+  ) {
25
 
31
 
26
     this.formgroup = this.formbuilder.group(
32
     this.formgroup = this.formbuilder.group(
27
 
33
 
46
         console.log("Success!");
52
         console.log("Success!");
47
         this.userprovider.setToken(result.headers.get("authorization"));
53
         this.userprovider.setToken(result.headers.get("authorization"));
48
         console.log(this.userprovider.getToken());
54
         console.log(this.userprovider.getToken());
55
+        this.channeProvder.fetch();
49
         this.navCtrl.setRoot(ChannelPage);
56
         this.navCtrl.setRoot(ChannelPage);
50
-
51
-
52
       } else {
57
       } else {
53
         console.log("invalid login attempt");
58
         console.log("invalid login attempt");
54
       }
59
       }

+ 97
- 6
src/providers/channel/channel.ts View File

2
 import { Injectable } from '@angular/core';
2
 import { Injectable } from '@angular/core';
3
 import { UserProvider } from '../user/user';
3
 import { UserProvider } from '../user/user';
4
 import { Http, RequestOptions, Headers } from '../../../node_modules/@angular/http';
4
 import { Http, RequestOptions, Headers } from '../../../node_modules/@angular/http';
5
+import { UrlProvider } from '../url/url';
5
 
6
 
6
 /*
7
 /*
7
   Generated class for the ChannelProvider provider.
8
   Generated class for the ChannelProvider provider.
12
 @Injectable()
13
 @Injectable()
13
 export class ChannelProvider {
14
 export class ChannelProvider {
14
 
15
 
16
+
17
+  public channel = { "id": 1 };
18
+
19
+  public userChannels = [];
20
+  public allChannels = [];
15
   
21
   
16
 
22
 
17
   constructor(
23
   constructor(
18
     public http: Http,
24
     public http: Http,
19
-    public userProvider: UserProvider
25
+    public userProvider: UserProvider,
26
+    public urlProvider: UrlProvider
20
   ) {
27
   ) {
21
-    console.log('Hello ChannelProvider Provider');
28
+    //console.log('Hello ChannelProvider Provider');
29
+  }
30
+
31
+  /////////////////////////////////////
32
+  getUserChannels(){
33
+    return this.userChannels;
34
+  }
35
+
36
+  setUserChannels(userChannels){
37
+    this.userChannels = userChannels;
22
   }
38
   }
23
 
39
 
24
-  private baseUrl = "https://zipteampurple.herokuapp.com";
40
+  getAllChannels() {
41
+    return this.allChannels;
42
+  }
43
+  
44
+  setAllChannels(allChannels){
45
+    this.allChannels = allChannels;
46
+  }
47
+  ///////////////////////////////////
25
 
48
 
26
-  get(callback){
27
-    var url: string = this.baseUrl + "/user_channels";
49
+
50
+  create(name: string, callback) {
51
+    var url: string = this.urlProvider.getBaseUrl() + "/post_channel";
28
     var header = new Headers({
52
     var header = new Headers({
29
       'Authorization': this.userProvider.getToken(),
53
       'Authorization': this.userProvider.getToken(),
30
       'Content-Type': 'application/json'
54
       'Content-Type': 'application/json'
32
     });
56
     });
33
     let options = new RequestOptions({headers: header});
57
     let options = new RequestOptions({headers: header});
34
  
58
  
59
+    var body = {
60
+      "purpose": "test",
61
+      "private": true,
62
+      "name": name,
63
+    };
64
+ 
65
+    this.http.post(url, body, options).subscribe( result => {
66
+      console.log(result);
67
+      this.fetch();
68
+      callback(result);
69
+    });
70
+
71
+  }
72
+
73
+  fetch(){
74
+    this.fetchUserChannels(userChannels => {
75
+      this.userChannels = userChannels;
76
+      this.fetchAllChannels( allChannels => {
77
+        this.allChannels = allChannels;
78
+        console.log(allChannels);
79
+        console.log(userChannels);
80
+      });
81
+    });
82
+  }
83
+
84
+  fetchUserChannels(callback){
85
+    var url: string = this.urlProvider.getBaseUrl() + "/user_channels";
86
+    var header = new Headers({
87
+      'Authorization': this.userProvider.getToken(),
88
+      'Content-Type': 'application/json'
89
+    });
90
+    let options = new RequestOptions({headers: header});
91
+    this.http.get(url,options).subscribe(result =>{
92
+      //console.log(result);
93
+      callback(result.json());
94
+    });
95
+  }
96
+
97
+  fetchAllChannels(callback){
98
+    var url: string = this.urlProvider.getBaseUrl() + "/get_channels";
99
+    var header = new Headers({
100
+      'Authorization': this.userProvider.getToken(),
101
+      'Content-Type': 'application/json'
102
+    });
103
+    let options = new RequestOptions({headers: header});
35
     this.http.get(url,options).subscribe(result =>{
104
     this.http.get(url,options).subscribe(result =>{
36
       //console.log(result);
105
       //console.log(result);
37
       callback(result.json());
106
       callback(result.json());
38
-    })
107
+    });
108
+  }
109
+
110
+  join(channel, callback){
111
+
112
+    var url: string = this.urlProvider.getBaseUrl() + "/add_user";
113
+    var header = new Headers({
114
+      'Authorization': this.userProvider.getToken(),
115
+      'Content-Type': 'application/json'
116
+      
117
+    });
118
+    let options = new RequestOptions({headers: header});
119
+ 
120
+    var body = {
121
+      "id": channel.id,
122
+    };
123
+ 
124
+    this.http.post(url, body, options).subscribe( result => {
125
+      console.log(result);
126
+      this.fetch();
127
+      callback(result);
128
+    });
129
+
39
   }
130
   }
40
 
131
 
41
   // post(channelId: number, message: string, callback){
132
   // post(channelId: number, message: string, callback){

+ 12
- 5
src/providers/message/message.ts View File

3
 import { Http, RequestOptions, Headers, Response } from '@angular/http';
3
 import { Http, RequestOptions, Headers, Response } from '@angular/http';
4
 import { UserProvider } from '../user/user';
4
 import { UserProvider } from '../user/user';
5
 import { UrlProvider } from '../url/url';
5
 import { UrlProvider } from '../url/url';
6
+import { ChannelProvider } from '../channel/channel';
6
 
7
 
7
 /*
8
 /*
8
   Generated class for the MessageProvider provider.
9
   Generated class for the MessageProvider provider.
13
 @Injectable()
14
 @Injectable()
14
 export class MessageProvider {
15
 export class MessageProvider {
15
 
16
 
17
+  public messages = [];
18
+
16
   constructor(
19
   constructor(
17
     public http: Http,
20
     public http: Http,
18
     public userProvider: UserProvider,
21
     public userProvider: UserProvider,
19
-    public urlProvider: UrlProvider
22
+    public urlProvider: UrlProvider,
23
+    public channelProvider: ChannelProvider
20
   ) {
24
   ) {
21
     console.log('Hello MessageProvider Provider');
25
     console.log('Hello MessageProvider Provider');
22
   }
26
   }
29
     let options = new RequestOptions({headers: header})
33
     let options = new RequestOptions({headers: header})
30
     this.http.get(url, options).subscribe( (result : Response) => {
34
     this.http.get(url, options).subscribe( (result : Response) => {
31
       console.log(result);
35
       console.log(result);
32
-    })
36
+    });
33
   }
37
   }
34
  
38
  
35
   post(channelId: number, message: string, callback){
39
   post(channelId: number, message: string, callback){
48
  
52
  
49
     this.http.post(url, body,options).subscribe( (result : Response) => {
53
     this.http.post(url, body,options).subscribe( (result : Response) => {
50
       console.log(result);
54
       console.log(result);
51
-      this.get(channelId, after => {
55
+      this.get(after => {
52
         callback();
56
         callback();
53
       })
57
       })
54
     })
58
     })
55
   }
59
   }
56
  
60
  
57
-  get(channelId: number, callback){
58
-    var url: string = this.urlProvider.getBaseUrl() + "/messages?channelid=" + channelId ;
61
+  get(callback){
62
+    var url: string = this.urlProvider.getBaseUrl() + "/messages?channelId=" + this.channelProvider.channel.id ;
59
     var header = new Headers({
63
     var header = new Headers({
60
       'Authorization': this.userProvider.getToken(),
64
       'Authorization': this.userProvider.getToken(),
61
       'Content-Type': 'application/json'
65
       'Content-Type': 'application/json'
62
       
66
       
63
     });
67
     });
68
+
69
+    console.log(url);
64
     let options = new RequestOptions({headers: header});
70
     let options = new RequestOptions({headers: header});
65
  
71
  
66
     this.http.get(url,options).subscribe(result =>{
72
     this.http.get(url,options).subscribe(result =>{
67
       console.log(result);
73
       console.log(result);
74
+      this.messages = result.json();
68
       callback(result);
75
       callback(result);
69
     })
76
     })
70
   }
77
   }

+ 2
- 2
src/providers/url/url.ts View File

14
   //   console.log('Hello UrlProvider Provider');
14
   //   console.log('Hello UrlProvider Provider');
15
   // }
15
   // }
16
 
16
 
17
-  //private baseUrl = "http://localhost:8080";
18
-  private baseUrl = "https://zipteampurple.herokuapp.com";
17
+  private baseUrl = "http://localhost:8080";
18
+  //private baseUrl = "https://zipteampurple.herokuapp.com";
19
 
19
 
20
   setBaseUrl(baseUrl: string){
20
   setBaseUrl(baseUrl: string){
21
     this.baseUrl = baseUrl;
21
     this.baseUrl = baseUrl;

+ 2
- 2
www/build/0.js View File

1
 webpackJsonp([0],{
1
 webpackJsonp([0],{
2
 
2
 
3
-/***/ 287:
3
+/***/ 286:
4
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
4
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
5
 
5
 
6
 "use strict";
6
 "use strict";
8
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RegisterPageModule", function() { return RegisterPageModule; });
8
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RegisterPageModule", function() { return RegisterPageModule; });
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
10
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
10
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
11
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__register__ = __webpack_require__(105);
11
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__register__ = __webpack_require__(107);
12
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);

+ 1
- 1
www/build/1.js View File

8
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CreateChannelPageModule", function() { return CreateChannelPageModule; });
8
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CreateChannelPageModule", function() { return CreateChannelPageModule; });
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
10
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
10
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
11
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__create_channel__ = __webpack_require__(104);
11
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__create_channel__ = __webpack_require__(106);
12
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);

+ 2
- 2
www/build/2.js View File

1
 webpackJsonp([2],{
1
 webpackJsonp([2],{
2
 
2
 
3
-/***/ 286:
3
+/***/ 287:
4
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
4
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
5
 
5
 
6
 "use strict";
6
 "use strict";
8
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ChannelPageModule", function() { return ChannelPageModule; });
8
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ChannelPageModule", function() { return ChannelPageModule; });
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
10
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
10
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
11
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(52);
11
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(54);
12
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);

+ 1
- 1
www/build/3.js View File

8
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AllChannelsPageModule", function() { return AllChannelsPageModule; });
8
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AllChannelsPageModule", function() { return AllChannelsPageModule; });
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
10
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
10
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
11
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__all_channels__ = __webpack_require__(103);
11
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__all_channels__ = __webpack_require__(105);
12
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);

+ 373
- 241
www/build/main.js View File

1
 webpackJsonp([4],{
1
 webpackJsonp([4],{
2
 
2
 
3
-/***/ 103:
3
+/***/ 105:
4
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
4
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
5
 
5
 
6
 "use strict";
6
 "use strict";
7
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AllChannelsPage; });
7
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AllChannelsPage; });
8
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
8
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
9
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
10
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_channel_channel__ = __webpack_require__(30);
10
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
11
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
11
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
18
 };
19
 };
19
 
20
 
20
 
21
 
22
+
21
 /**
23
 /**
22
  * Generated class for the AllChannelsPage page.
24
  * Generated class for the AllChannelsPage page.
23
  *
25
  *
25
  * Ionic pages and navigation.
27
  * Ionic pages and navigation.
26
  */
28
  */
27
 var AllChannelsPage = /** @class */ (function () {
29
 var AllChannelsPage = /** @class */ (function () {
28
-    function AllChannelsPage(navCtrl, navParams) {
30
+    function AllChannelsPage(navCtrl, navParams, channelProvider) {
29
         this.navCtrl = navCtrl;
31
         this.navCtrl = navCtrl;
30
         this.navParams = navParams;
32
         this.navParams = navParams;
33
+        this.channelProvider = channelProvider;
31
     }
34
     }
32
     AllChannelsPage.prototype.ionViewDidLoad = function () {
35
     AllChannelsPage.prototype.ionViewDidLoad = function () {
33
         console.log('ionViewDidLoad AllChannelsPage');
36
         console.log('ionViewDidLoad AllChannelsPage');
34
     };
37
     };
38
+    AllChannelsPage.prototype.joinChannel = function (channel) {
39
+        var _this = this;
40
+        this.channelProvider.join(channel, function (result) {
41
+            _this.navCtrl.remove(1);
42
+        });
43
+    };
35
     AllChannelsPage = __decorate([
44
     AllChannelsPage = __decorate([
36
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
45
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
37
-            selector: 'page-all-channels',template:/*ion-inline-start:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/all-channels/all-channels.html"*/'\n\n\n<ion-header>\n\n  <ion-navbar>\n    <ion-title>All Available Channels</ion-title>\n  </ion-navbar>\n\n</ion-header>\n\n\n<ion-content padding>\n\n</ion-content>\n'/*ion-inline-end:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/all-channels/all-channels.html"*/,
46
+            selector: 'page-all-channels',template:/*ion-inline-start:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/all-channels/all-channels.html"*/'\n\n\n<ion-header>\n\n  <ion-navbar>\n    <ion-title>All Available Channels</ion-title>\n  </ion-navbar>\n\n</ion-header>\n\n\n<ion-content padding>\n\n  <ion-item menuClose *ngFor="let channel of this.channelProvider.allChannels" (click)="joinChannel(channel)">\n    {{ channel.name }}\n  </ion-item>\n\n</ion-content>\n'/*ion-inline-end:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/all-channels/all-channels.html"*/,
38
         }),
47
         }),
39
-        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */]])
48
+        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */],
49
+            __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */],
50
+            __WEBPACK_IMPORTED_MODULE_2__providers_channel_channel__["a" /* ChannelProvider */]])
40
     ], AllChannelsPage);
51
     ], AllChannelsPage);
41
     return AllChannelsPage;
52
     return AllChannelsPage;
42
 }());
53
 }());
45
 
56
 
46
 /***/ }),
57
 /***/ }),
47
 
58
 
48
-/***/ 104:
59
+/***/ 106:
49
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
60
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
50
 
61
 
51
 "use strict";
62
 "use strict";
52
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CreateChannelPage; });
63
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CreateChannelPage; });
53
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
64
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
54
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
65
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
66
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_channel_channel__ = __webpack_require__(30);
55
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
67
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
56
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
68
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
57
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
69
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
63
 };
75
 };
64
 
76
 
65
 
77
 
78
+
66
 /**
79
 /**
67
  * Generated class for the CreateChannelPage page.
80
  * Generated class for the CreateChannelPage page.
68
  *
81
  *
70
  * Ionic pages and navigation.
83
  * Ionic pages and navigation.
71
  */
84
  */
72
 var CreateChannelPage = /** @class */ (function () {
85
 var CreateChannelPage = /** @class */ (function () {
73
-    function CreateChannelPage(navCtrl, navParams) {
86
+    function CreateChannelPage(navCtrl, navParams, channelProvider) {
74
         this.navCtrl = navCtrl;
87
         this.navCtrl = navCtrl;
75
         this.navParams = navParams;
88
         this.navParams = navParams;
89
+        this.channelProvider = channelProvider;
76
     }
90
     }
77
     CreateChannelPage.prototype.ionViewDidLoad = function () {
91
     CreateChannelPage.prototype.ionViewDidLoad = function () {
78
         console.log('ionViewDidLoad CreateChannelPage');
92
         console.log('ionViewDidLoad CreateChannelPage');
79
     };
93
     };
94
+    CreateChannelPage.prototype.createChannel = function () {
95
+        var _this = this;
96
+        console.log(this.channel);
97
+        if (this.channel.trim()) {
98
+            this.channelProvider.create(this.channel, function (result) {
99
+                _this.navCtrl.remove(1);
100
+            });
101
+        }
102
+    };
80
     CreateChannelPage = __decorate([
103
     CreateChannelPage = __decorate([
81
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
104
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
82
-            selector: 'page-create-channel',template:/*ion-inline-start:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/create-channel/create-channel.html"*/'\n\n\n<ion-header>\n\n  <ion-navbar>\n    <ion-title>createChannel</ion-title>\n  </ion-navbar>\n\n</ion-header>\n\n\n<ion-content text-center>\n\n    <br><br><br><br>\n\n    <h1>Create a channel</h1>\n    <br>\n    <h3>Channels are where your members communicate.</h3>\n\n    <br><br><br>\n    <h2>Name</h2>\n    <ion-item >\n\n        <ion-input\n        type="text"\n        placeholder="# e.g. ZipTeam Study Session"\n        [(ngModel)]="message"\n        (keyup.enter)="sendMessage()"\n        >\n        </ion-input>\n        \n\n      </ion-item>\n\n\n</ion-content>\n'/*ion-inline-end:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/create-channel/create-channel.html"*/,
105
+            selector: 'page-create-channel',template:/*ion-inline-start:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/create-channel/create-channel.html"*/'\n\n\n<ion-header>\n\n  <ion-navbar>\n    <ion-title>createChannel</ion-title>\n  </ion-navbar>\n\n</ion-header>\n\n\n<ion-content text-center>\n\n    <br><br><br><br>\n\n    <h1>Create a channel</h1>\n    <br>\n    <h3>Channels are where your members communicate.</h3>\n\n    <br><br><br>\n    <h2>Name</h2>\n    <ion-item >\n\n        <ion-input\n        type="text"\n        placeholder="# e.g. ZipTeam Study Session"\n        [(ngModel)]="channel"\n        (keyup.enter)="createChannel()"\n        >\n        </ion-input>\n        \n\n      </ion-item>\n\n\n</ion-content>\n'/*ion-inline-end:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/create-channel/create-channel.html"*/,
83
         }),
106
         }),
84
-        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */]])
107
+        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */],
108
+            __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */],
109
+            __WEBPACK_IMPORTED_MODULE_2__providers_channel_channel__["a" /* ChannelProvider */]])
85
     ], CreateChannelPage);
110
     ], CreateChannelPage);
86
     return CreateChannelPage;
111
     return CreateChannelPage;
87
 }());
112
 }());
90
 
115
 
91
 /***/ }),
116
 /***/ }),
92
 
117
 
93
-/***/ 105:
118
+/***/ 107:
94
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
119
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
95
 
120
 
96
 "use strict";
121
 "use strict";
124
     };
149
     };
125
     RegisterPage = __decorate([
150
     RegisterPage = __decorate([
126
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
151
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
127
-            selector: 'page-register',template:/*ion-inline-start:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/register/register.html"*/'<ion-header>\n\n  <ion-navbar>\n    <ion-title>Register</ion-title>\n  </ion-navbar>\n\n</ion-header>\n\n\n<ion-content text-center class="register">\n\n    <br><br><br><br><br>\n\n  <ion-list>\n    <ion-item>\n      <ion-label fixed>Username</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n\n\n    <ion-item>\n      <ion-label fixed>First Name</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n\n\n    <ion-item>\n      <ion-label fixed>Last Name</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n\n\n    <ion-item>\n      <ion-label fixed>Password</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n\n\n    <ion-item>\n      <ion-label fixed>Email</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n  </ion-list>\n  <button ion-button color="danger" round (click)="register()">Confirm</button>\n  <br>\n  <button ion-button color="danger" round (click)="cancel()">Cancel</button>\n</ion-content>'/*ion-inline-end:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/register/register.html"*/,
152
+            selector: 'page-register',template:/*ion-inline-start:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/register/register.html"*/'<ion-header>\n\n  <ion-navbar>\n    <ion-title>Register</ion-title>\n  </ion-navbar>\n\n</ion-header>\n\n\n<ion-content text-center class="register">\n\n    <br><br><br><br><br>\n\n  <ion-list>\n    <ion-item>\n      <ion-label fixed>Username</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n\n\n    <ion-item>\n      <ion-label fixed>First Name</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n\n\n    <ion-item>\n      <ion-label fixed>Last Name</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n\n\n    <ion-item>\n      <ion-label fixed>Password</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n\n\n    <ion-item>\n      <ion-label fixed>Email</ion-label>\n      <ion-input type="text"></ion-input>\n    </ion-item>\n  </ion-list>\n  <button ion-button color="danger" round (click)="register()">Confirm</button>\n  <br>\n  <button ion-button color="danger" round (click)="cancel()">Cancel</button>\n</ion-content>'/*ion-inline-end:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/register/register.html"*/,
128
         }),
153
         }),
129
         __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */],
154
         __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */],
130
             __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */]])
155
             __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */]])
136
 
161
 
137
 /***/ }),
162
 /***/ }),
138
 
163
 
139
-/***/ 117:
164
+/***/ 119:
140
 /***/ (function(module, exports) {
165
 /***/ (function(module, exports) {
141
 
166
 
142
 function webpackEmptyAsyncContext(req) {
167
 function webpackEmptyAsyncContext(req) {
149
 webpackEmptyAsyncContext.keys = function() { return []; };
174
 webpackEmptyAsyncContext.keys = function() { return []; };
150
 webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
175
 webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
151
 module.exports = webpackEmptyAsyncContext;
176
 module.exports = webpackEmptyAsyncContext;
152
-webpackEmptyAsyncContext.id = 117;
177
+webpackEmptyAsyncContext.id = 119;
153
 
178
 
154
 /***/ }),
179
 /***/ }),
155
 
180
 
156
-/***/ 159:
181
+/***/ 161:
157
 /***/ (function(module, exports, __webpack_require__) {
182
 /***/ (function(module, exports, __webpack_require__) {
158
 
183
 
159
 var map = {
184
 var map = {
162
 		3
187
 		3
163
 	],
188
 	],
164
 	"../pages/channel/channel.module": [
189
 	"../pages/channel/channel.module": [
165
-		286,
190
+		287,
166
 		2
191
 		2
167
 	],
192
 	],
168
 	"../pages/create-channel/create-channel.module": [
193
 	"../pages/create-channel/create-channel.module": [
170
 		1
195
 		1
171
 	],
196
 	],
172
 	"../pages/register/register.module": [
197
 	"../pages/register/register.module": [
173
-		287,
198
+		286,
174
 		0
199
 		0
175
 	]
200
 	]
176
 };
201
 };
185
 webpackAsyncContext.keys = function webpackAsyncContextKeys() {
210
 webpackAsyncContext.keys = function webpackAsyncContextKeys() {
186
 	return Object.keys(map);
211
 	return Object.keys(map);
187
 };
212
 };
188
-webpackAsyncContext.id = 159;
213
+webpackAsyncContext.id = 161;
189
 module.exports = webpackAsyncContext;
214
 module.exports = webpackAsyncContext;
190
 
215
 
191
 /***/ }),
216
 /***/ }),
192
 
217
 
193
-/***/ 160:
194
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
195
-
196
-"use strict";
197
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MessageProvider; });
198
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
199
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(46);
200
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__user_user__ = __webpack_require__(47);
201
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__url_url__ = __webpack_require__(80);
202
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
203
-    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
204
-    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
205
-    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
206
-    return c > 3 && r && Object.defineProperty(target, key, r), r;
207
-};
208
-var __metadata = (this && this.__metadata) || function (k, v) {
209
-    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
210
-};
211
-
212
-
213
-
214
-
215
-/*
216
-  Generated class for the MessageProvider provider.
217
-
218
-  See https://angular.io/guide/dependency-injection for more info on providers
219
-  and Angular DI.
220
-*/
221
-var MessageProvider = /** @class */ (function () {
222
-    function MessageProvider(http, userProvider, urlProvider) {
223
-        this.http = http;
224
-        this.userProvider = userProvider;
225
-        this.urlProvider = urlProvider;
226
-        console.log('Hello MessageProvider Provider');
227
-    }
228
-    MessageProvider.prototype.getAll = function () {
229
-        var url = this.urlProvider.getBaseUrl() + "/get_messages";
230
-        var header = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Headers */]({
231
-            'Authorization': this.userProvider.getToken()
232
-        });
233
-        var options = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["d" /* RequestOptions */]({ headers: header });
234
-        this.http.get(url, options).subscribe(function (result) {
235
-            console.log(result);
236
-        });
237
-    };
238
-    MessageProvider.prototype.post = function (channelId, message, callback) {
239
-        var _this = this;
240
-        var url = this.urlProvider.getBaseUrl() + "/post";
241
-        var header = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Headers */]({
242
-            'Authorization': this.userProvider.getToken(),
243
-            'Content-Type': 'application/json'
244
-        });
245
-        var options = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["d" /* RequestOptions */]({ headers: header });
246
-        var body = {
247
-            "channelId": channelId,
248
-            "message": message
249
-        };
250
-        this.http.post(url, body, options).subscribe(function (result) {
251
-            console.log(result);
252
-            _this.get(channelId, function (after) {
253
-                callback();
254
-            });
255
-        });
256
-    };
257
-    MessageProvider.prototype.get = function (channelId, callback) {
258
-        var url = this.urlProvider.getBaseUrl() + "/messages?channelid=" + channelId;
259
-        var header = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Headers */]({
260
-            'Authorization': this.userProvider.getToken(),
261
-            'Content-Type': 'application/json'
262
-        });
263
-        var options = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["d" /* RequestOptions */]({ headers: header });
264
-        this.http.get(url, options).subscribe(function (result) {
265
-            console.log(result);
266
-            callback(result);
267
-        });
268
-    };
269
-    MessageProvider.prototype.delete = function (messageId, callback) {
270
-        var url = this.urlProvider.getBaseUrl() + "/delete?messageId=" + messageId;
271
-        var header = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Headers */]({
272
-            'Authorization': this.userProvider.getToken(),
273
-            'Content-Type': 'application/json'
274
-        });
275
-        var options = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["d" /* RequestOptions */]({ headers: header });
276
-        this.http.delete(url, options).subscribe(function (result) {
277
-            console.log(result);
278
-            callback();
279
-        });
280
-    };
281
-    MessageProvider = __decorate([
282
-        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])(),
283
-        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1__angular_http__["b" /* Http */],
284
-            __WEBPACK_IMPORTED_MODULE_2__user_user__["a" /* UserProvider */],
285
-            __WEBPACK_IMPORTED_MODULE_3__url_url__["a" /* UrlProvider */]])
286
-    ], MessageProvider);
287
-    return MessageProvider;
288
-}());
289
-
290
-//# sourceMappingURL=message.js.map
291
-
292
-/***/ }),
293
-
294
-/***/ 161:
295
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
296
-
297
-"use strict";
298
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ChannelProvider; });
299
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
300
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__user_user__ = __webpack_require__(47);
301
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__ = __webpack_require__(46);
302
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
303
-    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
304
-    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
305
-    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
306
-    return c > 3 && r && Object.defineProperty(target, key, r), r;
307
-};
308
-var __metadata = (this && this.__metadata) || function (k, v) {
309
-    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
310
-};
311
-
312
-
313
-
314
-/*
315
-  Generated class for the ChannelProvider provider.
316
-
317
-  See https://angular.io/guide/dependency-injection for more info on providers
318
-  and Angular DI.
319
-*/
320
-var ChannelProvider = /** @class */ (function () {
321
-    function ChannelProvider(http, userProvider) {
322
-        this.http = http;
323
-        this.userProvider = userProvider;
324
-        this.baseUrl = "https://zipteampurple.herokuapp.com";
325
-        console.log('Hello ChannelProvider Provider');
326
-    }
327
-    ChannelProvider.prototype.get = function (callback) {
328
-        var url = this.baseUrl + "/user_channels";
329
-        var header = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["a" /* Headers */]({
330
-            'Authorization': this.userProvider.getToken(),
331
-            'Content-Type': 'application/json'
332
-        });
333
-        var options = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["d" /* RequestOptions */]({ headers: header });
334
-        this.http.get(url, options).subscribe(function (result) {
335
-            //console.log(result);
336
-            callback(result.json());
337
-        });
338
-    };
339
-    ChannelProvider = __decorate([
340
-        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])(),
341
-        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["b" /* Http */],
342
-            __WEBPACK_IMPORTED_MODULE_1__user_user__["a" /* UserProvider */]])
343
-    ], ChannelProvider);
344
-    return ChannelProvider;
345
-}());
346
-
347
-//# sourceMappingURL=channel.js.map
348
-
349
-/***/ }),
350
-
351
 /***/ 205:
218
 /***/ 205:
352
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
219
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
353
 
220
 
355
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return HomePage; });
222
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return HomePage; });
356
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
223
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
357
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
224
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
358
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel_channel__ = __webpack_require__(52);
225
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel_channel__ = __webpack_require__(54);
359
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(15);
226
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(15);
360
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_user_user__ = __webpack_require__(47);
227
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_user_user__ = __webpack_require__(47);
361
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__register_register__ = __webpack_require__(105);
228
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__register_register__ = __webpack_require__(107);
229
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__providers_channel_channel__ = __webpack_require__(30);
362
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
230
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
363
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
231
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
364
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
232
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
374
 
242
 
375
 
243
 
376
 
244
 
245
+
377
 var HomePage = /** @class */ (function () {
246
 var HomePage = /** @class */ (function () {
378
-    function HomePage(navCtrl, formbuilder, userprovider) {
247
+    function HomePage(navCtrl, formbuilder, userprovider, channeProvder) {
379
         this.navCtrl = navCtrl;
248
         this.navCtrl = navCtrl;
380
         this.formbuilder = formbuilder;
249
         this.formbuilder = formbuilder;
381
         this.userprovider = userprovider;
250
         this.userprovider = userprovider;
251
+        this.channeProvder = channeProvder;
382
         this.formgroup = this.formbuilder.group({
252
         this.formgroup = this.formbuilder.group({
383
             username: ['', __WEBPACK_IMPORTED_MODULE_3__angular_forms__["f" /* Validators */].required],
253
             username: ['', __WEBPACK_IMPORTED_MODULE_3__angular_forms__["f" /* Validators */].required],
384
             password: ['', __WEBPACK_IMPORTED_MODULE_3__angular_forms__["f" /* Validators */].required]
254
             password: ['', __WEBPACK_IMPORTED_MODULE_3__angular_forms__["f" /* Validators */].required]
396
                 console.log("Success!");
266
                 console.log("Success!");
397
                 _this.userprovider.setToken(result.headers.get("authorization"));
267
                 _this.userprovider.setToken(result.headers.get("authorization"));
398
                 console.log(_this.userprovider.getToken());
268
                 console.log(_this.userprovider.getToken());
269
+                _this.channeProvder.fetch();
399
                 _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_2__channel_channel__["a" /* ChannelPage */]);
270
                 _this.navCtrl.setRoot(__WEBPACK_IMPORTED_MODULE_2__channel_channel__["a" /* ChannelPage */]);
400
             }
271
             }
401
             else {
272
             else {
410
     };
281
     };
411
     HomePage = __decorate([
282
     HomePage = __decorate([
412
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
283
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
413
-            selector: 'page-home',template:/*ion-inline-start:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/home/home.html"*/'<ion-header>\n</ion-header>\n\n\n\n<ion-content text-center class = "login">\n\n  <br><br><br><br><br>\n  <img src="../assets/imgs/fullLogo.png" alt="SLACK" class="rounded-corners">\n\n  <br><br><br><br>\n  \n\n\n  <form [formGroup]="formgroup" (ngSubmit)="sendLogin(formgroup.value)">\n\n<ion-list>\n\n  <ion-item text-center>\n\n\n    <ion-label fixed>Username</ion-label>\n    <ion-input type="text" formControlName="username"></ion-input>\n  </ion-item>\n\n  <ion-item text-center *ngIf="username.hasError(\'required\') && username.touched">\n    <p> *Please enter your username</p>\n  </ion-item>\n\n  <ion-item text-center>\n    <ion-label fixed>Password</ion-label>\n    <ion-input type="password" formControlName="password"></ion-input>\n  </ion-item>\n\n  <ion-item text-center *ngIf="password.hasError(\'required\') && password.touched">\n      <p> *Please enter your password</p>\n    </ion-item>\n\n\n</ion-list>\n\n\n\n\n<button ion-button color="danger" round type="submit">Login</button>\n\n<!-- line break -->\n<br>\n\n<button ion-button color="danger" (click)="registerPage()" round>Sign Up</button>\n\n\n</form>\n\n\n  <form [formGroup]="loginform" (ngSubmit)="sendLogin(loginForm.value)" *ngIf="loginForm">\n\n    <ion-label fixed>Username</ion-label>\n    <input type="text" name="name" formControlName="username">\n\n    <ion-label fixed>Password</ion-label>\n    <input type="text" name="name" formControlName="password">\n\n    <input type="submit" class="cta-btn filled" value="Submit" [disabled]="!loginForm.valid">\n   </form>\n\n\n\n\n\n  <!-- Toggle menu button -->\n  <!-- <br> -->\n  <button ion-button secondary menuToggle>Toggle Menu</button> \n  \n</ion-content>\n'/*ion-inline-end:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/home/home.html"*/
284
+            selector: 'page-home',template:/*ion-inline-start:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/home/home.html"*/'<ion-header>\n</ion-header>\n\n\n\n<ion-content text-center class = "login">\n\n  <br><br><br><br><br>\n  <img src="../assets/imgs/fullLogo.png" alt="SLACK" class="rounded-corners">\n\n  <br><br><br><br>\n  \n\n\n  <form [formGroup]="formgroup" (ngSubmit)="sendLogin(formgroup.value)">\n\n<ion-list>\n\n  <ion-item text-center>\n\n\n    <ion-label fixed>Username</ion-label>\n    <ion-input type="text" formControlName="username"></ion-input>\n  </ion-item>\n\n  <ion-item text-center *ngIf="username.hasError(\'required\') && username.touched">\n    <p> *Please enter your username</p>\n  </ion-item>\n\n  <ion-item text-center>\n    <ion-label fixed>Password</ion-label>\n    <ion-input type="password" formControlName="password"></ion-input>\n  </ion-item>\n\n  <ion-item text-center *ngIf="password.hasError(\'required\') && password.touched">\n      <p> *Please enter your password</p>\n    </ion-item>\n\n\n</ion-list>\n\n\n\n\n<button ion-button color="danger" round type="submit">Login</button>\n\n<!-- line break -->\n<br>\n\n<button ion-button color="danger" (click)="registerPage()" round>Sign Up</button>\n\n\n</form>\n\n\n  <form [formGroup]="loginform" (ngSubmit)="sendLogin(loginForm.value)" *ngIf="loginForm">\n\n    <ion-label fixed>Username</ion-label>\n    <input type="text" name="name" formControlName="username">\n\n    <ion-label fixed>Password</ion-label>\n    <input type="text" name="name" formControlName="password">\n\n    <input type="submit" class="cta-btn filled" value="Submit" [disabled]="!loginForm.valid">\n   </form>\n\n\n\n\n\n  <!-- Toggle menu button -->\n  <!-- <br> -->\n  <!-- <button ion-button secondary menuToggle>Toggle Menu</button>  -->\n  \n</ion-content>\n'/*ion-inline-end:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/home/home.html"*/
414
         }),
285
         }),
415
-        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["a" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_user_user__["a" /* UserProvider */]])
286
+        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */],
287
+            __WEBPACK_IMPORTED_MODULE_3__angular_forms__["a" /* FormBuilder */],
288
+            __WEBPACK_IMPORTED_MODULE_4__providers_user_user__["a" /* UserProvider */],
289
+            __WEBPACK_IMPORTED_MODULE_6__providers_channel_channel__["a" /* ChannelProvider */]])
416
     ], HomePage);
290
     ], HomePage);
417
     return HomePage;
291
     return HomePage;
418
 }());
292
 }());
466
     };
340
     };
467
     ListPage = ListPage_1 = __decorate([
341
     ListPage = ListPage_1 = __decorate([
468
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
342
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
469
-            selector: 'page-list',template:/*ion-inline-start:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/list/list.html"*/'<ion-header>\n  <ion-navbar>\n    <button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n    <ion-title>List</ion-title>\n  </ion-navbar>\n</ion-header>\n\n<ion-content>\n  <ion-list>\n    <button ion-item *ngFor="let item of items" (click)="itemTapped($event, item)">\n      <ion-icon [name]="item.icon" item-start></ion-icon>\n      {{item.title}}\n      <div class="item-note" item-end>\n        {{item.note}}\n      </div>\n    </button>\n  </ion-list>\n  <div *ngIf="selectedItem" padding>\n    You navigated here from <b>{{selectedItem.title}}</b>\n  </div>\n</ion-content>\n'/*ion-inline-end:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/list/list.html"*/
343
+            selector: 'page-list',template:/*ion-inline-start:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/list/list.html"*/'<ion-header>\n  <ion-navbar>\n    <button ion-button menuToggle>\n      <ion-icon name="menu"></ion-icon>\n    </button>\n    <ion-title>List</ion-title>\n  </ion-navbar>\n</ion-header>\n\n<ion-content>\n  <ion-list>\n    <button ion-item *ngFor="let item of items" (click)="itemTapped($event, item)">\n      <ion-icon [name]="item.icon" item-start></ion-icon>\n      {{item.title}}\n      <div class="item-note" item-end>\n        {{item.note}}\n      </div>\n    </button>\n  </ion-list>\n  <div *ngIf="selectedItem" padding>\n    You navigated here from <b>{{selectedItem.title}}</b>\n  </div>\n</ion-content>\n'/*ion-inline-end:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/list/list.html"*/
470
         }),
344
         }),
471
         __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */]])
345
         __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */]])
472
     ], ListPage);
346
     ], ListPage);
503
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__app_component__ = __webpack_require__(270);
377
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__app_component__ = __webpack_require__(270);
504
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_home_home__ = __webpack_require__(205);
378
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_home_home__ = __webpack_require__(205);
505
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_list_list__ = __webpack_require__(206);
379
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_list_list__ = __webpack_require__(206);
506
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pages_channel_channel__ = __webpack_require__(52);
380
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pages_channel_channel__ = __webpack_require__(54);
507
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ionic_native_status_bar__ = __webpack_require__(201);
381
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ionic_native_status_bar__ = __webpack_require__(201);
508
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ionic_native_splash_screen__ = __webpack_require__(204);
382
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ionic_native_splash_screen__ = __webpack_require__(204);
509
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_user_user__ = __webpack_require__(47);
383
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_user_user__ = __webpack_require__(47);
510
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__angular_common_http__ = __webpack_require__(278);
384
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__angular_common_http__ = __webpack_require__(278);
511
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__angular_http__ = __webpack_require__(46);
512
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__providers_message_message__ = __webpack_require__(160);
513
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__providers_channel_channel__ = __webpack_require__(161);
514
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__providers_url_url__ = __webpack_require__(80);
515
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__pages_register_register__ = __webpack_require__(105);
516
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__pages_create_channel_create_channel__ = __webpack_require__(104);
517
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__pages_all_channels_all_channels__ = __webpack_require__(103);
385
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__angular_http__ = __webpack_require__(48);
386
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__providers_message_message__ = __webpack_require__(82);
387
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__providers_channel_channel__ = __webpack_require__(30);
388
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__providers_url_url__ = __webpack_require__(49);
389
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__pages_register_register__ = __webpack_require__(107);
390
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__pages_create_channel_create_channel__ = __webpack_require__(106);
391
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__pages_all_channels_all_channels__ = __webpack_require__(105);
518
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
392
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
519
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
393
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
520
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
394
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
559
                     links: [
433
                     links: [
560
                         { loadChildren: '../pages/all-channels/all-channels.module#AllChannelsPageModule', name: 'AllChannelsPage', segment: 'all-channels', priority: 'low', defaultHistory: [] },
434
                         { loadChildren: '../pages/all-channels/all-channels.module#AllChannelsPageModule', name: 'AllChannelsPage', segment: 'all-channels', priority: 'low', defaultHistory: [] },
561
                         { loadChildren: '../pages/create-channel/create-channel.module#CreateChannelPageModule', name: 'CreateChannelPage', segment: 'create-channel', priority: 'low', defaultHistory: [] },
435
                         { loadChildren: '../pages/create-channel/create-channel.module#CreateChannelPageModule', name: 'CreateChannelPage', segment: 'create-channel', priority: 'low', defaultHistory: [] },
562
-                        { loadChildren: '../pages/channel/channel.module#ChannelPageModule', name: 'ChannelPage', segment: 'channel', priority: 'low', defaultHistory: [] },
563
-                        { loadChildren: '../pages/register/register.module#RegisterPageModule', name: 'RegisterPage', segment: 'register', priority: 'low', defaultHistory: [] }
436
+                        { loadChildren: '../pages/register/register.module#RegisterPageModule', name: 'RegisterPage', segment: 'register', priority: 'low', defaultHistory: [] },
437
+                        { loadChildren: '../pages/channel/channel.module#ChannelPageModule', name: 'ChannelPage', segment: 'channel', priority: 'low', defaultHistory: [] }
564
                     ]
438
                     ]
565
                 }),
439
                 }),
566
                 __WEBPACK_IMPORTED_MODULE_10__angular_common_http__["a" /* HttpClientModule */],
440
                 __WEBPACK_IMPORTED_MODULE_10__angular_common_http__["a" /* HttpClientModule */],
605
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__ = __webpack_require__(204);
479
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__ = __webpack_require__(204);
606
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_home_home__ = __webpack_require__(205);
480
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages_home_home__ = __webpack_require__(205);
607
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_list_list__ = __webpack_require__(206);
481
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages_list_list__ = __webpack_require__(206);
608
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pages_channel_channel__ = __webpack_require__(52);
609
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pages_create_channel_create_channel__ = __webpack_require__(104);
610
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_all_channels_all_channels__ = __webpack_require__(103);
482
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__pages_channel_channel__ = __webpack_require__(54);
483
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__pages_create_channel_create_channel__ = __webpack_require__(106);
484
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pages_all_channels_all_channels__ = __webpack_require__(105);
485
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__providers_channel_channel__ = __webpack_require__(30);
486
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__providers_message_message__ = __webpack_require__(82);
611
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
487
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
612
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
488
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
613
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
489
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
626
 
502
 
627
 
503
 
628
 
504
 
505
+
506
+
629
 var MyApp = /** @class */ (function () {
507
 var MyApp = /** @class */ (function () {
630
-    function MyApp(platform, statusBar, splashScreen) {
508
+    function MyApp(platform, statusBar, splashScreen, channelProvider, messageProvider) {
631
         this.platform = platform;
509
         this.platform = platform;
632
         this.statusBar = statusBar;
510
         this.statusBar = statusBar;
633
         this.splashScreen = splashScreen;
511
         this.splashScreen = splashScreen;
512
+        this.channelProvider = channelProvider;
513
+        this.messageProvider = messageProvider;
634
         this.rootPage = __WEBPACK_IMPORTED_MODULE_4__pages_home_home__["a" /* HomePage */];
514
         this.rootPage = __WEBPACK_IMPORTED_MODULE_4__pages_home_home__["a" /* HomePage */];
635
         this.initializeApp();
515
         this.initializeApp();
636
         // used for an example of ngFor and navigation
516
         // used for an example of ngFor and navigation
648
             _this.statusBar.styleDefault();
528
             _this.statusBar.styleDefault();
649
             _this.splashScreen.hide();
529
             _this.splashScreen.hide();
650
         });
530
         });
531
+        this.channelProvider.userChannels;
532
+    };
533
+    MyApp.prototype.setChannel = function (channel) {
534
+        this.channelProvider.channel = channel;
535
+        console.log(this.channelProvider.channel);
536
+        this.messageProvider.get(function (result) {
537
+        });
651
     };
538
     };
652
     MyApp.prototype.openPage = function (page) {
539
     MyApp.prototype.openPage = function (page) {
653
         // Reset the content nav to have just this page
540
         // Reset the content nav to have just this page
671
         __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* Nav */])
558
         __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* Nav */])
672
     ], MyApp.prototype, "nav", void 0);
559
     ], MyApp.prototype, "nav", void 0);
673
     MyApp = __decorate([
560
     MyApp = __decorate([
674
-        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({template:/*ion-inline-start:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/app/app.html"*/'<ion-menu [content]="content">\n\n  <ion-header>\n    <ion-toolbar>\n      <ion-title>Zip-Slack</ion-title>\n    </ion-toolbar>\n  </ion-header>\n\n  <ion-content>\n    <ion-list>\n\n      \n\n      <button menuClose ion-item *ngFor="" (click)="openPage(p)">\n        \n      </button>\n\n      \n\n      <ion-list-header>\n          <h2>Channels</h2>\n        </ion-list-header>\n\n        <!-- <ion-item (click)="openPage(ChannelPage)">General Channel</ion-item> -->\n        <ion-item menuClose (click)="openChannelPage()">General Channel</ion-item>\n\n        <button menuClose ion-button color="light" type="button"(click)="openCreateChannelPage()" round>+ New Channel</button>\n        \n\n        <!-- View All Channels button -->\n        <button menuClose ion-button color="light" type="button"(click)="openAllChannelsPage()" round>\n          <div><ion-icon name="eye" style="padding-right: 5px;"></ion-icon>  </div> \n          View All Channels\n        </button>\n\n\n        <ion-list-header>\n            Direct messages\n          </ion-list-header>\n\n          <ion-item (click)="openPage(ChannelPage)">nmaidanos</ion-item>\n          <ion-item (click)="openPage(ChannelPage)">Small_Wrld</ion-item>\n\n          <button ion-button color="light" type="button" (click)="openPage(Channel)">+ New Direct Message</button>\n          \n\n\n\n          <ion-footer text-center>\n\n              <button menuClose ion-button color="danger" type="submit" (click)="backToLoginPage()" round>Logout</button>\n\n          </ion-footer>\n\n\n\n          \n    </ion-list>\n\n\n\n\n\n\n  </ion-content>\n\n</ion-menu>\n\n<!-- Disable swipe-to-go-back because it\'s poor UX to combine STGB with side menus -->\n<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>\n'/*ion-inline-end:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/app/app.html"*/
561
+        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({template:/*ion-inline-start:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/app/app.html"*/'<ion-menu [content]="content">\n\n  <ion-header>\n    <ion-toolbar>\n      <ion-title>Zip-Slack</ion-title>\n    </ion-toolbar>\n  </ion-header>\n\n  <ion-content>\n    <ion-list>\n\n      \n\n      <button menuClose ion-item *ngFor="" (click)="openPage(p)">\n        \n      </button>\n\n      \n\n      <ion-list-header>\n          <h2>Channels</h2>\n        </ion-list-header>\n\n        <!-- <ion-item (click)="openPage(ChannelPage)">General Channel</ion-item> -->\n        <ion-item menuClose *ngFor="let channel of this.channelProvider.userChannels" (click)="setChannel(channel)">\n          {{ channel.name }}\n        </ion-item>\n\n        <button menuClose ion-button color="light" type="button"(click)="openCreateChannelPage()" round>+ New Channel</button>\n        \n\n        <!-- View All Channels button -->\n        <button menuClose ion-button color="light" type="button"(click)="openAllChannelsPage()" round>\n          <div><ion-icon name="eye" style="padding-right: 5px;"></ion-icon>  </div> \n          View All Channels\n        </button>\n\n<!-- \n        <ion-list-header>\n            Direct messages\n          </ion-list-header>\n\n          <ion-item (click)="openPage(ChannelPage)">nmaidanos</ion-item>\n          <ion-item (click)="openPage(ChannelPage)">Small_Wrld</ion-item>\n\n          <button ion-button color="light" type="button" (click)="openPage(Channel)">+ New Direct Message</button>\n           -->\n\n\n\n          <ion-footer text-center>\n\n              <button menuClose ion-button color="danger" type="submit" (click)="backToLoginPage()" round>Logout</button>\n\n          </ion-footer>\n\n\n\n          \n    </ion-list>\n\n\n\n\n\n\n  </ion-content>\n\n</ion-menu>\n\n<!-- Disable swipe-to-go-back because it\'s poor UX to combine STGB with side menus -->\n<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>\n'/*ion-inline-end:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/app/app.html"*/
675
         }),
562
         }),
676
-        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["i" /* Platform */], __WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__["a" /* StatusBar */], __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__["a" /* SplashScreen */]])
563
+        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["i" /* Platform */],
564
+            __WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__["a" /* StatusBar */],
565
+            __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__["a" /* SplashScreen */],
566
+            __WEBPACK_IMPORTED_MODULE_9__providers_channel_channel__["a" /* ChannelProvider */],
567
+            __WEBPACK_IMPORTED_MODULE_10__providers_message_message__["a" /* MessageProvider */]])
677
     ], MyApp);
568
     ], MyApp);
678
     return MyApp;
569
     return MyApp;
679
 }());
570
 }());
682
 
573
 
683
 /***/ }),
574
 /***/ }),
684
 
575
 
576
+/***/ 30:
577
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
578
+
579
+"use strict";
580
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ChannelProvider; });
581
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
582
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__user_user__ = __webpack_require__(47);
583
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__ = __webpack_require__(48);
584
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__url_url__ = __webpack_require__(49);
585
+var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
586
+    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
587
+    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
588
+    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
589
+    return c > 3 && r && Object.defineProperty(target, key, r), r;
590
+};
591
+var __metadata = (this && this.__metadata) || function (k, v) {
592
+    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
593
+};
594
+
595
+
596
+
597
+
598
+/*
599
+  Generated class for the ChannelProvider provider.
600
+
601
+  See https://angular.io/guide/dependency-injection for more info on providers
602
+  and Angular DI.
603
+*/
604
+var ChannelProvider = /** @class */ (function () {
605
+    function ChannelProvider(http, userProvider, urlProvider) {
606
+        this.http = http;
607
+        this.userProvider = userProvider;
608
+        this.urlProvider = urlProvider;
609
+        this.channel = { "id": 1 };
610
+        this.userChannels = [];
611
+        this.allChannels = [];
612
+        //console.log('Hello ChannelProvider Provider');
613
+    }
614
+    /////////////////////////////////////
615
+    ChannelProvider.prototype.getUserChannels = function () {
616
+        return this.userChannels;
617
+    };
618
+    ChannelProvider.prototype.setUserChannels = function (userChannels) {
619
+        this.userChannels = userChannels;
620
+    };
621
+    ChannelProvider.prototype.getAllChannels = function () {
622
+        return this.allChannels;
623
+    };
624
+    ChannelProvider.prototype.setAllChannels = function (allChannels) {
625
+        this.allChannels = allChannels;
626
+    };
627
+    ///////////////////////////////////
628
+    ChannelProvider.prototype.create = function (name, callback) {
629
+        var _this = this;
630
+        var url = this.urlProvider.getBaseUrl() + "/post_channel";
631
+        var header = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["a" /* Headers */]({
632
+            'Authorization': this.userProvider.getToken(),
633
+            'Content-Type': 'application/json'
634
+        });
635
+        var options = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["d" /* RequestOptions */]({ headers: header });
636
+        var body = {
637
+            "purpose": "test",
638
+            "private": true,
639
+            "name": name,
640
+        };
641
+        this.http.post(url, body, options).subscribe(function (result) {
642
+            console.log(result);
643
+            _this.fetch();
644
+            callback(result);
645
+        });
646
+    };
647
+    ChannelProvider.prototype.fetch = function () {
648
+        var _this = this;
649
+        this.fetchUserChannels(function (userChannels) {
650
+            _this.userChannels = userChannels;
651
+            _this.fetchAllChannels(function (allChannels) {
652
+                _this.allChannels = allChannels;
653
+                console.log(allChannels);
654
+                console.log(userChannels);
655
+            });
656
+        });
657
+    };
658
+    ChannelProvider.prototype.fetchUserChannels = function (callback) {
659
+        var url = this.urlProvider.getBaseUrl() + "/user_channels";
660
+        var header = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["a" /* Headers */]({
661
+            'Authorization': this.userProvider.getToken(),
662
+            'Content-Type': 'application/json'
663
+        });
664
+        var options = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["d" /* RequestOptions */]({ headers: header });
665
+        this.http.get(url, options).subscribe(function (result) {
666
+            //console.log(result);
667
+            callback(result.json());
668
+        });
669
+    };
670
+    ChannelProvider.prototype.fetchAllChannels = function (callback) {
671
+        var url = this.urlProvider.getBaseUrl() + "/get_channels";
672
+        var header = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["a" /* Headers */]({
673
+            'Authorization': this.userProvider.getToken(),
674
+            'Content-Type': 'application/json'
675
+        });
676
+        var options = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["d" /* RequestOptions */]({ headers: header });
677
+        this.http.get(url, options).subscribe(function (result) {
678
+            //console.log(result);
679
+            callback(result.json());
680
+        });
681
+    };
682
+    ChannelProvider.prototype.join = function (channel, callback) {
683
+        var _this = this;
684
+        var url = this.urlProvider.getBaseUrl() + "/add_user";
685
+        var header = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["a" /* Headers */]({
686
+            'Authorization': this.userProvider.getToken(),
687
+            'Content-Type': 'application/json'
688
+        });
689
+        var options = new __WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["d" /* RequestOptions */]({ headers: header });
690
+        var body = {
691
+            "id": channel.id,
692
+        };
693
+        this.http.post(url, body, options).subscribe(function (result) {
694
+            console.log(result);
695
+            _this.fetch();
696
+            callback(result);
697
+        });
698
+    };
699
+    ChannelProvider = __decorate([
700
+        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])(),
701
+        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_2__node_modules_angular_http__["b" /* Http */],
702
+            __WEBPACK_IMPORTED_MODULE_1__user_user__["a" /* UserProvider */],
703
+            __WEBPACK_IMPORTED_MODULE_3__url_url__["a" /* UrlProvider */]])
704
+    ], ChannelProvider);
705
+    return ChannelProvider;
706
+}());
707
+
708
+//# sourceMappingURL=channel.js.map
709
+
710
+/***/ }),
711
+
685
 /***/ 47:
712
 /***/ 47:
686
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
713
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
687
 
714
 
688
 "use strict";
715
 "use strict";
689
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return UserProvider; });
716
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return UserProvider; });
690
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
717
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
691
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(46);
692
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__url_url__ = __webpack_require__(80);
718
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(48);
719
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__url_url__ = __webpack_require__(49);
693
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
720
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
694
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
721
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
695
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
722
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
743
 
770
 
744
 /***/ }),
771
 /***/ }),
745
 
772
 
746
-/***/ 52:
773
+/***/ 49:
774
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
775
+
776
+"use strict";
777
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return UrlProvider; });
778
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
779
+var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
780
+    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
781
+    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
782
+    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
783
+    return c > 3 && r && Object.defineProperty(target, key, r), r;
784
+};
785
+
786
+/*
787
+  Generated class for the UrlProvider provider.
788
+
789
+  See https://angular.io/guide/dependency-injection for more info on providers
790
+  and Angular DI.
791
+*/
792
+var UrlProvider = /** @class */ (function () {
793
+    function UrlProvider() {
794
+        // constructor(public http: HttpClient) {
795
+        //   console.log('Hello UrlProvider Provider');
796
+        // }
797
+        this.baseUrl = "http://localhost:8080";
798
+    }
799
+    //private baseUrl = "https://zipteampurple.herokuapp.com";
800
+    UrlProvider.prototype.setBaseUrl = function (baseUrl) {
801
+        this.baseUrl = baseUrl;
802
+    };
803
+    UrlProvider.prototype.getBaseUrl = function () {
804
+        return this.baseUrl;
805
+    };
806
+    UrlProvider = __decorate([
807
+        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])()
808
+    ], UrlProvider);
809
+    return UrlProvider;
810
+}());
811
+
812
+//# sourceMappingURL=url.js.map
813
+
814
+/***/ }),
815
+
816
+/***/ 54:
747
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
817
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
748
 
818
 
749
 "use strict";
819
 "use strict";
750
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ChannelPage; });
820
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ChannelPage; });
751
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
821
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
752
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
822
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(20);
753
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_message_message__ = __webpack_require__(160);
754
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_channel_channel__ = __webpack_require__(161);
823
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_message_message__ = __webpack_require__(82);
824
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_channel_channel__ = __webpack_require__(30);
755
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
825
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
756
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
826
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
757
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
827
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
779
         this.messageProvider = messageProvider;
849
         this.messageProvider = messageProvider;
780
         this.channelProvider = channelProvider;
850
         this.channelProvider = channelProvider;
781
         this.messages = [];
851
         this.messages = [];
782
-        this.channels = [];
783
         this.currentChannel = { "id": 1 };
852
         this.currentChannel = { "id": 1 };
784
-        this.getMessages();
785
-        this.getChannels();
853
+        //this.getMessages();
854
+        this.messageProvider.get(function (result) {
855
+        });
856
+        //this.getChannels();
786
     }
857
     }
787
     ChannelPage.prototype.setCurrentChannel = function (currentChannel) {
858
     ChannelPage.prototype.setCurrentChannel = function (currentChannel) {
788
         this.currentChannel = currentChannel;
859
         this.currentChannel = currentChannel;
792
     };
863
     };
793
     ChannelPage.prototype.ionViewDidLoad = function () {
864
     ChannelPage.prototype.ionViewDidLoad = function () {
794
         console.log('ionViewDidLoad ChannelPage');
865
         console.log('ionViewDidLoad ChannelPage');
795
-        this.start();
866
+        //this.start();
796
     };
867
     };
797
     ChannelPage.prototype.start = function () {
868
     ChannelPage.prototype.start = function () {
798
         var _this = this;
869
         var _this = this;
799
         this.timerToken = setInterval(function () { return _this.runningLoopOfMessages(_this.channelProvider); }, 5000);
870
         this.timerToken = setInterval(function () { return _this.runningLoopOfMessages(_this.channelProvider); }, 5000);
800
     };
871
     };
801
     ChannelPage.prototype.getMessages = function () {
872
     ChannelPage.prototype.getMessages = function () {
802
-        var _this = this;
803
-        this.messageProvider.get(1, function (after) {
804
-            _this.messages = after.json();
873
+        this.messageProvider.get(function (result) {
805
         });
874
         });
806
     };
875
     };
807
-    ChannelPage.prototype.getChannels = function () {
808
-        var _this = this;
809
-        this.timerToken = setInterval(this.channelProvider.get(function (channels) {
810
-            _this.channels = channels;
811
-        }), 5000);
812
-    };
876
+    // getChannels(){
877
+    //   this.timerToken = setInterval(this.channelProvider.getuser(channels => {
878
+    //     this.channels = channels;
879
+    //   }), 5000);
880
+    // }
813
     ChannelPage.prototype.runningLoopOfMessages = function (channelProvider) {
881
     ChannelPage.prototype.runningLoopOfMessages = function (channelProvider) {
814
         var _this = this;
882
         var _this = this;
815
-        this.messageProvider.get(1, function (after) {
883
+        this.messageProvider.get(function (after) {
816
             _this.messages = after.json();
884
             _this.messages = after.json();
817
         });
885
         });
818
     };
886
     };
819
     ChannelPage.prototype.deleteMessage = function (messageId) {
887
     ChannelPage.prototype.deleteMessage = function (messageId) {
820
         var _this = this;
888
         var _this = this;
821
         this.messageProvider.delete(messageId, function (after) {
889
         this.messageProvider.delete(messageId, function (after) {
822
-            _this.getMessages();
890
+            _this.messageProvider.get(function (callback) {
891
+                console.log(callback);
892
+            });
823
         });
893
         });
824
     };
894
     };
825
     // sendMessage(){
895
     // sendMessage(){
857
         var _this = this;
927
         var _this = this;
858
         if (!this.message.trim())
928
         if (!this.message.trim())
859
             return;
929
             return;
860
-        this.messageProvider.post(1, this.message, function (after) {
930
+        this.messageProvider.post(this.channelProvider.channel.id, this.message, function (after) {
861
             _this.message = '';
931
             _this.message = '';
862
             _this.getMessages();
932
             _this.getMessages();
863
         });
933
         });
864
     };
934
     };
865
     ChannelPage = __decorate([
935
     ChannelPage = __decorate([
866
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
936
         Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
867
-            selector: 'page-channel',template:/*ion-inline-start:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/channel/channel.html"*/'\n\n\n<!-- <ion-buttons start>\n\n  <button ion-button icon-only menuToggle>\n\n    <ion-icon name="menu"></ion-icon>\n\n  </button>\n\n</ion-buttons> -->\n\n<ion-header>\n\n  <ion-navbar>\n    <ion-title>Channel</ion-title>\n\n    <ion-buttons start>\n\n        <button ion-button icon-only menuToggle>\n          <ion-icon name="menu"></ion-icon>\n        </button>\n        <!-- <button ion-button (click)="sendMessage()">\n          <ion-icon name="add"></ion-icon>\n        </button> -->\n        <button ion-button (click)="getMessages()">\n          <ion-icon name="refresh"></ion-icon>\n        </button>\n      \n      </ion-buttons>\n  </ion-navbar>\n\n</ion-header>\n\n\n\n<ion-content padding>\n\n\n    <!-- <ion-list padding>\n        <h1>Channels</h1>\n        <ion-item-sliding *ngFor="let channel of channels">\n            <ion-item>{{channel.name}}</ion-item>\n\n          <ion-item-options side="right">\n              <button ion-button>\n                  <ion-icon name="settings"></ion-icon>\n                </button>\n              <button color="danger" ion-button (click)="deleteMessage(message.id)">\n                <ion-icon name="trash"></ion-icon>\n              </button>\n     \n          </ion-item-options>\n        </ion-item-sliding>\n\n        <button>Create new Channel</button>\n        \n        <ion-item>Todo 2</ion-item>\n        <ion-item>Todo 3</ion-item>\n      </ion-list> -->\n\n    <ion-list padding>\n      <ion-item-sliding *ngFor="let message of messages">\n          <ion-item>{{message.user.username}} - {{message.message}}</ion-item>\n    \n        <ion-item-options side="right">\n            <button ion-button>\n                <ion-icon name="settings"></ion-icon>\n              </button>\n            <button color="danger" ion-button (click)="deleteMessage(message.id)">\n              <ion-icon name="trash"></ion-icon>\n            </button>\n   \n        </ion-item-options>\n      </ion-item-sliding>\n\n\n\n\n\n\n      <ion-footer>\n\n        <ion-item >\n\n          <ion-input #chat_input\n          type="text"\n          placeholder="Text Input"\n          [(ngModel)]="message"\n          (keyup.enter)="sendMessage()"\n          >\n\n          </ion-input>\n\n        </ion-item>\n\n\n\n          <!-- <textarea #chat_input\n          placeholder="Text Input"\n          [(ngModel)]="message"\n          (keyup.enter)="sendMessage()"\n          >\n          </textarea> -->\n  \n\n\n          <!-- Do we need to keep this button?\n          <button ion-button clear icon-only item-right (click)="sendMessage()">\n          <ion-icon name="ios-send" ios="ios-send" md="md-send"></ion-icon>\n          </button> -->\n  \n      </ion-footer>\n\n\n\n\n    </ion-list>\n\n\n    \n   \n   </ion-content>\n\n\n'/*ion-inline-end:"/Users/jaehoonp/ZipTeamPurple-FrontEnd/src/pages/channel/channel.html"*/,
937
+            selector: 'page-channel',template:/*ion-inline-start:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/channel/channel.html"*/'\n\n\n<!-- <ion-buttons start>\n\n  <button ion-button icon-only menuToggle>\n\n    <ion-icon name="menu"></ion-icon>\n\n  </button>\n\n</ion-buttons> -->\n\n<ion-header>\n\n  <ion-navbar>\n    <ion-title>Channel</ion-title>\n\n    <ion-buttons start>\n\n        <button ion-button icon-only menuToggle>\n          <ion-icon name="menu"></ion-icon>\n        </button>\n        <!-- <button ion-button (click)="sendMessage()">\n          <ion-icon name="add"></ion-icon>\n        </button> -->\n        <button ion-button (click)="getMessages()">\n          <ion-icon name="refresh"></ion-icon>\n        </button>\n      \n      </ion-buttons>\n  </ion-navbar>\n\n</ion-header>\n\n\n\n<ion-content padding>\n\n\n    <!-- <ion-list padding>\n        <h1>Channels</h1>\n        <ion-item-sliding *ngFor="let channel of channels">\n            <ion-item>{{channel.name}}</ion-item>\n\n          <ion-item-options side="right">\n              <button ion-button>\n                  <ion-icon name="settings"></ion-icon>\n                </button>\n              <button color="danger" ion-button (click)="deleteMessage(message.id)">\n                <ion-icon name="trash"></ion-icon>\n              </button>\n     \n          </ion-item-options>\n        </ion-item-sliding>\n\n        <button>Create new Channel</button>\n        \n        <ion-item>Todo 2</ion-item>\n        <ion-item>Todo 3</ion-item>\n      </ion-list> -->\n\n    <ion-list padding>\n      <ion-item-sliding *ngFor="let message of this.messageProvider.messages">\n          <ion-item>{{message.user.username}} - {{message.message}}</ion-item>\n    \n        <ion-item-options side="right">\n            <button ion-button>\n                <ion-icon name="settings"></ion-icon>\n              </button>\n            <button color="danger" ion-button (click)="deleteMessage(message.id)">\n              <ion-icon name="trash"></ion-icon>\n            </button>\n   \n        </ion-item-options>\n      </ion-item-sliding>\n\n\n\n\n\n\n      <ion-footer>\n\n        <ion-item >\n\n          <ion-input #chat_input\n          type="text"\n          placeholder="Text Input"\n          [(ngModel)]="message"\n          (keyup.enter)="sendMessage()"\n          >\n\n          </ion-input>\n\n        </ion-item>\n\n\n\n          <!-- <textarea #chat_input\n          placeholder="Text Input"\n          [(ngModel)]="message"\n          (keyup.enter)="sendMessage()"\n          >\n          </textarea> -->\n  \n\n\n          <!-- Do we need to keep this button?\n          <button ion-button clear icon-only item-right (click)="sendMessage()">\n          <ion-icon name="ios-send" ios="ios-send" md="md-send"></ion-icon>\n          </button> -->\n  \n      </ion-footer>\n\n\n\n\n    </ion-list>\n\n\n    \n   \n   </ion-content>\n\n\n'/*ion-inline-end:"/Users/nicholasm/Labs/ZipTeamPurple-FrontEnd/src/pages/channel/channel.html"*/,
868
         }),
938
         }),
869
-        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */],
870
-            __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */],
871
-            __WEBPACK_IMPORTED_MODULE_2__providers_message_message__["a" /* MessageProvider */],
872
-            __WEBPACK_IMPORTED_MODULE_3__providers_channel_channel__["a" /* ChannelProvider */]])
939
+        __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavController */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* NavParams */]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_2__providers_message_message__["a" /* MessageProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__providers_message_message__["a" /* MessageProvider */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_3__providers_channel_channel__["a" /* ChannelProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__providers_channel_channel__["a" /* ChannelProvider */]) === "function" && _e || Object])
873
     ], ChannelPage);
940
     ], ChannelPage);
874
     return ChannelPage;
941
     return ChannelPage;
942
+    var _a, _b, _c, _d, _e;
875
 }());
943
 }());
876
 
944
 
877
 //# sourceMappingURL=channel.js.map
945
 //# sourceMappingURL=channel.js.map
878
 
946
 
879
 /***/ }),
947
 /***/ }),
880
 
948
 
881
-/***/ 80:
949
+/***/ 82:
882
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
950
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
883
 
951
 
884
 "use strict";
952
 "use strict";
885
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return UrlProvider; });
953
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MessageProvider; });
886
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
954
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
955
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(48);
956
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__user_user__ = __webpack_require__(47);
957
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__url_url__ = __webpack_require__(49);
958
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__channel_channel__ = __webpack_require__(30);
887
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
959
 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
888
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
960
     var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
889
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
961
     if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
890
     else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
962
     else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
891
     return c > 3 && r && Object.defineProperty(target, key, r), r;
963
     return c > 3 && r && Object.defineProperty(target, key, r), r;
892
 };
964
 };
965
+var __metadata = (this && this.__metadata) || function (k, v) {
966
+    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
967
+};
968
+
969
+
970
+
971
+
893
 
972
 
894
 /*
973
 /*
895
-  Generated class for the UrlProvider provider.
974
+  Generated class for the MessageProvider provider.
896
 
975
 
897
   See https://angular.io/guide/dependency-injection for more info on providers
976
   See https://angular.io/guide/dependency-injection for more info on providers
898
   and Angular DI.
977
   and Angular DI.
899
 */
978
 */
900
-var UrlProvider = /** @class */ (function () {
901
-    function UrlProvider() {
902
-        // constructor(public http: HttpClient) {
903
-        //   console.log('Hello UrlProvider Provider');
904
-        // }
905
-        //private baseUrl = "http://localhost:8080";
906
-        this.baseUrl = "https://zipteampurple.herokuapp.com";
979
+var MessageProvider = /** @class */ (function () {
980
+    function MessageProvider(http, userProvider, urlProvider, channelProvider) {
981
+        this.http = http;
982
+        this.userProvider = userProvider;
983
+        this.urlProvider = urlProvider;
984
+        this.channelProvider = channelProvider;
985
+        this.messages = [];
986
+        console.log('Hello MessageProvider Provider');
907
     }
987
     }
908
-    UrlProvider.prototype.setBaseUrl = function (baseUrl) {
909
-        this.baseUrl = baseUrl;
988
+    MessageProvider.prototype.getAll = function () {
989
+        var url = this.urlProvider.getBaseUrl() + "/get_messages";
990
+        var header = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Headers */]({
991
+            'Authorization': this.userProvider.getToken()
992
+        });
993
+        var options = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["d" /* RequestOptions */]({ headers: header });
994
+        this.http.get(url, options).subscribe(function (result) {
995
+            console.log(result);
996
+        });
910
     };
997
     };
911
-    UrlProvider.prototype.getBaseUrl = function () {
912
-        return this.baseUrl;
998
+    MessageProvider.prototype.post = function (channelId, message, callback) {
999
+        var _this = this;
1000
+        var url = this.urlProvider.getBaseUrl() + "/post";
1001
+        var header = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Headers */]({
1002
+            'Authorization': this.userProvider.getToken(),
1003
+            'Content-Type': 'application/json'
1004
+        });
1005
+        var options = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["d" /* RequestOptions */]({ headers: header });
1006
+        var body = {
1007
+            "channelId": channelId,
1008
+            "message": message
1009
+        };
1010
+        this.http.post(url, body, options).subscribe(function (result) {
1011
+            console.log(result);
1012
+            _this.get(function (after) {
1013
+                callback();
1014
+            });
1015
+        });
913
     };
1016
     };
914
-    UrlProvider = __decorate([
915
-        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])()
916
-    ], UrlProvider);
917
-    return UrlProvider;
1017
+    MessageProvider.prototype.get = function (callback) {
1018
+        var _this = this;
1019
+        var url = this.urlProvider.getBaseUrl() + "/messages?channelId=" + this.channelProvider.channel.id;
1020
+        var header = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Headers */]({
1021
+            'Authorization': this.userProvider.getToken(),
1022
+            'Content-Type': 'application/json'
1023
+        });
1024
+        console.log(url);
1025
+        var options = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["d" /* RequestOptions */]({ headers: header });
1026
+        this.http.get(url, options).subscribe(function (result) {
1027
+            console.log(result);
1028
+            _this.messages = result.json();
1029
+            callback(result);
1030
+        });
1031
+    };
1032
+    MessageProvider.prototype.delete = function (messageId, callback) {
1033
+        var url = this.urlProvider.getBaseUrl() + "/delete?messageId=" + messageId;
1034
+        var header = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Headers */]({
1035
+            'Authorization': this.userProvider.getToken(),
1036
+            'Content-Type': 'application/json'
1037
+        });
1038
+        var options = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["d" /* RequestOptions */]({ headers: header });
1039
+        this.http.delete(url, options).subscribe(function (result) {
1040
+            console.log(result);
1041
+            callback();
1042
+        });
1043
+    };
1044
+    MessageProvider = __decorate([
1045
+        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])(),
1046
+        __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_http__["b" /* Http */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_http__["b" /* Http */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__user_user__["a" /* UserProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__user_user__["a" /* UserProvider */]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_3__url_url__["a" /* UrlProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__url_url__["a" /* UrlProvider */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_4__channel_channel__["a" /* ChannelProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__channel_channel__["a" /* ChannelProvider */]) === "function" && _d || Object])
1047
+    ], MessageProvider);
1048
+    return MessageProvider;
1049
+    var _a, _b, _c, _d;
918
 }());
1050
 }());
919
 
1051
 
920
-//# sourceMappingURL=url.js.map
1052
+//# sourceMappingURL=message.js.map
921
 
1053
 
922
 /***/ })
1054
 /***/ })
923
 
1055
 

+ 1
- 1
www/build/main.js.map
File diff suppressed because it is too large
View File


+ 477
- 477
www/build/vendor.js
File diff suppressed because it is too large
View File


+ 1
- 1
www/build/vendor.js.map
File diff suppressed because it is too large
View File