|
|
|
|
@ -104,7 +104,7 @@ if (EXPO.searchBlock){ |
|
|
|
|
$element = $container.find('.csbs-text'); |
|
|
|
|
if($element.length > 2){ |
|
|
|
|
if($element.eq(0).text().length < cutLength){ |
|
|
|
|
dividerSymbol = ','; |
|
|
|
|
dividerSymbol = ', '; |
|
|
|
|
stringToReturn += $element.eq(0).text() + dividerSymbol + $element.eq(1).text() + closerText.replace('_',$element.length-2); |
|
|
|
|
}else{ |
|
|
|
|
stringToReturn += $element.eq(0).text() + closerText.replace('_',$element.length-1); |
|
|
|
|
@ -112,17 +112,18 @@ if (EXPO.searchBlock){ |
|
|
|
|
|
|
|
|
|
} else if($element.length == 2){ |
|
|
|
|
if(($element.eq(0).text().length+$element.eq(1).text().length) < cutLength){ |
|
|
|
|
dividerSymbol = ','; |
|
|
|
|
stringToReturn += $element.eq(0).text() + dividerSymbol + $element.eq(1).text(); |
|
|
|
|
dividerSymbol = ', '; |
|
|
|
|
// если даже 2 первых слова вместе меньше чем порог, то не указывать количество позиций
|
|
|
|
|
stringToReturn += $element.eq(0).text() + dividerSymbol + $element.eq(1).text()+' '; |
|
|
|
|
|
|
|
|
|
} else if($element.eq(0).text().length < cutLength){ |
|
|
|
|
dividerSymbol = ','; |
|
|
|
|
stringToReturn += $element.eq(0).text() + dividerSymbol + $element.eq(1).text() + closerTextSingle.replace('_',$element.length-2); |
|
|
|
|
dividerSymbol = ', '; |
|
|
|
|
stringToReturn += $element.eq(0).text() + dividerSymbol + $element.eq(1).text()+' '; |
|
|
|
|
}else{ |
|
|
|
|
stringToReturn += $element.eq(0).text() + closerTextSingle.replace('_',$element.length-1); |
|
|
|
|
} |
|
|
|
|
}else if($element.length){ |
|
|
|
|
stringToReturn += $element.eq(0).text(); |
|
|
|
|
stringToReturn += $element.eq(0).text()+' '; |
|
|
|
|
}else{ |
|
|
|
|
stringToReturn = false; |
|
|
|
|
} |
|
|
|
|
@ -170,6 +171,9 @@ if (EXPO.searchBlock){ |
|
|
|
|
triggerSetText = function () { |
|
|
|
|
var selectedString, |
|
|
|
|
cutLength = 16; |
|
|
|
|
if($(window).width() < 1086){ |
|
|
|
|
cutLength = 12; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
selectedString = getSelectedToString(self.opt.selectedItemsContainer,cutLength); |
|
|
|
|
if(selectedString && selectedString != '~~text~~' && selectedString != '~~text~~...'){ |
|
|
|
|
@ -203,6 +207,11 @@ if (EXPO.searchBlock){ |
|
|
|
|
*/ |
|
|
|
|
this.$inputFilter = $('#'+self.opt.filterInputId); |
|
|
|
|
this.$selectedItemsWrap = $selectedItemsWrap; |
|
|
|
|
/** |
|
|
|
|
* flag for management of turn of asynchronous requests |
|
|
|
|
* @type {boolean} |
|
|
|
|
*/ |
|
|
|
|
this.isReceived = true; |
|
|
|
|
|
|
|
|
|
$(function () { |
|
|
|
|
// topic checkbox selected event
|
|
|
|
|
@ -621,8 +630,8 @@ if (EXPO.searchBlock){ |
|
|
|
|
self._getAjax(dataObj, ajaxHandler); |
|
|
|
|
}, |
|
|
|
|
/** |
|
|
|
|
* if there is no children element in list, loads list that is parent to children element |
|
|
|
|
* @param {Object} data |
|
|
|
|
* if there is no children element in list, loads ITS Children sublist |
|
|
|
|
* @param {Object} data - current (children) object data |
|
|
|
|
* @param {number|string} handler |
|
|
|
|
* @param {function} counter |
|
|
|
|
* @private |
|
|
|
|
@ -706,10 +715,92 @@ if (EXPO.searchBlock){ |
|
|
|
|
} |
|
|
|
|
$('.level.active',self.$modalInst).removeClass('active'); |
|
|
|
|
self.$selectedItemsWrap.removeClass('visible'); |
|
|
|
|
$(this.$modalInst).find('input:checkbox:checked').prop('checked',false); |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
// кнопка применить
|
|
|
|
|
applyHandler: function (it) { |
|
|
|
|
$waiter.show(); |
|
|
|
|
}, |
|
|
|
|
/** |
|
|
|
|
* select particular item and render its tag and check checkbox |
|
|
|
|
* @param {Object} item |
|
|
|
|
* @public |
|
|
|
|
*/ |
|
|
|
|
selectTag:function (item) { |
|
|
|
|
//check of repeating execution
|
|
|
|
|
var firstTime = true, |
|
|
|
|
self = this, |
|
|
|
|
waitHandler = function () { |
|
|
|
|
self.isReceived = false; |
|
|
|
|
if(!item.children){ |
|
|
|
|
|
|
|
|
|
for (var prop in self.itemsSelected) { |
|
|
|
|
if (prop == 'tid_'+item.id){ |
|
|
|
|
firstTime = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if($('#tid_'+item.id+':checked').length){ |
|
|
|
|
firstTime = false; |
|
|
|
|
} |
|
|
|
|
if(firstTime){ |
|
|
|
|
self.check(item.id, item.name); |
|
|
|
|
self.isReceived = true; |
|
|
|
|
}else{ |
|
|
|
|
$('#tid_' + item.id).prop('checked', true); |
|
|
|
|
$('#tid_' + item.id).trigger('change'); |
|
|
|
|
self.isReceived = true; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
if($('#tgid_'+item.children.id).length){ |
|
|
|
|
firstTime = false; |
|
|
|
|
} |
|
|
|
|
//Если выбран родитель
|
|
|
|
|
if($('#tid_'+item.id+':checked').length){ |
|
|
|
|
firstTime = false; |
|
|
|
|
} |
|
|
|
|
if(firstTime) { |
|
|
|
|
|
|
|
|
|
self._loadParentTree({name: item.name, id: item.id}, function () { |
|
|
|
|
self.check(item.children.id, item.children.name); |
|
|
|
|
self.isReceived = true; |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
}else if(!$('#tgid_'+item.id+':checked').length){ |
|
|
|
|
|
|
|
|
|
$('#tgid_' + item.children.id).prop('checked', true); |
|
|
|
|
$('#tgid_' + item.children.id).trigger('change'); |
|
|
|
|
self.isReceived = true; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
this.wait(waitHandler); |
|
|
|
|
}, |
|
|
|
|
/** |
|
|
|
|
* waits so far the previous request will be executed and execute a method |
|
|
|
|
* @param {function} method |
|
|
|
|
* @param {Object|Array} args |
|
|
|
|
* @public |
|
|
|
|
*/ |
|
|
|
|
wait:function(method, args) { |
|
|
|
|
var self = this, |
|
|
|
|
waitImages, |
|
|
|
|
waitHandler = function(self, method, args) { |
|
|
|
|
if (self.isReceived) { |
|
|
|
|
if (args) { |
|
|
|
|
method(args); |
|
|
|
|
} |
|
|
|
|
else{ |
|
|
|
|
method(); |
|
|
|
|
} |
|
|
|
|
clearInterval(waitImages); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
waitImages = setInterval(function() {waitHandler(self, method, args)}, 100); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -741,6 +832,9 @@ if (EXPO.searchBlock){ |
|
|
|
|
triggerSetText = function () { |
|
|
|
|
var selectedString, |
|
|
|
|
cutLength = 16; |
|
|
|
|
if($(window).width() < 1086){ |
|
|
|
|
cutLength = 6; |
|
|
|
|
} |
|
|
|
|
selectedString = getSelectedToString(self.opt.selectedItemsContainer,cutLength); |
|
|
|
|
if(selectedString && selectedString != '~~text~~' && selectedString != '~~text~~...'){ |
|
|
|
|
$modalTrigger.text(selectedString); |
|
|
|
|
@ -1442,6 +1536,7 @@ if (EXPO.searchBlock){ |
|
|
|
|
$('.level.active',this.$modal).removeClass('active'); |
|
|
|
|
this._refreshText(); |
|
|
|
|
self.selectedWrap.removeClass('visible'); |
|
|
|
|
$(this.$modal).find('input:checkbox:checked').prop('checked',false); |
|
|
|
|
}, |
|
|
|
|
/** |
|
|
|
|
* initiliazing and setup autocomplete field for places list |
|
|
|
|
@ -1629,6 +1724,8 @@ if (EXPO.searchBlock){ |
|
|
|
|
* @public |
|
|
|
|
*/ |
|
|
|
|
applyHandler: function (it) { |
|
|
|
|
console.log(this); |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
_refreshText: function () { |
|
|
|
|
var selectedString, |
|
|
|
|
@ -1674,7 +1771,11 @@ if (EXPO.searchBlock){ |
|
|
|
|
toVal = $.trim($dateTo.val()), |
|
|
|
|
fromVal = $.trim($dateFrom.val()); |
|
|
|
|
if(toVal != ''&& fromVal != ''){ |
|
|
|
|
stringToReturn = fromChar+': '+fromVal+' '+toChar+': '+toVal+'.'; |
|
|
|
|
if($(window).width() < 1086){ |
|
|
|
|
stringToReturn = fromChar+': '+fromVal+'<br/>'+toChar+': '+toVal+'.'; |
|
|
|
|
}else{ |
|
|
|
|
stringToReturn = fromChar+': '+fromVal+' '+toChar+': '+toVal+'.'; |
|
|
|
|
} |
|
|
|
|
} else if (toVal != ''&& fromVal == ''){ |
|
|
|
|
stringToReturn = toChar+': '+toVal+'.'; |
|
|
|
|
} else if (toVal == ''&& fromVal != ''){ |
|
|
|
|
@ -1690,14 +1791,17 @@ if (EXPO.searchBlock){ |
|
|
|
|
*/ |
|
|
|
|
triggerSetText = function (selectedString) { |
|
|
|
|
var cutLength = 24; |
|
|
|
|
if($(window).width() < 1086){ |
|
|
|
|
cutLength = 6; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(selectedString != ''){ |
|
|
|
|
$modalTrigger.text(selectedString).siblings('.trigger-label').addClass('hidden'); |
|
|
|
|
$modalTrigger.html(selectedString).siblings('.trigger-label').addClass('hidden'); |
|
|
|
|
$modalTrigger.siblings('.'+self.opt.clearAllButtonClass).addClass('active'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
$modalTrigger.text($modalTrigger.data('default')).siblings('.trigger-label').removeClass('hidden'); |
|
|
|
|
$modalTrigger.html($modalTrigger.data('default')).siblings('.trigger-label').removeClass('hidden'); |
|
|
|
|
$modalTrigger.siblings('.'+self.opt.clearAllButtonClass).removeClass('active'); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
@ -2245,16 +2349,9 @@ if (EXPO.searchBlock){ |
|
|
|
|
for (var i = 0; i < self.previousSearch.inputs.length; i++) { |
|
|
|
|
// окно выбора тематики
|
|
|
|
|
if (self.previousSearch.inputs[i].name == 'th'){ |
|
|
|
|
self.subjModal._loadParentTree(self.previousSearch.inputs[i], function (innerI) { |
|
|
|
|
if(self.previousSearch.inputs[innerI].children){ |
|
|
|
|
self.subjModal.selectTag(self.previousSearch.inputs[i]); |
|
|
|
|
|
|
|
|
|
self.subjModal.check(self.previousSearch.inputs[innerI].children.id, self.previousSearch.inputs[innerI].children.name); |
|
|
|
|
}else{ |
|
|
|
|
self.subjModal.check(self.previousSearch.inputs[innerI].id, self.previousSearch.inputs[innerI].name); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}, i); |
|
|
|
|
// окно выбора мест
|
|
|
|
|
// окно выбора мест
|
|
|
|
|
} else if (self.previousSearch.inputs[i].name == 'area'){ |
|
|
|
|
|
|
|
|
|
if(self.previousSearch.inputs[i].children && self.previousSearch.inputs[i].children.children){ |
|
|
|
|
@ -2266,8 +2363,6 @@ if (EXPO.searchBlock){ |
|
|
|
|
|
|
|
|
|
} else if(self.previousSearch.inputs[i]){ |
|
|
|
|
self.placesModal.selectTag(self.previousSearch.inputs[i]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|