| Server IP : 103.234.187.230 / Your IP : 216.73.216.216 Web Server : Apache System : Linux lserver42043-ind.megavelocity.net 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 User : apache ( 48) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/uatb2c.hellogtx.com/public/js/ng/ |
Upload File : |
app.filter('sumOfValue', function () {
return function (data, key) {
if (angular.isUndefined(data) || angular.isUndefined(key))
return 0;
var sum = 0;
angular.forEach(data, function (value) {
sum = sum + parseInt(value[key], 10);
});
return sum;
}
});
app.directive('checkImage', function () {
return {
link: function (scope, element, attrs) {
element.bind('error', function () {
element.attr('src', '/public/images/hotel_placeholder.png'); // set default image
});
}
}
});
app.controller("HotelListingController", ['$scope', '$http', '$location', '$filter', '$window', '$timeout', function ($scope, $http, $location, $filter, $window, $timeout) {
//var url = SITEURL+"public/data/dynamic/finalresultflight.json";
var url = SITEURL + "hotels/index/gethotelsearch";
$scope.caseData = null;
$scope.loadingCar = true;
$scope.loadingHotelMore = true;
$scope.FilterloadingCar = false;
$scope.retryInSecond = false;
$scope.loadingHotel = true;
$scope.FilterloadingHotel = true;
$scope.totalHotel = 0;
$scope.class_status = false;
$scope.reverse = false;
$scope.totalAmount = 'totalAmount';
$scope.hotelName = [];
$scope.hotelStars_ = [];
$scope.hotelStars = [];
$scope.hotelCategory = [];
$scope.hotelMeal = [];
$scope.hotelProperty = [];
$scope.arrPriceUnique = [];
$scope.resultSet = [];
$scope.hotelPriceRange = [];
var absUrl = $location.absUrl();
var sURLVariables = absUrl.split('?');
//////console.log(sURLVariables);
//alert(url);
$scope.gethotelsearchList = function () {
var searchids = JSON.parse($('#searchidarr').val());
var absUrl = $location.absUrl();
var index = 1;
angular.forEach(searchids, function (value, key) {
$http({
method: "POST",
url: url,
data: 'SearchQueryid=' + value,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
}
}).then(function successCallback(response) {
console.log(response.data);
if (response.data) {
$('#hotellistingDiv').show();
$scope.listHotel = response.data.searchResult;
$scope.resultSet = $scope.resultSetFilter = $scope.resultSet.concat($scope.listHotel);
$scope.loadingCar = false;
$scope.retryInSecond = false;
$scope.FilterloadingCar = false;
$scope.hotelPriceRange = $scope.hotelPriceRange.concat(response.data.hotelPriceRange);
$scope.hotelName = $scope.hotelName.concat(response.data.hotelName);
$scope.hotelStars_ = $scope.hotelStars_.concat(response.data.hotelStars);
$scope.hotelStars = [$scope.hotelStars_.flat().filter(arr => arr.length !== 0).reverse()]; // Reverse order
console.log($scope.hotelStars);
console.log("hotelStars====");
// $scope.hotelCategory = $scope.hotelCategory.concat(response.data.hotelCategory[0]);
$scope.hotelMeal = [...new Set($scope.hotelMeal.concat(response.data.hotelMeal[0]))];
$scope.hotelProperty = [...new Set($scope.hotelProperty.concat(response.data.hotelProperty[0]))];
$scope.MinPriceRange = Math.min.apply(null, $scope.hotelPriceRange);
$scope.MaxPriceRange = Math.max.apply(null, $scope.hotelPriceRange);
// $scope.MinPriceRange = response.data.MinPriceRange;
// $scope.MaxPriceRange = response.data.MaxPriceRange;
$('#priceRage').val($scope.MinPriceRange + '-' + $scope.MaxPriceRange);
$('.domestround').show();
$('#slide_amount').html('<span>' + response.data.CurrencyTitle + ' ' + $scope.MinPriceRange + '</span> <span class="rightprice">' + response.data.CurrencyTitle + ' ' + $scope.MaxPriceRange + '</span>');
$("#slider-range").slider({
range: true,
min: $scope.MinPriceRange,
max: $scope.MaxPriceRange,
values: [$scope.MinPriceRange, $scope.MaxPriceRange],
slide: function (event, ui) {
$("#slide_amount").html('<span>' + response.data.CurrencyTitle + ' ' + ui.values[0] + "</span> <span class='rightprice'>" + response.data.CurrencyTitle + ' ' + ui.values[1] + '</span>');
// Get values
var min = ui.values[0];
var max = ui.values[1];
$('#priceRage').val(min + '-' + max);
$scope.MinPriceRange = min;
$scope.MaxPriceRange = max;
}
});
}
}, function errorCallback(response) {
}).finally(function () {
$scope.orderby = 'averageRoomPrice';
$scope.orderval = false;
$scope.limit = 10;
$scope.totalHotels = $scope.resultSet.length;
if (searchids.length === index) {
$scope.loadingHotelMore = false;
}
index++;
});
});
// $http({
// method: "POST",
// url: url,
// data: sURLVariables[1],
// headers: {
// 'Content-Type': 'application/x-www-form-urlencoded',
// 'X-Requested-With': 'XMLHttpRequest'
// }
// }).then(function successCallback(response) {
// $scope.hotelName = response.data.hotelName;
// $scope.hotelStars = response.data.hotelStars;
// $scope.FilterStarRating = response.data.FilterStarRating;
// $scope.hotelCategory = response.data.hotelCategory;
// $scope.hotelMeal = response.data.hotelMeal;
// $scope.hotelProperty = response.data.hotelProperty;
// $scope.hotelPriceRange = response.data.hotelPriceRange;
// $scope.MinPriceRange = response.data.MinPriceRange;
// $scope.MaxPriceRange = response.data.MaxPriceRange;
// $('#priceRage').val($scope.MinPriceRange + '-' + $scope.MaxPriceRange);
// $('.domestround').show();
// $('#slide_amount').html('<span>' + response.data.CurrencyTitle + ' ' + $scope.MinPriceRange + '</span> <span class="rightprice">' + response.data.CurrencyTitle + ' ' + $scope.MaxPriceRange + '</span>');
// if(dvc === 'm'){
// $('.mobile_footer_bottomcontinuefixed').show();
// }
// $("#slider-range").slider({
// range: true,
// min: $scope.MinPriceRange,
// max: $scope.MaxPriceRange,
// values: [$scope.MinPriceRange, $scope.MaxPriceRange],
// slide: function (event, ui) {
// $("#slide_amount").html('<span>' + response.data.CurrencyTitle + ' ' + ui.values[0] + "</span> <span class='rightprice'>" + response.data.CurrencyTitle + ' ' + ui.values[1] + '</span>');
// // Get values
// var min = ui.values[0];
// var max = ui.values[1];
// $('#priceRage').val(min + '-' + max);
// $scope.MinPriceRange = min;
// $scope.MaxPriceRange = max;
// }
// });
// if (response.data.searchResult.length > 0) {
// $('#hotellistingDiv').show();
// // $('.filter-box').show();
// if(response.data.gtxagencysysid == 1){
// // $scope.flightlistOutbound = $scope.resultsetFullOut = $scope.listOutbound.concat($scope.flightlistOutbound);
// $scope.resultSet = $scope.resultSetFilter = response.data.searchResult.cancat($scope.resultSet);
// }else{
// $scope.resultSet = $scope.resultSetFilter = response.data.searchResult;
// }
// } else {
// $('.noresultfound').show();
// }
// //////console.log(response.data.searchResult.length);
// //$('#TempResultData').val(JSON.stringify(response.data.searchResult));
// //////console.log(response.data);
// if (response.data.retryInSecond > 0) {
// $scope.retryInSecond = true;
// $timeout($scope.gethotelsearchList(), 2000);
// if (response.data.searchResult.length == 0) {
// $scope.loadingCar = true;
// $scope.FilterloadingCar = true;
// $scope.retryInSecond = false;
// } else {
// $scope.loadingCar = false;
// $scope.FilterloadingCar = false;
// }
// //$scope.gethotelsearchList();
// //$scope.TempResultData = JSON.parse($('#TempResultData').val());
// //$scope.resultSet = $scope.resultSetFilter = $scope.TempResultData;
// } else {
// $scope.loadingCar = false;
// $scope.FilterloadingCar = false;
// $scope.retryInSecond = false;
// }
// }, function errorCallback(response) {
// }).finally(function () {
// // $scope.loadingCar = false;
// //$scope.FilterloadingCar = false;
// $scope.orderby = 'totalAmount';
// $scope.orderval = false;
// $scope.limit = 15; // total result
// $scope.totalHotels = $scope.resultSet.length; // total result
// ////console.log($scope.Cars);
// });
};
$scope.gethotelsearchList();
$scope.loadMoreNew = function () {
if ($scope.FilterloadingCar === false) {
if ($scope.limit + 10 < $scope.resultSet.length) {
$scope.limit += 10;
} else {
$scope.limit = $scope.resultSet.length;
}
}
};
$scope.sortBy = function (averageRoomPrice) {
$scope.reverse = ($scope.averageRoomPrice === averageRoomPrice) ? !$scope.reverse : false;
$scope.averageRoomPrice = averageRoomPrice;
};
$scope.filterData = function () {
// declare the variable here
var filterSTR = { 'hotelName': [], 'hotelStars': [], 'hotelCategory': [], 'hotelMeal': [], 'hotelProperty': [], 'price': [] };
angular.element('.filter-box input:checkbox').each(function () {
if ($(this).is(":checked")) {
if ($(this).hasClass('filter-hotelName')) {
filterSTR.hotelName.push($(this).val());
} else if ($(this).hasClass('filter-hotelStars')) {
filterSTR.hotelStars.push($(this).val());
} else if ($(this).hasClass('filter-hotelCategory')) {
filterSTR.hotelCategory.push($(this).val());
} else if ($(this).hasClass('filter-hotelMeal')) {
filterSTR.hotelMeal.push($(this).val());
} else if ($(this).hasClass('filter-hotelProperty')) {
filterSTR.hotelProperty.push($(this).val());
} else if ($(this).hasClass('filter-price')) {
filterSTR.price.push($(this).val());
}
}
});
var filterprice = $('#priceRage').val();
filterSTR.price.push(filterprice);
// if filter has any value
if ((filterSTR.hotelName.length > 0) || (filterSTR.hotelStars.length > 0) || (filterSTR.hotelCategory.length > 0) || (filterSTR.hotelMeal.length > 0) || (filterSTR.hotelProperty.length > 0) || (filterSTR.price.length > 0)) {
// //console.log(filterSTR);
$scope.resultSet = this.filterFromArray($scope.resultSetFilter, filterSTR);
} else {
$scope.resultSet = $scope.resultSetFilter;
// //console.log($scope.resultSet);
}
};
$scope.filterFromArray = function (data, filterSTR) {
//////console.log(filterSTR);
var resultsetFiltered = [];
resultsetFiltered = $scope.applyHotelMealFilter(data, filterSTR.hotelMeal);
resultsetFiltered = $scope.applyHotelPropertyFilter(resultsetFiltered, filterSTR.hotelProperty);
resultsetFiltered = $scope.applyHotelStarsFilter(resultsetFiltered, filterSTR.hotelStars);
resultsetFiltered = $scope.applyPriceRangeFilter(resultsetFiltered, filterSTR.price);
//////console.log(filterSTR.price);
/* resultsetFiltered = $scope.applyHotelNameFilter(resultsetFiltered, filterSTR.hotelName);
resultsetFiltered = $scope.applyHotelStarsFilter(resultsetFiltered, filterSTR.hotelStars);
resultsetFiltered = $scope.applyHotelCategoryFilter(resultsetFiltered, filterSTR.hotelCategory);
resultsetFiltered = $scope.applyHotelPropertyFilter(resultsetFiltered, filterSTR.hotelProperty);
resultsetFiltered = $scope.applyPriceRangeFilter(resultsetFiltered, filterSTR.price);*/
//////console.log(filterSTR.price);
return resultsetFiltered;
};
$scope.applyHotelStarsFilter = function (data, stararray) {
//number of nights
//////console.log(data);
var resultsetFiltered = [];
if (stararray.length == 0) {
return data;
}
$.each(data, function (index, element) {
if (stararray.length > 0) {
$.each(stararray, function (indexinn, elementinn) {
if (elementinn == element.StarRating) {
resultsetFiltered.push(element);
}
});
}
});
return resultsetFiltered;
};
$scope.applyHotelPropertyFilter = function (data, nightArr) {
//number of nights
//////console.log(data);
var resultsetFiltered = [];
if (nightArr.length == 0) {
return data;
}
$.each(data, function (index, element) {
if (nightArr.length > 0) {
$.each(nightArr, function (indexinn, elementinn) {
if (elementinn == element.HotelPropertyType) {
resultsetFiltered.push(element);
}
});
}
});
return resultsetFiltered;
};
$scope.applyHotelCategoryFilter = function (data, nightArr) {
//number of nights
//////console.log(data);
var resultsetFiltered = [];
if (nightArr.length == 0) {
return data;
}
$.each(data, function (index, element) {
if (nightArr.length > 0) {
// ////console.log(element);
$.each(nightArr, function (indexinn, elementinn) {
if (elementinn == element.seatingCapacity) {
resultsetFiltered.push(element);
}
});
}
});
return resultsetFiltered;
};
$scope.applyHotelMealFilter = function (data, nightArr) {
var resultsetFiltered = [];
if (nightArr.length == 0) {
return data;
}
$.each(data, function (index, element) {
if (nightArr.length > 0) {
var HotelRoom = [];
$.each(element.HotelRoomFaciality, function (indexing, HotelRoomFaciality) {
var checkexist = nightArr.includes(HotelRoomFaciality.HotelFaciality);
if (checkexist) {
HotelRoom.push(HotelRoomFaciality);
}
});
if (HotelRoom.length > 0) {
element['HotelRoomFaciality'] = HotelRoom;
resultsetFiltered.push(element);
}
}
});
////console.log(resultsetFiltered);
return resultsetFiltered;
};
$scope.applyPriceRangeFilter = function (data, priceArr) {
//////console.log(data);
var resultsetFiltered = [];
if (priceArr.length == 0) {
return data;
}
$.each(data, function (index, element) {
var Ismatched = false;
var PublishedFare = (Math.round(element.HotelRoomFaciality[0].HotelRoomPrice));
//////console.log(element);
// ////console.log(PublishedFare);
// var totalAmount = (Math.round(element.totalAmount));
if (priceArr.length > 0) {
$.each(priceArr, function (indexinn, elementinn) {
// ////console.log(elementinn);
//////console.log(PublishedFare);
var elementinnSP = elementinn.split('-');
if (PublishedFare >= parseInt(elementinnSP[0]) && PublishedFare <= parseInt(elementinnSP[1])) {
Ismatched = true;
//resultsetFiltered.push(element);
}
});
}
//////console.log(Ismatched);
if (Ismatched) {
resultsetFiltered.push(element);
}
});
return resultsetFiltered;
};
$scope.applyHotelNameFilter = function (data, hotelnamearray) {
var resultsetFiltered = [];
if (hotelnamearray.length == 0) {
return data;
}
$.each(data, function (index, element) {
if (hotelnamearray.length > 0) {
////console.log(element);
$.each(hotelnamearray, function (indexinn, elementinn) {
if (elementinn == element.vehicle) {
resultsetFiltered.push(element);
}
});
}
});
return resultsetFiltered;
};
$scope.RequestRoomInfo = function (val, index) {
$('.hotel_booking').hide();
$('.hotel_infoDIV_' + index).show();
var flag = $('#flag_' + index).val();
// alert(flag);
// return false;
//////console.log(val);
$scope.loadingRoomInfo = true;
$scope.ErrorRoomInfo = false;
var url = SITEURL + "hotels/index/request-room-info";
$http({
method: "POST",
url: url,
data: { hotelData: val, TraceId: val.SearchHotelTraceId, flag: flag, index: index },
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
}
}).then(function successCallback(response) {
$scope.loadingRoomInfo = false;
//
if (response.data.success == 1) {
$('#RequestRoom_' + index).hide();
$('#RequestRoomHide_' + index).show();
$('.hotel_infoDIV_' + index).show();
////console.log(response.data);
$scope.ArrRoomInfo = (response.data.ArrRoomInfo);
////console.log(response.data.ArrRoomInfo);
$scope.flag++;
$('#flag_' + index).val($scope.flag);
} else {
$scope.ErrorRoomInfo = true;
$scope.ErrorMessage = response.data.ArrRoomInfo.Error.ErrorMessage;
}
});
};
$scope.HideRoom = function (val, index) {
$('#RequestRoom_' + index).show();
$('#RequestRoomHide_' + index).hide();
$('.hotel_infoDIV_' + index).hide();
};
$scope.bookNow = function ($scope, data) {
//////console.log(data);
//var totalPrice = $('#totalamt'+ hotelindex).html();
var url = SITEURL + "hotels/index/book-noow";
//alert(totalPrice);
var jsonString = JSON.stringify($scope.item);
$http({
method: "POST",
url: url,
data: { data: data },
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
}
}).then(function successCallback(response) {
if (response.data.success) {
if (dvc == 'm') {
$window.location.href = response.data.url;
} else {
$window.location.href = response.data.url;
// $window.open(
// response.data.url,
// 'mozillaTab',
// '_blank'
// );
}
// $window.location.href = response.data.url;
} else {
alert(response.data.message);
}
}, function errorCallback(response) {
alert(response.data.message);
});
};
$scope.roomselect = function (hid, rid, selectedhotel, selectedRoomVal) {
var url = SITEURL + "hotels/index/book-room-now";
//alert(rid);
$http({
method: "POST",
url: url,
data: { hid: hid, rid: rid, selectedhotel: selectedhotel, selectedRoomVal: selectedRoomVal },
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
}
}).then(function successCallback(response) {
if (response.data.success) {
$window.location.href = response.data.url;
// $window.open(
// response.data.url,
// '_blank'
// );
// $window.location.href = response.data.url;
} else {
alert(response.data.message);
}
}, function errorCallback(response) {
alert(response.data.message);
});
}
$scope.ViewMap = function (item, index) {
var url = SITEURL + "hotel/hotel-view-map/" + item.SearchHotelTraceId + '/' + item.HotelId;
$('#HotelMaps').modal('show');
$http({
method: "POST",
url: url,
data: { item: item, index: index, page: 'NA' },
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
}
}).then(function successCallback(response) {
$('#HotelMapsDIV').html(response.data);
});
};
$scope.Cancellation = function (HotelId, RoomId, id = null) {
$('#cancelationPlolicy').modal('show');
// $('#loadercancel').show();
// $('#cancelationPlolicyDIV').html('');
// var url = SITEURL + "hotel/hotel-cancelation-plolicy";
// $http({
// method: "POST",
// url: url,
// data: { hotelId: HotelId, optionId: RoomId, rid: id, page: "search" },
// headers: {
// 'Content-Type': 'application/x-www-form-urlencoded',
// 'X-Requested-With': 'XMLHttpRequest'
// }
// }).then(function successCallback(response) {
// $('#loadercancel').hide();
// $('#cancelationPlolicyDIV').html(response.data);
// });
};
}]);