/* global _, angular, i18n, Ladda, Odometer */ 'use strict'; angular.module('Client.directives', []) /* Layouts */ .directive('privacy', [function() { return { restrict: 'C', templateUrl: '/templates/layouts/privacy.dbdacademy', }; }]) .directive('copyright', [function() { return { restrict: 'C', templateUrl: '/templates/layouts/copyright.dbdacademy' }; }]) .directive('headBar', [function() { return { restrict: 'A', template: '
', link: function(scope, element, attrs) { scope.$watch('headbar', function(newValue, oldValue) { //console.log(newValue) if(newValue) { // scope.service.client.page().then(function(page) { // console.log(page) scope.navigation = 'templates/layouts/header.dbdacademy'; // }); } }); } }; }]) .directive('header', [function() { return { restrict: 'A', link: function(scope, element, attrs) { scope.service.client.info().then(function(institute) { // console.log(institute) scope.institute['pages'] = institute.pages; }); } } }]) .directive('headbarLogo', [function() { return { restrict: 'A', link: function(scope, element, attrs) { var logo = scope.service.client.logo(); // console.log(logo) // if(logo) { logo = '/public/img/logo/logo-dbdacademy-color.png'; var $img = $('
').append($('').attr('src', logo).height(48)); element.append($img.addClass('valign-wrapper')); // } } } }]) .directive('headbarLogoRight', [function() { return { restrict: 'A', link: function(scope, element, attrs) { var logo = '';//'//services.promptskill.com/app/program/public/img/logo/logo-dbdacademy.png'; if(logo) { var $img = $('
').append($('').attr('src', logo)); element.append($img); } } } }]) .directive('sideNavigator', ['$location', function($location) { return { restrict: 'C', link: function(scope, element, attrs) { // scope.service.member.authorized().then(function(authorized) { // if(authorized) { $location.hash(null); if(authorized.permission) { // $location.path('/'+authorized.permission); } else { var sidenav = $('.sidenav'); var $btLogout = $('').addClass('waves-effect waves-light btn btn-logout btn-reg bold large z-depth-0').text('ออกจากระบบ'); $btLogout.on('click', function() { scope.logout(); }); sidenav.append($btLogout); } } }); element.ready(function() { // var sidenav = $('.sidenav'); sidenav.sidenav(); }); // } } }]) .directive('prelaunch', ['$timeout', '$window', function($timeout, $window) { return { restrict: 'A', link: function link(scope, element, attrs) { scope.$parent.fullpage = true; // $timeout(function() { $('.copyright').hide(); // $('.nav-wrapper').hide(); // scope.service.client.banner().then(function(data) { scope.banner = data.banner; // console.log(scope.banner); }); // if(!window.matchMedia("(max-width: 600px)").matches) { $('.nav-wrapper').hide(); } }, 600); scope.toWebPage = function() { $window.location.href = '/'; } // } } }]) .directive('sitemap', [function() { return { restrict: 'A', templateUrl: '/templates/layouts/sitemap.dbdacademy', link: function(scope, element, attrs) { attrs.$observe('sitemap', function(program) { //scope.service.program.data('sitemap', institution).then(function(data) { //console.log(data) // scope.sitemap = data; //}); }); } }; }]) /* Elements */ .directive('image', [function() { return { restrict: 'A', link: function(scope, element, attrs) { attrs.$observe('image', function(image) { var img = new Image(); img.onload = function() { var ratio = this.height / this.width; element.css('padding-top', ratio *100+'%'); element.css('position','relative'); } img.src = 'https:' + image; element.removeAttr('image'); element.css('background-image', "url('"+image+"')").addClass('cover'); // element.removeAttr('image'); }); } } }]) .directive('background', [function() { return { restrict: 'A', link: function(scope, element, attrs) { attrs.$observe('background', function(image) { var img = new Image(); img.onload = function() { if(attrs.height =='fit') { element.height(this.height); //element.css('height', this.height + ''); //element.addClass('width'); element.css('background-size', 'auto '+this.height+'px') } else if (attrs.height=='auto') { element.css('background-size', 'auto '+this.height+'px'); element.removeClass('background-image'); } //else element.addClass(attrs.height); } img.src = 'https:' + image; element.removeAttr('background'); element.css("background-image", "url('"+image+"')"); element.addClass('background-image'); }); } } }]) .directive('icon', [function() { return { restrict: 'A', link: function(scope, element, attrs) { attrs.$observe('icon', function(image) { var $img = $(''); var img = new Image(); img.onload = function() { $img.attr('src', image); element.append($img); } img.src = image; element.removeAttr('icon'); }); } } }]) /* Style */ .directive('fitBrief', ['$timeout', function($timeout) { return { restrict: 'A', priority: 10, link: function(scope, element, attrs) { scope.$watch(attrs.ngBindHtml, function(value) { var fontSize = parseInt(element.css('font-size')); var margin = element.parent().css('margin'); //console.log(margin) $timeout(function() { if(value !=undefined) { var blockBrief = element.prev(); var brief = blockBrief.find('.brief'); var marginTop = (blockBrief.height() -brief.height()) /fontSize; element.children().children().children(':first-child').css('margin-top', -marginTop+'em').css('margin-left', '-4%'); } }) }) } } }]) /* Page */ .directive('pageBanner', [function() { return { restrict: 'A', link: function(scope, element, attrs) { var designWidth = 1920; attrs.$observe('pageBanner', function(banner) { if(banner) { element.removeAttr('page-banner') //if(attrs.fit=='width') { //var img = new Image(); //img.onload = function() { // var height = this.height / designWidth; // element.css('height', height *100+'vw'); //} //img.src = 'https:' + banner; element.css('background-image', "url('"+banner+"')").addClass(attrs.fit); } }); } } }]) .directive('bannerPage', [function() { return { restrict: 'A', link: function(scope, element, attrs) { attrs.$observe('bannerPage', function(image) { var $backgroundBanner = $('
').addClass('bg-banner-page'); var $contentBanner = $('
').addClass('content-banner-page center-align-sm'); var $titleBanner = $('

').addClass('title-banner-page black-text bold'); if (attrs.color) { $contentBanner.css('background-color', attrs.color); } $backgroundBanner.css("background-image", "url('"+image+"')"); $titleBanner.text(attrs.title); $contentBanner.append($titleBanner); element.append($backgroundBanner).append($contentBanner); }); } } }]) /* Content */ .directive('carouselSlider', ['$timeout', function($timeout) { /* need banner data form dinsorworks */ return { restrict: 'A', link: function(scope, element, attrs) { // $timeout(function() { scope.service.client.highlight().then(function(banner) { var highlight = banner.highlight; // console.log(highlight); if(highlight) { var $carousel = $('
').addClass('carousel carousel-slider relative'); var $btnPrev = $('').addClass('btn-prev absolute').append($('').attr('src', '/public/img/icon/icon-prev-white.png')); var $btnNext = $('').addClass('btn-next absolute').append($('').attr('src', '/public/img/icon/icon-next-white.png')); // element.addClass('banner-wrapper').append($carousel.append($btnPrev).append($btnNext)); angular.forEach(highlight, function(item) { var $item = $('').addClass('carousel-item'); var $image = $('
').addClass('relative background-image fit'); // $item.css('height', '100%').attr('href', item.url_link); $image.css('background-image', "url('"+ item.image +"')").css('height', '100%'); $item.append($image); $carousel.append($item); }); // element.ready(function() { $carousel.carousel({ fullWidth: true, indicators: true }); $carousel.find('.btn-prev').click(function(e) { e.preventDefault(); e.stopPropagation(); $carousel.carousel('prev'); }); $carousel.find('.btn-next').click(function(e) { e.preventDefault(); e.stopPropagation(); $carousel.carousel('next'); }); // auto next slide banner // setInterval(function () { // $carousel.carousel('next'); // }, 7000); }); } // }); }, 900); // } } }]) .directive('news', ['$routeParams', '$timeout', function($routeParams, $timeout) { return { restrict: 'A', link: function(scope, element, attrs) { // var newsId = $routeParams.id; // console.log(newsId); $timeout(function() { // scope.service.client.news(newsId).then(function(news) { scope.news = news; // console.log(scope.news); }) }, 900); // } } }]) .directive('courseRecommend', ['$compile', '$timeout', function($compile, $timeout) { return { restruct: 'A', link: function link(scope, element, attrs) { // $timeout(function() { scope.service.client.recommend().then(function(courses) { // console.log(courses); if(courses) { var courseState = 'course-content'; var categoryName = 'หลักสูตรแนะนำ'; var cardStyle = "card-course"; var btnPrevClass = 'btn-pagination prev-carousel normal'; var btnNextClass = 'btn-pagination next-carousel normal'; /* topic & pagination */ var $section = $('
').addClass('section-course course-recommend white valign-wrapper'); var $container = $('
').addClass('container'); var $rowCourseName = $('
').addClass('row hide-on-small-only'); var $colCourseName = $('
').addClass('col s8 m6 l6'); var $courseName = $('').attr('href', '/courses'); var $colPagination = $('
').addClass('col s4 m6 l6 right-align'); var $btnPrev = $('').addClass(btnPrevClass); var $btnNext = $('').addClass(btnNextClass); // $courseName.append($('

').addClass('course-name black-text bold').text(categoryName)); $btnPrev.append($('').addClass('material-icons').text('navigate_before')); $btnNext.append($('').addClass('material-icons').text('navigate_next')); // $colPagination.append($btnPrev).append($btnNext); $rowCourseName.append($colCourseName.append($courseName)).append($colPagination); $container.append($('

').addClass('course-name black-text larger bold center-align hide-on-med-and-up').text(categoryName)); $container.append($rowCourseName); /* program course */ var $programCourse = $('
').addClass('relative'); scope.courseRecommendContent = function() { // var $carousel = $('
').addClass('carousel carousel-slider course-carousel'); var $carouselItem = $('
').addClass('carousel-item'); var $rowCourse = $('
').addClass('row'); // responsive devices var countCourse = 0; var responsiveDevice = 4; // Desktop Devices if(window.matchMedia("(max-width: 600px)").matches) responsiveDevice = 1; // Mobile Devices else if (window.matchMedia("(min-width: 601px) and (max-width: 992px)").matches) responsiveDevice = 3; // Tablet Devices angular.forEach(courses, function(item) { if(countCourse == 0) { $carousel.append($carouselItem); $carouselItem.append($rowCourse); } // var $colCourse = $('
').addClass('col s12 m4 l3'); var $card = $('
').addClass('card hoverable').addClass(cardStyle); var $cardImage = $('
').addClass('card-image course-image'); var $cardContent = $('
').addClass('card-content'); var $courseName = $('
').addClass('course-title').text(item.name); var $courseBrief = $('
').addClass('course-brief small').text(item.brief); var $cardAction = $('
').addClass('card-action').attr(courseState, item.code); // $cardImage.css('background-image', "url('"+item.thumbnail+"')"); $cardContent.append($courseName).append($courseBrief); $card.append($cardImage).append($cardContent).append($cardAction); $rowCourse.append($colCourse.append($card)); // countCourse++; if(countCourse == responsiveDevice) { countCourse = 0; $carouselItem = $('
').addClass('carousel-item'); $rowCourse = $('
').addClass('row'); } }); $programCourse.append($carousel) // initialization carrousel program courses var carousel = element.find('.carousel'); carousel.carousel({ fullWidth: true, indicators: false }); // move next carousel $btnNext.click(function(e) { e.preventDefault(); e.stopPropagation(); $carousel.carousel('next'); }); // move prev carousel $btnPrev.click(function(e){ e.preventDefault(); e.stopPropagation(); $carousel.carousel('prev'); }); // mobile responsive pagination if(responsiveDevice == 1) { carousel.carousel({ fullWidth: true, indicators: true }); // $btnPrev.removeClass().addClass('btn-pagination-sm prev-carousel absolute valign-wrapper hide-on-med-and-up'); $btnNext.removeClass().addClass('btn-pagination-sm next-carousel absolute valign-wrapper hide-on-med-and-up'); $container.addClass('relative').append($btnPrev).append($btnNext); } else { $btnPrev.removeClass().addClass(btnPrevClass); $btnNext.removeClass().addClass(btnNextClass); $colPagination.append($btnPrev).append($btnNext); } } $container.append($programCourse); $section.append($container); element.append($section); // element.ready(function() { scope.courseRecommendContent(); $(window).on('resize',function() { $programCourse.empty(); scope.courseRecommendContent(); }); }); // $compile(element.contents())(scope); } // }); }, 900); } } }]) .directive('courseCategory', ['$compile', '$timeout', function($compile, $timeout) { return { restrict: 'A', link: function link(scope, element, attrs) { $timeout(function() { var resourceUrl = scope.service.client.resource(); //console.log(resourceUrl) scope.service.client.category(name).then(function(category) { /* console.log(category) */ scope['category'] = category; var courseCount = 1; var button = 'ดูหลักสูตร'; // angular.forEach(scope.category, function(category, index) { var $category = $('
').addClass('relative'); var $sectionCourse = $('
').addClass('section-course white'); var $banner = $('
').addClass('banner-course relative'); var courseState = 'course-content'; var categoryName = category.name; var paginationStyle = ""; var cardStyle = "card-course"; var $cardIcon = $('').hide(); // if(category.permalink != 'podclass') { var position = courseCount % 2 == 0 ? 'right' : 'left'; courseCount ++; //console.log(category) var $bannerContent = $('
').addClass('banner-course-content absolute'); var $bannerTitle = $('

').addClass('banner-course-title black-text bold').text(category.name); var $bannerNote = $('

').addClass('banner-course-note black-text medium normal remark').text(category.remark); var $bannerDesc = $('

').addClass('banner-course-desc black-text regular').html(category.brief); var $bannerBtn = $('').addClass('banner-course-btn waves-effect btn-signup btn-flat z-depth-1 medium').text(button); // var banner = resourceUrl + '/category/' + category.background; var image = new Image(); image.onload = function() { $banner.height(this.height); } image.src = 'https:' + banner; // $banner.css({backgroundImage: "url("+banner+")"}); $banner.addClass('background-image banner-'+position); // $bannerContent.append($bannerTitle).append($bannerNote).append($bannerDesc).append($bannerBtn.attr('href', '/courses')); $banner.append($bannerContent); $category.append($banner); } else { //colPaginationClass = 'col s6 m6 l6 offset-s6 offset-m6 offset-l6 right-align'; //courseState = 'course-state' categoryName = ""; paginationStyle = 'white black-text'; cardStyle = 'card-pod-class black'; // $cardIcon = $('').attr('src', '/public/img/icon/icon-microphone-white.png'); $sectionCourse.removeClass('section-course'); $category.addClass('section-intro background-image white'); var banner = resourceUrl + '/category/' + category.background; var img = new Image(); img.onload = function() { $category.height(this.height); } img.src = banner; $category.css("background-image", "url('"+banner+"')"); // $banner.css({backgroundImage: "url("+banner+")"}); // $banner.addClass('background-image banner-'+position); } // // courses var $container = $('

').addClass('container'); var $rowCourseName = $('
').addClass('row hide-on-small-only'); var $colCourseName = $('
').addClass('col s8 m6 l6'); var $courseName = $('').attr('href', '/courses'); var $colPagination = $('
').addClass('col s4 m6 l6 right-align'); var $btnPrev = $('').addClass('btn-pagination prev-carousel normal').addClass(paginationStyle); var $btnNext = $('').addClass('btn-pagination next-carousel normal').addClass(paginationStyle); // $courseName.append($('

').addClass('course-name black-text bold').text(categoryName)); $btnPrev.append($('').addClass('material-icons').text('navigate_before')); $btnNext.append($('').addClass('material-icons').text('navigate_next')); // $colPagination.append($btnPrev).append($btnNext); $rowCourseName.append($colCourseName.append($courseName)).append($colPagination); $container.append($rowCourseName); // var $programCourse = $('
').addClass('relative'); var $carousel = $('
').addClass('carousel carousel-slider course-carousel'); var $carouselItem = $('
').addClass('carousel-item'); var $rowCourse = $('
').addClass('row'); // // responsive devices var countCourse = 0; var responsiveDevice = 4; // Desktop Devices if(window.matchMedia("(max-width: 600px)").matches) responsiveDevice = 1; // Mobile Devices else if (window.matchMedia("(min-width: 601px) and (max-width: 992px)").matches) responsiveDevice = 3; // Tablet Devices // angular.forEach(category.courses, function(item) { if(countCourse == 0) { $carousel.append($carouselItem); $carouselItem.append($rowCourse); } // var $colCourse = $('
').addClass('col s12 m4 l3'); var $card = $('
').addClass('card hoverable').addClass(cardStyle); var $cardImage = $('
').addClass('card-image course-image'); var $cardContent = $('
').addClass('card-content'); var $courseName = $('
').addClass('course-title').text(item.name); var $courseBrief = $('
').addClass('course-brief small').text(item.brief); if(category.permalink != 'podclass') { $cardImage.css('background-image', "url('"+resourceUrl + '../../../..' + item.thumbnail+"')"); $cardContent.append($courseName).append($courseBrief); } else { $cardImage = $('').addClass('bg-card').attr('src', resourceUrl + '../../../..' + item.thumbnail); var $cardIcon = $('').attr('src', '/public/img/icon/icon-microphone-white.png'); var $cardContent = $('
').addClass('course-image course-podclass them-bg-yellow relative'); $cardContent.append($cardIcon).append($courseName); } // var $cardAction = $('
').addClass('card-action').attr(courseState, item.code); $card.append($cardImage).append($cardContent).append($cardAction); $rowCourse.append($colCourse.append($card)); //$colCourse.addClass(item.state); $cardAction.addClass(item.state) // countCourse++; if(countCourse == responsiveDevice) { countCourse = 0; $carouselItem = $('
').addClass('carousel-item'); $rowCourse = $('
').addClass('row'); } }); $programCourse.append($carousel); $container.append($programCourse); //console.log($container) $category.append($sectionCourse.append($container)); element.append($category); element.ready(function() { // initialization carrousel program courses var carousel = element.find('.carousel'); carousel.carousel({ fullWidth: true, indicators: false }); // move next carousel $btnNext.click(function(e) { e.preventDefault(); e.stopPropagation(); $carousel.carousel('next'); }); // move prev carousel $btnPrev.click(function(e){ e.preventDefault(); e.stopPropagation(); $carousel.carousel('prev'); }); // mobile responsive pagination if(responsiveDevice == 1) { carousel.carousel({ fullWidth: true, indicators: true }); // $btnPrev.removeClass().addClass('btn-pagination-sm prev-carousel absolute valign-wrapper hide-on-med-and-up'); $btnNext.removeClass().addClass('btn-pagination-sm next-carousel absolute valign-wrapper hide-on-med-and-up'); $container.addClass('relative').append($btnPrev).append($btnNext); var indicators = element.find('.indicators'); if(index != Object.keys(scope.category).length) indicators.remove(); } }); }); $compile(element.contents())(scope) // }); }, 900); // } } }]) .directive('categoryCourses', ['$compile', '$routeParams', function($compile, $routeParams) { return { restrict: 'A', link: function (scope, element, attrs) { // attrs.$observe('categoryCourses', function(name) { scope.bannerCourses = name ==""; var castState = ['podclass']; var courseCount = 1; var courseType = $routeParams.category; var courseState = 'course-content'; scope.service.client.category(name).then(function(category) { // console.log(category); // angular.forEach(category, function(item, index) { var type = item.permalink; if(!castState.includes(type) && !courseType) { // scope.bannerCourses = false; // var $section = $('
').addClass('section'); var $container = $('
').addClass('container'); var $rowCourseName = $('
').addClass('row'); var $colCourseName = $('
').addClass('col s12 m12 l12'); var $courseName = $('

').addClass('section-title black-text bold').text(item.name); var $courseNote = $('

').addClass('section-note red-text regular').text(item.remark); if(courseCount % 2 == 1) $section.addClass('white'); courseCount++; // $rowCourseName.append($colCourseName.append($courseName).append($courseNote)); $container.append($rowCourseName); // var $rowCourses = $('

').addClass('row'); angular.forEach(item.courses, function(course) { var $col = $('
').addClass('col s6 m4 l3'); var $card = $('
').addClass('card card-course hoverable'); var $cardImage = $('
').addClass('card-image course-image'); var $cardContent = $('
').addClass('card-content'); var $courseTitle = $('

').addClass('course-title').text(course.name); var $courseBrief = $('

').addClass('course-brief small').text(course.brief); var $cardAction = $('

').addClass('card-action').attr(courseState, course.code); // $cardImage.css('background-image', "url('"+course.thumbnail+"')"); $cardContent.append($courseTitle).append($courseBrief); $card.append($cardImage).append($cardContent).append($cardAction); $rowCourses.append($col.append($card)); }); // $container.append($rowCourses); element.append($section.append($container)); // }else if(castState.includes(type) && courseType=='podclass') { // var courseName = 'DBDPODCLASS'; var background = '/public/img/background/background-dbd-pod-class-fade.png'; var backgroundColor = '#484A4B'; // topic & background var $section = $('
').addClass('section valign-wrapper bg-center-bottom'); var $container = $('
').addClass('container'); var $courseName = $('

').addClass('course-media bold white-text relative center-align').html(courseName); $section.css("background-image", "url('"+background+"')"); $section.css("background-color", backgroundColor); $container.append($courseName); // program var $rowCourse = $('
').addClass('row'); angular.forEach(item.courses, function(course) { var $colCourse = $('
').addClass('col s6 m4 l3'); var $card = $('
').addClass('card card-pod-class hoverable black relative'); var $cardImage = $('').addClass('bg-card').attr('src', course.thumbnail); var $cardIcon = $('').attr('src', '/public/img/icon/icon-microphone-white.png'); var $courseImage = $('
').addClass('course-image course-podclass them-bg-yellow relative'); var $courseTitle = $('

').addClass('course-title white-text').text(course.name); var $cardAction = $('

').addClass('card-action').attr('course-state', course.code); var $cardTime = $('
').addClass('icon-vertical course-time blue-grey-text text-lighten-3 medium right'); var $icon = $('').addClass('material-icons').text('access_time'); var $time = $('').addClass('italic').text(' 0 ชม.'); // $courseImage.append($cardIcon).append($courseTitle); $cardTime.append($icon).append($time); $cardAction.append($cardTime); $card.append($cardImage).append($courseImage).append($cardAction); $rowCourse.append($colCourse.append($card)); // }); $container.append($rowCourse); element.append($section.append($container)); } }); // $compile(element.contents())(scope) }); }); } } }]) .directive('videoIntro', ['$timeout', function($timeout) { return { restrict: 'A', link: function(scope, element, attrs) { // var background = '/public/img/background/background-dbd-video.jpg'; // $timeout(function() { scope.service.client.video().then(function(video) { // console.log(video); // if(video) { var btnCourseText = 'เริ่มดู'; var btnPrevClass = 'btn-pagination prev-carousel normal white black-text'; var btnNextClass = 'btn-pagination next-carousel normal white black-text'; // background var $section = $('
').addClass('section-intro relative background-image'); var $container = $('
').addClass('container'); var img = new Image(); img.onload = function() { $section.height(this.height); } img.src = background; $section.css("background-image", "url('"+background+"')"); // pagination var $pagination = $('
').addClass('right-align hide-on-small-only').css('padding', '0 0.75rem'); var $btnPrev = $('').addClass(btnPrevClass).append($('').addClass('material-icons').text('navigate_before')); var $btnNext = $('').addClass(btnNextClass).append($('').addClass('material-icons').text('navigate_next')); $pagination.append($btnPrev).append($btnNext); $container.append($pagination); // program var $sectionCourse = $('
').addClass('program-intro'); scope.courseVideoContent = function() { // var $carousel = $('
').addClass('carousel carousel-slider course-carousel'); var $carouselItem = $('
').addClass('carousel-item'); var $rowCourse = $('
').addClass('row'); // responsive devices var countCourse = 1; var responsiveDevice = 5; if(window.matchMedia("(max-width: 600px)").matches) responsiveDevice = 2; // Mobile Devices else if (window.matchMedia("(min-width: 601px) and (max-width: 992px)").matches) responsiveDevice = 4; // Tablet Devices else responsiveDevice = 5; // Desktop Devices angular.forEach(video, function(item) { if(countCourse == 1) { $carousel.append($carouselItem); $carouselItem.append($rowCourse); } // var $colCourse = $('
').addClass('col s12 m4 l3'); var $card = $('
').addClass('card card-video hoverable black relative'); var $cardImage = $('').addClass('bg-card').attr('src', item.banner); var $cardIcon = $('').attr('src', '/public/img/icon/icon-play-video.png'); var $courseImage = $('
').addClass('course-image course-video them-bg-color relative'); var $courseTitle = $('

').addClass('course-title white-text').text(item.title); var $cardAction = $('

').addClass('card-action'); var $btnCourse = $('').addClass('waves-effect waves-light btn-small btn medium z-depth-0').text(btnCourseText); var $cardTime = $('
').addClass('icon-vertical course-time blue-grey-text text-lighten-3 medium right'); var $icon = $('').addClass('material-icons').text('access_time'); var $time = $('').addClass('italic').text(' 0 ชม.'); // $courseImage.append($cardIcon).append($courseTitle); $btnCourse.attr('href', '/video/'+item.video_id); if(item.website_url){ $btnCourse.attr('target', '_blank'); $btnCourse.attr('href', item.website_url); } $btnCourse.click(function() { scope.scrollToTop(); }); // $cardTime.append($icon).append($time); $cardAction.append($btnCourse).append($cardTime); $cardAction.append($cardTime); $card.append($cardImage).append($courseImage).append($cardAction); $rowCourse.append($colCourse.append($card)); // countCourse++; if(countCourse == responsiveDevice) { countCourse = 1; $carouselItem = $('
').addClass('carousel-item'); $rowCourse = $('
').addClass('row'); } }); $sectionCourse.append($carousel); // initialization carrousel program courses var carousel = element.find('.carousel'); carousel.carousel({ fullWidth: true, indicators: false }); // move next carousel $btnNext.click(function(e) { e.preventDefault(); e.stopPropagation(); $carousel.carousel('next'); }); // move prev carousel $btnPrev.click(function(e){ e.preventDefault(); e.stopPropagation(); $carousel.carousel('prev'); }); // mobile responsive pagination if(responsiveDevice == 2) { carousel.carousel({ fullWidth: true, indicators: true }); // $btnPrev.removeClass().addClass('btn-pagination-sm prev-carousel absolute valign-wrapper hide-on-med-and-up'); $btnNext.removeClass().addClass('btn-pagination-sm next-carousel absolute valign-wrapper hide-on-med-and-up'); $container.addClass('relative').append($btnPrev).append($btnNext); } else { $btnPrev.removeClass().addClass(btnPrevClass); $btnNext.removeClass().addClass(btnNextClass); $pagination.append($btnPrev).append($btnNext); } } // $container.append($sectionCourse); $section.append($container); element.append($section); element.ready(function() { scope.courseVideoContent(); $(window).on('resize',function() { $sectionCourse.empty(); scope.courseVideoContent(); }); }); // } }); }, 900); // } } }]) .directive('programVideo', ['$routeParams', function($routeParams) { return { restrict: 'A', link: function(scope, element, attrs) { // var courseName = 'คลังความรู้ธุรกิจ'; var background = '/public/img/background/background-dbd-video-fade.png'; var backgroundColor = '#0A0A12'; var courseType = $routeParams.category; // if(courseType=='video') { scope.service.client.video().then(function(video) { // console.log(video); // // topic & background var $section = $('
').addClass('section valign-wrapper bg-center-bottom'); var $container = $('
').addClass('container'); var $courseName = $('

').addClass('course-media bold white-text relative center-align').html(courseName); $section.css("background-image", "url('"+background+"')"); $section.css("background-color", backgroundColor); $container.append($courseName); // program var $rowCourse = $('
').addClass('row'); angular.forEach(video, function(item) { var $colCourse = $('
').addClass('col s6 m4 l3'); var $card = $('
').addClass('card card-video hoverable black relative'); var $cardImage = $('').addClass('bg-card').attr('src', item.banner); var $cardIcon = $('').attr('src', '/public/img/icon/icon-play-video.png'); var $courseImage = $('
').addClass('course-image course-video them-bg-color relative'); var $courseTitle = $('

').addClass('course-title white-text').text(item.title); var $cardAction = $('

').addClass('card-action'); var $btnCourse = $('').addClass('waves-effect waves-light btn-small btn medium z-depth-0').text('เริ่มดู'); var $cardTime = $('
').addClass('icon-vertical course-time blue-grey-text text-lighten-3 medium right'); var $icon = $('').addClass('material-icons').text('access_time'); var $time = $('').addClass('italic').text(' 0 ชม.'); // $courseImage.append($cardIcon).append($courseTitle); $btnCourse.attr('href', '/video/'+item.video_id); $btnCourse.click(function() { scope.scrollToTop(); }); $cardTime.append($icon).append($time); // $cardAction.append($cardTime); $cardAction.append($btnCourse).append($cardTime); $card.append($cardImage).append($courseImage).append($cardAction); $rowCourse.append($colCourse.append($card)); }); $container.append($rowCourse); // $section.append($container); element.append($section); }) // } // } } }]) .directive('videoView', ['$routeParams', '$timeout', function($routeParams, $timeout) { return { restrict: 'A', link: function(scope, element, attrs) { // var video_id = $routeParams.id; $timeout(function() { scope.service.client.video(video_id).then(function(video) { scope.video = video; // console.log(scope.video); // var videContent = element.find('#vide_content'); var $video = $('