Example #1
0
      db.object('PERRINNTeams/' + this.UI.currentTeam + '/chatReplayMode').valueChanges().subscribe(snapshot => {
        if (snapshot != undefined) {
          this.chatReplayMode = snapshot ? true : false;
        }
        this.previousMessageTimestamp = 0;
        this.previousMessageUser = '';
        this.draftMessageDB = false;
        this.draftImage = '';
        this.draftImageDownloadURL = '';
        this.draftMessage = '';
        this.messageNumberDisplay = 15;
        this.teamMessages = this.db.list('teamMessages/' + this.UI.currentTeam, ref => ref.limitToLast(this.messageNumberDisplay)).snapshotChanges().pipe(map(changes => {
          this.UI.loading = false;
          const updateObj = {};
          changes.forEach(c => {
            updateObj['teamReads/' + this.UI.currentUser + '/' + this.UI.currentTeam + '/' + c.payload.key] = true;
          });
          this.db.database.ref().update(updateObj);
          return changes.map(c => ({key: c.payload.key, values: c.payload.val()}));
        }));
        if (this.chatReplayMode) {
          this.chatReplayLoop();
        }
        this.draftMessageUsers = this.db.list('teamActivities/' + this.UI.currentTeam + '/draftMessages/').snapshotChanges().pipe(map(changes => {
          return changes.map(c => ({key: c.payload.key, values: c.payload.val()}));
        }));

        afs.doc<any>('PERRINNTeams/'+this.UI.currentUser+'/viewTeams/'+this.UI.currentTeam).valueChanges().subscribe(userTeam => {
          if (userTeam!=null&&userTeam.lastChatVisitTimestamp!=undefined) {this.lastChatVisitTimestamp = Number(userTeam.lastChatVisitTimestamp); }
          else this.lastChatVisitTimestamp=0;
        });
      });
 this.route.params.subscribe(params => {
   this.UI.currentTeam = params.id;
   this.teamLeaders = this.db.list('PERRINNTeams/' + this.UI.currentTeam + '/leaders').snapshotChanges().pipe(map(changes => {
     return changes.map(c => ({
       key: c.payload.key,
       values: c.payload.val(),
       name: this.db.object('PERRINNTeams/' + c.payload.key + '/name').valueChanges(),
       imageUrlThumb: this.db.object('PERRINNTeams/' + c.payload.key + '/imageUrlThumb').valueChanges(),
     }));
   }));
   this.teamMembers = this.db.list('PERRINNTeams/' + this.UI.currentTeam + '/members').snapshotChanges().pipe(map(changes => {
     return changes.map(c => ({
       key: c.payload.key,
       values: c.payload.val(),
       name: this.db.object('PERRINNTeams/' + c.payload.key + '/name').valueChanges(),
       imageUrlThumb: this.db.object('PERRINNTeams/' + c.payload.key + '/imageUrlThumb').valueChanges(),
     }));
   }));
   this.db.object('PERRINNTeams/' + this.UI.currentTeam + '/parent').snapshotChanges().subscribe(changes => {
     this.parent = changes.payload.val().toString();
     this.parentName = this.db.object('PERRINNTeams/' + this.parent + '/name').valueChanges();
     this.parentImageUrlThumb = this.db.object('PERRINNTeams/' + this.parent + '/imageUrlThumb').valueChanges();
   });
   this.teamChildren = this.db.list('PERRINNTeams/' + this.UI.currentTeam + '/children').snapshotChanges().pipe(map(changes => {
     return changes.map(c => ({
       key: c.payload.key,
       values: c.payload.val(),
       name: this.db.object('PERRINNTeams/' + c.payload.key + '/name').valueChanges(),
       imageUrlThumb: this.db.object('PERRINNTeams/' + c.payload.key + '/imageUrlThumb').valueChanges(),
     }));
   }));
 });
