39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
(function () {
|
|
global.dashModule
|
|
.controller('shopPackageSearchCtrl', ['$scope', shopPackageSearchCtrl])
|
|
.directive('shopPackageSearch', [shopPackageSearchDirective]);
|
|
|
|
function shopPackageSearchDirective() {
|
|
return {
|
|
restrict: 'E',
|
|
templateUrl: 'shop/html/shopPackageSearchTemplate'
|
|
};
|
|
}
|
|
|
|
function shopPackageSearchCtrl($scope) {
|
|
$scope.searchString = global.getParameterByName('search') || '';
|
|
$scope.searchInPage = searchInPage;
|
|
$scope.clearSearch = clearSearch;
|
|
$scope.updateUrl = updateUrl;
|
|
|
|
function updateUrl(){
|
|
const url = $scope.searchString ? '?search=' + $scope.searchString : '?';
|
|
history.pushState({
|
|
search: $scope.searchString
|
|
}, null, url);
|
|
}
|
|
|
|
function searchInPage(event){
|
|
|
|
if((event.type && event.type === 'click') || (event.which && event.which === 13)){
|
|
window.location = 'shop?search=' + $scope.searchString;
|
|
}
|
|
}
|
|
|
|
function clearSearch(){
|
|
$scope.searchInPage = '';
|
|
window.location = 'shop';
|
|
}
|
|
}
|
|
})();
|