app.service('shareService', function() { var packedData = []; var shopIndexKey = 0; var shopRegister = function(strShopId) { shopIndexKey = parseInt(strShopId); packedData[shopIndexKey] = []; }; var addData = function(keyName, newObj) { packedData[shopIndexKey][keyName] = newObj; }; var getData = function(keyName) { return (typeof packedData[shopIndexKey][keyName] !== 'undefined') ? packedData[shopIndexKey][keyName] : false; }; var getDataAll = function() { return packedData; }; return { register: shopRegister, add: addData, get: getData, getAll: getDataAll }; }); app.controller('homeController', function($scope, $rootScope, $location, $route, $timeout, $window, $routeParams, UiFlexImage, PathViewManager, $fallback, share, shareService, $http) { var vm = this; UiCustomerBox.listen.me(function(customerData) { if (customerData == null) { /* Code */ } else { /* Code */ } }); var $GET = function(endPoint, dataSend, callback) { $http.get('https://infosat.getappeasy.com/store/api/v1/' + endPoint, { params: dataSend }).then(function(e) { callback(e.data); }); }; /* register share data */ shareService.register(CUR_THEME.shop_id()); // template params var baseTemplate = CUR_THEME.file_url() + "templates/"; vm.icnPath = CUR_THEME.file_url() + '../../assets/'; vm.imgPath = CUR_THEME.file_url() + 'images/'; vm.pdfPath = CUR_THEME.file_url() + 'file_pdf/'; vm.tplPath = CUR_THEME.file_url() + "templates/tpl/"; vm.phpPath = CUR_THEME.file_url() + "php/"; vm.phpPathsend = CUR_THEME.file_url() + "sendgrid/"; vm.sendGridPath = _ui_share_host + '../sendgrid/', vm.tplHome = function(path, tplName) { var templateHtml = ""; if (tplName.indexOf('.html') >= 0) { templateHtml = tplName.split('.html')[0]; } else { templateHtml = tplName; } return baseTemplate + path + '/' + templateHtml + '.html'; }; vm.thirdPartyApi = 'extensions/devsource/dev.sugarfree/dealer/api.php'; // bidyang /* Default Page Params */ vm.pageName = 'home'; vm.routeParams = {}; /* Route Pages Params */ /* Route Pages Params */ /* Route Pages Params */ $rootScope.$on('$routeChangeStart', function(event, current, prev, $route) { //$('html').addClass('noscroll noscroll-long'); var virtualCart = $("#root-virtual-cart"); var virtualCartTypeA = $("#root-virtual-cart-type-a"); var shop_id = CUR_THEME.shop_id(); if (virtualCart) { virtualCart.css("display", "block"); if (shop_id == 718) { $('.component-bar').css("display", "block"); } } if (virtualCartTypeA) { virtualCartTypeA.css("display", "block"); } angular.element('.load-effect').addClass('is-active'); vm.pageName = current.$$route.page; vm.routeParams = $routeParams; switch (vm.pageName) { case 'home': if (shop_id == 762) { $location.url('').replace(); } break; case 'product-detail': break; case 'category-lists': break; case 'album': break; case 'album-detail': break; case 'viewcart': virtualCart.css("display", "none"); virtualCartTypeA.css("display", "none"); if (shop_id == 718) { $('.component-bar').css("display", "none"); } case 'sub-category': var dataSend = {}; angular.forEach($location.search(), function(v, k) { dataSend[k] = v; }); if (typeof dataSend.category !== 'undefined') { vm.pageCategory = dataSend.category; vm.getCategoryDetail(dataSend.category); vm.getCategoryRoot(dataSend.category); } break; default: // default action break; } }); $rootScope.$on('$routeChangeSuccess', function(event, current, prev) { vm.pageName = current.$$route.page; $('html,body').animate({ scrollTop: 0 }, 'slow'); if (vm.pageName !== 'product-detail') { var clearLoading1 = setTimeout(function() { angular.element('.load-effect').addClass('de-active'); clearTimeout(clearLoading1); }, 500); var clearLoading2 = setTimeout(function() { angular.element('.load-effect').addClass('loaded'); angular.element('.load-effect').removeClass('is-active de-active'); angular.element('.load-effect').removeClass('loaded'); clearTimeout(clearLoading2); }, 1500); } if (vm.pageName == 'home') { vm.headerComponentId = "001"; } else { vm.headerComponentId = "002"; } if (vm.activateMenuCheck) { vm.activateMobileMenu('rec15300114', 't228'); } switch (vm.pageName) { case 'home': break; default: break; } /* Manage Fallback by Falback.js */ $fallback.init(); /* Pixel */ $pixelScript.watch(); if (CUR_THEME.shop_id() == "635") { /* page cart style (lightmax) */ /*vm.pageCart.get();*/ } /*vm.pageCart.get();*/ }); /* Start Event Broadcast */ /* Start Event Broadcast */ /* Start Event Broadcast */ $rootScope.$on('makeCarouselBroadcast', function(event, args) { var dataReceive = args; var elementName = dataReceive.element_name; var option = dataReceive.element_option; if ($(elementName).hasClass('slick-initialized') || $(elementName).hasClass('slick-slider')) { var a = $(elementName).slick('unslick'); if (a) { $timeout(function() { $(elementName).not('.slick-initialized').slick(option); }, 500); } } else { $timeout(function() { $(elementName).not('.slick-initialized').slick(option); }, 500); } }); /* End Event Broadcast */ /* End Event Broadcast */ /* End Event Broadcast */ /* Route Pages Application Params */ /* Route Pages Application Params */ /* Route Pages Application Params */ $rootScope.$on('$routeChangeStart', function(event, current, prev, $route) { angular.element('.load-effect').addClass('is-active'); vm.pageName = current.$$route.page; vm.routeParams = $routeParams; var page = vm.getPageName(vm.pageName); switch (page) { case 'app': console.log("ON application") vm.setHideMenuFooter(); break; default: console.log("NOT application") break; } }); vm.trumpComponentCarts = function() { var controlCart = share.getTrumpComponentCarts(); var component_carts = $('.cover-cards').hasClass('active'); if (!component_carts) { var component_icon_cart = $("div").hasClass('cover-icon-carts'); if (component_icon_cart) { controlCart.cart(); } } else { var component_icon_cart = $("div").hasClass('cover-icon-carts'); if (component_icon_cart) { controlCart.load(); } } }; vm.getPageName = function(pageName) { var page = pageName; var data = page.split("-"); var dataReturn = data[0]; return dataReturn; }; vm.applicationState = true; vm.setHideMenuFooter = function() { vm.applicationState = false; }; /* Route Pages Application Params */ /* Route Pages Application Params */ /* Route Pages Application Params */ /* Fetch Base Shop Data */ vm.shopSettings = false; vm.getShopBaseSettings = function() { vm.shopSettings = false; if (shareService.get('shop/current') !== false) { vm.shopSettings = shareService.get('shop/current'); console.log('shop/current: shopSettings : exist', vm.shopSettings); return; } else { GAEAPI.get('shop/current', {}).then(function(e) { if (e.ok == 1) { vm.shopSettings = e.data; shareService.add('shop/current', e.data); } else { vm.shopSettings = false; } console.log('shop/current: shopSettings', e); }); } }; vm.getShopBaseSettings(); /** * view current routeParams * @return none * @return object */ vm._isLogout = function() { var dataSend = {}; GAEAPI.get('customer/logout', dataSend).then(function(output) { if (output.ok == 1) { UiCustomerBox.apiGetCustomerData(function() {}); } }); }; vm._viewRouteParams = function() { return $routeParams; }; /** * Check if object array available for "website application" or "Mobile application" * @params object array * return true | false (default) */ vm._showWeb = function(objArray) { var r = false; for (var i = 0; i < objArray.length; i++) { if (objArray[i].badge_id == 18) { r = true; break; } } return r; }; vm._showApp = function(objArray) { var r = false; for (var i = 0; i < objArray.length; i++) { if (objArray[i].badge_id == 19) { r = true; break; } } return r; }; /** * get shop setting */ vm.shopDetail = []; vm.shopFacebook = ''; vm.shopGoogle = ''; vm.shopTwitter = ''; vm.shopInstagram = ''; vm.shopYoutube = ''; vm.shopLine = ''; vm.getShopDetail = function() { var dataSend = {}; GAEAPI.get('shop/current', dataSend, $scope).then(function(res) { console.debug("shop/current ----", res); if (res.ok == 1) { vm.shopDetail = res.data; if (vm.shopDetail.shop_extend_data) { angular.forEach(vm.shopDetail.shop_extend_data, function(v, k) { if (k == 'facebook_url' && v != '') { vm.shopFacebook = v; } if (k == 'google_url' && v != '') { vm.shopGoogle = v; } if (k == 'twitter_url' && v != '') { vm.shopTwitter = v; } if (k == 'instagram_url' && v != '') { vm.shopInstagram = v; } if (k == 'youtube_url' && v != '') { vm.shopYoutube = v; } if (k == 'line_id' && v != '') { vm.shopLineTxt = v; if (v.substring(0, 1) == '@') { vm.shopLine = 'http://line.me/ti/p/%40' + v.substring(1); } else { vm.shopLine = 'http://line.me/ti/p/~' + v; } } }); }; } else { vm.shopDetail = []; } }); }; /*galleryList*/ vm.galleryList = []; vm.getGalleryList = function() { var dataSend = { 'cur_page': 1, 'per_page': 100, 'txt_sortby': 'gallery_create_time_DESC', }; GAEAPI.get('gallery/lists', dataSend, $scope).then(function(res) { if (res.ok == 1) { vm.galleryList = res.data.dataList; console.log("gallery :", vm.galleryList); } }); }; vm.getGalleryList(); /* * make date by momentjs * @params dateStr (string) * @return string */ vm._makeDate = function(dateStr) { return (dateStr != "") ? moment(parseInt(dateStr) * 1000).format('LL') : ""; }; /* * * when click on mobile menu * @params element id (string) * @params class prefix name (string) * @return event */ vm.activateMenuCheck = false; vm.activateMobileMenu = function(idParent, prefixClass) { if (!vm.activateMenuCheck) { angular.element('#' + idParent + ' .' + prefixClass + '__mobile').addClass(prefixClass + '_opened'); angular.element('#' + idParent + ' .' + prefixClass + '__positionfixed').removeClass(prefixClass + '__hidden'); angular.element('#' + idParent + ' .' + prefixClass + '__positionfixed').removeClass(prefixClass + '__beforeready'); vm.activateMenuCheck = true; } else { angular.element('#' + idParent + ' .' + prefixClass + '__mobile').removeClass(prefixClass + '_opened'); angular.element('#' + idParent + ' .' + prefixClass + '__positionfixed').addClass(prefixClass + '__hidden'); angular.element('#' + idParent + ' .' + prefixClass + '__positionfixed').addClass(prefixClass + '__beforeready'); vm.activateMenuCheck = false; } }; vm.windowOpneBlank = function(url) { if (url != '') { window.open(url, '_blank'); } }; vm.pageGo = function(where, and) { // alert(where+ and); vm.mobileClose(); setTimeout(function() { window.location.href = where + and; }, 500); } vm.mobileOpen = function() { if (!$('.menyTopMobileDrop').hasClass('active')) { $('.menyTopMobileDrop').addClass('active'); /* $('body').css('position','fixed'); */ $('body').css('overflow', 'hidden'); } } vm.mobileClose = function() { if ($('.menyTopMobileDrop').hasClass('active')) { $('.menyTopMobileDrop').removeClass('active'); $('body').css('position', 'relative'); $('body').css('overflow', 'auto'); } } vm.unactiveMobileMenu = function() { $('body').css('position', 'relative'); $('body').css('overflow', 'auto'); if (angular.element('._compoment_header').hasClass('mobile_open_active')) { angular.element('._compoment_header').removeClass('mobile_open_active'); angular.element('.close').removeClass('active_x'); angular.element('.section').removeClass('active_y'); angular.element('._compoment_header .mobile').removeClass('active'); } }; /** * Blog * Get current blog id for blog-detail page * @params none * @return blog_id */ vm._blogId = function() { return $routeParams.blog_id || 0; }; vm._branchId = function() { return $routeParams.branch_id || 0; }; vm._promotionid = function() { console.log('promotion_id_title', $routeParams); return $routeParams.promotion_id || 0; }; vm.f = function() { console.log('_resultid', $routeParams); return $routeParams.result_id || 0; }; /** * Blog * Get Blog type list for blog page * @params none * @return array */ vm._blog_type_list = false; vm._blog_type_list_load = false; vm._get_blog_type_list = function() { vm._clear_blog_type_list(); GAEAPI.get('blog/lists', { 'cur_page': 1, 'per_page': 20, 'txt_sortby': 'blog_title_a-z' }).then(function(res) { vm._blog_type_list_load = true; if (res.ok === 1) { vm._blog_type_list = res.data.dataList; } }); }; vm._clear_blog_type_list = function() {}; vm._get_blog_type_list(); /** * Page * Get page list array * @params none * @return array */ vm._page_lists = []; vm._page_lists_load = false; vm._get_page_lists = function() { vm._clear_page_lists(); var dataSend = { 'cur_page': 1, 'per_page': 20, 'txt_sortby': 'page_oldest_create' }; GAEAPI.get('page/lists', dataSend).then(function(res) { vm._page_lists_load = true; if (res.ok === 1) { vm._page_lists = res.data.dataList; angular.forEach($scope._page_lists, function(item, key) { if (item.page_search_url == "") { item.page_search_url = item.page_id; } }); } }); }; vm._clear_page_lists = function() { vm._page_lists = false; vm._page_lists_load = false; }; vm._get_page_lists(); vm._page_category = false; vm._page_category_load = false; vm._get_page_category = function() { vm._clear_page_lists(); var txtSortBy = 'referral_name_a-z'; if (CUR_THEME.shop_id() == 635) { txtSortBy = 'referral_sort_index_asc_name_asc'; } if (CUR_THEME.shop_id() == 541) { txtSortBy = 'referral_sort_index_asc_name_asc'; } if (CUR_THEME.shop_id() == 647) { txtSortBy = 'referral_sort_index_asc_name_asc'; } if (CUR_THEME.shop_id() == 477) { txtSortBy = 'referral_sort_index_asc_name_asc'; } var dataSend = { 'txt_referral_type_id': 11, 'txt_sortby': txtSortBy, }; if (CUR_THEME.shop_id() == 646) { vm._page_category_load = true; vm._page_category = window.referralMap.data; console.log("map : from cache php", vm._page_category); return; } GAEAPI.get('referral/map', dataSend).then(function(res) { vm._page_category_load = true; if (res.ok === 1) { vm._page_category = res.data; console.log("map : ", vm._page_category); shareService.add('referralMap', res.data); } }); }; vm._clear_page_category = function() { vm._page_category = false; vm._page_category_load = false; }; vm._get_page_category(); vm.category_ = false; vm.get_category_ = function() { var txt_filter_json = { 'badge_id_array': [18, 16] }; var dataSend = { 'txt_referral_type_id': 11, 'txt_sortby': 'referral_sort_index_asc_name_asc', 'txt_filter_json': JSON.stringify(txt_filter_json), }; GAEAPI.get('referral/map', dataSend, $scope).then(function(res) { if (res.ok === 1) { vm.category_ = res.data; if (CUR_THEME.shop_id() == 741) { for (var i = 0; i < vm.category_.length; i++) { vm.get_product_dacseediver(vm.category_[i].referral_id); } } } }); }; vm.get_category_(); /* dacsee catmaplist */ vm.category_dacseediver = false; vm.get_category_dacseediver = function() { var dataSend = { 'txt_referral_type_id': 11, 'txt_parent_id': 10249, 'txt_sortby': 'referral_name_a-z', }; GAEAPI.get('referral/map', dataSend).then(function(res) { if (res.ok === 1) { vm.category_dacseediver = res.data; } }); }; vm.category_dacseetour = false; vm.get_category_dacseetour = function() { // var txt_filter_json = { // 'badge_id_array': [18] // }; var dataSend = { 'txt_referral_type_id': 11, 'txt_parent_id': 10250, 'txt_sortby': 'referral_name_a-z', // 'txt_filter_json': JSON.stringify(txt_filter_json), }; GAEAPI.get('referral/map', dataSend).then(function(res) { if (res.ok === 1) { vm.category_dacseetour = res.data; } }); }; vm.product_dacseediver = []; vm.get_product_dacseediver = function(refid) { console.log("get_product_dacseediver : ", refid); vm.product_dacseediver[refid] = []; var txt_filter_json = { "referral_id_array": [refid], "badge_id_array": [16, 18] }; var dataSend = { 'cur_page': 1, 'per_page': 6, 'txt_filter_json': JSON.stringify(txt_filter_json), }; console.log("get_product_dacseediver : dataSend : ", dataSend); GAEAPI.get('product/lists', dataSend).then(function(res) { if (res.ok === 1) { vm.product_dacseediver[refid] = res.data.dataList; console.log("uweywujssdhsd : ", vm.product_dacseediver[refid]); } }); // return vm.product_dacseediver; }; vm.productcat_evo = false; vm.get_productcat_evo = function() { var txt_filter_json = { 'badge_id_array': [18], 'referral_id_array': [11646] }; var dataSend = { 'cur_page': 1, 'per_page': 4, 'txt_filter_json': JSON.stringify(txt_filter_json), }; GAEAPI.get('product/lists', dataSend, $scope).then(function(res) { if (res.ok === 1) { vm.productcat_evo = res.data.dataList; } }); }; vm.blog_vito_one = []; vm.get_blog_vito_one = function() { var txt_filter_json = { "blog_id_array": [337], "badge_id_array": [18] }; var dataSend = { 'cur_page': 1, 'per_page': 6, 'txt_filter_json': JSON.stringify(txt_filter_json), // 'txt_filter_json': JSON.stringify(txt_filter_json), }; GAEAPI.get('post/lists', dataSend).then(function(res) { if (res.ok === 1) { vm.blog_vito_one = res.data.dataList; } }); }; vm.dataPostLists = []; vm.getPostListsSet = function(cur_page, per_page, txt_sortby) { var txt_filter_json = { 'badge_id_array': [18] } var dataSend = { 'cur_page': cur_page, 'per_page': per_page, 'txt_sortby': txt_sortby, 'txt_filter_json': JSON.stringify(txt_filter_json) }; console.log("getPostListsSet : dataSend : ", dataSend); GAEAPI.get('post/lists', dataSend, $scope).then(function(output) { console.log("getPostListsSet : output : ", output); if (output.ok == 1) { vm.dataPostLists = output.data.dataList; } }); } // vm._makeDate = function(dateStr) { // return (dateStr != "") ? moment(parseInt(dateStr) * 1000).format('LL') : ""; // }; vm.blog_vito_two = []; vm.get_blog_vito_two = function() { var txt_filter_json = { "blog_id_array": [338], "badge_id_array": [18] }; var dataSend = { 'cur_page': 1, 'per_page': 6, 'txt_filter_json': JSON.stringify(txt_filter_json), // 'txt_filter_json': JSON.stringify(txt_filter_json), }; GAEAPI.get('post/lists', dataSend).then(function(res) { if (res.ok === 1) { vm.blog_vito_two = res.data.dataList; } }); }; vm.blog_dacseetour = []; vm.get_blog_dacseetour = function() { var txt_filter_json = { "blog_id_array": [336], "badge_id_array": [18] }; var dataSend = { 'cur_page': 1, 'per_page': 6, 'txt_filter_json': JSON.stringify(txt_filter_json), // 'txt_filter_json': JSON.stringify(txt_filter_json), }; GAEAPI.get('post/lists', dataSend).then(function(res) { if (res.ok === 1) { vm.blog_dacseetour = res.data.dataList; } }); }; vm.category_All18 = false; vm.get_category_All18 = function() { var txt_filter_json = { 'badge_id_array': [18] }; var dataSend = { 'txt_referral_type_id': 11, 'txt_sortby': 'referral_sort_index_asc_name_asc', 'txt_filter_json': JSON.stringify(txt_filter_json) }; GAEAPI.get('referral/map', dataSend, $scope).then(function(res) { if (res.ok === 1) { vm.category_All18 = res.data; console.log("get_category_All18 : ", vm.category_All18, res.data); } }); }; vm.get_category_All18(); /* * Click menu in header component * @params pathString (string) * @return event */ vm.unViewMobile = function() { $('body').css('position', 'relative'); $('body').css('overflow', 'auto'); if (angular.element('._compoment_header').hasClass('mobile_open_active')) { angular.element('._compoment_header').removeClass('mobile_open_active'); } if (angular.element('.menu-on-mobile-active').hasClass('active')) { angular.element('.menu-on-mobile-active').removeClass('active'); } if (angular.element('.container_second_mobile .onActive').hasClass('active')) { angular.element('.container_second_mobile .onActive').removeClass('active'); } if (angular.element('.section-mobile-set').hasClass('active')) { angular.element('.section-mobile-set').removeClass('active'); angular.element('.close').removeClass('active'); } }; vm.viewMenuFromParent = function(pathString) { if (angular.element('._compoment_header').hasClass('mobile_open_active')) { vm.unViewMobile(); $timeout(function() { if (pathString.indexOf("?") === -1 && pathString.indexOf("&") === -1) { $location.path(pathString).search({}); } else { window.location.href = pathString; } }, 700); } else { if (pathString.indexOf("?") === -1 && pathString.indexOf("&") === -1) { $location.path(pathString).search({}); } else { window.location.href = pathString; } } if (angular.element('.menu-on-mobile-active').hasClass('active')) { vm.unViewMobile(); $timeout(function() { if (pathString.indexOf("?") === -1 && pathString.indexOf("&") === -1) { $location.path(pathString).search({}); } else { window.location.href = pathString; } }, 700); } if (angular.element('.onActive').hasClass('active')) { vm.unViewMobile(); $timeout(function() { if (pathString.indexOf("?") === -1 && pathString.indexOf("&") === -1) { $location.path(pathString).search({}); } else { window.location.href = pathString; } }, 700); } }; vm.headerComponentId = "001"; /* Customer Status */ vm._getMe = {}; vm._isLogin = function() { if (UiCustomerBox.delegate.get.isLogin()) { vm._getMe = UiCustomerBox.delegate.get.me(); } return UiCustomerBox.delegate.get.isLogin(); }; vm._getLogin = function() { vm.unViewMobile(); return UiCustomerBox.delegate.modal.openLoginForm(); }; vm._getSearch = function(txt) { vm.unViewMobile(); return UiSearchBox.delegate.modal.open(txt); }; vm._getInfo = function() { vm.unViewMobile(); /*return UiCustomerBox.delegate.modal.open();*/ return window.location.href = GURL.base_url() + "login/profile"; }; vm._getLogout = function() { vm.unViewMobile(); return UiCustomerBox.delegate.doLogOut(); }; vm._cartTotal = function() { return UiCart.delegate.get.totalAmount() || 0; }; vm._cartTotalPrice = function() { var cart_total_product_price = 0; if (UiCart.delegate.get.cartData()) { if (UiCart.delegate.get.cartData().cart_total_product_price !== undefined) { cart_total_product_price = UiCart.delegate.get.cartData().cart_total_product_price; return cart_total_product_price || 0; } } return UiCart.delegate.get.totalPrice() || 0; }; vm._modalOpen = function(elementType, enableGuess, skipToCheckout) { return UiCart.delegate.modal.open(); /*UiCustomerBox.get.isLogin()==false && UiCustomerBox.modal.openLoginForm(); UiCustomerBox.get.isLogin()==true && UiCustomerBox.modal.open();*/ /*if (typeof UiCustomerBox === 'undefined' || UiCustomerBox == undefined) { return; } var delayTrigger = 100; vm.unViewMobile(); var modalOpenTimer = setTimeout(function () { return UiCart.delegate.modal.open(); clearTimeout(modalOpenTimer); if (!UiCustomerBox.delegate.get.isLogin()) { return UiCustomerBox.delegate.modal.openLoginForm(); } else if (UiCustomerBox.delegate.get.isLogin()) { return UiCart.delegate.modal.open(); } }, delayTrigger);*/ }; /*vm._cartTotalPrice = function () { return UiCart.delegate.get.totalPrice() || 0; };*/ /** * Post list * Get post list array * @params none * @return array */ vm._homeNews = []; vm.getHomeNews = function() { vm._homeNews = []; var d = { "cur_page": 1, "per_page": 20, "txt_sortby": "post_create_time_DESC" }; GAEAPI.get('post/lists', d).then(function(e) { if (e.ok === 1) { vm._homeNews = e.data.dataList; } }); }; vm.getHomeNews(); vm._postData = []; vm.getPostLists = function(linit) { vm._postData = []; var d = { "cur_page": 1, "per_page": linit, "txt_sortby": "post_update_time_DESC" }; GAEAPI.get('post/lists', d).then(function(e) { if (e.ok === 1) { vm._postData = e.data.dataList; } }); }; /* zomm camera only */ vm._homeNews_z1 = []; vm.getHomeNews_z1 = function(id) { vm._homeNews_z1 = []; var txt_filter_json = { 'blog_id_array': [id] }; var d = { "cur_page": 1, "per_page": 20, "txt_sortby": "post_create_time_DESC", 'txt_filter_json': JSON.stringify(txt_filter_json), }; console.log('TESTESTEST', d); GAEAPI.get('post/lists', d).then(function(e) { if (e.ok === 1) { vm._homeNews_z1 = e.data.dataList; } }); }; vm._homeNews_z2 = []; vm.getHomeNews_z2 = function(id) { vm._homeNews_z2 = []; var txt_filter_json = { 'blog_id_array': [id] }; var d = { "cur_page": 1, "per_page": 20, "txt_sortby": "post_create_time_DESC", 'txt_filter_json': JSON.stringify(txt_filter_json), }; console.log('TESTESTEST', d); GAEAPI.get('post/lists', d).then(function(e) { if (e.ok === 1) { vm._homeNews_z2 = e.data.dataList; } }); }; vm._homeFeatureNews = []; vm.getHomeNewsFeature = function() { vm._homeFeatureNews = []; var txt_filter_json = { 'badge_id_array': [18, 16] }; var d = { "cur_page": 1, "per_page": 20, "txt_sortby": "post_create_time_DESC", 'txt_filter_json': JSON.stringify(txt_filter_json), }; GAEAPI.get('post/lists', d).then(function(e) { if (e.ok === 1) { vm._homeFeatureNews = e.data.dataList; } }); }; vm.getHomeNewsFeature(); /** * Brand Lists * Get Brand list array * @params none * @return array */ vm._brandList = []; vm.getBrandList = function() { vm._brandList = []; var d = { "txt_referral_type_id": 12, "cur_page": 1, "per_page": 30 }; GAEAPI.get('referral/lists', d).then(function(e) { if (e.ok === 1) { vm._brandList = e.data.dataList; } }); }; vm.getBrandList(); vm._CatList = []; vm.getCatList = function() { vm._CatList = []; var d = { "txt_referral_type_id": 11, "cur_page": 1, "per_page": 30 }; GAEAPI.get('referral/lists', d).then(function(e) { if (e.ok === 1) { vm._CatList = e.data.dataList; } }); }; vm.FeatureCatList = []; vm.getFeatureCatList = function() { vm.FeatureCatList = []; var txt_filter_json = { 'badge_id_array': [16] }; var d = { "txt_referral_type_id": 11, "cur_page": 1, "per_page": 30, 'txt_filter_json': JSON.stringify(txt_filter_json), }; GAEAPI.get('referral/lists', d).then(function(e) { if (e.ok === 1) { vm.FeatureCatList = e.data.dataList; } }); }; vm.getFeatureCatList(); vm.dataReferralists = []; vm.getReferralists = function(txt_referral_type_id, cur_page, per_page, badge_id_array) { var txt_filter_json = { 'badge_id_array': badge_id_array }; var dataSend = { "txt_referral_type_id": txt_referral_type_id, "cur_page": cur_page, "per_page": per_page, 'txt_filter_json': JSON.stringify(txt_filter_json), }; GAEAPI.get('referral/lists', dataSend).then(function(output) { if (output.ok == 1) { console.log("getReferralists : output : ", output); vm.dataReferralists = output.data.dataList; } }); }; /* sent email register partner @parmams $event (from html) @return none */ vm.registerPartner = function($event) { var submit = true; // $($event.currentTarget).closest('form').find('.required').each(function () { // if ($(this).val() == '') { // $(this).closest('.form-group').find('.error').addClass('active'); // submit = false; // } else { // $(this).closest('.form-group').find('.error').removeClass('active'); // } // }); // $($event.currentTarget).closest('form').find('.required').each(function () { // if ($(this).val() == '') { // $('html,body').animate({ // scrollTop: $(this).offset().top - 160 // }, 'slow'); // submit = false; // return false; // } // }); // $($event.currentTarget).closest('form').find('#email').each(function () { // if(vm.isEmail($(this).val()) || $(this).val() == ''){ // console.log($(this).val()); // $(this).closest('.form-group').find('.error1').removeClass('active'); // } else { // $(this).closest('.form-group').find('.error1').addClass('active'); // console.log($(this).val()); // submit = false; // } // }); $($event.currentTarget).closest('form').find('[required]').each(function() { if ($(this).val() == '') { $(this).closest('.form_block').find('.after').addClass('error'); $(this).closest('.form_block').find('.round').addClass('error'); } else { $(this).closest('.form-group').find('span').removeClass('error'); } }); $($event.currentTarget).closest('form').find('[required]').each(function() { if ($(this).val() == '') { $('html,body').animate({ scrollTop: $(this).offset().top - 160 }, 'slow'); submit = false; return false; } }); // if(!(vm.isEmail($('#contact_form input[name="email"]').val()))){ // $("[name='email']").addClass('error'); // }else{ // $("[name='email']").removeClass('error'); // } var isPass = false; if (vm.isEmail($('#register_partner input[name="email"]').val())) { isPass = true; } // if(!(parseInt($('#register_partner input[name=age]').val()) > 0)){ // $("[name='age']").addClass('error'); // }else{ // $("[name='age']").removeClass('error'); // } // if(!(parseInt($('#register_partner input[name=phone]').val()) > 0)){ // $("[name='phone']").addClass('error'); // }else{ // $("[name='phone']").removeClass('error'); // } if (!(vm.isEmail($('#register_partner input[name="email"]').val()))) { $("[name='email']").addClass('error'); } else { $("[name='email']").removeClass('error'); } var formData = new FormData($($event.currentTarget).closest('form')[0]); if (CUR_THEME.shop_id() == 552) { formData.append('input_owner_name', 'duckypackprint'); formData.append('input_owner_contact', 'dkpackprint@gmail.com,web.getappeasy@gmail.com'); } else { return; } if (submit && isPass) { $.ajax({ url: vm.sendGridPath + 'send-email-register-partner.php', method: 'POST', data: formData, dataType: "json", cache: false, contentType: false, processData: false, success: function(data, textStatus, jqXHR) { console.log("registerPartner", data); if (data == 1) { window.location.href = 'register-partner-done'; } else { alert("error"); } }, error: function(jqXHR, textStatus, errorThrown) { console.log('ERRORS: ' + textStatus); } }); } else { console.log("registerPartner", submit); } }; vm.sent_datajoin = false; vm.joinus = function($event) { var submit = true; console.log("joinus : event : ", $event); $($event.currentTarget).closest('form').find('[required]').each(function() { if ($(this).val() == '') { $('html,body').animate({ scrollTop: $(this).offset().top - 160 }, 'slow'); submit = false; return false; } }); $($event.currentTarget).closest('form').find('[required]').each(function() { if ($(this).val() == '') { $(this).closest('.form_block').find('.after').addClass('error'); $(this).closest('.form_block').find('.round').addClass('error'); submit = false; } else { $(this).closest('.form-group').find('span').removeClass('error'); } }); if (!vm.isEmail($('input[name="email"]').val())) { $('input[name="email"]').addClass("error"); submit = false; } if (!vm.isMobile($('input[name="phone"]').val())) { $('input[name="phone"]').addClass("error"); submit = false; } var formData = new FormData($($event.currentTarget).closest('form')[0]); if (submit) { $.ajax({ url: vm.sendGridPath + 'send-email-joinus.php', method: 'POST', data: formData, cache: false, contentType: false, processData: false, success: function(data, textStatus, jqXHR) { console.log("asayshajshajshajsahsajsa :", data, textStatus, jqXHR); if (data == 1) { // window.location.href = 'register-done'; vm.sent_datajoin = true; $('.register-join-us').css('display', 'none'); } else { alert('กรุณติดต่อเจ้าหน้าที่'); } }, error: function(jqXHR, textStatus, errorThrown) { console.log('ERRORS: ' + textStatus); } }); } }; vm.isMobile = function(inputString) { var re = /^(([0-9]{8,10}))$/; return re.test(inputString); }; vm.isEmail = function(inputString) { var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(inputString); }; vm._web_home = false; vm.minibanner_image = []; vm.topbanner_image = []; vm.mainbanner_image = []; vm.secondary_image = []; vm.getDataBadgeId = function(badge_id, badge_array, callback) { var state = false; for (var i = 0; i < badge_array.length; i++) { if (badge_array[i].badge_id == badge_id) { state = true; break; } } callback(state); }; vm.getSortBanner = function(banner_array, callback) { var original = banner_array; var desktop = []; var mobile = []; for (var i = 0; i < banner_array.length; i++) { vm.getDataBadgeId(18, banner_array[i].banner_badge, function(state) { if (state) { desktop.push(banner_array[i]); } }); vm.getDataBadgeId(19, banner_array[i].banner_badge, function(state) { if (state) { mobile.push(banner_array[i]); } }); } callback(original, desktop, mobile); } vm._get_web_home = function() { vm._web_home = false; GAEAPI.get('web/home', {}).then(function(res) { if (res.ok === 1) { vm._web_home = res.data; vm.getSortBanner(vm._web_home.mini_banner.banner_array, function(original, desktop, mobile) { vm.minibanner_image = original; vm.minibanner_image_mobile = mobile; vm.minibanner_image_desktop = desktop; }); vm.topbanner_image = vm._web_home.top_page_banner.banner_array; vm.bottombanner_image = vm._web_home.bottom_page_banner.banner_array; vm.mainbanner_image = vm._web_home.main_banner_master.banner_array; vm.secondary_image = vm._web_home.secondary_carousel.banner_array; vm.mainbanner_image_nm = vm._web_home.main_banner.banner_array; vm._web_home = true; } }); }; vm._get_web_home(); vm.showBadgeId = function(badgeid, objArray) { var dataReturn = false; for (var i = 0; i < objArray.length; i++) { if (objArray[i].badge_id == badgeid) { dataReturn = true; break; } } return dataReturn; }; vm._page_contact = []; vm._get_page_contact = function() { GAEAPI.get('shop/current', {}).then(function(res) { if (res.ok === 1) { var datetime = new Date(); var year = datetime.getFullYear(); vm.copyRightTxt = '© ' + year + ' ' + res.data.shop_name; vm._page_contact = res.data.shop_extend_data; vm.address_page = res.data.shop_extend_data.contact_address; console.log('shop/current : address :', vm.address); vm.tel_page = res.data.shop_extend_data.phone; if (vm.tel_page !== '' && typeof vm.tel_page !== 'undefined') { vm.tel_page_split = vm.tel_page.split(","); vm.tel1_page = ''; vm.tel2_page = ''; if (vm.tel_page_split.length > 0) { vm.tel1_page = vm.tel_page_split[0]; } if (vm.tel_page_split.length > 1) { vm.tel2_page = vm.tel_page_split[1]; } } } }); }; vm._get_page_contact(); vm.displayTelCode = function(telString) { if (telString.indexOf("-")) { var a = telString.split("-"); var b = a.join("").trim(); } else { var b = telString.trim(); } return b.substr(1, b.length); }; vm.cut_0 = function(tel) { vm.tel_cut = tel.substring(1); return vm.tel_cut; }; /*--New version--Contact start*/ vm.datacontact = []; vm.getdatacontact = function() { GAEAPI.get('shop/current', {}).then(function(res) { if (res.ok === 1) { vm.datacontact = res.data; console.log("shop/current: datacontact", vm.datacontact); vm.getsubAddress(vm.datacontact.shop_extend_data.address); vm.getsubPhone(vm.datacontact.shop_extend_data.phone); vm.getsubEmail(vm.datacontact.shop_extend_data.mail); } }); }; vm.getdatacontact(); vm.getsubAddress = function(Address) { vm.address_page = Address; console.log('address_page', vm.address_page); if (vm.address_page !== '' && typeof vm.address_page !== 'undefined') { vm.address_page_split = vm.address_page.split("_"); console.log('address_page_split', vm.address_page_split); vm.address1_page = ''; vm.address2_page = ''; if (vm.address_page_split.length > 0) { vm.address1_page = vm.address_page_split[0]; } if (vm.address_page_split.length > 1) { vm.address2_page = vm.address_page_split[1]; } } }; vm.getsubPhone = function(Phone) { vm.phone_page = Phone; console.log('phone_page', vm.phone_page); if (vm.phone_page !== '' && typeof vm.phone_page !== 'undefined') { vm.phone_page_split = vm.phone_page.split(","); console.log('phone_page_split', vm.phone_page_split); vm.phone1_page = ''; vm.phone2_page = ''; if (vm.phone_page_split.length > 0) { vm.phone1_page_sub = vm.phone_page_split[0].substring(1); vm.phone1_page = vm.phone_page_split[0]; } if (vm.phone_page_split.length > 1) { vm.phone2_page_sub = vm.phone_page_split[1].substring(1); vm.phone2_page = vm.phone_page_split[1]; } } }; vm.getsubEmail = function(Email) { vm.mail_page = Email; console.log('mail_page', vm.mail_page); if (vm.mail_page !== '' && typeof vm.mail_page !== 'undefined') { vm.mail_page_split = vm.mail_page.split(","); console.log('mail_page_split', vm.mail_page_split); vm.mail1_page = ''; vm.mail2_page = ''; if (vm.mail_page_split.length > 0) { vm.mail1_page_sub = vm.mail_page_split[0].substring(1); vm.mail1_page = vm.mail_page_split[0]; } if (vm.mail_page_split.length > 1) { vm.mail2_page_sub = vm.mail_page_split[1].substring(1); vm.mail2_page = vm.mail_page_split[1]; } } }; /*--New version--Contact end*/ vm._shop_video = []; vm._video_link = []; vm._get_shop_video = function() { GAEAPI.get('shop/current', {}).then(function(res) { if (res.ok === 1) { vm._shop_video = res.data.shop_video_image; vm.video_link = res.data.shop_video_link; vm.video_em = res.data.shop_video_embed_code; } }); }; vm._get_shop_video(); /* send email to job */ vm.complain = function($event) { var submit = true; /*$($event.currentTarget).closest('form').find('.required').each(function() { if ($(this).hasClass('is-check')) { if (!$(this).find('input').is(':checked')) { $(this).find('.error').addClass('active'); submit = false; } else { $(this).find('.error').removeClass('active'); } } else { if ($(this).val() == '') { $(this).closest('.form-group').find('.error').addClass('active'); submit = false; } else { $(this).closest('.form-group').find('.error').removeClass('active'); } } }); $($event.currentTarget).closest('form').find('.required').each(function() { if ($(this).hasClass('is-check')) { if (!$(this).find('input').is(':checked')) { $('html,body').animate({ scrollTop: $(this).offset().top - 100 }, 'slow'); submit = false; return false; } } else { if ($(this).val() == '') { $('html,body').animate({ scrollTop: $(this).offset().top - 160 }, 'slow'); submit = false; return false; } } });*/ $($event.currentTarget).closest('form').find('[required]').each(function() { if ($(this).val() == '') { $(this).closest('.form_block').find('.after').addClass('error'); $(this).closest('.form_block').find('.round').addClass('error'); $(this).closest('.form_block_control').find('.round').addClass('error'); $(this).closest('.form_block_control .select').find('.after').addClass('error'); } else { $(this).closest('.form-group').find('span').removeClass('error'); } }); $($event.currentTarget).closest('form').find('[required]').each(function() { if ($(this).val() == '') { $('html,body').animate({ scrollTop: $(this).offset().top - 160 }, 'slow'); submit = false; return false; } }); var isPass = false; if (parseInt($('#complainForm input[name=phone]').val()) > 0 && parseInt($('#complainForm input[name=age]').val()) > 0 && vm.isEmail($('#complainForm input[name="email"]').val())) { isPass = true; } if (!(parseInt($('#complainForm input[name=age]').val()) > 0)) { $("[name='age']").addClass('error'); } else { $("[name='age']").removeClass('error'); } if (!(parseInt($('#complainForm input[name=phone]').val()) > 0)) { $("[name='phone']").addClass('error'); } else { $("[name='phone']").removeClass('error'); } if (!(vm.isEmail($('#complainForm input[name="email"]').val()))) { $("[name='email']").addClass('error'); } else { $("[name='email']").removeClass('error'); } var formData = new FormData($($event.currentTarget).closest('form')[0]); if (CUR_THEME.shop_id() == 552) { formData.append('input_owner_name', 'duckypackprint'); formData.append('input_owner_contact', 'dkpackprint@gmail.com,web.getappeasy@gmail.com'); } else { return; } if (submit && isPass) { $.ajax({ url: vm.sendGridPath + 'send-email-job.php', method: 'POST', data: formData, dataType: "json", cache: false, contentType: false, processData: false, success: function(data, textStatus, jqXHR) { console.log('data:dfjdkfdjd', data); // console.log('textStatus: ',textStatus); // console.log('jqXHR: ',jqXHR); if (data == 1) { window.location.href = 'job-done'; } else { alert("error"); } }, error: function(jqXHR, textStatus, errorThrown) { console.log('textStatus: ', textStatus); console.log('jqXHR: ', jqXHR); console.log('ERRORS: ' + errorThrown); alert("กรุณาลองใหม่อีกครั้ง"); return; } }); } else { alert("ตรวจสอบอายุและเบอร์โทร(ตัวเลขเท่านั้น) หรือ อีเมลให้ถูกต้อง"); } }; /* Product list ? */ vm.productList = []; vm.getProductList = function() { var txt_filter_json = { 'badge_id_array': [18] }; var dataSend = { 'cur_page': 1, 'per_page': 4, 'txt_sortby': 'product_lastest_create', 'txt_filter_json': JSON.stringify(txt_filter_json) }; GAEAPI.get('product/lists', dataSend).then(function(e) { if (e.ok === 1) { vm.productList = e.data.dataList; } }); }; vm.changeTabContent = function($event, dataIn) { var this_ = $($event.currentTarget); vm.badge_pl = dataIn; if (this_.hasClass('active')) { return false; } else { if (dataIn == 72) { this_.closest('section').find('.-tab ul .active1').addClass('active'); this_.closest('section').find('.-tab ul .active2').removeClass('active'); this_.closest('section').find('.-tab ul .active3').removeClass('active'); } else if (dataIn == 74) { this_.closest('section').find('.-tab ul .active2').addClass('active'); this_.closest('section').find('.-tab ul .active1').removeClass('active'); this_.closest('section').find('.-tab ul .active3').removeClass('active'); } else { this_.closest('section').find('.-tab ul .active3').addClass('active'); this_.closest('section').find('.-tab ul .active1').removeClass('active'); this_.closest('section').find('.-tab ul .active2').removeClass('active'); } this_.closest('section').find('.-tab ul li a').removeClass('active'); this_.addClass('active'); // this_.addClass('active'); this_.closest('section').find('.-content').removeClass('opacity'); $timeout(function() { this_.closest('section').find('.-content').removeClass('active'); if (dataIn == 'all') { this_.closest('section').find('.-content').addClass('active'); } else { this_.closest('section').find('.-content[data-id=' + dataIn + ']').addClass('active'); } }, 350); $timeout(function() { if (dataIn == 'all') { this_.closest('section').find('.-content').addClass('opacity'); } else { this_.closest('section').find('.-content[data-id=' + dataIn + ']').addClass('opacity'); } }, 450); } }; vm.changeTabContent2 = function($event, dataIn) { var this_ = $($event.currentTarget); vm.badge_pl = dataIn; if (this_.hasClass('active')) { return false; } else { if (dataIn != "") { this_.closest('section').find('.-tab ul .active1').addClass('active'); this_.closest('section').find('.-tab ul .active2').removeClass('active'); this_.closest('section').find('.-tab ul .active3').removeClass('active'); } this_.closest('section').find('.-tab ul li a').removeClass('active'); this_.addClass('active'); // this_.addClass('active'); this_.closest('section').find('.-content').removeClass('opacity'); $timeout(function() { this_.closest('section').find('.-content').removeClass('active'); if (dataIn == 'all') { this_.closest('section').find('.-content').addClass('active'); } else { this_.closest('section.feature').find('.-content[data-id=' + dataIn + ']').addClass('active'); } }, 350); $timeout(function() { if (dataIn == 'all') { this_.closest('section').find('.-content').addClass('opacity'); } else { this_.closest('section').find('.-content[data-id=' + dataIn + ']').addClass('opacity'); } }, 450); } }; vm.checkSeo = function() { return (GURL.isHtml5Mode()) ? true : false; }; vm.titleUrl = function(str) { var s = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-"); return s; }; vm._productFeatureList = []; vm._getProductFeature = function(limis, sortby) { var jsonFilter = { 'badge_id_array': [16, 18] }; var dataSend = { 'cur_page': 1, 'per_page': limis, 'txt_sortby': sortby, 'txt_filter_json': JSON.stringify(jsonFilter) }; GAEAPI.get('product/lists', dataSend, $scope).then(function(e) { console.log("_getProductFeature : e ", e); if (e.ok == 1) { vm._productFeatureList = e.data.dataList; } }); }; vm._productList = []; vm._getProductList = function(sort) { var jsonFilter = { 'badge_id_array': [18] }; var dataSend = { 'cur_page': 1, 'per_page': 100, 'txt_sortby': sort, 'txt_filter_json': JSON.stringify(jsonFilter) }; GAEAPI.get('product/lists', dataSend).then(function(e) { if (e.ok == 1) { vm._productList = e.data.dataList; } }); }; vm._productListAll = []; vm._getProductListAll = function() { var jsonFilter = { 'badge_id_array': [18] }; var dataSend = { 'cur_page': 1, 'per_page': 100, 'txt_sortby': 'referral_sort_index_asc_name_asc', 'txt_filter_json': JSON.stringify(jsonFilter) }; GAEAPI.get('product/lists', dataSend).then(function(e) { if (e.ok == 1) { for (var i = 0; i < e.data.dataList.length; i++) { if (e.data.dataList[i].product_discount.length != 0) { vm._productListAll.push(e.data.dataList[i]); } } console.log("spdosdpsidpsdisodi :", vm._productListAll); } }); }; // vm._getProductListAll(); vm.getTimeNow = []; vm._getTimeNow = function() { var d = new Date(); var n = d.toDateString(); vm.getTimeNow = n.split(" "); /*console.log('getTimeNow',vm.getTimeNow);*/ }; vm._makeDatenow = function() { var d = new Date(); return (d != "") ? moment(d).format('LL') : ""; }; // vm._makeDatenow(); /* Build String title url */ vm.buildTitleUrl = function(str) { var s = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-"); return s; }; vm.viewLink = function(i) { var a = i; if (a.indexOf('http') == -1) { return 'http://' + i; } return i; }; vm.album_lists = false; vm.album_detail_lists = false; vm._getAlbumList = function(per_page, txt_sortby) { vm.album_lists = false; var dataSend = { 'cur_page': 1, 'per_page': per_page, 'txt_sortby': txt_sortby }; GAEAPI.get('image_group/lists', dataSend).then(function(e) { if (e.ok === 1) { vm.album_lists = e.data.dataList; } }); console.log('album_lists_data', vm.album_lists); }; vm.getRandomNumber = function(start, end) { return Math.floor(Math.random() * end) + start; }; vm.windowsWidth = function() { return $(window).width(); }; vm.windowsHeight = function() { return $(window).height(); }; /* Optimize image size by device pixel * @params {size} (integer) prefer size * @params {image_url} (string) original image source link * @params {image_width} (string) original image width * @return string */ vm.viewOptimizeImage = function(size, image_url, image_width) { if (window.devicePixelRatio >= 2 || parseInt(image_width) <= size) { return image_url; } var a = image_url.split("/"), b = a[a.length - 1]; a[a.length - 1] = 't' + size + '_' + b; return a.join("/"); }; vm.calendar_img = []; vm.dataImageLists = []; vm.dataImageListsLoad = false; vm.getcalendar_img = function(image_group_id_array, cur_page, per_page) { var jsonFilter = { 'image_group_id_array': [image_group_id_array] }; var dataSend = { 'cur_page': cur_page, 'per_page': per_page, 'txt_filter_json': JSON.stringify(jsonFilter) }; GAEAPI.get('image/lists', dataSend).then(function(output) { vm.dataImageListsLoad = true; if (output.ok == 1) { vm.dataImageLists = output.data.dataList; vm.calendar_img = output.data.dataList[0]; } }); }; vm.img_byalbum_id_main = function() { var getFunction = { imageUrl: function(size, image_url) { var url = image_url.split("/"), length_url = url[url.length - 1]; url[url.length - 1] = size + '_' + length_url; return url.join("/"); }, resizeImageUrl: function(output, callback) { var _self = this; for (var i = 0; i <= output.length; i++) { if (i < output.length) { output[i].image_url = _self.imageUrl('t300', output[i].image_url); } else { callback(output); } } } } return getFunction; }; vm.img_byalbum_id = []; vm.get_img_byalbum_id = function(albumid) { var jsonFilter = { 'image_group_id_array': [albumid] }; var dataSend = { 'cur_page': 1, 'per_page': 20, 'txt_filter_json': JSON.stringify(jsonFilter) }; GAEAPI.get('image/lists', dataSend, $scope).then(function(res) { if (res.ok === 1) { vm.img_byalbum_id_main().resizeImageUrl(res.data.dataList, function(output) { vm.img_byalbum_id = output; }); } }); }; /* referal result in ttc custom */ /* fet album iambeauty */ vm.iambeauty_img = []; vm.getiambeauty_img = function() { var jsonFilter = { 'image_group_id_array': [685] }; var dataSend = { 'cur_page': 1, 'per_page': 100, 'txt_filter_json': JSON.stringify(jsonFilter) }; GAEAPI.get('image/lists', dataSend).then(function(res) { if (res.ok === 1) { vm.iambeauty_img = res.data.dataList[0]; } }); }; vm._custom_ref_ttc_data = []; vm._custom_ref_ttc = function(id) { console.log("_custom_ref_ttc : id : ", id); vm._custom_ref_ttc_data = []; var dataSend = { 'txt_referral_type_id': 11, 'txt_parent_id': id, 'txt_sortby': 'referral_oldest_create', }; GAEAPI.get('referral/map', dataSend).then(function(res) { vm._page_category_load = true; if (res.ok === 1) { // vm._custom_ref_ttc_data = res.data; vm._custom_ref_ttc_data = (res.ok == 1) ? res.data : []; var temp_ttc = []; for (var i = 0; i < res.data.length; i++) { temp_ttc.push(res.data[i].referral_id); } ref_tcc_productArray = res.data; getproductForRef(0, function() { // alert("complete!"); console.log("getproductForRef : ref_tcc_productArray: ", ref_tcc_productArray); }); } }); }; var ref_tcc_productArray = []; function getproductForRef(index, callback) { if (ref_tcc_productArray.length <= index) { if (callback) { callback(); } return; } var albumData = ref_tcc_productArray[index]; var image_group_id = albumData.referral_id; var dataSend = { 'txt_referral_type_id': 11, 'txt_parent_id': image_group_id, 'txt_sortby': 'referral_oldest_create', // 'txt_filter_json': JSON.stringify({"referral_id_array_in": [image_group_id]}) }; console.log("referral/map : dataSend : ", dataSend); GAEAPI.get('referral/map', dataSend, $scope).then(function(res) { console.log("map/lists : res : ", res); if (res.ok == 1) { albumData.category_array = res.data; // vm._custom_ref_ttc_data = res.data; // vm._custom_ref_ttc_data = (res.ok == 1) ? res.data : []; } ref_tcc_productArray_last = res.data; getproductForRef_last(0, function() { // alert("complete!"); console.log("getproductForRef_last : ref_tcc_productArray_last: ", ref_tcc_productArray_last); getproductForRef((index + 1), callback); }); vm._custom_ref_ttc_data = ref_tcc_productArray; // getproductForRef((index + 1), callback); }); } var ref_tcc_productArray_last = []; function getproductForRef_last(index, callback) { if (ref_tcc_productArray_last.length <= index) { if (callback) { callback(); } return; } var albumData_last = ref_tcc_productArray_last[index]; // console.log("makeCarouselBroadcastsds :",albumData_last); var image_group_last = albumData_last.referral_id; var dataSend = { 'cur_page': 1, 'per_page': 20, 'txt_sortby': 'product_oldest_create', 'txt_filter_json': JSON.stringify({ "referral_id_array_in": [image_group_last] }) }; console.log("product/lists : dataSend : ", dataSend); GAEAPI.get('product/lists', dataSend, $scope).then(function(res) { console.log("image/lists : res : ", res); if (res.ok == 1) { albumData_last.product_array = res.data.dataList; } // vm._custom_ref_ttc_data = ref_tcc_productArray_last; getproductForRef_last((index + 1), callback); }); } vm.setdispay = function(imgid) { document.getElementById(imgid).style.display = 'block'; $('body').css('overflow', 'hidden'); }; vm.containerwidth = function(a) { return angular.element(a).width(); }; /* Event when windows is loaded*/ $scope.windowLoaded = false; angular.element($window).bind('load', function() { $scope.windowLoaded = true; }); /* get product list by badge */ vm.productListByBadge = []; vm.getProductListByBadge = function(badgeId) { vm.productListByBadge[badgeId] = []; var dataSend = { 'cur_page': 1, 'per_page': 16, 'txt_sortby': 'referral_sort_index_asc_name_asc', 'txt_filter_json': JSON.stringify({ 'badge_id_array': [18, badgeId] }) }; GAEAPI.get('product/lists', dataSend, $scope).then(function(e) { console.log("getProductListByBadge", dataSend, e); if (e.ok === 1 && e.data.dataList.length > 0) { vm.productListByBadge[badgeId] = e.data.dataList; console.log("id_bade_product :", vm.productListByBadge[72]); } }); }; /* shop branch */ vm._branch_lists = false; vm._branch_lists_load = false; vm._get_branch_lists = function() { vm._clear_page_lists(); var dataSend = { 'cur_page': 1, 'per_page': 20, }; GAEAPI.get('shop_branch/lists', dataSend).then(function(res) { vm._branch_lists_load = true; if (res.ok === 1) { vm._branch_lists = res.data.dataList; } }); }; vm._get_branch_lists(); vm._promotion_lists = false; vm._promotion_lists_load = false; vm._get_promotion_lists = function() { vm._clear_page_lists(); var dataSend = { 'cur_page': 1, 'per_page': 20, }; GAEAPI.get('promotion/lists', dataSend).then(function(res) { vm._promotion_lists_load = true; if (res.ok === 1) { vm._promotion_lists = res.data.dataList; } }); }; vm._get_promotion_lists(); vm.dataPromotionLists = []; vm.getPromotionLists = function(cur_page, per_page, txt_badge_id, txt_sortby, type_number) { var dataSend = { "cur_page": cur_page, "per_page": per_page, "txt_badge_id": txt_badge_id, "txt_sortby": txt_sortby, "txt_type_number": type_number }; console.log("getPromotionLists : dataSend : ", dataSend); GAEAPI.get('promotion/lists', dataSend, $scope).then(function(output) { console.log("getPromotionLists : output : ", output); if (output.ok == 1) { vm.dataPromotionLists = output.data.dataList; } }); }; /* vm.promotion_listState = { load: false, done: false }; vm.get_promotion_lists5 = function(){ vm.promotion_listState = { load: true, done: false }; var dataSend = { 'cur_page': 1, 'per_page': 20, 'txt_sortby': 'promotion_lastest_create', 'txt_badge_id': 18, 'txt_filter_json': JSON.stringify({ 'type_number': 7 }) }; $GET('promotion/lists', dataSend, function(e) { if (e.ok == 1 && e.data.dataList.length > 0) { vm.promotion_list = e.data.dataList; } vm.promotion_listState = { load: false, done: true }; console.log("promotion list : type 5", vm.promotion_list); }); }; */ vm._promotion_lists_type7 = false; vm._promotion_lists_load_7 = false; vm._get_promotion_lists_type7 = function() { // vm._clear_page_lists(); var dataSend = { 'cur_page': 1, 'per_page': 20, 'txt_badge_id': 18, 'txt_filter_json': JSON.stringify({ 'type_number': 7 }) }; GAEAPI.get('promotion/lists', dataSend).then(function(res) { vm._promotion_lists_load_7 = true; if (res.ok === 1) { vm._promotion_lists_type7 = res.data.dataList; } }); }; vm._get_promotion_lists_type7(); vm.displayImage = function(image_url, prefix) { return (typeof image_url !== 'undefined') ? GAEAPI.getGaeImageUrl(image_url, prefix) : ''; } vm.newLoginregister = function(name) { /* window.location.href = GURL.base_url() + name; */ $location.url(name).replace(); }; vm.categoryList = []; vm.categoryListFail = false; vm.getCategoryList = function() { if (typeof window.referralMap !== 'undefined' && parseInt(CUR_THEME.shop_id()) == 646) { vm.categoryListFail = false; vm.categoryList = window.referralMap.data; return; } var dataSend = { 'txt_referral_type_id': 11, 'txt_sortby': 'referral_sort_index_asc_name_asc', "txt_filter_json": JSON.stringify({ "badge_id_array": [18] }) }; GAEAPI.get('referral/map', dataSend, $scope).then(function(res) { if (res.ok == 1) { console.log("getCategoryList referral/map : ", res); if (res.data.length > 0) { vm.categoryListFail = false; vm.categoryList = res.data; } else { vm.categoryListFail = true; } } else { vm.categoryListFail = true; } }); }; vm.getCategoryList(); vm.categoryDetail = []; vm.categoryDetailFail = false; vm.getCategoryDetail = function(catID) { var dataSend = { 'txt_referral_id': catID, 'txt_sortby': 'referral_sort_index_asc_name_asc', }; GAEAPI.get('referral/id_map', dataSend, $scope).then(function(res) { if (res.ok == 1) { vm.categoryDetailFail = false; vm.categoryDetail = res.data; } else { vm.categoryDetailFail = true; $window.location.href = 'home'; } }); } vm.categoryRoot = []; vm.categoryRootFail = false; vm.getCategoryRoot = function(catID) { var dataSend = { 'txt_referral_id': catID, 'txt_is_lookup': 0, }; GAEAPI.get('referral/relation', dataSend, $scope).then(function(res) { if (res.ok == 1) { vm.categoryRootFail = false; vm.categoryRoot = res.data; } else { vm.categoryRootFail = true; $window.location.href = '#/'; } }); } vm.categoryList_gygy = []; vm.categoryListFail_gygy = false; vm.getCategoryList_gygy = function() { var dataSend = { 'txt_referral_type_id': 11, 'txt_sortby': 'referral_sort_index_asc_name_asc', }; GAEAPI.get('referral/map', dataSend, $scope).then(function(res) { if (res.ok == 1) { if (res.data.length > 0) { vm.categoryListFail_gygy = false; vm.categoryList_gygy = res.data; } else { vm.categoryListFail_gygy = true; } } else { vm.categoryListFail_gygy = true; } }); }; /* collection list */ vm._collectionlist = []; vm._getCollectionList = function() { var dataSend = { 'cur_page': 1, 'per_page': 10 }; GAEAPI.get('collection/lists', dataSend).then(function(res) { if (res.ok === 1) { vm._collectionlist = res.data.dataList; } }); }; /* vito video home page */ vm._homevideolist = []; vm._getHomeVideoList = function() { var j = { 'badge_id_array': [18] }; var dataSend = { 'cur_page': 1, 'per_page': 3, 'txt_filter_json': JSON.stringify(j) }; GAEAPI.get('video/lists', dataSend).then(function(res) { if (res.ok === 1) { vm._homevideolist = res.data.dataList; } }); }; /* album custom flash mall */ vm.album_img1 = []; vm.gethomealbum_img1 = function(id, limit) { var jsonFilter = { 'image_group_id_array': [id] }; var dataSend = { 'cur_page': 1, 'per_page': limit, 'txt_filter_json': JSON.stringify(jsonFilter) }; GAEAPI.get('image/lists', dataSend).then(function(res) { if (res.ok === 1) { vm.album_img1 = res.data.dataList; } }); }; vm.album_img2 = []; vm.gethomealbum_img2 = function(id, limit) { var jsonFilter = { 'image_group_id_array': [id] }; var dataSend = { 'cur_page': 1, 'per_page': limit, 'txt_filter_json': JSON.stringify(jsonFilter) }; GAEAPI.get('image/lists', dataSend).then(function(res) { if (res.ok === 1) { vm.album_img2 = res.data.dataList; } }); }; vm.album_img3 = []; vm.gethomealbum_img3 = function(id, limit) { var jsonFilter = { 'image_group_id_array': [id] }; var dataSend = { 'cur_page': 1, 'per_page': limit, 'txt_filter_json': JSON.stringify(jsonFilter) }; GAEAPI.get('image/lists', dataSend).then(function(res) { if (res.ok === 1) { vm.album_img3 = res.data.dataList[0]; } }); }; /* flash mall */ vm.set_alert = function(mme) { $(".yyy_" + mme).css("display", "block"); }; vm.slick = function(elem, xs, sm, md, lg) { var carousel = $(elem); carousel.css('height', '0'); carousel.css('opacity', '0'); var getinlg = parseInt(lg); var getinmd = parseInt(md); var getinsm = parseInt(sm); var getinxs = parseInt(xs); setTimeout(function() { var is_dark; carousel.not('.slick-initialized').slick({ dots: false, arrows: false, animate: false, autoplay: true, centerMode: false, variableWidth: false, autoplaySpeed: 8000, slidesToShow: getinlg, slidesToScroll: 1, infinite: true, speed: 600, responsive: [{ breakpoint: 1200, settings: { slidesToShow: getinmd, } }, { breakpoint: 991, settings: { slidesToShow: getinsm, } }, { breakpoint: 767, settings: { slidesToShow: getinxs, } }] }).closest('section').addClass('active'); carousel.css('height', 'auto'); carousel.css('opacity', '1'); }, 1000); }; vm.mkCarousel = function(elem) { $('.featureproduct_home .recommend').css('height', '0'); $('.featureproduct_home .recommend').css('opacity', '0'); // console.log("mkCarousel : ", $scope._slidestoshowlarge, $scope._slidestoshowmedium, $scope._slidestoshowsmall, $scope._slidestoshowextrasmall); setTimeout(function() { var carousel = $(elem + '[data-id=' + vm._key() + ']'); var is_dark; carousel.not('.slick-initialized').slick({ dots: false, arrows: true, autoplay: true, autoplaySpeed: 4000, slidesToShow: 4, slidesToScroll: 1, infinite: true, speed: 600, prevArrow: '', nextArrow: '', responsive: [{ breakpoint: 1200, settings: { slidesToShow: 4, } }, { breakpoint: 991, settings: { slidesToShow: 3, } }, { breakpoint: 767, settings: { slidesToShow: 2, } }, { breakpoint: 500, settings: { slidesToShow: 1, } }] }).closest('section').addClass('active'); $('.featureproduct_home .recommend').css('height', 'auto'); $('.featureproduct_home .recommend').css('opacity', '1'); }, 1500); }; vm._uniqueKey = ''; vm._key = function() { if (vm._uniqueKey === '') { vm._uniqueKey = Math.floor((Math.random() * 9999) + 1000); return vm._uniqueKey; } else { return vm._uniqueKey; } }; /*---------------------- dealer special -----------------------*/ vm.viewUrlSearch = function(paramsName) { if (paramsName === 'search_type') { return $location.search().search_type || ''; } if (paramsName === 'size_width') { return $location.search().size_width || ''; } if (paramsName === 'size_series') { return $location.search().size_series || ''; } if (paramsName === 'size_diameter') { return $location.search().size_diameter || ''; } if (paramsName === 'car_name') { return $location.search().car_name || ''; } if (paramsName === 'car_series') { return $location.search().car_series || ''; } if (paramsName === 'car_model') { return $location.search().car_model || ''; } if (paramsName === 'model') { return $location.search().model || ''; } if (paramsName === 'q') { return $location.search().q || ''; } if (paramsName === 'page') { return $location.search().page || ''; } return ''; }; vm.dealerListsAll = []; vm.dealerListsAll_Done = false; vm.filterColData = vm._viewRouteParams().col1 || 'all'; vm.filterCol2Data = vm._viewRouteParams().col2 || 'all'; vm.temp_dealerListsAll = []; vm.getDealerListsAll = function(page, row1, row2) { console.log('getDealerListsAll : start', row1, row2); vm.dealerListsAll_Done = false; /* vm.pagination_dealer = {}; vm.pagination_dealer.cur_page = 0; vm.pagination_dealer.per_page = 0; vm.pagination_dealer.result_rows = 0; vm.pagination_dealer.total_rows = 0; vm.pagination_dealer.max_page = 0; vm.pagination_dealer.prev_page = 0; vm.pagination_dealer.next_page = 0; vm.pagination_dealer.page_array = []; */ vm.dealerListsAll = []; vm.temp_dealerListsAll = []; var dataSend = { 'type': 'dealer_lists_all_mol', 'shop_id': 722, 'per_page': 100, 'page': (page != undefined && page != "") ? page : 1, 'q': '' }; if (vm.viewUrlSearch('q') != '') { dataSend.q = vm.viewUrlSearch('q'); } GAEAPI.directNativeAjax(vm.thirdPartyApi, { params: dataSend }).then(function(res) { $scope.$apply(function() { console.log('getDealerListsAll', dataSend, res); // vm.dealerListsAll_Done = true; if (res.data.data_lists.length > 0) { vm.dealerListsAll_Done = true; vm.dealerListsAll = res.data.data_lists; if (row1 != undefined && row2 != undefined) { for (var i = 0; i <= vm.dealerListsAll.length; i++) { if (row2 == vm.dealerListsAll[i].dealer_service_array[0].service_title && row1 == vm.dealerListsAll[i].dealer_service_array[1].service_title) { vm.temp_dealerListsAll.push(vm.dealerListsAll[i]); } } vm.dealerListsAll_Done = true; } else { vm.temp_dealerListsAll = res.data.data_lists; vm.dealerListsAll_Done = true; } /* console.log("sdjsjfhdjfhd :", vm.temp_dealerListsAll); */ } }); }); }; vm.promotionLinkByType = function(dataObject) { console.log("promotionLinkByType", dataObject); if (dataObject.promotion_type_number == 7) { if (dataObject.promotion_pdf.length) { // window.location.href = dataObject.promotion_pdf[0].file_url; window.open(dataObject.promotion_pdf[0].file_url, '_blank'); return; } else if (dataObject.promotion_image.length) { window.open(dataObject.promotion_image[0].image_url, '_blank'); // window.location.href = dataObject.promotion_image[0].image_url; return; } } }; vm.changefilterCol2Data_test = function(index1, index2) { // alert(index1,index2) if (CUR_THEME.shop_id() == 722) { if (index1 == 'all' || index2 == 'all') { $('.red_fill').css('opacity', '1'); } else { $('.red_fill').css('opacity', '0'); vm.getDealerListsAll('', index1, index2); } } }; vm.changefilterCol2Data_test(); /* deal list */ vm.data_deal_list = []; vm.all_data_deal_list = []; vm.getDataDeal = function() { vm.data_deal_list = []; var j = { 'badge_id_array': [18] }; var d = { 'cur_page': 1, 'per_page': 12, 'txt_filter_json': JSON.stringify(j) }; GAEAPI.get('deal/lists', d).then(function(e) { if (e.ok == 1) { vm.data_deal_list = e.data.dataList; console.log("dealsLists 1:", vm.data_deal_list); var date_now = new Date(); var date_dif_start = []; var date_dif_end = []; var time_year = []; var time_mount = []; var time_date = []; var time_hr = []; var time_mi = []; var time_se = []; var time_year_end = []; var time_mount_end = []; var time_date_end = []; var time_hr_end = []; var time_mi_end = []; var time_se_end = []; var timeDifference_start = []; var timeDifference_end = []; for (var i = 0; i < vm.data_deal_list.length; i++) { time_year[i] = GAEAPI.time.dateFormat("YYYY", vm.data_deal_list[i].product_lifetime.lifetime_start_time); time_mount[i] = GAEAPI.time.dateFormat("M", vm.data_deal_list[i].product_lifetime.lifetime_start_time); time_date[i] = GAEAPI.time.dateFormat("D", vm.data_deal_list[i].product_lifetime.lifetime_start_time); time_hr[i] = GAEAPI.time.dateFormat("H", vm.data_deal_list[i].product_lifetime.lifetime_start_time); time_mi[i] = GAEAPI.time.dateFormat("m", vm.data_deal_list[i].product_lifetime.lifetime_start_time); time_se[i] = GAEAPI.time.dateFormat("s", vm.data_deal_list[i].product_lifetime.lifetime_start_time); time_year_end[i] = GAEAPI.time.dateFormat("YYYY", vm.data_deal_list[i].product_lifetime.lifetime_end_time); time_mount_end[i] = GAEAPI.time.dateFormat("M", vm.data_deal_list[i].product_lifetime.lifetime_end_time); time_date_end[i] = GAEAPI.time.dateFormat("D", vm.data_deal_list[i].product_lifetime.lifetime_end_time); time_hr_end[i] = GAEAPI.time.dateFormat("H", vm.data_deal_list[i].product_lifetime.lifetime_end_time); time_mi_end[i] = GAEAPI.time.dateFormat("m", vm.data_deal_list[i].product_lifetime.lifetime_end_time); time_se_end[i] = GAEAPI.time.dateFormat("s", vm.data_deal_list[i].product_lifetime.lifetime_end_time); date_dif_start[i] = new Date(time_year[i], time_mount[i] - 1, time_date[i], time_hr[i], time_mi[i], time_se[i], 0); date_dif_end[i] = new Date(time_year_end[i], time_mount_end[i] - 1, time_date_end[i], time_hr_end[i], time_mi_end[i], time_se_end[i], 0); timeDifference_start[i] = date_now.getTime() - date_dif_start[i].getTime(); timeDifference_end[i] = date_dif_end[i].getTime() - date_now.getTime(); console.log("hr : mi : se =", time_hr_end[i], time_mi_end[i], time_se_end[i]); console.log("dealtestrew1 :", timeDifference_start[i]); console.log("hr : dealtestrew2 :", timeDifference_end[i]); if (timeDifference_start[i] > 0 && timeDifference_end[i] > 2000) { vm.all_data_deal_list.push(vm.data_deal_list[i]); } } // $scope.timeCountStart2($scope.all_data); console.log("dealsLists", vm.all_data_deal_list); } }); }; vm.getDataDeal(); vm.Path_change = function() { // alert(" 1 :" +vm.filterColData +" and " + vm.filterCol2Data); var path = { col1: vm.filterColData, /* parent category of this category */ col2: vm.filterCol2Data, /* product in this category/filter cat */ }; var strHref_mol = 'distributor'; if (typeof path.col1 !== 'undefined' && path.col1 !== "") { strHref_mol += '?col1=' + path.col1; } if (typeof path.col2 !== 'undefined' && path.col2 !== "") { strHref_mol += '&col2=' + path.col2; } if (path.col2 == 'all' || path.col1 == 'all') { return; } else { // alert(strHref_mol); window.location.href = strHref_mol; // vm.getDealerListsAll(); // $location.url(strHref).replace(); // $scope.$apply(); } // $location.url(strHref).replace(); // $scope.$apply(); }; vm.loadView = function(strPath) { return strPath; }; /* CART PAGE Function */ /* CART PAGE Function */ /* CART PAGE Function */ vm.cartPromotionId = 0; vm.state = false; vm.pageCartData = false; vm.timerCart = 0; vm.cartTotalItems = 0; vm.cartTotalDiscount = 0; vm.cartGetTime = 0; vm.cartUpdateTimer = { total: 0, up: 0, down: 0, kill: 0 }; vm.cartCurrentPromotionData = false; vm.pageCart = { _get: function(isCallback) { var self = this; vm.state = false; console.log("pageCartData : start (0) "); GAEAPI.get('cart/current', {}).then(function(e) { console.log("pageCartData : start (1) ", e); vm.cartGetTime = $timeout(function() { $timeout.cancel(vm.cartGetTime); console.log("pageCartData : start (1-$timeout-after) ", e); vm.pageCartData = e.data; vm.state = true; if (e.ok === 1) { if (e.data.cart_row_array.length > 0) { self.calculateTotal(); self.getPromotion(); } if (isCallback != undefined && typeof isCallback !== 'undefined') { isCallback(e); } } else {} }, 100); }); }, calculateTotal: function() { var self = this; var t = 0; if (vm.pageCartData) { for (var i = 0; i < vm.pageCartData.cart_row_array.length; i++) { t = t + parseInt(vm.pageCartData.cart_row_array[i].amount); } vm.cartTotalItems = t; vm.cartTotalDiscount = parseInt(vm.pageCartData.cart_total_order_discount); self.savePromotionTextAnimate(); } }, calculateDiscountTotal: function() { /* dont use */ /* dont use */ /* dont use */ var t = 0; if (vm.pageCartData) { if (!vm.pageCartData.cart_promotion.length) { vm.cartTotalDiscount = 0; return; } var promotionDataDiscount = vm.pageCartData.cart_promotion[0].discount_data; if (promotionDataDiscount.length > 0) { if (parseInt(promotionDataDiscount[0].discount_price) > 0) { vm.cartTotalDiscount = parseInt(promotionDataDiscount[0].discount_price); } } } }, get: function() { /* redirect to this function instead */ return this._get(); /* dont use */ /* dont use */ /* dont use */ console.log("pageCartData : start"); var self = this; var tttt = setInterval(function() { if (UiCart.delegate.get.cartData() != undefined && UiCart.delegate.get.cartData() != null) { clearInterval(tttt); var test = false; if (test) { UiCart.delegate.product.add(81290, 50, function() { var t = setInterval(function() { if (!UiCart.delegate.product.isProgress(81290)) { clearInterval(t); $scope.$apply(function() { vm.pageCartData = UiCart.delegate.get.cartData(); vm.state = true; }); console.log("pageCartData 2", vm.pageCartData); self.getPromotion(); } }, 500); }); } else { $scope.$apply(function() { vm.pageCartData = UiCart.delegate.get.cartData(); vm.state = true; console.log("pageCartData 2", vm.pageCartData); self.getPromotion(); }); } } else { console.log("pageCartData : still loading...", UiCart.delegate.get.cartData()); } }, 500); }, qtyUp: function(productId, idx) { var _new_qtn = idx + 1; /* call api to update */ this.updateApiQty(productId, _new_qtn); }, updateApiQty: function(productId, qty) { var self = this; var dataSend = { 'txt_product_id': parseInt(productId), 'txt_amount': parseInt(qty), 'txt_cart_id': parseInt(vm.pageCartData.cart_id) }; vm.state = false; GAEAPI.post('cart/product_update', dataSend).then(function(e) { console.log("pageCart : update", dataSend, e); $timeout(function() { vm.pageCartData = e.data; vm.state = true; self.calculateTotal(); }, 100); }); }, qtuDown: function(productId, idx) { var _new_qtn = idx - 1; if (_new_qtn >= 1) { /* call api to update */ this.updateApiQty(productId, _new_qtn); } }, killProduct: function(productId, idx) { this.updateApiQty(productId, 0); }, checkoutProduct: function() { if (!vm.pageCartData) { return; } if (vm.pageCartData.cart_row_array.length <= 0) { return; } var self = this; var strRetrun = 'checkout?pdata='; var strArray = []; var data_all = vm.pageCartData.cart_row_array; for (var i = 0; i < data_all.length; i++) { strArray.push(data_all[i].object_id + '-' + data_all[i].amount); } window.location.href = strRetrun + strArray.join(',') + self.getPromotionLink(); }, getPromotion: function() { var getPromotionId = function(id, callback) { var dataSend = { 'txt_promotion_id': id }; var requestUrl = GURL.base_api_url() + 'promotion/id'; requestUrl += "?txt_promotion_id=" + id; GAEAPI.get('promotion/id', dataSend).then(function(e) { if (typeof callback != undefined) { callback(e); } }); }; var showWeb = function(objArray) { var r = false; for (var i = 0; i < objArray.length; i++) { if (parseInt(objArray[i].badge_id) === 18) { r = true; break; } } return r; }; var checkPromo = function(buy, sub) { if (buy.length && sub.length) { return true; } return false; }; var dataSend = { 'cur_page': 1, 'per_page': 1, 'txt_filter_json': JSON.stringify({ "type_number": 6 }) }; var self = this; var requestUrl = GURL.base_api_url() + 'promotion/lists'; requestUrl += "?cur_page=1"; requestUrl += "&per_page=1"; requestUrl += "&txt_filter_json=" + JSON.stringify({ "type_number": 6 }); console.log("pageCartData : promotion start (0) "); vm.cartCurrentPromotionData = false; GAEAPI.get('promotion/lists', dataSend).then(function(responseList) { console.log("pageCartData : promotion list (1) ", responseList); if (responseList.ok == 1 && responseList.data.dataList.length > 0) { getPromotionId(responseList.data.dataList[0].promotion_id, function(e) { console.log("pageCartData : promotion id (2) ", e); if (e.ok != 1 && !showWeb(e.data.promotion_badge)) { vm.state = true; return false; } /* continue promotion */ self.savePromotion(e.data); }); } }); }, savePromotion: function(data) { var self = this; /* check if no promotion -> add current promotion */ vm.promoTimF = 0; vm.promoTimS = 0; vm.cartCurrentPromotionData = data; /* e.data */ if (vm.cartPromotionId == 0) { var dataSend = { 'txt_promotion_id': parseInt(data.promotion_id), 'txt_cart_id': parseInt(vm.pageCartData.cart_id) }; GAEAPI.post('cart/cart_promotion_save', dataSend).then(function(e) { vm.promoTimF = $timeout(function() { console.log("pageCartData : savePromotion (3)", e); vm.state = false; if (e.ok == 1) { vm.pageCartData = false; vm.cartPromotionId = data.promotion_id; var dataCartAfterPromoSave = {}; if (e.data.length > 0) { dataCartAfterPromoSave.txt_cart_id = dataSend.cart_id; } GAEAPI.get('cart/current', dataCartAfterPromoSave).then(function(c) { vm.promoTimS = $timeout(function() { vm.pageCartData = c.data; vm.state = true; console.log("pageCartData : cart/current (4)", c); self.calculateTotal(); }, 100); }); } else { vm.cartPromotionId = 0; vm.state = true; } }, 100); }); } else { self.calculateTotal(); } }, getPromotionLink: function() { var str = ""; if (vm.cartPromotionId != 0 && vm.pageCartData) { str += "&cart_id=" + vm.pageCartData.cart_id + '&promotion_id=' + vm.cartPromotionId; } return str; }, savePromotionTextAnimate: function() { console.log("savePromotionTextAnimate", vm.cartCurrentPromotionData); var buildPriceDistance = function(subTotalPrice, promotionPrice) { return parseInt(subTotalPrice) - parseInt(promotionPrice) }; var buildHeadPromotionText = function(discountObj) { if (parseInt(discountObj.percent) > 0) { return discountObj.percent + "% discount."; } return discountObj.price + 'THB discount.'; }; if (vm.cartCurrentPromotionData) { console.log("savePromotionTextAnimate : pass 0"); /* check if buy condition exist */ if (vm.cartCurrentPromotionData.promotion_row_display.buy.order.length > 0) { console.log("savePromotionTextAnimate : pass 1"); /* check if sub condition exist */ if (vm.cartCurrentPromotionData.promotion_row_display.sub.order.length > 0) { console.log("savePromotionTextAnimate : pass 2"); var orderObj = vm.cartCurrentPromotionData.promotion_row_display.buy.order[0]; var discountObj = vm.cartCurrentPromotionData.promotion_row_display.sub.order[0]; var priceToStartDiscount = parseFloat(orderObj.price); var priceDistanceCheck = buildPriceDistance(vm.pageCartData.cart_subtotal_price, priceToStartDiscount); var textDiscount = buildHeadPromotionText(discountObj); var percentDistance = 0; vm.cartPromoPriceFinal = priceToStartDiscount; console.log("savePromotionTextAnimate : cartPromoPriceFinal", vm.cartPromoPriceFinal); if (priceDistanceCheck >= 0) { /* promotion active */ vm.cartPromoNumber = 0; vm.cartPromoText = 'You get ' + textDiscount; percentDistance = 100; } else { /* promotion not active */ vm.cartPromoNumber = priceDistanceCheck; vm.cartPromoText = ' away from ' + textDiscount; percentDistance = parseInt(vm.pageCartData.cart_subtotal_price) * 100 / parseInt(orderObj.price); } var _s = $timeout(function() { $('.promotionTextDisplay').show(); $timeout.cancel(_s); var _ss = $timeout(function() { $timeout.cancel(_ss); if (vm.cartPromoNumber >= 0) { $('.progress-promo-percent').css('width', percentDistance + '%'); } else { $('.progress-promo-percent').css('width', percentDistance + '%'); } }, 1000); }, 500); } } } }, numberPositive: function(n) { return Math.abs(n); } }; vm.home_about_data = false; vm.get_about = function() { if (!vm.home_about_data) { GAEAPI.get('shop/current', {}, $scope).then(function(e) { if (e.ok === 1) { vm.home_about_data = e.data.shop_aboutus; } }); } } vm.get_about(); vm.form_submit = function($event) { var submit = true; $($event.currentTarget).closest('form').find('[required]').each(function() { if ($(this).val() == '') { $(this).closest('.form_block').find('.after').addClass('error'); $(this).closest('.form_block').find('.round').addClass('error'); submit = false; } else { $(this).closest('.form-group').find('span').removeClass('error'); } }); var isPass = false; if (submit) { console.log("sjfuksdfhrusygfkusrh : ", $('#contact_form input[name="qtyoil"]').val()); // var printContents = document.getElementById('contact_form').innerHTML; // var popupWin = window.open('', '_blank', 'width=300,height=300'); // popupWin.document.open(); // popupWin.document.write('' + printContents + ''); // popupWin.document.close(); // angular.element('#contact_form').hide(); // angular.element('.contact_wait').show(); // var formData = new FormData($('#contact_form')[0]); // formData.append('input_owner_name', $scope.shopname); // formData.append('input_owner_contact', $scope.contact_email); // formData.append('input_owner_name', $scope.shopname); // console.log("pass!", formData); // alert("mmm"); var qty_oil = $('#contact_form input[name="qtyoil"]').val(); // var price_oil = $('#contact_form input[name="priceoil"]').val(); var oil_change = $('#contact_form input[name="oilchange"]').val(); var qty_fryers = $('#contact_form input[name="qtyfryers"]').val(); if (qty_oil != "" && qty_fryers != "" && oil_change != "") { window.location.href = GURL.base_url() + 'calculate-oil?' + 'qty_oil=' + qty_oil + '&oilchange=' + oil_change + '&qtyfryers=' + qty_fryers; } } else { return; } }; vm.print_all = function(tag_l) { var printContents = document.getElementById(tag_l).innerHTML; var set_top = document.getElementById('top_print').innerHTML; var graft_bot = document.getElementById('chartContainer').innerHTML; var popupWin = window.open('', '_blank', 'width=300,height=300'); popupWin.document.open(); popupWin.document.write('' + set_top + printContents + ''); popupWin.document.close(); }; vm.getDataLocationBranchList = function() { setTimeout(function() { console.log("test 1 v", vm.locationbranchList, vm.branchList); angular.forEach(vm.locationbranchList, function(v, k) { /*console.log("test 1 v", v); console.log("test 2 k", k);*/ var data = []; for (var i = 0; i < vm.branchList.length; i++) { if (v.location_name == vm.branchList[i].shop_branch_address.address_extend_data.province) { data.push(vm.branchList[i]); } vm.locationbranchList[k].data = vm.branchList[i]; } vm.locationbranchList[k].data = data; /*console.log("test 3 ", data);*/ }); }, 3000); }; /* gallery */ vm.galleryImageGroupImage = function() { var gallery = { stateData: function(load_in, done_in) { var state = { load: load_in, done: done_in }; return state; }, GAEAPI: function(index, api, dataSend, callback) { GAEAPI.get(api, dataSend, $scope).then(function(output) { callback(index, output); }); } } return gallery; }; vm.locationUrlNameReplace = function(name) { $location.path('/' + name); }; /* gallery */ /* CONTACTPAGE_API */ /* CONTACTPAGE_API */ /* CONTACTPAGE_API */ vm.contactModel = { locationLists: false, branch_lists: false, branch_center: false, branch_other: false, filter: false, filterModel: 'เลือกจังหวัด', }; vm.contactModels = { locationLists: false, branch_lists: false, branch_center: false, branch_other: false, filter: false, filterModel: 'เลือกภาค', }; vm.branchModel = { branch_id: false }; var CONTACTPAGE_API = { location_lists: function() { var self = this; if (!vm.contactModel.locationLists) { var dataSend = { 'txt_location_type_id': 2, 'cur_page': 1, 'per_page': 78 }; $GET('location/lists', dataSend, function(res) { console.log("CONTACTPAGE_API: location_lists", res.data.dataList); if (res.ok == 1) { vm.contactModel.locationLists = res.data.dataList; self.shop_branch_lists(); } }); } }, location_filter_center: function(location_name) { var r = false; switch (location_name) { case "กรุงเทพมหานคร": case "นนทบุรี": case "สมุทรปราการ": case "สมุทรสงคราม": case "ปทุมธานี": case "นครปฐม": r = true; break; default: break; } return r; }, location_filter_north: function(location_name) { var r = false; switch (location_name) { case "เชียงราย": case "เชียงใหม่": case "น่าน": case "พะเยา": case "แพร่": case "แม่ฮ่องสอน": case "ลำปาง": case "ลำพูน": case "อุตรดิตถ์": r = true; break; default: break; } return r; }, location_filter_northeast: function(location_name) { var r = false; switch (location_name) { case "กาฬสินธุ์": case "ขอนแก่น": case "ชัยภูมิ": case "นครพนม": case "นครราชสีมา": case "บึงกาฬ": case "บุรีรัมย์": case "มหาสารคาม": case "มุกดาหาร": case "ยโสธร": case "ร้อยเอ็ด": case "เลย": case "ศรีสะเกษ": case "สกลนคร": case "สุรินทร์": case "หนองคาย": case "หนองบัวลำภู": case "อำนาจเจริญ": case "อุดรธานี": case "อุบลราชธานี": r = true; break; default: break; } return r; }, location_filter_bangkok_metropolitan_region: function(location_name) { var r = false; switch (location_name) { case "กรุงเทพมหานคร": case "นนทบุรี": case "สมุทรปราการ": case "สมุทรสงคราม": case "ปทุมธานี": case "นครปฐม": r = true; break; default: break; } return r; }, location_filter_central_region: function(location_name) { var r = false; switch (location_name) { case "กำแพงเพชร": case "ชัยนาท": case "นครนายก": case "นครสวรรค์": case "พระนครศรีอยุธยา": case "พิจิตร": case "พิษณุโลก": case "เพชรบูรณ์": case "ลพบุรี": case "สมุทรสาคร": case "สิงห์บุรี": case "สุโขทัย": case "สุพรรณบุรี": case "สระบุรี": case "อ่างทอง": case "อุทัยธานี": r = true; break; default: break; } return r; }, location_filter_southern: function(location_name) { var r = false; switch (location_name) { case "นครศรีธรรมราช": case "สงขลา": case "สุราษฎร์ธานี": case "นราธิวาส": case "ปัตตานี": case "ตรัง": case "พัทลุง": case "ยะลา": case "ชุมพร": case "กระบี่": case "ภูเก็ต": case "สตูล": case "พังงา": case "ระนอง": r = true; break; default: break; } return r; }, location_filter_east: function(location_name) { var r = false; switch (location_name) { case "จันทบุรี": case "ฉะเชิงเทรา": case "ชลบุรี": case "ปราจีนบุรี": case "ระยอง": case "สระแก้ว": r = true; break; default: break; } return r; }, location_filter_west: function(location_name) { var r = false; switch (location_name) { case "กาญจนบุรี": case "ตาก": case "ประจวบคีรีขันธ์": case "เพชรบุรี": case "ราชบุรี": r = true; break; default: break; } return r; }, shop_save_to_location: function(objInput) { angular.forEach(vm.contactModel.locationLists, function(item, key) { if (item.location_name == objInput.shop_branch_address.address_extend_data.province) { if (!angular.isDefined(item.data) || item.data == undefined) { item.data = []; } item.data.push(objInput); } else { if (!angular.isDefined(item.data) || item.data == undefined) { item.data = []; } } }); }, shop_branch_lists: function() { var self = this; var dataSend = { 'cur_page': 1, 'per_page': 100 }; $GET('shop_branch/lists', dataSend, function(res) { console.log("CONTACTPAGE_API: shop_branch_lists", res.data.dataList); if (res.ok == 1) { vm.contactModel.branch_lists = res.data.dataList; angular.forEach(res.data.dataList, function(item, key) { self.shop_save_to_location(item); }); } }); }, branch_id_carousel_timer: 0, branch_id_carousel: function(id) { var self = this; var configureSlide = function(dataId) { var options = { dots: true, autoplay: true, autoplaySpeed: 3000, slidesToShow: 1, slidesToScroll: 1, infinite: true, speed: 600, }; $('.branch_detail_gallery[data-id="' + id + '"]').not('.slick-initialized').slick(options); }; self.branch_id_carousel_timer = setInterval(function() { var galleryBranchLen = $('.branch_detail_gallery[data-id="' + id + '"] .branch_item_image').length; if (galleryBranchLen > 1) { clearInterval(self.branch_id_carousel_timer); configureSlide(id); } }, 1000); }, branch_id: function(branch_id) { var self = this; if (parseInt(branch_id) != 0) { GAEAPI.get('shop_branch/id', { 'txt_shop_branch_id': branch_id }).then(function(e) { if (e.ok != 1) { return window.location.href = GURL.base_url(); } vm.branchModel.branch_id = e.data; self.branch_id_carousel(branch_id); }); } else { window.location.href = GURL.base_url(); } }, branch_day: function(i) { switch (parseInt(i)) { case 1: return 'อาทิตย์'; break; case 2: return 'จันทร์'; break; case 3: return 'อังคาร'; break; case 4: return 'พุธ'; break; case 5: return 'พฤหัสบดี'; break; case 6: return 'ศุกร์'; break; case 7: return 'เสาร์'; break; default: return '-'; break; } }, branch_iframe: function(name, lat, lng) { var newName = name; if (/\s/.test(name)) { var newNameOld = name.split(" "); var DataName = newNameOld.join("+"); } var srcByName = 'https://www.google.co.th/maps/embed/v1/place?key=AIzaSyDmUd9xXtDofVnrsSv8L7TENnBZYvW7V18&q=' + DataName; var srcByLoc = 'https://www.google.co.th/maps?q=' + lat + ',' + lng + '&output=embed&hl=th-TH'; return (parseInt(lat) != 0 && parseInt(lng) != 0) ? srcByLoc : srcByName; }, }; vm.location_filter_center = CONTACTPAGE_API.location_filter_center; vm.location_filter = function() { vm.contactModel.filter = true; if (vm.contactModel.filterModel == 'เลือกจังหวัด') { vm.contactModel.filter = false; } console.log('contactModel.filter', vm.contactModel.filter); }; vm.location_filter_bangkok_metropolitan_region = CONTACTPAGE_API.location_filter_bangkok_metropolitan_region; vm.location_filter_north = CONTACTPAGE_API.location_filter_north; vm.location_filter_northeast = CONTACTPAGE_API.location_filter_northeast; vm.location_filter_central_region = CONTACTPAGE_API.location_filter_central_region; vm.location_filter_southern = CONTACTPAGE_API.location_filter_southern; vm.location_filter_east = CONTACTPAGE_API.location_filter_east; vm.location_filter_west = CONTACTPAGE_API.location_filter_west; vm.location_filters = function() { vm.contactModels.filter = true; if (vm.contactModels.filterModel == 'เลือกภาค') { vm.contactModels.filter = false; } console.log('contactModels.filter', vm.contactModels.filter); }; vm.dayTxtByKey = CONTACTPAGE_API.branch_day; vm.iframeLocationBranch = CONTACTPAGE_API.branch_iframe; /* Search Component */ /* Search Component */ /* Search Component */ var timingSearchAutoComplete = 0; var searchXMLObj_One = new XMLHttpRequest(); vm.searchComponent = function() { return { onKeyUp: function(event, eventKey) { //var keyPress = eventKey.which || eventKey.keyCode; var input = $('#searchElementFirst').val(); if (input.length < 2) { searchXMLObj_One.abort(); console.log("onKeyUp_Search_One: input", input); console.log("onKeyUp_Search_One: keyPress", eventKey); return; } else { console.log("onKeyUp_Search_One: input", input); console.log("onKeyUp_Search_One: keyPress", eventKey); } } }; }; vm.linkUrl = function(url) { console.log("gripautobiz : linkUrl : url : ", url); if (url != '') { console.log("gripautobiz : linkUrl : url : to : ", url); window.location.href = url; } else { console.log("gripautobiz : linkUrl : url : ", "null"); } }; vm.getApi = function() { var api = { makeDate: function(dateStr) { return (dateStr != "") ? moment(parseInt(dateStr) * 1000).format('LL') : ""; }, state: function(load_in, done_in) { var state = { load: load_in, done: done_in }; return state; }, GAEAPI: function(index, api, dataSend, callback) { GAEAPI.get(api, dataSend, $scope).then(function(output) { callback(index, output); }); } } return api; }; vm.component = { name: "configRouteApp", show: (window.location.hostname == "localhost") ? true : false }; vm.pages = function() { var getFunction = { consoleLog: function(function_name, data_name, data) { if (vm.component.show) { console.log(vm.component.name, ' : ', function_name, ' : ', data_name, ' : ', data); } }, getShopId: function(callback) { var _self = this; var shop_id = CUR_THEME.shop_id(); _self.consoleLog("getShopId", "shop_id", shop_id); callback(shop_id); }, setPageName: function(page_name, callback) { var _self = this; _self.consoleLog("setPageName", "page_name", page_name); callback(page_name); }, windowOpneBlank: function(url) { var _self = this; _self.consoleLog("windowOpneBlank", "url", url); if (url != '') { window.open(url, '_blank'); } }, locationUrlReplace: function(page) { var _self = this; $location.url(page).replace(); }, pageUrl: function(page_name, id, name_url) { var _self = this; var page = page_name + "/" + id + "-" + name_url; _self.locationUrlReplace(page); }, main: function() { var _self = this; } } return getFunction; }; vm.carousels = [{ speed: 600, dots: false, arrows: false, infinite: true, autoplay: true, adaptiveHeight: true, autoplaySpeed: 4000, slidesToScroll: 1, prevArrow: '', nextArrow: '' }]; vm.getCarousel = function() { var getFunction = { consoleLog: function(function_name, data_name, data) { if (vm.component.show) { console.log(vm.component.name, ' : ', function_name, ' : ', data_name, ' : ', data); } }, getFunctionCarousel: function(callback) { var _self = this; callback(_self); }, setCarousels: function(carousel, callback) { var _self = this; callback(carousel); }, pushObjectCarousel: function(callback) { var _self = this; var objectArray = { speed: 600, dots: false, arrows: false, infinite: false, autoplay: false, focusOnSelect: false, adaptiveHeight: false, autoplaySpeed: 4000, slidesToScroll: 1, centerMode: false, centerPadding: '0px', prevArrow: '', nextArrow: '' }; vm.carousels.push(objectArray); var res_index = (vm.carousels.length != 0) ? vm.carousels.length - 1 : 0; callback(res_index); }, setSpeed: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.speed = state; }); }, setDots: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.dots = state; }); }, setArrows: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.arrows = state; }); }, setInfinite: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.infinite = state; }); }, setAutoplay: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.autoplay = state; }); }, setAdaptiveHeight: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.adaptiveHeight = state; }); }, setAutoplaySpeed: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.autoplaySpeed = state; }); }, setCenterMode: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.centerMode = state; }); }, setCenterPadding: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.centerPadding = state; }); }, setFocusOnSelect: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.focusOnSelect = state; }); }, setSlidesToScroll: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.slidesToScroll = state; }); }, setPrevArrow: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.prevArrow = state; }); }, setNextArrow: function(index, state) { var _self = this; _self.setCarousels(vm.carousels[index], function(res_carousel) { res_carousel.nextArrow = state; }); }, getCarousel: function(carousel, callback) { var _self = this; var carousel_id = 0; if (carousel == 0) { carousel_id = Math.floor((Math.random() * 9999) + 1000); } callback(carousel_id); }, carousel: function(cover, carousel, xs, sm, md, lg) { var _self = this; var carousels = $(carousel); $(cover).css('height', '0'); $(cover).css('opacity', '0'); $(carousel).css('opacity', '0'); var _xs = parseInt(xs); var _sm = parseInt(sm); var _md = parseInt(md); var _lg = parseInt(lg); setTimeout(function() { carousels.not('.slick-initialized').slick({ speed: vm.carousels[0].speed, dots: vm.carousels[0].dots, arrows: vm.carousels[0].arrows, infinite: vm.carousels[0].infinite, autoplay: vm.carousels[0].autoplay, slidesToScroll: vm.carousels[0].slidesToScroll, slidesToShow: _lg, autoplaySpeed: vm.carousels[0].autoplaySpeed, adaptiveHeight: vm.carousels[0].adaptiveHeight, prevArrow: vm.carousels[0].prevArrow, nextArrow: vm.carousels[0].nextArrow, responsive: [{ breakpoint: 1200, settings: { slidesToShow: _md, } }, { breakpoint: 991, settings: { slidesToShow: _sm, } }, { breakpoint: 767, settings: { slidesToShow: _xs, } }], }).closest('section').addClass('active'); $(cover).css('height', 'auto'); $(cover).css('opacity', '1'); $(carousel).css('opacity', '1'); }, 500); }, carouselIndex: function(index, cover, carousel, xs, sm, md, lg) { var _self = this; var carousels = $(carousel); $(cover).css('height', '0'); $(cover).css('opacity', '0'); $(carousel).css('opacity', '0'); var _xs = parseInt(xs); var _sm = parseInt(sm); var _md = parseInt(md); var _lg = parseInt(lg); var slick_array = {}; slick_array.slidesToShow = _lg; slick_array.arrows = vm.carousels[index].arrows; if (vm.carousels[index].dots) { slick_array.dots = vm.carousels[index].dots; } if (vm.carousels[index].speed != 0) { slick_array.speed = vm.carousels[index].speed; } if (vm.carousels[index].autoplay) { slick_array.arrows = vm.carousels[index].arrows; } if (vm.carousels[index].infinite) { slick_array.infinite = vm.carousels[index].infinite; } if (vm.carousels[index].prevArrow != '') { slick_array.prevArrow = vm.carousels[index].prevArrow; } if (vm.carousels[index].nextArrow != '') { slick_array.nextArrow = vm.carousels[index].nextArrow; } if (vm.carousels[index].centerMode) { slick_array.centerMode = vm.carousels[index].centerMode; } if (vm.carousels[index].centerPadding != '0' && vm.carousels[index].centerPadding != '') { slick_array.centerPadding = vm.carousels[index].centerPadding; } if (vm.carousels[index].focusOnSelect) { slick_array.focusOnSelect = vm.carousels[index].focusOnSelect; } if (vm.carousels[index].autoplaySpeed != 0) { slick_array.autoplaySpeed = vm.carousels[index].autoplaySpeed; } if (vm.carousels[index].adaptiveHeight) { slick_array.adaptiveHeight = vm.carousels[index].adaptiveHeight; } if (vm.carousels[index].slidesToScroll != 0) { slick_array.slidesToScroll = vm.carousels[index].slidesToScroll; } slick_array.responsive = [{ breakpoint: 1200, settings: { slidesToShow: _md, } }, { breakpoint: 991, settings: { slidesToShow: _sm, } }, { breakpoint: 767, settings: { slidesToShow: _xs, } }]; if (vm.carousels[index].centerPadding != '0' && vm.carousels[index].centerPadding != '') { slick_array.centerPadding = vm.carousels[index].centerPadding; slick_array.responsive[2].settings.centerPadding = '0px' } setTimeout(function() { carousels.not('.slick-initialized').slick(slick_array).closest('section').addClass('active'); $(cover).css('height', 'auto'); $(cover).css('opacity', '1'); $(carousel).css('opacity', '1'); }, 1000); } } return getFunction; }; /* main function */ vm.api = function() { var getFunction = { consoleLog: function(function_name, data_name, data) { if (vm.component.show) { console.log(vm.component.name, ' : ', function_name, ' : ', data_name, ' : ', data); } }, getRouteParams: function(callback) { var _self = this; var res_params = $routeParams; var res_state = _self.stateData(true, false); _self.consoleLog("getRouteParams", "res_params", res_params); _self.consoleLog("getRouteParams", "res_state", res_state); callback(_self, res_params, res_state); }, formatDataSend: function(data, callback) { var _self = this; _self.consoleLog("formatDataSend", "data", data); callback(data); }, stateData: function(load, done) { var _self = this; var state = { load: load, done: done }; _self.consoleLog("stateData", "state", state); return state; }, dataSend: function(api, data_send, callback) { var _self = this; _self.consoleLog("dataSend", "api", api); _self.consoleLog("dataSend", "data_send", data_send); callback(api, data_send); }, getApiOk: function(res_api, callback) { var _self = this; var res_ok = false; if (res_api.ok == 1) { res_ok = true; } _self.consoleLog("getApiOk", "res_ok", res_ok); callback(res_ok); }, getApi: function(api, dataSend, callback) { var _self = this; var res_state = _self.stateData(true, false); GAEAPI.get(api, dataSend, $scope).then(function(res_api) { _self.getApiOk(res_api, function(res_ok) { _self.consoleLog("getApi", "res_api", res_api); _self.consoleLog("getApi", "res_ok", res_ok); res_state = _self.stateData(false, true); _self.consoleLog("getApi", "res_state", res_state); callback(res_ok, res_api, res_state); }) }); }, getDataBadgeId: function(badge_id, badge_array, callback) { var _self = this; var state = false; for (var i = 0; i < badge_array.length; i++) { if (badge_array[i].badge_id == badge_id) { state = true; break; } } _self.consoleLog("getDataBadgeId", "state", state); callback(state); }, getDate: function(locale, format, lifetime, callback) { var _self = this; locale = (locale == '') ? 'en' : locale; format = (format == '') ? 'LL' : format; lifetime = (lifetime != "-1" && lifetime != "") ? lifetime : ""; if (lifetime != "") { moment.locale(locale); lifetime = moment.unix(parseInt(lifetime)).format(format); } _self.consoleLog("getDate", "lifetime", lifetime); callback(lifetime); }, getProductDealId: function(product, callback) { var _self = this; product.product_id = (product.product_deal_id != "0") ? product.product_deal_id : product.product_id; _self.consoleLog("getProductDealId", "product", product); callback(product); }, getNameUrl: function(name, callback) { var _self = this; name = name.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-"); _self.consoleLog("getNameUrl", "name", name); callback(name); }, getSortBanner: function(banner_array, callback) { var _self = this; var original = banner_array; var desktop = []; var mobile = []; for (var i = 0; i < banner_array.length; i++) { _self.getDataBadgeId(18, banner_array[i].banner_badge, function(state) { if (state) { desktop.push(banner_array[i]); } }); _self.getDataBadgeId(19, banner_array[i].banner_badge, function(state) { if (state) { mobile.push(banner_array[i]); } }); } _self.consoleLog("getSortBanner", "original", original); _self.consoleLog("getSortBanner", "desktop", desktop); _self.consoleLog("getSortBanner", "mobile", mobile); callback(original, desktop, mobile); }, main: function() { var _self = this; } } return getFunction; }; /* main function */ /* gallery */ /*// vm.newLogin = function(){ // window.location.href=GURL.base_url()+'login'; // //window.location.href='login'; // };*/ /* custom call api by shop name */ switch (CUR_THEME.shop_id()) { case "477": // thaitens vm.getPostLists(5); vm._getProductFeature(4, 'badge_sort_index_asc'); break; case "645": // ttc vm.getcalendar_img(880, 1, 1); vm._custom_ref_ttc(6095); break; case "552": // ducky vm._getProductFeature(20, 'product_lastest_create'); break; case "477": // thaitens vm._getProductFeature(20, 'product_lastest_create'); break; case "609": // thenine vm.getProductList(); break; case "676": // flashmall vm.getProductListByBadge(16); vm.getProductListByBadge(72); vm.getProductListByBadge(74); vm.getProductListByBadge(75); vm.gethomealbum_img1(595, 1); vm.gethomealbum_img2(596, 1); vm.gethomealbum_img3(597, 1); break; case "758": // khongfak vm.getProductListByBadge(72); vm.getProductListByBadge(74); vm.getProductListByBadge(75); break; case "688": // gae_demo7251 break; case "635": // lightmax vm.data_control = { mini_banner: { mobile: { popup: false, img_url: '', url_link: '' }, desktop: { popup: false, img_url: '', url_link: '' } }, secondary_carousel: { mobile: { popup: false, img_url: '', url_link: '' }, desktop: { popup: false, img_url: '', url_link: '' } } }; vm.control = function() { var getFunction = { consoleLog: function(function_name, data_name, data) { if (vm.component.show) { console.log(vm.component.name, ' : ', function_name, ' : ', data_name, ' : ', data); } }, popupImg: function(state, img_link) { var _self = this; _self.consoleLog("popupImg", "state", state); vm.data_control.secondary_carousel.mobile.popup = false; vm.data_control.secondary_carousel.desktop.popup = false; }, getUrl: function(state, url) { var _self = this; _self.consoleLog("getUrl", "state", state); _self.consoleLog("getUrl", "url", url); if (url != '') { window.open(url, '_blank'); } }, main: function() { var _self = this; } } return getFunction; }; vm.data_api = { web_home: { data_send: {}, api: "web/home", ok: false, data_array: [], data_array_state: { load: false, done: false } } }; vm.api().getRouteParams(function(_self, res_params, res_state) { vm.data_api.web_home.data_array_state = res_state; _self.formatDataSend(vm.data_api.web_home, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; _self.consoleLog("getApiData", "res_data", res_data); _self.getSortBanner(res_data.data_array.main_banner_master.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.main_banner_master.banner_array = res_original; res_data.data_array.main_banner_master.banner_mobile_array = res_mobile; res_data.data_array.main_banner_master.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.secondary_carousel.banner_array, function(res_original, res_desktop, res_mobile) { _self.consoleLog("getApiData", "res_original", res_original); _self.consoleLog("getApiData", "res_desktop", res_desktop); _self.consoleLog("getApiData", "res_mobile", res_original); res_data.data_array.secondary_carousel.banner_array = res_original; res_data.data_array.secondary_carousel.banner_mobile_array = res_original; angular.forEach(res_original, function(item, index) { _self.consoleLog("getApiData", "index", index); _self.consoleLog("getApiData", "item", item); if (index == 0) { vm.data_control.secondary_carousel.mobile.popup = true; vm.data_control.secondary_carousel.mobile.url_link = item.banner_link_url; vm.data_control.secondary_carousel.mobile.img_url = item.banner_image[0].image_url; } }); res_data.data_array.secondary_carousel.banner_desktop_array = res_original; angular.forEach(res_original, function(item, index) { _self.consoleLog("getApiData", "index", index); _self.consoleLog("getApiData", "item", item); if (index == 0) { vm.data_control.secondary_carousel.desktop.popup = true; vm.data_control.secondary_carousel.desktop.url_link = item.banner_link_url; vm.data_control.secondary_carousel.desktop.img_url = item.banner_image[0].image_url; } }); }); _self.getSortBanner(res_data.data_array.top_page_banner.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.top_page_banner.banner_array = res_original; res_data.data_array.top_page_banner.banner_mobile_array = res_mobile; res_data.data_array.top_page_banner.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.bottom_page_banner.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.bottom_page_banner.banner_array = res_original; res_data.data_array.bottom_page_banner.banner_mobile_array = res_mobile; res_data.data_array.bottom_page_banner.banner_desktop_array = res_desktop; }); }); }); }); }); vm.category_map_6113 = []; vm.category_map_state_6113 = vm.getApi().state(true, false); var txt_filter_json = {}; var dataSend = { 'txt_referral_type_id': 11, 'txt_parent_id': 6113, 'txt_sortby': 'referral_sort_index_asc_name_asc', 'txt_filter_json': JSON.stringify(txt_filter_json) }; vm.getApi().GAEAPI(0, 'referral/map', dataSend, function(index, output) { vm.category_map_6113 = output.data; vm.category_map_state_6113 = vm.getApi().state(false, true); }); vm.category_id_6166 = []; vm.category_id_state_6166 = vm.getApi().state(true, false); var txt_filter_json = {}; var dataSend = { 'txt_referral_id': 6166, 'txt_filter_json': JSON.stringify(txt_filter_json) }; vm.getApi().GAEAPI(0, 'referral/id', dataSend, function(index, output) { vm.category_id_6166 = output.data; vm.category_id_state_6166 = vm.getApi().state(false, true); }); vm.review = []; vm.data_api = { review: [{ page_url: "custom/main_recommend", data_send: { txt_gallery_id: '266' }, api: "gallery/id", ok: false, data_array: [], data_array_state: { load: false, done: false } }, { page_url: "custom/main_service", data_send: { txt_gallery_id: '267' }, api: "gallery/id", ok: false, data_array: [], data_array_state: { load: false, done: false } }, { page_url: "blog/355-เกร็ดความรู้?id=355", data_send: { txt_blog_id: '355' }, api: "blog/id", ok: false, data_array: [], data_array_state: { load: false, done: false } }] }; vm.api().getRouteParams(function(_self, res_params, res_state) { angular.forEach(vm.data_api.review, function(review, index_review) { review.data_array_state = res_state; _self.formatDataSend(review, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; if (res_data.api == "gallery/id") { if (res_data.data_array.gallery_name != undefined) { _self.getNameUrl(res_data.data_array.gallery_name, function(res_title) { res_data.data_array.gallery_name_url = res_title; }); res_data.data_array_state = res_state; } } else if (res_data.api == "blog/id") { if (res_data.data_array.blog_name != undefined) { _self.getNameUrl(res_data.data_array.blog_name, function(res_title) { res_data.data_array.blog_name_url = res_title; }); res_data.data_array_state = res_state; } } _self.consoleLog("getApiData", "res_data", res_data); }); }); }); }); }); break; case "718": // seselectpure vm.gethomealbum_img1(914, 12); break; case "713": // gygy vm.getCategoryList_gygy(); break; case "643": vm.data_control = { popup: { mobile: { popup: false, img_url: '', url_link: '' }, desktop: { popup: false, img_url: '', url_link: '' } } } vm.control = function() { var getFunction = { consoleLog: function(function_name, data_name, data) { if (vm.component.show) { console.log(vm.component.name, ' : ', function_name, ' : ', data_name, ' : ', data); } }, popupImg: function(state, img_link) { var _self = this; _self.consoleLog("popupImg", "state", state); vm.data_control.popup.mobile.popup = false; vm.data_control.popup.desktop.popup = false; }, getUrl: function(state, url) { var _self = this; _self.consoleLog("getUrl", "state", state); _self.consoleLog("getUrl", "url", url); if (url != '') { window.open(url, '_blank'); } }, main: function() { var _self = this; } } return getFunction; }; vm.data_api = { web_home: { data_send: {}, api: "web/home", ok: false, data_array: [], data_array_state: { load: false, done: false } } }; vm.api().getRouteParams(function(_self, res_params, res_state) { vm.data_api.web_home.data_array_state = res_state; _self.formatDataSend(vm.data_api.web_home, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; _self.consoleLog("getApiData", "res_data", res_data); _self.getSortBanner(res_data.data_array.main_banner_master.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.main_banner_master.banner_array = res_original; res_data.data_array.main_banner_master.banner_mobile_array = res_mobile; res_data.data_array.main_banner_master.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.mini_banner.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.mini_banner.banner_array = res_original; res_data.data_array.mini_banner.banner_mobile_array = res_mobile; res_data.data_array.mini_banner.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.top_page_banner.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.top_page_banner.banner_array = res_original; res_data.data_array.top_page_banner.banner_mobile_array = res_mobile; res_data.data_array.top_page_banner.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.bottom_page_banner.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.bottom_page_banner.banner_array = res_original; res_data.data_array.bottom_page_banner.banner_mobile_array = res_mobile; angular.forEach(res_mobile, function(item, index) { _self.consoleLog("getApiData", "index", index); _self.consoleLog("getApiData", "item", item); if (index == 0) { vm.data_control.popup.mobile.popup = true; vm.data_control.popup.mobile.url_link = item.banner_link_url; vm.data_control.popup.mobile.img_url = item.banner_image[0].image_url; } }); res_data.data_array.bottom_page_banner.banner_desktop_array = res_desktop; angular.forEach(res_desktop, function(item, index) { _self.consoleLog("getApiData", "index", index); _self.consoleLog("getApiData", "item", item); if (index == 0) { vm.data_control.popup.desktop.popup = true; vm.data_control.popup.desktop.url_link = item.banner_link_url; vm.data_control.popup.desktop.img_url = item.banner_image[0].image_url; } }); }); }); }); }); }); vm.getHomeNews_z1(221); vm.getHomeNews_z2(150); break; case "541": // theride vm.getHomeNews_z1(163); vm.getHomeNews_z2(128); break; case "541": // theride vm.getHomeNews_z1(163); vm.getHomeNews_z2(128); break; case "752": // hondaacadamy vm.getcalendar_img(1008, 1, 100); vm._custom_ref_ttc(11595); break; case "701": vm.getCatList(); case "731": /* iambeauty */ vm.getiambeauty_img(); vm._getProductFeature(2, 'product_title_a-z'); break; case "717": //hongmin vm.getHomevideolist(); break; case "741": vm.get_category_dacseediver(); vm.get_category_dacseetour(); vm.get_blog_dacseetour(); break; case "745": vm._getProductList('product_lastest_create'); vm._getHomeVideoList(); vm._getProductFeature(20, 'product_lastest_create'); vm.getProductListByBadge(72); vm.get_blog_vito_one(); vm.get_blog_vito_two(); vm.data_api = { product_id_v30: { data_send: { txt_product_id : 455187 }, api: "product/id", ok: false, data_array: [], data_array_state: { load: false, done: false } }, product_id_v50: { data_send: { txt_product_id : 94577 }, api: "product/id", ok: false, data_array: [], data_array_state: { load: false, done: false } }, product_id_v80: { data_send: { txt_product_id : 94576 }, api: "product/id", ok: false, data_array: [], data_array_state: { load: false, done: false } }, product_id_vxm: { data_send: { txt_product_id : 90985 }, api: "product/id", ok: false, data_array: [], data_array_state: { load: false, done: false } }, product_id_vxl: { data_send: { txt_product_id : 90987 }, api: "product/id", ok: false, data_array: [], data_array_state: { load: false, done: false } }, product_id_g2: { data_send: { txt_product_id : 90984 }, api: "product/id", ok: false, data_array: [], data_array_state: { load: false, done: false } }, product_id_g3: { data_send: { txt_product_id : 90983 }, api: "product/id", ok: false, data_array: [], data_array_state: { load: false, done: false } } }; vm.api().getRouteParams(function(_self, res_params, res_state) { vm.data_api.product_id_v30.data_array_state = res_state; _self.formatDataSend(vm.data_api.product_id_v30, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; }); }); }); vm.data_api.product_id_v50.data_array_state = res_state; _self.formatDataSend(vm.data_api.product_id_v50, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; }); }); }); vm.data_api.product_id_v80.data_array_state = res_state; _self.formatDataSend(vm.data_api.product_id_v80, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; }); }); }); vm.data_api.product_id_vxm.data_array_state = res_state; _self.formatDataSend(vm.data_api.product_id_vxm, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; }); }); }); vm.data_api.product_id_vxl.data_array_state = res_state; _self.formatDataSend(vm.data_api.product_id_vxl, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; }); }); }); vm.data_api.product_id_g2.data_array_state = res_state; _self.formatDataSend(vm.data_api.product_id_g2, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; }); }); }); vm.data_api.product_id_g3.data_array_state = res_state; _self.formatDataSend(vm.data_api.product_id_g3, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; }); }); }); }); break; case "753": vm.get_productcat_evo(); break; case "754": vm.galleryId = {}; vm.galleryIdState = { load: true, done: false }; var galleryDataSend = { 'txt_gallery_id': 243 }; vm.galleryImageGroupImage().GAEAPI(0, 'gallery/id', galleryDataSend, function(index, output) { vm.galleryImageGroupImage().stateData(); vm.galleryId = output.data; var txt_filter_json = { 'gallery_id_array': [output.data.gallery_id] }; var imageGroupDataSend = { 'cur_page': 1, 'per_page': 50, 'txt_filter_json': JSON.stringify(txt_filter_json) }; vm.galleryImageGroupImage().GAEAPI(0, 'image_group/lists', imageGroupDataSend, function(index, output) { vm.galleryId.image_group = output.data.dataList; for (var i = 0; i < vm.galleryId.image_group.length; i++) { var txt_filter_json = { 'image_group_id_array': [output.data.dataList[i].image_group_id] }; var imageDataSend = { 'cur_page': 1, 'per_page': 50, 'txt_filter_json': JSON.stringify(txt_filter_json) }; vm.galleryImageGroupImage().GAEAPI(i, 'image/lists', imageDataSend, function(index, output) { vm.galleryId.image_group[index].image = output.data.dataList; }); } vm.galleryIdState = vm.galleryImageGroupImage().stateData(false, true); }); }); vm.getProductListByBadge(74); var jsonFilter = { 'image_group_id_array': [1025] }; var dataSend = { 'cur_page': 1, 'per_page': 20, 'txt_filter_json': JSON.stringify(jsonFilter) }; vm.getApi().GAEAPI(0, 'image/lists', dataSend, function(index, output) { vm.img_byalbum_id = output.data; }); CONTACTPAGE_API.location_lists(); break; case "722": vm._getProductFeature(1, 'product_lastest_create'); vm._getAlbumList(4, 'image_group_name_ASC'); break; case "743": /* smarthome */ vm.getPromotionLists(1, 3, 18, 'promotion_lastest_create', 7); break; case "762": vm.data_control = { popup: { mobile: { popup: false, img_url: '', url_link: '' }, desktop: { popup: false, img_url: '', url_link: '' } } } vm.control = function() { var getFunction = { consoleLog: function(function_name, data_name, data) { if (vm.component.show) { console.log(vm.component.name, ' : ', function_name, ' : ', data_name, ' : ', data); } }, popupImg: function(state, img_link) { var _self = this; _self.consoleLog("popupImg", "state", state); vm.data_control.popup.mobile.popup = false; vm.data_control.popup.desktop.popup = false; }, getUrl: function(state, url) { var _self = this; _self.consoleLog("getUrl", "state", state); _self.consoleLog("getUrl", "url", url); if (url != '') { window.open(url, '_blank'); } }, main: function() { var _self = this; } } return getFunction; }; vm.data_api = { web_home: { data_send: {}, api: "web/home", ok: false, data_array: [], data_array_state: { load: false, done: false } } }; vm.api().getRouteParams(function(_self, res_params, res_state) { vm.data_api.web_home.data_array_state = res_state; _self.formatDataSend(vm.data_api.web_home, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; _self.consoleLog("getApiData", "res_data", res_data); _self.getSortBanner(res_data.data_array.main_banner.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.main_banner.banner_array = res_original; angular.forEach(res_original, function(item, index) { _self.consoleLog("getApiData", "index", index); _self.consoleLog("getApiData", "item", item); if (index == 0) { vm.data_control.popup.mobile.popup = true; vm.data_control.popup.mobile.url_link = item.banner_link_url; vm.data_control.popup.mobile.img_url = item.banner_image[0].image_url; } }); angular.forEach(res_original, function(item, index) { _self.consoleLog("getApiData", "index", index); _self.consoleLog("getApiData", "item", item); if (index == 0) { vm.data_control.popup.desktop.popup = true; vm.data_control.popup.desktop.url_link = item.banner_link_url; vm.data_control.popup.desktop.img_url = item.banner_image[0].image_url; } }); }); _self.getSortBanner(res_data.data_array.main_banner_master.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.main_banner_master.banner_array = res_original; res_data.data_array.main_banner_master.banner_mobile_array = res_mobile; res_data.data_array.main_banner_master.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.mini_banner.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.mini_banner.banner_array = res_original; res_data.data_array.mini_banner.banner_mobile_array = res_mobile; res_data.data_array.mini_banner.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.top_page_banner.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.top_page_banner.banner_array = res_original; res_data.data_array.top_page_banner.banner_mobile_array = res_mobile; res_data.data_array.top_page_banner.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.bottom_page_banner.banner_array, function(res_original, res_desktop, res_mobile) { res_data.data_array.bottom_page_banner.banner_array = res_original; res_data.data_array.bottom_page_banner.banner_mobile_array = res_mobile; res_data.data_array.bottom_page_banner.banner_desktop_array = res_desktop; }); }); }); }); }); vm.getPostListsSet(1, 3, 'post_create_time_DESC'); break; case "765": /* supercheap */ vm.getCarousel().getFunctionCarousel(function(_self) { _self.setSpeed(0, 600); _self.setDots(0, false); _self.setArrows(0, false); _self.setAutoplay(0, true); _self.setAdaptiveHeight(0, true); _self.setAutoplaySpeed(0, 4000); _self.setSlidesToScroll(0, 1); _self.setPrevArrow(0, ''); _self.setNextArrow(0, ''); }); vm.data_api = { web_home: { data_send: {}, api: "web/home", ok: false, data_array: [], data_array_state: { load: false, done: false } } }; vm.api().getRouteParams(function(_self, res_params, res_state) { vm.data_api.web_home.data_array_state = res_state; _self.formatDataSend(vm.data_api.web_home, function(res_data) { _self.dataSend(res_data.api, res_data.data_send, function(res_api, res_data_send) { _self.getApi(res_api, res_data_send, function(res_ok, res_api, res_state) { res_data.ok = res_ok; res_data.data_array = res_api.data; res_data.data_array_state = res_state; _self.consoleLog("getApiData", "res_data", res_data); _self.getSortBanner(res_data.data_array.main_banner_master.banner_array, function(res_original, res_desktop, res_mobile) { vm.data_api.web_home.data_array.main_banner_master.banner_array = res_original; vm.data_api.web_home.data_array.main_banner_master.banner_mobile_array = res_mobile; vm.data_api.web_home.data_array.main_banner_master.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.mini_banner.banner_array, function(res_original, res_desktop, res_mobile) { vm.data_api.web_home.data_array.mini_banner.banner_array = res_original; vm.data_api.web_home.data_array.mini_banner.banner_mobile_array = res_mobile; vm.data_api.web_home.data_array.mini_banner.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.top_page_banner.banner_array, function(res_original, res_desktop, res_mobile) { vm.data_api.web_home.data_array.top_page_banner.banner_array = res_original; vm.data_api.web_home.data_array.top_page_banner.banner_mobile_array = res_mobile; vm.data_api.web_home.data_array.top_page_banner.banner_desktop_array = res_desktop; }); _self.getSortBanner(res_data.data_array.bottom_page_banner.banner_array, function(res_original, res_desktop, res_mobile) { vm.data_api.web_home.data_array.bottom_page_banner.banner_array = res_original; vm.data_api.web_home.data_array.bottom_page_banner.banner_mobile_array = res_mobile; vm.data_api.web_home.data_array.bottom_page_banner.banner_desktop_array = res_desktop; }); }); }); }); }); var jsonFilter = { 'badge_id_array': [18] }; var dataSend = { 'txt_referral_type_id': 11, 'txt_sortby': 'referral_sort_index_asc_name_asc', 'txt_filter_json': JSON.stringify(jsonFilter) }; vm.getApi().GAEAPI(0, 'referral/map', dataSend, function(index, output) { vm.dataArrayMain = output.data; }); vm.getReferralists(11, 1, 8, [16]); break; case "767": vm._getProductFeature(6, 'badge_sort_index_asc'); break; case "646": vm.post_featured = []; var txt_filter_json = { 'badge_id_array': [16] }; var dataSend = { 'cur_page': 1, 'per_page': 8, 'txt_filter_json': JSON.stringify(txt_filter_json) }; vm.getApi().GAEAPI(0, 'post/lists', dataSend, function(index, output) { console.log("myhappyphones : myhappyphones : myhappyphones : myhappyphones : ", output); vm.post_featured = output.data.dataList; }); break; case "636": vm.get_img_byalbum_id(1024); break; case "773": vm.productBadge = [{ name: 'New Arrival', badgeId: 72, badgeIdArray: [72], state: vm.getApi().state(false, false), dataList: [] }, { name: 'Recommend', badgeId: 74, badgeIdArray: [74], state: vm.getApi().state(false, false), dataList: [] }, { name: 'Best Seller', badgeId: 75, badgeIdArray: [75], state: vm.getApi().state(false, false), dataList: [] }]; break; case "774": vm._getCollectionList(); break; default: break; } /* Unknown usage */ /* * vm._getAlbumList(); * vm._getTimeNow(); * vm._get_shop_video(); * vm._get_web_home(); * vm.getShopDetail(); */ });