/* global _, angular, i18n */ 'use strict'; var controllers = angular.module('PromptSkill.controllers', []); controllers.controller('app', ['$scope','$location','$q','$window','$timeout','$cookies','$resource','user','program','course','member','learner', function($scope, $location, $q, $window, $timeout, $cookies, $resource, user, program, course, member, learner) { //$scope.apikey = '[#apikey]'; //$scope.mobile = false; $scope.year = new Date().getFullYear(); $scope.locale = null; $scope.language = 'th-TH'; // $scope.service = {program, course, learner, user, member}; $scope.course = {}; $scope.lrs = {}; $scope.state = 'register'; // $scope.currentUrl = $location.host(); //$scope.bgProgram = {'background-color':'#f5f5f5'}; $scope.route = ''; /* layout */ $scope.promptskill = true; $scope.headBar = true; $scope.fullpage = false; // $scope.loading = true; // $scope.member = true; $scope.authorize = false; $scope.barCookies = false; // responsive device $scope.mobile = screen.width <= 600; $scope.tablet = screen.width > 600 && screen.width <= 1024; // $scope.init = function() { // console.log('init'+new Date()) $scope.$watch('language', function(locale, language) { // console.log(locale) if(locale=='en-US') $scope.locale = null; program.language(locale).then(function(phrase) { if(phrase) { $scope.locale = phrase; } // console.log($scope.locale) }); }); var interval = setInterval(function() { if(document.readyState == 'complete') { //console.log(document.readyState) $window.scrollTo(0, 0); clearInterval(interval); } }, 200); return; }; $scope.promptSkill = function() { $window.open('https://promptskill.com', '_blank'); } $scope.scrollToTop = function () { // Scroll to Top of Page. var deferred = $q.defer(); deferred.resolve(angular.element("html, body").animate({ "scrollTop": 0 })); return deferred.promise; } $scope.back = function () { //console.log('back'); $window.history.back(); }; $scope.gotoPage = function(page) { $location.path(page); } $scope.gotoUrl = function(uri) { $window.location = uri; } $scope.removeHash = function() { $location.hash(null); } $scope.openUrl = function(uri, target) { $window.open(uri, target); } $scope.active = function(path) { //console.log(path) return $location.path().match(new RegExp(path + '.*', 'i')) != null; }; $scope.gotoParamUrl = function(url) { const subdomain = $location.host().split('.')[0]; return url +"?f="+ subdomain +"&l="+ $scope.language; } $scope.logout = function() { $scope.service.user.clear(); $window.location.href = '/'; }; // $scope.$on('$viewContentLoaded', function(event, viewConfig) { //Here your view content is fully loaded !! $timeout(function() { $scope.loading = false; $scope.checkCookie(); $scope.navigationChange(); }, 2000); }); $scope.$on( "$routeChangeStart", function(event, route, current) { $scope.member = true; $scope.navigationChange(); }); // active / inactive tab $window.onblur = function() { console.log('window blur'); //$scope.service.user.lrsDisconnect($scope.lrs)); } $window.onfocus = function() { console.log('window focus'); // console.log($scope) // $window.location.reload(); } }]); controllers.controller('navigation', ['$scope', function($scope) { $scope.navigation = function() { return '/templates/layouts/header.promptskill'; }; }]); controllers.controller('home', ['$scope','$window','$location', function($scope, $window, $location) { // $scope.$parent.promptskill = false; $scope.$parent.headbar = true; $scope.$parent.navbar = true; $scope.$parent.fullpage = false; // $scope.service.program.info().then(function(program) { console.log(program); // if(!program.program) { $location.path('/course/' + program.course.code); } // if(program.program_id==undefined) $window.location.href = 'https://promptskill.com'; // if(program.registration) $location.path('/course/'+program.registration); // if(program.course !=undefined) { // $location.path('/course/' + program.course.code); // } /* $scope.service.member.authorized().then(function(authorized) { if(authorized) { $location.path('/course/'+program.signin); } //else $location.path('/signin'); }) */ }); }]); controllers.controller('course', ['$scope','$timeout','$routeParams','$window','ngMeta', function($scope, $timeout, $routeParams, $window, ngMeta) { // $scope.$parent.promptskill = true; $scope.$parent.headbar = true; $scope.$parent.navbar = false; $scope.$parent.fullpage = false; // var course = $routeParams; // console.log(course) $scope.service.program.info().then(function(program) { // console.log(program); course['course_id'] = program.program_id; $scope.service.course.content(course).then(function(content) { // console.log($scope.language) // console.log(content); var delay = 0; if(content.language !=$scope.language) { $scope.$parent.language = content.language; delay = 500; // console.log($scope.locale) } $timeout(function() { console.log(content) // console.log($scope.locale) $scope.course = content; $scope.course['invitation'] = program.invitation; // setting meta tags dynamically let meta_title = $scope.course.name; if(meta_title) { if($routeParams.outline) { meta_title += ' > ' + $scope.course.outline.title; } else { meta_title += ' Overview'; } ngMeta.setTitle(meta_title); } }, delay); // }); }); // }]); controllers.controller('user', ['$scope', function($scope) { // }]); controllers.controller('member',['$scope', function($scope) { // $scope.$parent.fullpage = true; // console.log('member'); $('header').hide(); // $('.footer-sitemap').hide(); }]); controllers.controller('register', ['$scope','$location',function($scope, $location) { // // console.log($location.hash()) if($location.hash()!='') { } }]);