/** * 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]); }) }) })
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); }