Example #3
0
 this.afAuth.user.subscribe((auth) => {
   this.db.list('users/' + auth.uid).push({
     timestamp: firebase.database.ServerValue.TIMESTAMP,
     name,
     familyName,
   });
 });
  public deleteAsobeData(asobeData: IAsobeData): Promise<void> {
    // NOTE(baba): remove() は誤って全データを削除できてしまうので、念のため二重でチェック
    if (typeof asobeData.id === 'undefined') {
      throw new Error(`You should not throw 'asobeData.$key' with undefined to remove() API!`);
    }

    // NOTE(baba): remove()の引数を空にしたり、undefinedやnullを渡すとDBが丸ごと消えるのでテストしないこと!
    return this.afDb.list('/asobe').remove(asobeData.id);
  }
  constructor(
    public modalCtrl: ModalController,
    public afs: AngularFirestore, 
		public fireAuth: AngularFireAuth,
		public db: AngularFireDatabase, 
		public navCtrl: NavController, 
		public navParams: NavParams) {
  	this.addressesRef = db.list('users/'+fireAuth.auth.currentUser.uid+'/addresses/', ref => ref.orderByChild('name'))
  	this.addresses = this.addressesRef.valueChanges();
  }
  constructor(
  	private viewCtrl: ViewController,
  	private modalCtrl: ModalController,
  	public zone: NgZone, 
  	private fireAuth: AngularFireAuth, 
  	private db: AngularFireDatabase, 
  	public navCtrl: NavController, 
  	public navParams: NavParams) {

  	this.addressesRef = db.list('users/'+fireAuth.auth.currentUser.uid+'/addresses/', ref => ref.orderByChild('name'))
  	this.addresses = this.addressesRef.valueChanges();
  }
Example #7
0
 constructor(public db: AngularFireDatabase, public router: Router, private _zone: NgZone, public UI: userInterfaceService) {
   this.enteringAmount = true;
   this.enteringCardDetails = false;
   this.processingPayment = false;
   this.newPaymentID = '';
   this.messagePayment = '';
   this.messagePERRINNTransaction = '';
   this.amountCOINSPurchased = 100;
   this.currentCurrencyID = 'gbp';
   this.currencyList = db.list('appSettings/currencyList').snapshotChanges().pipe(map(changes => {
     return changes.map(c => ({key: c.payload.key, values: c.payload.val()}));
   }));
   this.refreshAmountCharge();
 }
Example #8
0
 constructor(
     public navCtrl: NavController,
     public navParams: NavParams,
     public afAuth: AngularFireAuth,
     public db: AngularFireDatabase,
     public alertCtrl: AlertController) {
         
     this.poemsRef = db.list('poems');
     // Use snapshotChanges().map() to store the key
     this.poems = this.poemsRef.snapshotChanges().pipe(
       map(changes => 
         changes['map'](c => ({ key: c.payload.key, ...c.payload.val() }))
       )
     );
 }
Example #9
0
 scrollHandler(e: string) {
   if (e === 'top') {
     this.UI.loading = true;
     this.messageNumberDisplay += 15;
     return this.teamMessages = this.db.list('teamMessages/' + this.UI.currentTeam, ref => ref.limitToLast(this.messageNumberDisplay)).snapshotChanges().pipe(map(changes => {
       this.UI.loading = false;
       const updateObj = {};
       changes.forEach(c => {
         updateObj['teamReads/' + this.UI.currentUser + '/' + this.UI.currentTeam + '/' + c.payload.key] = true;
       });
       this.db.database.ref().update(updateObj);
       return changes.map(c => ({key: c.payload.key, values: c.payload.val()}));
     }));
   }
 }
Example #10
0
 refreshSearchLists() {
   if (this.searchFilter) {
     if (this.searchFilter.length > 1) {
       this.teams = this.db.list('PERRINNSearch/teams', ref => ref
       .orderByChild('nameLowerCase')
       .startAt(this.searchFilter.toLowerCase())
       .endAt(this.searchFilter.toLowerCase() + '\uf8ff')
       .limitToFirst(10))
       .snapshotChanges().pipe(map(changes => {
         return changes.map(c => ({
           key: c.payload.key,
           values: c.payload.val(),
         }));
       }));
     }
   } else {
     this.teams = null;
   }
 }