' + "" + '';
if (i > 0) {
marker.infoWindow += '
ดูใน Google Map';
}
marker.infoWindow += '
';
_googleMapInstanceMarkers[i] = marker;
var infowindow = new google.maps.InfoWindow();
_googleMapInstanceInfoWindows = infowindow;
google.maps.event.addListener(marker, 'click', (function (marker, content, infowindow) {
return function () {
infowindow.setContent(content);
infowindow.open(_googleMapInstance, marker);
};
})(marker, marker.infoWindow, infowindow));
$('[data-lat="' + location.lat + '"]').on('click', function () {
_googleMapInstance.setCenter(new google.maps.LatLng(location.lat, location.lng));
_googleMapInstanceInfoWindows.setContent(marker.infoWindow);
_googleMapInstanceInfoWindows.open(_googleMapInstance, marker);
});
//console.log("Map Product Dealer: Item :", i, location);
});
/* Add Circle Radius to map */
if ($scope.userLocationObj) {
var meter = 1000;
var circleUserArea = new google.maps.Circle({
strokeColor: '#FDD511',
strokeOpacity: 0,
strokeWeight: 2,
fillColor: '#FDD511',
fillOpacity: 0.15,
map: _googleMapInstance,
center: center_default,
radius: (20 * meter)
});
console.log("Map Product Dealer: Circle: Ok");
} else {
console.log("Map Product Dealer: Circle: Not Ok");
}
};
$scope.state = false;
$scope.dataArray = [];
$scope.time_more = 7;
$scope.all_page = true;
$scope.loadMore_is_load = true;
$scope.myDate = false;
$scope.plusSeven = false;
$scope.getData = function(){
if($scope.dataArray.length){
$scope.time_more = $scope.time_more + 7;
$scope.myDate = $scope.plusSeven;
$scope.plusSeven = new Date($scope.myDate.setDate($scope.myDate.getDate() + $scope.time_more));
}else{
$scope.myDate = new Date();
$scope.plusSeven = new Date($scope.myDate.setDate($scope.myDate.getDate() + $scope.time_more));
}
var buildLocationArray = [];
/*var json_filter = {
display_duration_from_to_range: [$scope.myDate.getTime(),$scope.plusSeven.getTime()]
}*/
var json_filter = {
event_display_duration_on_today: 1
}
if (typeof $routeParams.tag !== 'undefined' && $routeParams.tag != '') {
json_filter.tag_array_or = [$routeParams.tag];
}
var d = {
'cur_page': 1,
'per_page': 100,
'txt_sort_by': 'display_duration_from_asc',
'txt_filter_json': JSON.stringify(json_filter)
};
console.log("data list d :",d);
GAEAPI.get('events/lists',d,$scope).then(function(e){
console.log("data list event :",e.data);
if(e.ok == 1){
if ($scope.dataArray.length) {
var curData = $scope.dataArray;
$scope.dataArray = curData.concat(e.data.list);
if (e.data.total_rows <= $scope.dataArray.length) {
$scope.all_page = false;
} else {
$scope.all_page = true;
}
console.log("Zoom: getDataProduct: e , load more", e);
} else {
$scope.dataArray = e.data.list;
// alert($scope.dataArray.length);
if (e.data.total_rows <= $scope.dataArray.length) {
$scope.all_page = false;
} else {
$scope.all_page = true;
}
// $scope.dataArray_done = true;
console.log("Zoom: getDataProduct: e , new data", e);
}
$scope.REQUEST_USER_LOCATION_PERMISSION(function(){
// $scope.taglist = [];
for (var i = 0; i < $scope.dataArray.length; i++) {
if ($scope.dataArray[i].place_latitude != 0 && $scope.dataArray[i].place_longitude != 0) {
buildLocationArray.push({
lat: parseFloat($scope.dataArray[i].place_latitude),
lng: parseFloat($scope.dataArray[i].place_longitude),
title: $scope.dataArray[i].place_title,
});
}
}
if (buildLocationArray.length) {
$scope.MapLists = buildLocationArray;
/*googleDistance(buildLocationArray); */
/*var maphometimer = setTimeout(function () {
googleMapHomeInit($scope.dealerLists);
clearTimeout(maphometimer);
}, 3000);*/
var timerProductWithOrigins = setInterval(function () {
if ($("#map2").html() != "") {
clearInterval(timerProductWithOrigins);
googleMapHomeInit($scope.MapLists);
}
}, 1000);
}
});
$scope.loadMore_is_load = false;
// $scope.dataArray = e.data.list;
$scope.state = true;
// console.log("eyreyhfdsf :", $scope.dataArray);
}
});
};
$scope.loadMore= function(){
$scope.loadMore_is_load = true;
$timeout(function() {
$scope.getData();
}, 300);
};
$scope.getData();
$scope.taglist = function(tagname){
var taglist = [];
if(tagname != ""){
taglist = tagname.split(",");
}
return taglist;
};
function addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
};
$scope.getdatetime = function(time){
var month_names = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var day_name_shot = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Fri", "Sat"];
var datetime = new Date(parseInt(time));
var day = datetime.getDay();
var date = datetime.getDate();
var fullyear = datetime.getFullYear();
var month = datetime.getMonth();
var h = addZero(datetime.getHours());
var m = addZero(datetime.getMinutes());
var s = addZero(datetime.getSeconds());
// var string = [];
// string[0] = day_name_shot[day] + ", " + month_names[month] + " " + date + " " + fullyear;
// string[1] = h+":"+m;
return day_name_shot[day] + ", " + month_names[month] + " " + date + " " + h+":"+m;
};
};
return promise;
});
_ui_share_app.directive('componentEventListsB', function($rootScope, $routeParams, $location, sliderProvider) {
var templateName = 'componentEventListsB';
var templatePathUrl = _ui_share_host + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
imgpath: '@imgpath',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = false;
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.imgPath = CUR_THEME.file_url() + 'images/';
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope._viewRouteParams = function() {
return $routeParams || false;
};
$scope.locationUrlReplace = function(id) {
if (id != "") {
var strHref = 'event-detail/';
strHref += id;
$location.url(strHref).replace();
}
};
$scope.state = false;
$scope.dataArray = [];
$scope.time_more = 7;
$scope.all_page = false;
$scope.loadMore_is_load = true;
$scope.myDate = false;
$scope.plusSeven = false;
$scope.getData = function() {
if ($scope.dataArray.length) {
$scope.time_more = $scope.time_more + 7;
$scope.myDate = $scope.plusSeven;
$scope.plusSeven = new Date($scope.myDate.setDate($scope.myDate.getDate() + $scope.time_more));
} else {
$scope.myDate = new Date();
$scope.plusSeven = new Date($scope.myDate.setDate($scope.myDate.getDate() + $scope.time_more));
}
var buildLocationArray = [];
/*var json_filter = {
display_duration_from_to_range: [$scope.myDate.getTime(),$scope.plusSeven.getTime()]
}*/
var json_filter = {
event_display_duration_on_today: 1
}
if (typeof $routeParams.tag !== 'undefined' && $routeParams.tag != '') {
json_filter.tag_array_or = [$routeParams.tag];
}
var d = {
'cur_page': 1,
'per_page': 100,
'txt_sort_by': 'display_duration_from_asc',
'txt_filter_json': JSON.stringify(json_filter)
};
console.log("data list d :", d);
GAEAPI.get('events/lists', d, $scope).then(function(e) {
console.log("data list event :", e.data);
if (e.ok == 1) {
if ($scope.dataArray.length) {
var curData = $scope.dataArray;
$scope.dataArray = curData.concat(e.data.list);
if (e.data.total_rows <= $scope.dataArray.length) {
$scope.all_page = false;
} else {
$scope.all_page = true;
}
console.log("Zoom: getDataProduct: e , load more", e);
} else {
$scope.dataArray = e.data.list;
// alert($scope.dataArray.length);
if (e.data.total_rows <= $scope.dataArray.length) {
$scope.all_page = false;
} else {
$scope.all_page = true;
}
// $scope.dataArray_done = true;
console.log("Zoom: getDataProduct: e , new data", e);
}
$scope.loadMore_is_load = false;
// $scope.dataArray = e.data.list;
$scope.state = true;
// console.log("eyreyhfdsf :", $scope.dataArray);
}
});
};
$scope.loadMore = function() {
$scope.loadMore_is_load = true;
$timeout(function() {
$scope.getData();
}, 300);
};
$scope.getData();
$scope.taglist = function(tagname) {
var taglist = [];
if (tagname != "") {
taglist = tagname.split(",");
}
return taglist;
};
function addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
};
$scope.getdatetime = function(time) {
var month_names = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var day_name_shot = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Fri", "Sat"];
var datetime = new Date(parseInt(time));
var day = datetime.getDay();
var date = datetime.getDate();
var fullyear = datetime.getFullYear();
var month = datetime.getMonth();
var h = addZero(datetime.getHours());
var m = addZero(datetime.getMinutes());
var s = addZero(datetime.getSeconds());
// var string = [];
// string[0] = day_name_shot[day] + ", " + month_names[month] + " " + date + " " + fullyear;
// string[1] = h+":"+m;
return day_name_shot[day] + ", " + month_names[month] + " " + date + " " + h + ":" + m;
};
};
return promise;
});/*_ui_share_app.directive('componentFooter', function($rootScope, $routeParams) {
var templateName = 'componentFooter';
var templatePathUrl = _ui_share_host + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
id: '=',
background: '@',
primary: '@',
secondary: '@',
name: '@name',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = true;
promise.controller = function($scope, $timeout, $interval, $q, $window) {};
return promise;
});*/
_ui_share_app.factory('$componentFaq', function componentFooter($routeParams, $timeout) {
return
});_ui_share_app.directive('componentFaqA', function($rootScope, $routeParams) {
var templateName = 'componentFaqA';
var componentMain = 'componentFaq';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.dataFaq = [];
$scope.dataFaqLength = null;
$scope.GetFaq = function() {
var d = {
'cur_page': 1,
'per_page': 50
};
GAEAPI.get('faq/lists', d, $scope).then(function(e) {
if (e.ok === 1) {
$scope.dataFaq = e.data.dataList;
$scope.dataFaqLength = Math.ceil($scope.dataFaq.length / 2);
}
console.log("dataFaq :", $scope.dataFaq);
});
};
$scope.GetFaq();
$scope.controlPopupStatus = function(id) {
if ($('#id'+id).css("display") !== 'inline') {
return true;
}else{
return false;
}
}
$scope.control_popup = function(id) {
var status = $scope.controlPopupStatus(id);
console.log("componentFaqA ","ID : ",id," Status : ",status);
console.log("componentFaqA ","ID : ",id," Status : ",$('#id'+id).css("display"));
if (status == true) {
document.getElementById('id'+id).style.display = 'inline';
} else {
document.getElementById('id'+id).style.display = 'none';
}
}
$scope.control_popup_Status = function(id) {
if ($('#id'+id).css("display") !== 'inline') {
return 0;
}else{
return 1;
}
}
$scope.showDebug = function() {
return (typeof $routeParams.debugfaq !== 'undefined') ? true : false;
};
};
return promise;
});_ui_share_app.directive('componentFaqB', function($rootScope, $routeParams) {
var templateName = 'componentFaqB';
var componentMain = 'componentFaq';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.getData = function() {
var getFunction = {
consoleLog: function(name, data) {
console.log(name, data);
},
getRouteParams: function(callback) {
var params = $routeParams;
callback(params);
},
stateData: function(loadIn, doneIn) {
var _self = this;
_self.consoleLog("getData : ", "------- stateData -------");
_self.consoleLog("getData : loadIn : ", loadIn);
_self.consoleLog("getData : doneIn : ", doneIn);
_self.consoleLog("getData : ", "------- stateData -------");
var state = {
load: loadIn,
done: doneIn
};
return state;
},
dataSend: function(api, dataSend, callback) {
var _self = this;
_self.consoleLog("getData : ", "------- dataSend -------");
_self.consoleLog("getData : api : ", api);
_self.consoleLog("getData : dataSend : ", dataSend);
_self.consoleLog("getData : ", "------- dataSend -------");
callback(api, dataSend);
},
getApi: function(api, dataSend, callback) {
var _self = this;
GAEAPI.get(api, dataSend, $scope).then(function(output) {
_self.consoleLog("getData : ", "------- getApi -------");
_self.consoleLog("getData : api : ", api);
_self.consoleLog("getData : dataSend : ", dataSend);
_self.consoleLog("getData : output : ", output);
_self.consoleLog("getData : ", "------- getApi -------");
callback(output);
});
},
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) {
if (output[i].faq_image.length != 0) {
output[i].faq_image[0].image_url = _self.imageUrl('t100', output[i].faq_image[0].image_url);
}
} else {
callback(output);
}
}
},
titleUrl: function(str) {
var url = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return url;
},
locationUrl: function(template, data) {
$location.url(template + data).replace();
},
main: function() {
var _self = this;
}
}
return getFunction;
};
$scope.getData().main();
$scope.dataArray = [];
$scope.dataArrayState = $scope.getData().stateData(false, false);
$scope.dataArrayLength = 0;
$scope.getData().getRouteParams(function(params) {
$scope.dataArrayState = $scope.getData().stateData(true, false);
var dataSend = {
'cur_page': 1,
'per_page': 50
};
$scope.getData().dataSend('faq/lists', dataSend, function(api, dataSend) {
$scope.getData().getApi(api, dataSend, function(output) {
$scope.getData().resizeImageUrl(output.data.dataList, function(dataList) {
$scope.dataArray = dataList;
$scope.dataArrayLength = Math.ceil(dataList.length / 2);
$scope.dataArrayState = $scope.getData().stateData(false, true);
});
});
});
});
$scope.control_popup = function(id) {
console.log("display:", document.getElementById(id).style.display);
if (document.getElementById(id).style.display == '' || document.getElementById(id).style.display == 'none') {
document.getElementById(id).style.display = 'initial';
document.getElementById('down' + id).style.display = 'none';
document.getElementById('up' + id).style.display = 'initial';
} else {
document.getElementById(id).style.display = 'none';
document.getElementById('down' + id).style.display = 'initial';
document.getElementById('up' + id).style.display = 'none';
}
}
$scope.viewOptimizeImage = function(size, image_url, image_width) {
if (window.devicePixelRatio >= 2) {
return image_url;
}
var a = image_url.split("/"),
b = a[a.length - 1];
a[a.length - 1] = 't' + size + '_' + b;
return a.join("/");
};
};
return promise;
});_ui_share_app.directive('componentFaqC', function($rootScope, $routeParams) {
var templateName = 'componentFaqC';
var componentMain = 'componentFaq';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.getData = function() {
var getFunction = {
consoleLog: function(name, data) {
console.log(name, data);
},
getRouteParams: function(callback) {
var params = $routeParams;
callback(params);
},
stateData: function(loadIn, doneIn) {
var _self = this;
_self.consoleLog("getData : ", "------- stateData -------");
_self.consoleLog("getData : loadIn : ", loadIn);
_self.consoleLog("getData : doneIn : ", doneIn);
_self.consoleLog("getData : ", "------- stateData -------");
var state = {
load: loadIn,
done: doneIn
};
return state;
},
dataSend: function(api, dataSend, callback) {
var _self = this;
_self.consoleLog("getData : ", "------- dataSend -------");
_self.consoleLog("getData : api : ", api);
_self.consoleLog("getData : dataSend : ", dataSend);
_self.consoleLog("getData : ", "------- dataSend -------");
callback(api, dataSend);
},
getApi: function(api, dataSend, callback) {
var _self = this;
GAEAPI.get(api, dataSend, $scope).then(function(output) {
_self.consoleLog("getData : ", "------- getApi -------");
_self.consoleLog("getData : api : ", api);
_self.consoleLog("getData : dataSend : ", dataSend);
_self.consoleLog("getData : output : ", output);
_self.consoleLog("getData : ", "------- getApi -------");
callback(output);
});
},
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) {
if (output[i].faq_image.length != 0) {
output[i].faq_image[0].image_url = _self.imageUrl('t100', output[i].faq_image[0].image_url);
}
} else {
callback(output);
}
}
},
titleUrl: function(str) {
var url = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return url;
},
locationUrl: function(template, data) {
$location.url(template + data).replace();
},
main: function() {
var _self = this;
}
}
return getFunction;
};
$scope.getData().main();
$scope.dataArray = [];
$scope.dataArrayState = $scope.getData().stateData(false, false);
$scope.dataArrayLength = 0;
$scope.getData().getRouteParams(function(params) {
$scope.dataArrayState = $scope.getData().stateData(true, false);
var dataSend = {
'cur_page': 1,
'per_page': 50
};
$scope.getData().dataSend('faq/lists', dataSend, function(api, dataSend) {
$scope.getData().getApi(api, dataSend, function(output) {
$scope.getData().resizeImageUrl(output.data.dataList, function(dataList) {
$scope.dataArray = dataList;
$scope.dataArrayLength = Math.ceil(dataList.length / 2);
$scope.dataArrayState = $scope.getData().stateData(false, true);
});
});
});
});
$scope.control_popup = function(id) {
console.log("display:", document.getElementById(id).style.display);
if (document.getElementById(id).style.display == '' || document.getElementById(id).style.display == 'none') {
document.getElementById(id).style.display = 'initial';
document.getElementById('down' + id).style.display = 'none';
document.getElementById('up' + id).style.display = 'initial';
} else {
document.getElementById(id).style.display = 'none';
document.getElementById('down' + id).style.display = 'initial';
document.getElementById('up' + id).style.display = 'none';
}
}
$scope.viewOptimizeImage = function(size, image_url, image_width) {
if (window.devicePixelRatio >= 2) {
return image_url;
}
var a = image_url.split("/"),
b = a[a.length - 1];
a[a.length - 1] = 't' + size + '_' + b;
return a.join("/");
};
};
return promise;
});_ui_share_app.directive('componentFaqSlideTypeA', function($rootScope, $routeParams) {
var templateName = 'componentFaqSlideTypeA';
var componentMain = 'componentFaq';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.StateData = function(_load_in, _done_in) {
var State = {
load: _load_in,
done: _done_in
};
return State;
};
$scope.dataFaqLists = [];
$scope.dataFaqListsState = {
load: true,
done: false
};
$scope.gaeFaqLists = function(callback) {
$scope.dataFaqListsState = $scope.StateData(true, false);
var faqLists = [];
var dataSend = {
'cur_page': 1,
'per_page': 50
};
console.log("gaeFaqLists : dataSend : ", dataSend);
GAEAPI.get('faq/lists', dataSend, $scope).then(function(output) {
console.log("gaeFaqLists : output : ", output);
if (output.ok == 1) {
faqLists = output.data.dataList;
callback(faqLists);
} else {
callback(faqLists);
}
});
};
$scope.gaeFaqLists(function(faqLists) {
console.log("gaeFaqLists : faqLists : ", faqLists);
$scope.dataFaqLists = faqLists;
$scope.dataFaqListsState = $scope.StateData(false, true);
});
$scope.dataKey = '';
$scope.dataId = function() {
if ($scope.dataKey == '') {
$scope.dataKey = Math.floor((Math.random() * 9999) + 1000);
return $scope.dataKey;
} else {
return $scope.dataKey;
}
};
$scope.carousel = function(class_in, elem_in) {
console.log("carousel : class_in : ", class_in);
console.log("carousel : elem_in : ", elem_in);
$(class_in).css('height', '0');
$(class_in).css('opacity', '0');
setTimeout(function() {
var carousel = $(elem_in + '[data-id=' + $scope.dataId() + ']');
var is_dark;
carousel.not('.slick-initialized').slick({
dots: false,
arrows: false,
autoplay: true,
autoplaySpeed: 3000,
slidesToShow: 1,
slidesToScroll: 1,
infinite: true,
speed: 600,
responsive: [{
breakpoint: 1200,
settings: {
slidesToShow: 1,
}
}, {
breakpoint: 991,
settings: {
slidesToShow: 1,
}
}, {
breakpoint: 767,
settings: {
slidesToShow: 1,
}
}]
}).closest('section').addClass('active');
$(class_in).css('height', 'auto');
$(class_in).css('opacity', '1');
}, 100);
};
};
return promise;
});_ui_share_app.directive('componentFeatureCategoryProduct', function($rootScope, $routeParams) {
var templateName = 'componentFeatureCategoryProduct';
var templatePathUrl = _ui_share_host + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
referralid: '@referralid',
size: '@size',
sizelist: '@sizelist',
sort: '@sort',
col: '@col',
component: '@component',
stylebutton: '@stylebutton',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = true;
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.size = (typeof $scope.size !== 'undefined') ? $scope.size : 8;
$scope.sizelist = (typeof $scope.sizelist !== 'undefined') ? $scope.sizelist : 4;
$scope._dataArray = [];
$scope._dataArrayState = {
load: false,
done: false
};
$scope._custom_ref = function () {
$scope._dataArray = [];
var txt_filter_json2 = {
'badge_id_array': [16]
};
var dataSend = {
'txt_referral_type_id': 11,
'cur_page' : 1,
'per_page' : 50,
'txt_sortby': 'referral_oldest_create',
'txt_filter_json': JSON.stringify(txt_filter_json2)
};
GAEAPI.get('referral/lists', dataSend).then(function (res) {
if (res.ok === 1) {
$scope._dataArray = (res.ok == 1) ? res.data.dataList : [];
var temp_ttc = [];
for (var i = 0; i < res.data.length; i++) {
temp_ttc.push(res.data[i].referral_id);
}
ref_productArray = res.data.dataList;
getproductForRef(0, function () {
console.log("getproductForRef : thaiten: ", ref_productArray);
});
}
});
};
var ref_productArray = [];
function getproductForRef(index, callback) {
if (ref_productArray.length <= index) {
if (callback) {
callback();
}
return;
}
var catData = ref_productArray[index];
var cat_refId = catData.referral_id;
var txt_filter_json = {
'referral_id_array': [cat_refId],
'badge_id_array': [16]
};
var dataSend = {
'cur_page': 1,
'per_page': 10,
'txt_sortby': 'product_oldest_create',
'txt_filter_json': JSON.stringify(txt_filter_json)
};
GAEAPI.get('product/lists', dataSend).then(function(res) {
if (res.ok === 1) {
catData.product_array = res.data.dataList;
}
$scope._dataArray = ref_productArray;
getproductForRef((index + 1), callback);
});
}
$scope.StateData = function(_load_in, _done_in) {
var State = {
load: _load_in,
done: _done_in
};
return State;
}
$scope._custom_ref();
$scope.$watch('col', function(newValue, oldValue) {
if (!newValue) {
return;
}
$scope._col = newValue.toString().split(",");
});
$scope.getCol = function(n) {
return (typeof $scope._col != 'undefined') ? (typeof $scope._col[n] != 'undefined' && $scope._col[n] != '') ? $scope._col[n] : 12 : 12;
};
$scope.displayImage = function(image_url, prefix) {
return (typeof image_url !== 'undefined') ? GAEAPI.getGaeImageUrl(image_url, prefix) : '';
}
$scope.showDebug = function() {
return (typeof $routeParams.debug !== 'undefined') ? true : false;
};
};
return promise;
});_ui_share_app.factory('$componentFlashSale', function componentFlashSale($routeParams, $timeout) {
return
});_ui_share_app.directive('componentFlashSaleIdProductTypeA', function($rootScope, $routeParams, $location) {
var templateName = 'componentFlashSaleIdProductTypeA';
var componentMain = 'componentFlashSale';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
dealgroupid: '=dealgroupid',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'topic_top': '?topicTop',
'topic_more': '?topicMore',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.component = "componentFlashSaleIdProductTypeA : ";
/*
api : 'deal_group/lists'
txt_sortby : {
'product_lastest_create' ,
'product_oldest_create' ,
'product_title_a-z' ,
'product_title_z-a' ,
'root_category_index_asc' ,
'root_category_index_desc' ,
}
*/
$scope.countdown = {};
$scope.dataSet = [{
api: "deal_group/id",
dataSend: {},
dataArray: [],
dataSendState: {
load: false,
done: false
}
}];
$scope.timeFunctiond = function() {
var timeFunctiond = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
/* console.log(component, name, data); */
});
},
locationUrl: function(template, data) {
$location.url(template + data).replace();
},
momentUnix: function(callback) {
var now = moment().unix();
callback(now);
},
countdown: function(number, countdown, callback) {
var _self = this;
var timeCountdown = countdown.end - countdown.now;
var duration = moment.duration(timeCountdown * 1000, "milliseconds");
if (timeCountdown > 0) {
callback(number, duration, true);
} else {
callback(number, duration, false);
}
},
countdownArray: function(now, countdown, callback) {
var _self = this;
if (countdown.length != 0) {
countdown.now = now;
_self.countdown(0, countdown, function(number, duration, show) {
countdown.day = (duration.days() <= 9) ? '0' + duration.days() : duration.days();
countdown.month = (duration.months() <= 9) ? '0' + duration.months() : duration.months();
countdown.year = (duration.years() <= 9) ? '0' + duration.years() : duration.years();
countdown.hours = (duration.hours() <= 9) ? '0' + duration.hours() : duration.hours();
countdown.minutes = (duration.minutes() <= 9) ? '0' + duration.minutes() : duration.minutes();
countdown.seconds = (duration.seconds() <= 9) ? '0' + duration.seconds() : duration.seconds();
countdown.show = show;
});
callback(countdown);
} else {
callback(countdown);
}
},
loopTime: function() {
var _self = this;
var timeout_promise = $timeout(function() {
_self.momentUnix(function(now) {
_self.countdownArray(now, $scope.countdown, function(countdownArray) {
if (!countdownArray.show) {
_self.locationUrl('home', '');
}
$scope.countdown = countdownArray;
_self.loopTime();
});
});
}, 1000);
}
}
return timeFunctiond;
};
$scope.timeFunctiond().loopTime();
$scope.getFunction = function() {
var getFunction = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
console.log(component, name, data);
});
},
titleUrl: function(str) {
var url = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return url;
},
locationUrl: function(template, data) {
$location.url(template + data).replace();
},
getRouteParams: function(callback) {
var params = $routeParams;
callback(params);
},
getDealId: function(callback) {
var _self = this;
_self.getRouteParams(function(params) {
var deal_id = params.deal_id.split("-", 1).join("");
callback(deal_id)
});
},
stateData: function(loadIn, doneIn) {
var _self = this;
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
_self.consoleLog("stateData : loadIn : ", loadIn);
_self.consoleLog("stateData : doneIn : ", doneIn);
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
var state = {
load: loadIn,
done: doneIn
};
return state;
},
dataSend: function(api, dataSend, callback) {
var _self = this;
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
_self.consoleLog("dataSend : api : ", api);
_self.consoleLog("dataSend : dataSend : ", dataSend);
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
callback(api, dataSend);
},
getApiOk: function(output, callback) {
var _self = this;
var output_ok = [];
if (output.ok == 1) {
output_ok = output;
}
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
_self.consoleLog("getApiOk : output_ok : ", output_ok);
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
callback(output_ok);
},
getApi: function(api, dataSend, callback) {
var _self = this;
GAEAPI.get(api, dataSend, $scope).then(function(output) {
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getApi : api : ", api);
_self.consoleLog("getApi : dataSend : ", dataSend);
_self.consoleLog("getApi : output : ", output);
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.getApiOk(output, function(output) {
callback(output);
});
});
},
dataCountdown: function(output, callback) {
var _self = this;
var countdownObject = {
now: 0,
state: output.deal_group_lifetime.lifetime_start_time,
end: output.deal_group_lifetime.lifetime_end_time,
day: 0,
month: 0,
year: 0,
hours: 0,
minutes: 0,
seconds: 0,
show: false
};
$scope.countdown = countdownObject;
callback(output);
},
main: function() {
var _self = this;
_self.getDealId(function(deal_id) {
$scope.dataSet[0].dataSendState = $scope.getFunction().stateData(true, false);
$scope.dataSet[0].dataSend = {
'txt_product_id': deal_id
}
_self.dataSend($scope.dataSet[0].api, $scope.dataSet[0].dataSend, function(api, dataSend) {
_self.getApi(api, dataSend, function(output) {
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getRouteParams : dataSend : getApi : ", output);
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.dataCountdown(output.data, function(output) {
setTimeout(function() {
$scope.dataSet[0].dataArray = output;
$scope.dataSet[0].dataSendState = $scope.getFunction().stateData(false, true);
}, 1000);
});
});
});
});
}
}
return getFunction;
};
$scope.getFunction().main();
};
return promise;
});_ui_share_app.directive('componentFlashSaleIdProductTypeB', function($rootScope, $routeParams, $location) {
var templateName = 'componentFlashSaleIdProductTypeB';
var componentMain = 'componentFlashSale';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
dealgroupid: '=dealgroupid',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'topic_top': '?topicTop',
'topic_more': '?topicMore',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.component = "componentFlashSaleIdProductTypeB : ";
/*
api : 'deal_group/lists'
txt_sortby : {
'product_lastest_create' ,
'product_oldest_create' ,
'product_title_a-z' ,
'product_title_z-a' ,
'root_category_index_asc' ,
'root_category_index_desc' ,
}
*/
$scope.countdown = {};
$scope.dataSet = [{
api: "deal_group/id",
dataSend: {},
dataArray: [],
dataSendState: {
load: false,
done: false
}
}];
$scope.timeFunctiond = function() {
var timeFunctiond = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
/* console.log(component, name, data); */
});
},
locationUrl: function(template, data) {
$location.url(template + data).replace();
},
momentUnix: function(callback) {
var now = moment().unix();
callback(now);
},
countdown: function(number, countdown, callback) {
var _self = this;
var timeCountdown = countdown.end - countdown.now;
var duration = moment.duration(timeCountdown * 1000, "milliseconds");
if (timeCountdown > 0) {
callback(number, duration, true);
} else {
callback(number, duration, false);
}
},
countdownArray: function(now, countdown, callback) {
var _self = this;
if (countdown.length != 0) {
countdown.now = now;
_self.countdown(0, countdown, function(number, duration, show) {
countdown.day = (duration.days() <= 9) ? '0' + duration.days() : duration.days();
countdown.month = (duration.months() <= 9) ? '0' + duration.months() : duration.months();
countdown.year = (duration.years() <= 9) ? '0' + duration.years() : duration.years();
countdown.hours = (duration.hours() <= 9) ? '0' + duration.hours() : duration.hours();
countdown.minutes = (duration.minutes() <= 9) ? '0' + duration.minutes() : duration.minutes();
countdown.seconds = (duration.seconds() <= 9) ? '0' + duration.seconds() : duration.seconds();
countdown.show = show;
});
callback(countdown);
} else {
callback(countdown);
}
},
loopTime: function() {
var _self = this;
var timeout_promise = $timeout(function() {
_self.momentUnix(function(now) {
_self.countdownArray(now, $scope.countdown, function(countdownArray) {
if (!countdownArray.show) {
_self.locationUrl('home', '');
}
$scope.countdown = countdownArray;
_self.loopTime();
});
});
}, 1000);
}
}
return timeFunctiond;
};
$scope.timeFunctiond().loopTime();
$scope.getFunction = function() {
var getFunction = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
console.log(component, name, data);
});
},
titleUrl: function(str) {
var url = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return url;
},
locationUrl: function(template, data) {
$location.url(template + data).replace();
},
getRouteParams: function(callback) {
var params = $routeParams;
callback(params);
},
getDealId: function(callback) {
var _self = this;
_self.getRouteParams(function(params) {
var deal_id = params.deal_id.split("-", 1).join("");
callback(deal_id)
});
},
stateData: function(loadIn, doneIn) {
var _self = this;
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
_self.consoleLog("stateData : loadIn : ", loadIn);
_self.consoleLog("stateData : doneIn : ", doneIn);
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
var state = {
load: loadIn,
done: doneIn
};
return state;
},
dataSend: function(api, dataSend, callback) {
var _self = this;
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
_self.consoleLog("dataSend : api : ", api);
_self.consoleLog("dataSend : dataSend : ", dataSend);
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
callback(api, dataSend);
},
getApiOk: function(output, callback) {
var _self = this;
var output_ok = [];
if (output.ok == 1) {
output_ok = output;
}
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
_self.consoleLog("getApiOk : output_ok : ", output_ok);
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
callback(output_ok);
},
getApi: function(api, dataSend, callback) {
var _self = this;
GAEAPI.get(api, dataSend, $scope).then(function(output) {
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getApi : api : ", api);
_self.consoleLog("getApi : dataSend : ", dataSend);
_self.consoleLog("getApi : output : ", output);
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.getApiOk(output, function(output) {
callback(output);
});
});
},
dataCountdown: function(output, callback) {
var _self = this;
var countdownObject = {
now: 0,
state: output.deal_group_lifetime.lifetime_start_time,
end: output.deal_group_lifetime.lifetime_end_time,
day: 0,
month: 0,
year: 0,
hours: 0,
minutes: 0,
seconds: 0,
show: false
};
$scope.countdown = countdownObject;
callback(output);
},
main: function() {
var _self = this;
_self.getDealId(function(deal_id) {
$scope.dataSet[0].dataSendState = $scope.getFunction().stateData(true, false);
$scope.dataSet[0].dataSend = {
'txt_product_id': deal_id
}
_self.dataSend($scope.dataSet[0].api, $scope.dataSet[0].dataSend, function(api, dataSend) {
_self.getApi(api, dataSend, function(output) {
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getRouteParams : dataSend : getApi : ", output);
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.dataCountdown(output.data, function(output) {
setTimeout(function() {
$scope.dataSet[0].dataArray = output;
$scope.dataSet[0].dataSendState = $scope.getFunction().stateData(false, true);
}, 1000);
});
});
});
});
}
}
return getFunction;
};
$scope.getFunction().main();
};
return promise;
});_ui_share_app.directive('componentFlashSaleIdTypeA', function($rootScope, $routeParams, $location) {
var templateName = 'componentFlashSaleIdTypeA';
var componentMain = 'componentFlashSale';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
dealgroupid: '=dealgroupid',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'topic_top': '?topicTop',
'topic_more': '?topicMore',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.component = "componentFlashSaleIdTypeA : ";
/*
api : 'deal_group/lists'
txt_sortby : {
'product_lastest_create' ,
'product_oldest_create' ,
'product_title_a-z' ,
'product_title_z-a' ,
'root_category_index_asc' ,
'root_category_index_desc' ,
}
*/
$scope.dataSet = [{
api: "deal_group/id",
dataSend: {},
dataArray: [],
dataSendState: {
load: false,
done: false
}
}];
$scope.getFunction = function() {
var getFunction = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
/* console.log(component, name, data); */
});
},
titleUrl: function(str) {
var url = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return url;
},
locationUrl: function(template, data) {
$location.url(template + data).replace();
},
getRouteParams: function(callback) {
var params = $routeParams;
callback(params);
},
stateData: function(loadIn, doneIn) {
var _self = this;
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
_self.consoleLog("stateData : loadIn : ", loadIn);
_self.consoleLog("stateData : doneIn : ", doneIn);
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
var state = {
load: loadIn,
done: doneIn
};
return state;
},
dataSend: function(api, dataSend, callback) {
var _self = this;
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
_self.consoleLog("dataSend : api : ", api);
_self.consoleLog("dataSend : dataSend : ", dataSend);
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
callback(api, dataSend);
},
getApiOk: function(output, callback) {
var _self = this;
var output_ok = [];
if (output.ok == 1) {
output_ok = output;
}
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
_self.consoleLog("getApiOk : output_ok : ", output_ok);
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
callback(output_ok);
},
getApi: function(api, dataSend, callback) {
var _self = this;
GAEAPI.get(api, dataSend, $scope).then(function(output) {
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getApi : api : ", api);
_self.consoleLog("getApi : dataSend : ", dataSend);
_self.consoleLog("getApi : output : ", output);
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.getApiOk(output, function(output) {
callback(output);
});
});
},
main: function() {
var _self = this;
$scope.dataSet[0].dataSendState = $scope.getFunction().stateData(true, false);
$scope.dataSet[0].dataSend = {
'txt_product_id': $scope.dealgroupid
}
_self.dataSend($scope.dataSet[0].api, $scope.dataSet[0].dataSend, function(api, dataSend) {
_self.getApi(api, dataSend, function(output) {
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getRouteParams : dataSend : getApi : ", output);
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
$scope.dataSet[0].dataArray = output.data;
setTimeout(function() {
$scope.dataSet[0].dataSendState = $scope.getFunction().stateData(false, true);
}, 1000);
});
});
}
}
return getFunction;
};
$scope.getFunction().main();
};
return promise;
});_ui_share_app.directive('componentFlashSaleIdTypeB', function($rootScope, $routeParams, $location) {
var templateName = 'componentFlashSaleIdTypeB';
var componentMain = 'componentFlashSale';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
dealgroupid: '=dealgroupid',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'topic_top': '?topicTop',
'topic_more': '?topicMore',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.component = "componentFlashSaleIdTypeB : ";
/*
api : 'deal_group/lists'
txt_sortby : {
'product_lastest_create' ,
'product_oldest_create' ,
'product_title_a-z' ,
'product_title_z-a' ,
'root_category_index_asc' ,
'root_category_index_desc' ,
}
*/
$scope.dataSet = [{
api: "deal_group/id",
dataSend: {},
dataArray: [],
dataSendState: {
load: false,
done: false
}
}];
$scope.getFunction = function() {
var getFunction = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
/* console.log(component, name, data); */
});
},
titleUrl: function(str) {
var url = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return url;
},
locationUrl: function(template, data) {
$location.url(template + data).replace();
},
getRouteParams: function(callback) {
var params = $routeParams;
callback(params);
},
stateData: function(loadIn, doneIn) {
var _self = this;
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
_self.consoleLog("stateData : loadIn : ", loadIn);
_self.consoleLog("stateData : doneIn : ", doneIn);
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
var state = {
load: loadIn,
done: doneIn
};
return state;
},
dataSend: function(api, dataSend, callback) {
var _self = this;
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
_self.consoleLog("dataSend : api : ", api);
_self.consoleLog("dataSend : dataSend : ", dataSend);
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
callback(api, dataSend);
},
getApiOk: function(output, callback) {
var _self = this;
var output_ok = [];
if (output.ok == 1) {
output_ok = output;
}
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
_self.consoleLog("getApiOk : output_ok : ", output_ok);
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
callback(output_ok);
},
getApi: function(api, dataSend, callback) {
var _self = this;
GAEAPI.get(api, dataSend, $scope).then(function(output) {
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getApi : api : ", api);
_self.consoleLog("getApi : dataSend : ", dataSend);
_self.consoleLog("getApi : output : ", output);
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.getApiOk(output, function(output) {
callback(output);
});
});
},
main: function() {
var _self = this;
$scope.dataSet[0].dataSendState = $scope.getFunction().stateData(true, false);
$scope.dataSet[0].dataSend = {
'txt_product_id': $scope.dealgroupid
}
_self.dataSend($scope.dataSet[0].api, $scope.dataSet[0].dataSend, function(api, dataSend) {
_self.getApi(api, dataSend, function(output) {
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getRouteParams : dataSend : getApi : ", output);
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
$scope.dataSet[0].dataArray = output.data;
setTimeout(function() {
$scope.dataSet[0].dataSendState = $scope.getFunction().stateData(false, true);
}, 1000);
});
});
}
}
return getFunction;
};
$scope.getFunction().main();
};
return promise;
});_ui_share_app.directive('componentFlashSaleListsTypeA', function($rootScope, $routeParams, $location) {
var templateName = 'componentFlashSaleListsTypeA';
var componentMain = 'componentFlashSale';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.component = "componentFlashSaleListsTypeA : ";
/*
api : 'deal_group/lists'
txt_sortby : {
'product_lastest_create' ,
'product_oldest_create' ,
'product_title_a-z' ,
'product_title_z-a' ,
'root_category_index_asc' ,
'root_category_index_desc' ,
}
*/
$scope.countdown = [];
$scope.dataSet = [{
api: "deal_group/lists",
dataSend: {},
dataArray: [],
dataSendState: {
load: false,
done: false
}
}];
$scope.timeFunctiond = function() {
var timeFunctiond = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
/* console.log(component, name, data); */
});
},
momentUnix: function(callback) {
var now = moment().unix();
callback(now);
},
countdown: function(number, countdown, callback) {
var _self = this;
var timeCountdown = countdown.end - countdown.now;
var duration = moment.duration(timeCountdown * 1000, "milliseconds");
if (timeCountdown > 0) {
callback(number, duration, true);
} else {
callback(number, duration, false);
}
},
countdownArray: function(now, countdown, callback) {
var _self = this;
if (countdown.length != 0) {
for (var i = 0; i < countdown.length; i++) {
countdown[i].now = now;
_self.countdown(i, countdown[i], function(number, duration, show) {
countdown[number].day = (duration.days() <= 9) ? '0' + duration.days() : duration.days();
countdown[number].month = (duration.months() <= 9) ? '0' + duration.months() : duration.months();
countdown[number].year = (duration.years() <= 9) ? '0' + duration.years() : duration.years();
countdown[number].hours = (duration.hours() <= 9) ? '0' + duration.hours() : duration.hours();
countdown[number].minutes = (duration.minutes() <= 9) ? '0' + duration.minutes() : duration.minutes();
countdown[number].seconds = (duration.seconds() <= 9) ? '0' + duration.seconds() : duration.seconds();
countdown[number].show = show;
if ((i + 1) == countdown.length) {
callback(countdown);
}
});
}
} else {
callback(countdown);
}
},
loopTime: function() {
var _self = this;
var timeout_promise = $timeout(function() {
_self.momentUnix(function(now) {
_self.countdownArray(now, $scope.countdown, function(countdownArray) {
$scope.countdown = countdownArray;
_self.loopTime();
});
});
}, 1000);
}
}
return timeFunctiond;
};
$scope.timeFunctiond().loopTime();
$scope.getFunction = function() {
var getFunction = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
console.log(component, name, data);
});
},
titleUrl: function(str) {
var url = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return url;
},
locationUrl: function(template, id, title) {
var _self = this;
title = _self.titleUrl(title);
$location.url(template + '/' + id + '-' + title).replace();
},
getRouteParams: function(callback) {
var params = $routeParams;
callback(params);
},
momentUnix: function(callback) {
var now = moment().unix();
callback(now);
},
stateData: function(loadIn, doneIn) {
var _self = this;
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
_self.consoleLog("stateData : loadIn : ", loadIn);
_self.consoleLog("stateData : doneIn : ", doneIn);
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
var state = {
load: loadIn,
done: doneIn
};
return state;
},
dataSend: function(api, dataSend, callback) {
var _self = this;
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
_self.consoleLog("dataSend : api : ", api);
_self.consoleLog("dataSend : dataSend : ", dataSend);
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
callback(api, dataSend);
},
getApiOk: function(output, callback) {
var _self = this;
var output_ok = [];
if (output.ok == 1) {
output_ok = output;
}
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
_self.consoleLog("getApiOk : output_ok : ", output_ok);
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
callback(output_ok);
},
getApi: function(api, dataSend, callback) {
var _self = this;
GAEAPI.get(api, dataSend, $scope).then(function(output) {
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getApi : api : ", api);
_self.consoleLog("getApi : dataSend : ", dataSend);
_self.consoleLog("getApi : output : ", output);
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.getApiOk(output, function(output) {
callback(output);
});
});
},
dataCountdown: function(output, callback) {
var _self = this;
if (output.data.dataList.length != 0) {
for (i = 0; i < output.data.dataList.length; i++) {
var countdownObject = {
now: 0,
state: output.data.dataList[i].deal_group_lifetime.lifetime_start_time,
end: output.data.dataList[i].deal_group_lifetime.lifetime_end_time,
day: 0,
month: 0,
year: 0,
hours: 0,
minutes: 0,
seconds: 0,
show: false
};
$scope.countdown.push(countdownObject);
_self.consoleLog("getRouteParams : dataCountdown : i : ", i);
if ((i + 1) == output.data.dataList.length) {
callback(output);
}
}
} else {
callback(output);
}
},
main: function() {
var _self = this;
_self.momentUnix(function(now) {
$scope.dataSet[0].dataSendState = _self.stateData(true, false);
var filter_json = {}
$scope.dataSet[0].dataSend = {
'cur_page': 1,
'per_page': 100,
'txt_lifetime_from': now,
'txt_lifetime_to': 0,
'txt_sortby': 'product_lastest_create',
'txt_filter_json': JSON.stringify(filter_json)
}
_self.dataSend($scope.dataSet[0].api, $scope.dataSet[0].dataSend, function(api, dataSend) {
_self.getApi(api, dataSend, function(output) {
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getRouteParams : dataSend : getApi : ", output);
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.dataCountdown(output, function(output) {
$scope.dataSet[0].dataArray = output;
$scope.dataSet[0].dataSendState = _self.stateData(false, true);
});
});
});
});
}
}
return getFunction;
};
$scope.getFunction().main();
};
return promise;
});_ui_share_app.directive('componentFlashSaleListsTypeB', function($rootScope, $routeParams, $location) {
var templateName = 'componentFlashSaleListsTypeB';
var componentMain = 'componentFlashSale';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.transclude = {
'topic_top_main': '?topicTopMain',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.component = "componentFlashSaleListsTypeB : ";
/*
api : 'deal_group/lists'
txt_sortby : {
'product_lastest_create' ,
'product_oldest_create' ,
'product_title_a-z' ,
'product_title_z-a' ,
'root_category_index_asc' ,
'root_category_index_desc' ,
}
*/
$scope.countdown = [];
$scope.dataSet = [{
api: "deal_group/lists",
dataSend: {},
dataArray: [],
dataSendState: {
load: false,
done: false
}
}];
$scope.timeFunctiond = function() {
var timeFunctiond = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
/* console.log(component, name, data); */
});
},
momentUnix: function(callback) {
var now = moment().unix();
callback(now);
},
countdown: function(number, countdown, callback) {
var _self = this;
var timeCountdown = countdown.end - countdown.now;
var duration = moment.duration(timeCountdown * 1000, "milliseconds");
if (timeCountdown > 0) {
callback(number, duration, true);
} else {
callback(number, duration, false);
}
},
countdownArray: function(now, countdown, callback) {
var _self = this;
if (countdown.length != 0) {
for (var i = 0; i < countdown.length; i++) {
countdown[i].now = now;
_self.countdown(i, countdown[i], function(number, duration, show) {
countdown[number].day = (duration.days() <= 9) ? '0' + duration.days() : duration.days();
countdown[number].month = (duration.months() <= 9) ? '0' + duration.months() : duration.months();
countdown[number].year = (duration.years() <= 9) ? '0' + duration.years() : duration.years();
countdown[number].hours = (duration.hours() <= 9) ? '0' + duration.hours() : duration.hours();
countdown[number].minutes = (duration.minutes() <= 9) ? '0' + duration.minutes() : duration.minutes();
countdown[number].seconds = (duration.seconds() <= 9) ? '0' + duration.seconds() : duration.seconds();
countdown[number].show = show;
if ((i + 1) == countdown.length) {
callback(countdown);
}
});
}
} else {
callback(countdown);
}
},
loopTime: function() {
var _self = this;
var timeout_promise = $timeout(function() {
_self.momentUnix(function(now) {
_self.countdownArray(now, $scope.countdown, function(countdownArray) {
$scope.countdown = countdownArray;
_self.loopTime();
});
});
}, 1000);
}
}
return timeFunctiond;
};
$scope.timeFunctiond().loopTime();
$scope.getFunction = function() {
var getFunction = {
component: function(callback) {
var component = $scope.component;
callback(component);
},
consoleLog: function(name, data) {
var _self = this;
_self.component(function(component) {
console.log(component, name, data);
});
},
titleUrl: function(str) {
var url = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return url;
},
locationUrl: function(template, id, title) {
var _self = this;
title = _self.titleUrl(title);
$location.url(template + '/' + id + '-' + title).replace();
},
getRouteParams: function(callback) {
var params = $routeParams;
callback(params);
},
momentUnix: function(callback) {
var now = moment().unix();
callback(now);
},
stateData: function(loadIn, doneIn) {
var _self = this;
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
_self.consoleLog("stateData : loadIn : ", loadIn);
_self.consoleLog("stateData : doneIn : ", doneIn);
_self.consoleLog("stateData : ", "----------------------------------- stateData -----------------------------------");
var state = {
load: loadIn,
done: doneIn
};
return state;
},
dataSend: function(api, dataSend, callback) {
var _self = this;
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
_self.consoleLog("dataSend : api : ", api);
_self.consoleLog("dataSend : dataSend : ", dataSend);
_self.consoleLog("dataSend : ", "----------------------------------- dataSend -----------------------------------");
callback(api, dataSend);
},
getApiOk: function(output, callback) {
var _self = this;
var output_ok = [];
if (output.ok == 1) {
output_ok = output;
}
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
_self.consoleLog("getApiOk : output_ok : ", output_ok);
_self.consoleLog("getApiOk : ", "----------------------------------- getApiOk -----------------------------------");
callback(output_ok);
},
getApi: function(api, dataSend, callback) {
var _self = this;
GAEAPI.get(api, dataSend, $scope).then(function(output) {
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getApi : api : ", api);
_self.consoleLog("getApi : dataSend : ", dataSend);
_self.consoleLog("getApi : output : ", output);
_self.consoleLog("getApi : ", "----------------------------------- getApi -----------------------------------");
_self.getApiOk(output, function(output) {
callback(output);
});
});
},
dataCountdownUse: function(output, callback) {
var use = (output.length > 0) ? true : false;
callback(use);
},
dataCountdown: function(output, callback) {
var _self = this;
if (output.data.dataList.length != 0) {
for (i = 0; i < output.data.dataList.length; i++) {
var countdownObject = {
now: 0,
state: output.data.dataList[i].deal_group_lifetime.lifetime_start_time,
end: output.data.dataList[i].deal_group_lifetime.lifetime_end_time,
day: 0,
month: 0,
year: 0,
hours: 0,
minutes: 0,
seconds: 0,
show: false
};
$scope.countdown.push(countdownObject);
_self.consoleLog("getRouteParams : dataCountdown : i : ", i);
if ((i + 1) == output.data.dataList.length) {
callback(output);
}
}
} else {
callback(output);
}
},
main: function() {
var _self = this;
_self.momentUnix(function(now) {
$scope.dataSet[0].dataSendState = _self.stateData(true, false);
var filter_json = {}
$scope.dataSet[0].dataSend = {
'cur_page': 1,
'per_page': 100,
'txt_lifetime_from': now,
'txt_lifetime_to': 0,
'txt_sortby': 'product_lastest_create',
'txt_filter_json': JSON.stringify(filter_json)
}
_self.dataSend($scope.dataSet[0].api, $scope.dataSet[0].dataSend, function(api, dataSend) {
_self.getApi(api, dataSend, function(output) {
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.consoleLog("getRouteParams : dataSend : getApi : ", output);
_self.consoleLog("getRouteParams : dataSend : getApi : ", "----------------------------------- getApi -----------------------------------");
_self.dataCountdownUse(output, function(res_use) {
if (res_use) {
_self.dataCountdown(output, function(output) {
$scope.dataSet[0].dataArray = output;
});
}
$scope.dataSet[0].dataSendState = _self.stateData(false, true);
});
});
});
});
}
}
return getFunction;
};
$scope.getFunction().main();
};
return promise;
});/*_ui_share_app.directive('componentFooter', function($rootScope, $routeParams) {
var templateName = 'componentFooter';
var templatePathUrl = _ui_share_host + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
id: '=',
background: '@',
primary: '@',
secondary: '@',
name: '@name',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = true;
promise.controller = function($scope, $timeout, $interval, $q, $window) {};
return promise;
});*/
_ui_share_app.factory('$componentFooter', function componentFooter($routeParams, $timeout) {
return
});_ui_share_app.directive('componentFooterD', function($rootScope, $routeParams) {
var templateName = 'componentFooterD';
var componentMain = 'componentFooter';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
background_: '@background',
color_: '@color',
color_hover: '@colorhover',
size_social: '@sizesocial',
icnt_icon: '@icnticon',
icon_: '@icon',
icon_hover: '@iconhover',
icnt_icon_hover: '@icnticonhover',
imgPath: '@imgPath',
imglogo: '@imglogo',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'footer_one': '?footerOne',
'footer_two': '?footerTwo',
'footer_three': '?footerThree',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
if ($scope.size_social == undefined || $scope.size_social == 'null') {
$scope.size_social = '30px';
}
if ($scope.icnt_icon == undefined || $scope.icnt_icon == 'null') {
$scope.icnt_icon = 'icnt_outline_';
}
if ($scope.icon_ == undefined || $scope.icon_ == 'null') {
$scope.icon_ = '01_grey2@2x';
}
if ($scope.icnt_icon_hover == undefined || $scope.icnt_icon_hover == 'null') {
$scope.icnt_icon_hover = 'icnt_fill_';
}
if ($scope.icon_hover == undefined || $scope.icon_hover == 'null') {
$scope.icon_hover = '01_grey2@2x';
}
/*alert("Foter" + " : " + $scope.size_social + " : " + $scope.icnt_icon + " : " + $scope.icon_ + " : " + $scope.icnt_icon_hover + " : " + $scope.icon_hover);*/
};
return promise;
});_ui_share_app.directive('componentFooterE', function($rootScope, $routeParams) {
var templateName = 'componentFooterE';
var componentMain = 'componentFooter';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
background_: '@background',
color_: '@color',
color_hover: '@colorhover',
size_social: '@sizesocial',
icnt_icon: '@icnticon',
icon_: '@icon',
icon_hover: '@iconhover',
icnt_icon_hover: '@icnticonhover',
imgPath: '@imgPath',
imglogo: '@imglogo',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'footer_one': '?footerOne',
'footer_two': '?footerTwo',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
if ($scope.size_social == undefined || $scope.size_social == 'null') {
$scope.size_social = '40px';
}
if ($scope.icnt_icon == undefined || $scope.icnt_icon == 'null') {
$scope.icnt_icon = 'icnt_outline_';
}
if ($scope.icon_ == undefined || $scope.icon_ == 'null') {
$scope.icon_ = '01_grey2@2x';
}
if ($scope.icnt_icon_hover == undefined || $scope.icnt_icon_hover == 'null') {
$scope.icnt_icon_hover = 'icnt_fill_';
}
if ($scope.icon_hover == undefined || $scope.icon_hover == 'null') {
$scope.icon_hover = '01_grey2@2x';
}
/*alert("Foter" + " : " + $scope.size_social + " : " + $scope.icnt_icon + " : " + $scope.icon_ + " : " + $scope.icnt_icon_hover + " : " + $scope.icon_hover);*/
};
return promise;
});_ui_share_app.directive('componentFooterFourColumn', function($rootScope, $routeParams) {
var templateName = 'componentFooterFourColumn';
var componentMain = 'componentFooter';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
backgroundclass_: '@backgroundclass',
background_: '@background',
headline_: '@headline',
color_: '@color',
color_hover: '@colorhover',
size_social: '@sizesocial',
icnt_icon: '@icnticon',
icon_: '@icon',
icon_hover: '@iconhover',
icnt_icon_hover: '@icnticonhover',
imgPath: '@imgPath',
imglogo: '@imglogo',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'footer_one': '?footerOne',
'footer_two': '?footerTwo',
'footer_three': '?footerThree',
'footer_four': '?footerFour',
'footer_bottom': '?footerBottom',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
if ($scope.size_social == undefined || $scope.size_social == 'null') {
$scope.size_social = '40px';
}
if ($scope.icnt_icon == undefined || $scope.icnt_icon == 'null') {
$scope.icnt_icon = 'icnt_outline_';
}
if ($scope.icon_ == undefined || $scope.icon_ == 'null') {
$scope.icon_ = '01_grey2@2x';
}
if ($scope.icnt_icon_hover == undefined || $scope.icnt_icon_hover == 'null') {
$scope.icnt_icon_hover = 'icnt_fill_';
}
if ($scope.icon_hover == undefined || $scope.icon_hover == 'null') {
$scope.icon_hover = '01_grey2@2x';
}
/*alert("Foter" + " : " + $scope.size_social + " : " + $scope.icnt_icon + " : " + $scope.icon_ + " : " + $scope.icnt_icon_hover + " : " + $scope.icon_hover);*/
};
return promise;
});_ui_share_app.directive('componentFooterOneColumn', function($rootScope, $routeParams) {
var templateName = 'componentFooterOneColumn';
var componentMain = 'componentFooter';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
background_: '@background',
headline_: '@headline',
color_: '@color',
color_hover: '@colorhover',
size_social: '@sizesocial',
icnt_icon: '@icnticon',
icon_: '@icon',
icon_hover: '@iconhover',
icnt_icon_hover: '@icnticonhover',
imgPath: '@imgPath',
imglogo: '@imglogo',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'footer_one': '?footerOne',
'footer_two': '?footerTwo',
'footer_three': '?footerThree',
'footer_bottom': '?footerBottom',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
if ($scope.size_social == undefined || $scope.size_social == 'null') {
$scope.size_social = '40px';
}
if ($scope.icnt_icon == undefined || $scope.icnt_icon == 'null') {
$scope.icnt_icon = 'icnt_outline_';
}
if ($scope.icon_ == undefined || $scope.icon_ == 'null') {
$scope.icon_ = '01_grey2@2x';
}
if ($scope.icnt_icon_hover == undefined || $scope.icnt_icon_hover == 'null') {
$scope.icnt_icon_hover = 'icnt_fill_';
}
if ($scope.icon_hover == undefined || $scope.icon_hover == 'null') {
$scope.icon_hover = '01_grey2@2x';
}
/*alert("Foter" + " : " + $scope.size_social + " : " + $scope.icnt_icon + " : " + $scope.icon_ + " : " + $scope.icnt_icon_hover + " : " + $scope.icon_hover);*/
};
return promise;
});_ui_share_app.directive('componentFooterSocialnetworkA', function($rootScope, $routeParams) {
var templateName = 'componentFooterSocialnetworkA';
var componentMain = 'componentFooter';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
name: '@name',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'footer_right': '?footerRight',
'footer_left': '?footerLeft',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.icnPath = CUR_THEME.file_url() + '../../assets/';
$scope.data = [];
$scope.dataArray = [];
$scope.line_friends = [];
$scope.getShopCurrent = function() {
GAEAPI.get('shop/current', [], $scope).then(function(e) {
if (e.ok === 1) {
$scope.data = e.data;
angular.forEach(e.data.shop_extend_data, function(i, key) {
var obJect = $scope.buildSocialItemObject(key, i);
$scope.dataArray.push(obJect);
});
}
});
};
$scope.getShopCurrent();
$scope.buildSocialItemObject = function(socialName, socialValue) {
var nameSplit = socialName.split("_");
var promiseObject = {
'txt_social_name': nameSplit[0],
'txt_social_full_name': socialName,
'txt_social_value_name': socialValue,
'txt_social_value': socialValue || ''
};
if (socialName.indexOf('line_url') != -1) {
if (promiseObject.txt_social_value != "") {
if (promiseObject.txt_social_value.indexOf('@') !== -1 || promiseObject.txt_social_value.indexOf('%40')) {
var n = promiseObject.txt_social_value.replace('@', '%40');
promiseObject.txt_social_value = 'http://line.me/ti/p/' + n;
} else {
promiseObject.txt_social_value = 'http://line.me/ti/p/~' + promiseObject.txt_social_value;
}
$scope.line_friends[0] = promiseObject;
} else {
promiseObject.txt_social_value = '';
}
}
return promiseObject;
};
$scope.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);
};
$scope.showDebug = function() {
return (typeof $routeParams.debug !== 'undefined') ? true : false;
};
};
return promise;
});_ui_share_app.directive('componentFooterThreeColumn', function($rootScope, $routeParams) {
var templateName = 'componentFooterThreeColumn';
var componentMain = 'componentFooter';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
background_: '@background',
headline_: '@headline',
color_: '@color',
color_hover: '@colorhover',
size_social: '@sizesocial',
icnt_icon: '@icnticon',
icon_: '@icon',
icon_hover: '@iconhover',
icnt_icon_hover: '@icnticonhover',
imgPath: '@imgPath',
imglogo: '@imglogo',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'footer_one': '?footerOne',
'footer_two': '?footerTwo',
'footer_three': '?footerThree',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
if ($scope.size_social == undefined || $scope.size_social == 'null') {
$scope.size_social = '40px';
}
if ($scope.icnt_icon == undefined || $scope.icnt_icon == 'null') {
$scope.icnt_icon = 'icnt_outline_';
}
if ($scope.icon_ == undefined || $scope.icon_ == 'null') {
$scope.icon_ = '01_grey2@2x';
}
if ($scope.icnt_icon_hover == undefined || $scope.icnt_icon_hover == 'null') {
$scope.icnt_icon_hover = 'icnt_fill_';
}
if ($scope.icon_hover == undefined || $scope.icon_hover == 'null') {
$scope.icon_hover = '01_grey2@2x';
}
/*alert("Foter" + " : " + $scope.size_social + " : " + $scope.icnt_icon + " : " + $scope.icon_ + " : " + $scope.icnt_icon_hover + " : " + $scope.icon_hover);*/
};
return promise;
});_ui_share_app.directive('componentFooterTwoColumn', function($rootScope, $routeParams) {
var templateName = 'componentFooterTwoColumn';
var componentMain = 'componentFooter';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
background_: '@background',
headline_: '@headline',
color_: '@color',
color_hover: '@colorhover',
size_social: '@sizesocial',
icnt_icon: '@icnticon',
icon_: '@icon',
icon_hover: '@iconhover',
icnt_icon_hover: '@icnticonhover',
imgPath: '@imgPath',
imglogo: '@imglogo',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'footer_one': '?footerOne',
'footer_two': '?footerTwo',
};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
if ($scope.size_social == undefined || $scope.size_social == 'null') {
$scope.size_social = '40px';
}
if ($scope.icnt_icon == undefined || $scope.icnt_icon == 'null') {
$scope.icnt_icon = 'icnt_outline_';
}
if ($scope.icon_ == undefined || $scope.icon_ == 'null') {
$scope.icon_ = '01_grey2@2x';
}
if ($scope.icnt_icon_hover == undefined || $scope.icnt_icon_hover == 'null') {
$scope.icnt_icon_hover = 'icnt_fill_';
}
if ($scope.icon_hover == undefined || $scope.icon_hover == 'null') {
$scope.icon_hover = '01_grey2@2x';
}
/*alert("Foter" + " : " + $scope.size_social + " : " + $scope.icnt_icon + " : " + $scope.icon_ + " : " + $scope.icnt_icon_hover + " : " + $scope.icon_hover);*/
};
return promise;
});_ui_share_app.directive('componentFooterShowblog', function($rootScope, $routeParams) {
var componentMain = 'componentFooter';
var componentChild = 'showblog';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + componentChild + '/' + componentChild + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
color_: '@color',
color_hover: '@colorhover',
color_active: '@coloractive',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.data = false;
$scope.getBloglists = function() {
var dataSend = {
'cur_page': 1,
'per_page': 100
};
GAEAPI.get('blog/lists', dataSend, $scope).then(function(e) {
if (e.ok === 1) {
$scope.data = e.data.dataList;
}
});
};
$scope.getBloglists();
};
return promise;
});_ui_share_app.directive('componentFooterShowbrand', function($rootScope, $routeParams) {
var componentMain = 'componentFooter';
var componentChild = 'showbrand';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + componentChild + '/' + componentChild + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
color_: '@color',
color_hover: '@colorhover',
color_active: '@coloractive',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.data = [];
$scope.getBrandlists = function() {
var dataSend = {
'txt_referral_type_id': 12,
'cur_page': 1,
'per_page': 100,
'txt_sortby': 'referral_lastest_create',
};
GAEAPI.get('referral/map', dataSend, $scope).then(function(e) {
if (e.ok === 1) {
$scope.data = e.data;
}
});
};
$scope.getBrandlists();
};
return promise;
});_ui_share_app.directive('componentFooterShowcontact', function($rootScope, $routeParams) {
var componentMain = 'componentFooter';
var componentChild = 'showcontact';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + componentChild + '/' + componentChild + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
introtext: '@introtext',
contactname: '@contactname',
address: '@address',
phone: '@phone',
fax: '@fax',
textfax: '@textfax',
email: '@email',
color_: '@color',
color_hover: '@colorhover',
color_active: '@coloractive',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope._introtext = (typeof $scope.introtext !== 'undefined' && $scope.introtext !== '') ? $scope.introtext : 'show';
$scope._contactname = (typeof $scope.contactname !== 'undefined' && $scope.contactname !== '') ? $scope.contactname : 'show';
$scope._address = (typeof $scope.address !== 'undefined' && $scope.address !== '') ? $scope.address : 'show';
$scope._phone = (typeof $scope.phone !== 'undefined' && $scope.phone !== '') ? $scope.phone : 'show';
$scope._fax = (typeof $scope.fax !== 'undefined' && $scope.fax !== '') ? $scope.fax : 'show';
$scope._textfax = (typeof $scope.textfax !== 'undefined') ? $scope.textfax : 'Fax: ';
$scope._email = (typeof $scope.email !== 'undefined' && $scope.email !== '') ? $scope.email : 'show';
$scope.data = false;
$scope.copyRightTxt = '';
$scope.getShopCurrent = function() {
GAEAPI.get('shop/current', [], $scope).then(function(e) {
if (e.ok === 1) {
$scope.data = e.data;
var datetime = new Date();
var year = datetime.getFullYear();
$scope.copyRightTxt = '© ' + year + ' ' + $scope.data.shop_name;
console.log("FootershopCurrent", $scope.data);
}
});
};
$scope.getShopCurrent();
$scope.displayTelCode = function(telString) {
if (telString != 'undefined') {
if (telString.indexOf("-")) {
var a = telString.split("-");
var b = a.join("").trim();
} else {
var b = telString.trim();
}
return b.substr(1, b.length);
} else {
return 0;
}
};
$scope.checkSeo = function() {
return (GURL.isHtml5Mode()) ? true : false;
};
$scope.toTop = function() {
$timeout(function() {
$('html,body').animate({
scrollTop: 0
}, 'slow');
}, 100);
};
};
return promise;
});_ui_share_app.directive('componentFooterShowcopyright', function($rootScope, $routeParams) {
var componentMain = 'componentFooter';
var componentChild = 'showcopyright';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + componentChild + '/' + componentChild + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
location_: '@location',
color_: '@color',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.data = false;
$scope.copyRightTxt = '';
$scope.getShopCurrent = function() {
GAEAPI.get('shop/current', [], $scope).then(function(e) {
if (e.ok === 1) {
$scope.data = e.data;
var datetime = new Date();
var year = datetime.getFullYear();
$scope.copyRightTxt = '© ' + year + ' ' + $scope.data.shop_display_name;
console.log("FootershopCurrent", $scope.copyRightTxt);
}
});
};
$scope.getShopCurrent();
};
return promise;
});_ui_share_app.directive('componentFooterShowlogo', function($rootScope, $routeParams) {
var componentMain = 'componentFooter';
var componentChild = 'showlogo';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + componentChild + '/' + componentChild + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
imglogo_: '@imglogo'
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.data = false;
$scope.getShopCurrent = function() {
GAEAPI.get('shop/current', [], $scope).then(function(e) {
if (e.ok === 1) {
$scope.data = e.data;
console.log("FootershopLogo", $scope.data);
angular.forEach(e.data.shop_logo, function(i, key) {
$scope.ItemObject(key, i);
});
}
});
};
$scope.getShopCurrent();
$scope.datalogo = false;
$scope.ItemObject = function(iconName, iconValue) {
var nameSplit = iconName.split("_");
if ($scope.imglogo_ == nameSplit[1]) {
if (iconValue.length != 0) {
console.log("FootershopLogo : $scope.imglogo_ : ", $scope.imglogo_);
$scope.datalogo = iconValue[0].image_url;
} else {
$scope.datalogo = 'https://themedefault.getappeasy.com/extensions/themes/gae_default301/staticfiles/images/logo@2x.png';
}
}
}
$scope.showDebug = function() {
return (typeof $routeParams.debugfooter !== 'undefined') ? true : false;
};
};
return promise;
});_ui_share_app.directive('componentFooterShowmaincategory', function($rootScope, $routeParams) {
var componentMain = 'componentFooter';
var componentChild = 'showmaincategory';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + componentChild + '/' + componentChild + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
color_: '@color',
color_hover: '@colorhover',
color_active: '@coloractive',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.data = [];
$scope.getCategorylists = function() {
var option = {};
option.badge_id_array = [18];
var dataSend = {
'txt_referral_type_id': 11,
'txt_filter_json': JSON.stringify(option)
};
GAEAPI.get('referral/map', dataSend, $scope).then(function(e) {
if (e.ok === 1) {
$scope.data = e.data;
}
});
};
$scope.getCategorylists();
};
return promise;
});_ui_share_app.directive('componentFooterShowmaincategoryfull', function($rootScope, $routeParams) {
var componentMain = 'componentFooter';
var componentChild = 'showmaincategoryfull';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + componentChild + '/' + componentChild + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
color_: '@color',
color_hover: '@colorhover',
color_active: '@coloractive',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.data = [];
$scope.getCategorylists = function() {
var option = {};
var dataSend = {
'txt_referral_type_id': 11,
'txt_filter_json': JSON.stringify(option)
};
GAEAPI.get('referral/map', dataSend, $scope).then(function(e) {
if (e.ok === 1) {
$scope.data = e.data;
}
});
};
$scope.getCategorylists();
};
return promise;
});_ui_share_app.directive('componentFooterShowpage', function($rootScope, $routeParams) {
var componentMain = 'componentFooter';
var componentChild = 'showpage';
var templatePathUrl = _ui_share_host + componentMain + '/expansions/' + componentChild + '/' + componentChild + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
color_: '@color',
color_hover: '@colorhover',
color_active: '@coloractive',
};
promise.link = function(scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {};
promise.controller = function($scope, $timeout, $interval, $q, $window) {
$scope.data = false;
$scope.getPagelists = function() {
var dataSend = {
'cur_page': 1,
'per_page': 100
};
GAEAPI.get('page/lists', dataSend, $scope).then(function(e) {
if (e.ok === 1) {
$scope.data = e.data.dataList;
}
});
};
$scope.getPagelists();
};
return promise;
});
_ui_share_app.directive('componentFooterA', function ($rootScope, $routeParams) {
var templateName = 'componentFooterA';
var templatePathUrl = _ui_share_host + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
imgpath: '@imgpath',
background: '@background',
color: '@color'
};
promise.link = function (scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'footer_one':'?footerOne',
'footer_two':'?footerTwo',
'footer_three':'?footerThree',
'footer_four':'?footerFour'
};
promise.controller = function ($scope, $timeout, $interval, $q, $window) {
};
return promise;
});
_ui_share_app.directive('componentFooterB', function ($rootScope, $routeParams) {
var templateName = 'componentFooterB';
var templatePathUrl = _ui_share_host + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
imgpath: '@imgpath',
background: '@background',
color: '@color'
};
promise.link = function (scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = {
'footer_one':'?footerOne',
'footer_two':'?footerTwo',
'footer_three':'?footerThree'
};
promise.controller = function ($scope, $timeout, $interval, $q, $window) {
};
return promise;
});
_ui_share_app.directive('componentFooterC', function ($rootScope, $routeParams) {
var templateName = 'componentFooterC';
var templatePathUrl = _ui_share_host + templateName + '/' + templateName + '.html';
var promise = {};
promise.restrict = 'AE';
promise.scope = {
img: '@img',
};
promise.link = function (scope, element, attr) {};
promise.templateUrl = templatePathUrl;
promise.transclude = true;
promise.controller = function ($scope, $timeout, $interval, $q, $window) {
};
return promise;
});
_ui_share_app.value('HTMLIZE_CONVERSIONS', [
{ expr: /\n+?/g, value: '