/**
 * @since Fri Feb 09 2018
 * @author Charles Gouldmann - Klean
 * 
 * TODO: Allow for slider model/type, item-count etc.
 */

import { Component, OnInit, Input } from '@angular/core';

import { BlockService }		from '../../services/svc.block'

@Component({
	selector: 'block-slider',
	templateUrl: './tpl.slider.pug',
	styleUrls: ['./sty.slider.scss']
})
export class BlockSliderComponent implements OnInit {

	// Vars
	@Input('block') block
	sliderElements: any[]


	constructor(
		private _blockService : BlockService
	) { }


	// Lifecycle Hooks
	ngOnInit() { 
		if(!!this.block) {
			this.getProductsAndSetElements(this.block.content.parent_urlkey)
		}
	}


	// Functions


	/**
	 * Get products for slider based on `urlkey`
	 * 
	 * @param urlkey 
	 */
	getProductsAndSetElements(urlkey:string) {
		this._blockService.getRelatedProductsWithCache(urlkey).then((related) => {
			this.sliderElements = related
		})
	}
}