Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Tibo = {
- session: {},
- params: {
- debug: false,
- imageUrl: 'http://tiboimages4.tibo.tv',
- categoryBgUrl: 'http://tiboimages4.tibo.tv/final/images/vodmenuicon/',
- wrapper: 'view',
- vodMaxMovies: 10,
- width: window.innerWidth,
- height: window.innerHeight,
- spinnerClass: 'spinner',
- vodDetailsClass: 'vod-details',
- movieDetailsClass: 'movie-details',
- vodGalleryContinerId: 'vodList',
- mainMenu: 'main-menu',
- menuContainerId: 'categoryMain',
- staticMenuItem: 'staticItem',
- dynamicMenuItem: 'catItem',
- stacticMenuClass: 'stacticMenu',
- dynamicMenuClass: 'dynamicMenu',
- activeMenuItemClass: 'activeMenu',
- menuItemClass: 'item',
- //swiper
- swiperWrapperClass: 'swiper-wrapper',
- swiperContainerClass: 'swiper-container',
- swiperButtonNextClass: 'swiper-button-next',
- swiperButtonPrevClass: 'swiper-button-prev',
- swiperSlideClass: 'swiper-slide'
- },
- fn: [],
- startup: function(callback){
- if(callback){
- this.fn.push(callback);
- }
- },
- loadView: function(data){
- this.prepareData();
- //get data from native
- if(data) this.data = data;
- if(this.fn.length > 0){
- for(var i = 0, l = this.fn.length; i < l; i++){
- var fn = this.fn[i];
- if(this.isFunction(this.fn[i])){
- fn();
- }
- }
- }
- },
- prepareData: function(){
- //set default route
- this.route('staticCat');
- //warpper content
- this.wrapper = $('#'+ this.params.wrapper);
- this.spinner = $('.'+ this.params.spinnerClass);
- },
- isFunction: function(v){
- return typeof v === "function";
- },
- route: function(name){
- if(name){
- this.session.route = name;
- } else {
- return (this.session.route) ? this.session.route : 'staticCat';
- }
- },
- goBackHistory: function(){
- if(this.route() == 'vodList'){
- $('.routes').removeClass('active');
- $('#categoryMain').addClass('active');
- this.route('dynamicCat');
- } else if(this.route() == 'dynamicCat'){
- $('.'+ this.params.dynamicMenuClass).empty().hide();
- $('.'+ this.params.stacticMenuClass).show();
- Tibo.wrapper.attr('style', '');
- this.route('staticCat');
- } else if(this.route() == 'staticCat'){
- JsHandler.closeActivity();
- }
- },
- changeBgImage: function(image){
- Tibo.wrapper.css("background-image", "url("+Tibo.params.categoryBgUrl+image+")");
- },
- loadCategoryList: function(data){
- $(Tibo.session.staticMenuItem).parent().parent().find('li').removeClass(Tibo.params.activeMenuItemClass);
- $(Tibo.session.staticMenuItem).parent().addClass(Tibo.params.activeMenuItemClass);
- Tibo.session.staticMenuItem = null;
- Tibo.route('dynamicCat');
- if(data){
- var catList = (Tibo.params.debug) ? data : JSON.parse(data);
- var dynamicMenu = $('.'+ Tibo.params.dynamicMenuClass);
- for(var i = 0; i < catList.length; i++){
- dynamicMenu.append('<li class="'+((i == 0) ? 'activeMenu' : '')+'"><span iconurl="'+catList[i].IconUrl+'" catid="'+catList[i].id+'" class="item catItem">'+catList[i].name+'</span></li>');
- }
- dynamicMenu.append('<li><span class="item backToStaticmenu">← Back</span></li>');
- $('.'+ Tibo.params.stacticMenuClass).hide();
- Tibo.changeBgImage(catList[0].IconUrl);
- dynamicMenu.show();
- Tibo.spinner.hide();
- }
- },
- startVod: function(){
- //vod movie list
- if(Tibo.route() != 'vodList') return;
- Tibo.wrapper.children('.routes').removeClass('active');
- Tibo.wrapper.children('#vodList').addClass('active');
- //add class to main content to move movie gallery on bottom of screen
- if(Tibo.params.height > 800){
- Tibo.wrapper.addClass('moveBottom');
- } else {
- Tibo.wrapper.removeClass('moveBottom');
- }
- //calculate movie details width
- //before will get warper width and we remove image with
- if(Tibo.params.width < 600){
- $('.' + Tibo.params.movieDetailsClass).css({
- 'width': $('.' + Tibo.params.vodDetailsClass).width() - 100
- });
- } else {
- $('.' + Tibo.params.movieDetailsClass).css({
- 'width': $('.' + Tibo.params.vodDetailsClass).width() - 230
- });
- }
- function changeMovie(activeIndex){
- var movies = Tibo.session.movieList;
- if(movies){
- var active = movies[activeIndex];
- if(movies && active){
- $('.'+Tibo.params.vodDetailsClass+' .image img').attr('src', active.icon.replace("~", Tibo.params.imageUrl));
- $('.'+Tibo.params.vodDetailsClass+' .title .string').text(active.title);
- $('.'+Tibo.params.vodDetailsClass+' .category .string').text(Tibo.session.activeCategory);
- $('.'+Tibo.params.vodDetailsClass+' .clicks .string').text('21');
- $('.'+Tibo.params.vodDetailsClass+' .description .string').text(active.description);
- }
- }
- }
- //var data = Tibo.data;
- var movie = Tibo.session.movieList;
- var swiperSlides = [];
- if(movie){
- var swiperContent = $('.'+Tibo.params.swiperWrapperClass);
- swiperContent.empty();
- for(var i = 0; i < Tibo.params.vodMaxMovies; i++){
- if(movie[i] && movie[i].largeimage){
- swiperSlides.push('<div index="'+i+'" class="'+Tibo.params.swiperSlideClass+'"><img src="'+movie[i].icon.replace("~", Tibo.params.imageUrl)+'"></div>');
- }
- }
- changeMovie(0);
- }
- if(!Tibo.swiper){
- Tibo.swiper = new Swiper('.'+Tibo.params.swiperContainerClass, {
- slidesPerView: 'auto',
- speed: 800,
- centeredSlides: true,
- paginationClickable: true,
- nextButton: '.'+Tibo.params.swiperButtonNextClass,
- prevButton: '.'+Tibo.params.swiperButtonPrevClass,
- spaceBetween: 30,
- keyboardControl: true,
- autoResize: false,
- iOSEdgeSwipeDetection: true,
- nested: true,
- onSlideChangeStart: function(slide){
- changeMovie(slide.activeIndex);
- }
- });
- if(swiperSlides.length > 0) Tibo.swiper.appendSlide(swiperSlides);
- } else {
- if(swiperSlides.length > 0){
- Tibo.swiper.removeAllSlides();
- Tibo.swiper.appendSlide(swiperSlides);
- Tibo.swiper.slideTo(0, 10);
- }
- }
- Tibo.spinner.hide();
- },
- prepareMovieList: function(data){
- Tibo.session.movieList = (Tibo.params.debug) ? DummyData.moviewList : data;
- var imgurl = $(Tibo.session.dynamicMenuItem).attr('iconurl');
- if(imgurl) Tibo.changeBgImage(imgurl);
- Tibo.route('vodList');
- $(Tibo.session.dynamicMenuItem).parent().parent().find('li').removeClass(Tibo.params.activeMenuItemClass);
- $(Tibo.session.dynamicMenuItem).parent().addClass(Tibo.params.activeMenuItemClass);
- Tibo.startVod();
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement