@ -491,8 +491,10 @@ if (EXPO.searchBlock){
for ( var prop in self . sublist ) {
for ( var prop2 in self . sublist [ prop ] ) {
if ( prop2 == ui . item . value ) {
if ( $ ( '#tid_' + ui . item . value + '[name="' + ui . item . name + '"]:checked' ) . length ) {
firstTime = false ;
}
}
}
}
@ -702,7 +704,7 @@ if (EXPO.searchBlock){
} ,
// кнопка применить
applyHandler : function ( it ) {
$waiter . show ( ) ;
}
@ -998,7 +1000,7 @@ if (EXPO.searchBlock){
tagsPanelToggle ( ) ;
} ,
tagsPanelToggle = function ( ) {
if ( $selectedItemsWrap . children ( '.' + tagClass ) . length && $selectedItemsWrap . children ( '.' + tagClass ) [ 0 ] . getAttribute ( tagIdAttribute ) != "~~id~~" ) {
if ( $selectedItemsWrap . find ( '.' + tagButton Class ) . length && $selectedItemsWrap . find ( '.' + tagButton Class ) [ 0 ] . getAttribute ( tagIdAttribute ) != "~~id~~" ) {
$selectedItemsWrap . addClass ( 'visible' ) ;
} else {
$selectedItemsWrap . removeClass ( 'visible' ) ;
@ -1045,6 +1047,9 @@ if (EXPO.searchBlock){
if ( DOMSublistInner ) {
selectSublist ( this ) ;
}
if ( DOMSublistInner && $ ( DOMSublistInner ) . find ( '.' + checkboxClass ) [ 0 ] . value != '~~id~~' ) {
refreshTags ( this ) ;
}
} else {
//Если выбран родитель
@ -1067,6 +1072,7 @@ if (EXPO.searchBlock){
//убрать все дочерние
if ( DOMSublistInner ) {
unSelectSublist ( this ) ;
refreshTags ( this ) ;
}
}
@ -1379,10 +1385,13 @@ if (EXPO.searchBlock){
for ( var prop in self . curDNA ) {
for ( var prop2 in self . curDNA [ prop ] ) {
if ( prop2 == ui . item . value ) {
if ( $ ( '#id_' + ui . item . value + ':checked' ) . length ) {
firstTime = false ;
}
}
}
}
if ( $ ( '#id_' + ui . item . value + ':checked' ) . length ) {
firstTime = false ;
@ -1617,6 +1626,12 @@ if (EXPO.searchBlock){
thatVal ,
thatValInt ,
bfr ;
/ * *
* check if it is a valid date
* /
if ( self . validate ( ) ) {
$ ( it ) . parent ( '.pwf-field' ) . removeClass ( 'err' ) ;
if ( itId == self . opt . dateFrom ) {
thatId = $dateTo [ 0 ] . getAttribute ( 'id' ) ;
thatVal = $dateTo [ 0 ] . value ;
@ -1625,6 +1640,9 @@ if (EXPO.searchBlock){
thatVal = $dateFrom [ 0 ] . value ;
}
thatValInt = Date . parse ( thatVal ) ;
/ * *
* swap values between date fields
* /
if ( thatValInt > itValInt && thatValInt != 0 && thatValInt ) {
bfr = document . getElementById ( itId ) . value ;
document . getElementById ( itId ) . value = document . getElementById ( thatId ) . value ;
@ -1634,7 +1652,7 @@ if (EXPO.searchBlock){
document . getElementById ( thatId ) . value = document . getElementById ( itId ) . value ;
document . getElementById ( itId ) . value = bfr ;
}
}
} ;
this . $dateFrom = $dateFrom ;
@ -1702,6 +1720,37 @@ if (EXPO.searchBlock){
this . $dateTo . val ( '' ) ;
this . $modalTrigger . text ( this . $modalTrigger . attr ( 'data-default' ) ) ;
} ,
/ * *
* checks input fields to have valid date values , if not - adds err class to its container
* @ returns { boolean }
* /
validate : function ( ) {
var toVal = this . $dateTo . val ( ) ,
fromVal = this . $dateFrom . val ( ) ,
toValArr = toVal . split ( '.' ) ,
fromValArr = fromVal . split ( '.' ) ,
timestamps = [ ] ,
validationResult = true ;
timestamps [ 0 ] = Date . parse ( toValArr [ 1 ] + '.' + toValArr [ 0 ] + '.' + toValArr [ 2 ] ) ;
timestamps [ 1 ] = Date . parse ( fromValArr [ 1 ] + '.' + fromValArr [ 0 ] + '.' + fromValArr [ 2 ] ) ;
if ( ! timestamps [ 0 ] && $ . trim ( toVal ) != '' ) {
this . $dateTo . parent ( '.pwf-field' ) . addClass ( 'err' ) ;
validationResult = false ;
} else {
this . $dateTo . parent ( '.pwf-field' ) . removeClass ( 'err' ) ;
}
if ( ! timestamps [ 1 ] && $ . trim ( fromVal ) != '' ) {
this . $dateFrom . parent ( '.pwf-field' ) . addClass ( 'err' ) ;
validationResult = false ;
} else {
this . $dateFrom . parent ( '.pwf-field' ) . removeClass ( 'err' ) ;
}
return validationResult ;
} ,
applyHandler : function ( it ) {
}
@ -1961,10 +2010,7 @@ if (EXPO.searchBlock){
if ( item . cat != currentCategory && item . cat ) {
ul . append ( "<li class='ui-autocomplete-category'>" + item . cat + "</li>" ) ;
currentCategory = item . cat ;
} / * else if ( item . url ) {
ul . append ( "<li class='ui-menu-item'><a class='complete-link' href=" + item . url + " >" + item . label + "</a></li>" ) ;
} * /
}
that . _renderItemData ( ul , item ) ;
} ) ;
}
@ -2050,15 +2096,18 @@ if (EXPO.searchBlock){
this . modalWindow = new common . Modal ( self . settings . modal ) ;
this . periodModal . applyHandler = function ( ) {
self . modalWindow . close ( ) ;
if ( this . validate ( ) ) {
$waiter . show ( ) ;
$ ( self . DOMform ) . submit ( ) ;
}
} ;
this . placesModal . applyHandler = function ( ) {
self . modalWindow . close ( ) ;
$waiter . show ( ) ;
$ ( self . DOMform ) . submit ( ) ;
} ;
this . subjModal . applyHandler = function ( ) {
self . modalWindow . close ( ) ;
$waiter . show ( ) ;
$ ( self . DOMform ) . submit ( ) ;
} ;
@ -2070,6 +2119,7 @@ if (EXPO.searchBlock){
self . modalWindow . open ( ) ;
return false ;
} ) ;
// заполнение полей предыдущими значениями
$ ( function ( ) {
if ( self . previousSearch ) {