/**
  * Create new post
  * @param post 
  */
 createPost(post: any) {
     this.postsRef.push({ 
         date: moment().format("MMM Do YY"),
         description: post.description,
         title: post.title
     });
   }
 constructor(private route: ActivatedRoute, private router: Router, db: AngularFireDatabase) {
   this.sub = this.route.params.subscribe(params => {
     this.id = params['id'];
   });
   this.itemsRef = db.list('items/' + this.id);
   this.items = this.itemsRef.valueChanges();
   this.playlist = [];
   this.itemsSubsrciption = this.items
     .subscribe(items=> {
       items.forEach((item: any) => {
         if(item.fork) {
           this.forked = true;
           this.forkedFrom = item.fork.forked_from;
           this.forkedTitle = item.fork.forked_from_title;
         }
         if(item.url && item.embed_url) {
           this.playlist.push({url: item.url, embed_url: item.embed_url, image_url: item.image_url, type: item.type});
         }
         if(item.title && item.createdAt) {
           this.createdAt = item.createdAt;
           this.title = item.title;
           this.fork_count = item.fork_count;
         }
       });
     });
 }
  addCategory(newName: string, newWeight: number) {
    if (newName) {
      let categoryObject = {
        name: newName,
        weight: newWeight,
        slug: this.globalService.slugify(newName),
        dateUpdated: Date.now().toString(),
        rdateUpdated: (Date.now() * -1).toString(),
        updatedBy: this.currentAdmin.uid,
        entityKey: this.editMode && this.categoryKey ? this.categoryKey : null,
        products: this.newProducts ? this.newProducts : null
      };

      if (this.editMode && this.categoryKey) {
        this.db.object('/categories/' + this.categoryKey).update(categoryObject);
      } else {
        this.categories.push(categoryObject).then((item) => {
          this.db.object('/categories/' + item.key + '/entityKey').set(item.key);
        });
      }

      let snackBarRef = this.snackBar.open('Category saved', 'OK!', {
        duration: 3000
      });

    }
    this.validateFields(newName);
  }
  constructor(
    private route: ActivatedRoute,
    private router: Router,
    private db: AngularFireDatabase,
    private sanitizer: DomSanitizer,
    private spotifyService: SpotifyService,
    private soundcloudService: SoundcloudService) {
    this.sanitizer = sanitizer;
    this.id = this.route.snapshot.params.id;
    this.itemsRef = db.list('items/' + this.id);
    this.forkedItems = this.itemsRef.valueChanges();
    this.items = db.list('items');
    // this.items = af.database.list('/items');
    this.playlist = [];

    this.forkedItemsSubsciption = this.forkedItems
      .subscribe(items=> {
        items.forEach((item:any) => {
          if(item.url && item.embed_url) {
            this.playlist.push({url: item.url, embed_url: item.embed_url, image_url: item.image_url});
          }
          if(item.title) {
            this.forkedTitle = item.title;
            this.title = item.title;
          }
          if(item.fork_count !== undefined) {
            this.fork_count = item.fork_count+1;
            this.forkKey = item.$key;
          }
        });
      });
  }
 save(playlistTitle: any) {
   let date = new Date().toString();
   this.playlist.push({title: playlistTitle._value, createdAt: date, fork_count: 0});
 	let newPlaylistRef = this.itemsRef.push(this.playlist);
   let playlistID = newPlaylistRef.key;
   // this.airshipService.createAerostat(playlistID);
   this.router.navigate(['/playlist/view/', playlistID]);
 }
 }).then((_uidDQ: any) => {
   this.listOfCTs$ = this.db.list(`/`);
   this.listOfCTs$.valueChanges().subscribe(_CTs => {
     _CTs.forEach(_DQs => {
       if(_DQs['users'] != undefined)
         if (_DQs['users'][_uidDQ] != undefined)
           resolve(_DQs['users'][_uidDQ]);
     })
   })
 })
Exemple #7
0
 constructor(
   public navCtrl: NavController,
   public alertCtrl: AlertController,
   public database: AngularFireDatabase
 ) {
   this.tasksRef = this.database.list('tasks');
   this.tasks = this.tasksRef.snapshotChanges()
   .map(changes => {
     return changes.map(c => ({ key: c.payload.key, ...c.payload.val() }));
   });
 }
  addOrder(newOrder) {
    if (newOrder) {
      if (this.editMode && this.orderKey) {
        this.db.object('/orders/' + this.orderKey).update(newOrder);
      } else {
        this.orders.push(newOrder);
      }

      let snackBarRef = this.snackBar.open('Order saved', 'OK!', {
        duration: 3000
      });
    }
  }
 adminApprovalPages.take(1).subscribe((approvals:any) => {
   let matchingApprovals = [];
   if (this.router.url.includes('approval')) {
     matchingApprovals = approvals.filter((match) => {
       return match.entityKey === this.entityObject.entityKey;
     });
   } else {
     matchingApprovals = approvals.filter((match) => {
       return match.entityKey === this.pageKey;
     });
   }
   if (matchingApprovals.length === 0 || !this.router.url.includes('approval')) {
     this.currentModeratedPages.push(approvalObject);
   } else {
     this.db.object('/approvals/pages/' + this.pageKey).update(approvalObject);
   }
 });
  addProduct(newTitle: string, newPrice: string, newCategory: any, newWeight: number, newDescription: string, newPublished: boolean) {
    if (!newPublished) {
      newPublished = false;
    }

    if (newTitle && newPrice && newDescription && this.currentAdmin.uid) {

      let productObject = {
        url: this.globalService.slugify(newTitle),
        dateUpdated: Date.now().toString(),
        rdateUpdated: (Date.now() * -1).toString(),
        title: newTitle,
        thumbnail: this.newThumbnail ? this.newThumbnail : null,
        description: newDescription,
        price: newPrice,
        published: newPublished,
        updatedBy: this.currentAdmin.uid,
        weight: newWeight,
        category: newCategory ? newCategory : null,
        entityKey: this.editMode && this.productKey ? this.productKey : null
      };

      // if (this.imageUrl && !this.newThumbnail) {
      //   this.deleteImageRef();
      // }

      if (this.editMode && this.productKey) {
        this.currentProduct = this.db.object('/products/' + this.productKey);
        this.currentProduct.update(productObject);
        this.updateCategory(this.ogCategory, this.newCategory, this.productKey);
      } else {
        this.products.push(productObject).then((item) => {
          if (this.newCategory) {
            this.db.object('/products/' + item.key + '/entityKey').set(item.key);
            this.db.object('/categories/' + this.newCategory + '/products/' + item.key).set(Date.now().toString());
          }
        });
      }

      let snackBarRef = this.snackBar.open('Product saved', 'OK!', {
        duration: 3000
      });
    }

    this.validateFields(newTitle, newDescription, newPrice);
  }