remotes/origin/1203
Назар Котюк 11 years ago
commit 7908fbce75
  1. 8
      templates/client/accounts/feed.html
  2. 2
      templates/client/includes/catalog_search.html
  3. 2
      templates/client/includes/catalog_search_main.html
  4. 5
      templates/client/popups/place.html
  5. 7
      templates/client/popups/theme.html
  6. 600
      templates/client/static_client/css/main.css
  7. 177
      templates/client/static_client/js/_modules/block.search.js
  8. 282
      templates/client/static_client/js/_modules/page.events.feed.js
  9. 2957
      templates/client/static_client/js/plugins/inputmask/jquery.inputmask.js
  10. 2
      templates/client/static_client/js_min/_modules/block.search.min.js
  11. 2
      templates/client/static_client/js_min/_modules/page.events.feed.min.js

@ -28,7 +28,7 @@
<div class="csb-selected-items " >
<div class="csb-selected csb-subj-selected dna-template" id="filter-subject-tags">
<div class="csbs-text ">~~text~~</div>
<a class="csbs-del" href="javascript:void(0);" data-checkbox-id="~~id~~" id="subject-tag-remove">x</a>
<a class="csbs-del del-on-page" href="javascript:void(0);" data-checkbox-id="~~id~~">x</a>
</div>
</div>
@ -41,7 +41,7 @@
<div class="csb-selected-items" >
<div class="csb-selected csb-subj-selected dna-template" id="filter-places-tags">
<div class="csbs-text ">~~text~~</div>
<a class="csbs-del " href="javascript:void(0);" data-checkbox-id="~~id~~" id="place-tag-remove">x</a>
<a class="csbs-del del-on-page" href="javascript:void(0);" data-checkbox-id="~~id~~">x</a>
</div>
</div>
@ -106,7 +106,7 @@
filterInputId: 'filter-place-filter-input',
modalTrigger: 'filter-place-modal-trigger',
selectedItemsContainer: 'filter-csb-selected-items',
clearAllButtonClass: 'clear-all-button',
clearAllButtonClass: 'modal-clear',
applyBtnClass: 'modal-approve',
tagsBoxId: 'filter-places-tags',
deleteTagClass: 'csbs-del',
@ -129,7 +129,7 @@
subjectTriggerWrapId: 'filter-subj-checks',
//switched by default
defaultOn: ['f-s-exhibition-check', 'f-s-conference-check'],
clearAllButtonClass: 'clear-all-button',
clearAllButtonClass: 'modal-clear',
applyBtnClass: 'modal-approve',
tagsBoxId: 'filter-subject-tags',
deleteTagClass: 'csbs-del',

@ -1,7 +1,7 @@
{% load static %}
{% load i18n %}
<div class="in-search-form">
<div class="in-search-form mp-search">
<form action="{{ search_form.search_url }}" class="search_form" id="search-block-form">
<div class="s-title">{{ search_form.title }}</div>
<div class="search-form-wrap">

@ -35,7 +35,7 @@
</div>
</div>
<div class="sf-field-wrap">
<button type="submit"><span>{% trans 'найти' %}</span></button>
<button type="submit" class="search_submit"><span>{% trans 'найти' %}</span></button>
</div>
</div>
<div class="search-line sl-options">

@ -65,7 +65,6 @@
</div>
<div class="q-sel">
<a class="clear" href="#">{% trans 'Сбросить выбранное' %}</a>
<div class="q-sel-title">{% trans 'Быстрый выбор' %}:</div>
<ul>
<li><a href="#" data-name="ci" data-id="-2960561">{% trans 'Москва' %}</a></li>
@ -85,7 +84,9 @@
</div>
</div>
<div class="pwf-buttons-line">
<button class="icon-check modal-approve" type="submit">{% if submitText %}{{ submitText }}{% else %}{% trans 'Искать' %}{% endif %}</button><a class="{% if filter %}{{ filter }}{% else %}search-{% endif %}modal-open specify-link" href="#{{ filter }}pwSubj">{% trans 'Уточнить тему' %}</a>
<button class="icon-check modal-approve" type="submit">{% if submitText %}{{ submitText }}{% else %}{% trans 'Искать' %}{% endif %}</button>
<button class="gray modal-clear" type="submit">{% trans 'Очистить' %}</button>
<a class="{% if filter %}{{ filter }}{% else %}search-{% endif %}modal-open specify-link" href="#{{ filter }}pwSubj">{% trans 'Уточнить тему' %}</a>
{% if hasDate %}<a class=" search-modal-open specify-link" href="#pwPeriod">{% trans 'Уточнить дату' %}</a>{% endif %}
</div>
</div>

@ -68,15 +68,14 @@
</ul>
</div>
<div class="q-sel">
<a class="clear" href="#">{% trans 'Сбросить выбранное' %}</a>
</div>
</div>
</div>
</div>
</div>
<div class="pwf-buttons-line">
<button class="icon-check modal-approve" type="submit">{% if submitText %}{{ submitText }}{% else %}{% trans 'Искать' %}{% endif %}</button><a class="{% if filter %}{{ filter }}{% else %}search-{% endif %}modal-open specify-link" href="#{{ filter }}pwPlace">{% trans 'Уточнить географию' %}</a>
<button class="icon-check modal-approve" type="submit">{% if submitText %}{{ submitText }}{% else %}{% trans 'Искать' %}{% endif %}</button>
<button class="gray modal-clear" type="submit">{% trans 'Очистить' %}</button>
<a class="{% if filter %}{{ filter }}{% else %}search-{% endif %}modal-open specify-link" href="#{{ filter }}pwPlace">{% trans 'Уточнить географию' %}</a>
{% if hasDate %}<a class=" search-modal-open specify-link" href="#pwPeriod">{% trans 'Уточнить дату' %}</a>{% endif %}
</div>
</div>

@ -171,12 +171,12 @@ body {
height: 100%;
background: #f8f8f6;
color: #464646;
font-family: Arial, sans-serif;
font-family: Arial,'Helvetica Neue', sans-serif;
font-weight: normal;
font-style: normal;
font-size: 13px;
line-height: 18px;
/*-webkit-font-smoothing: antialiased;*/
-webkit-font-smoothing: antialiased;
}
body {
@ -1902,298 +1902,305 @@ button.icon-save:before {
# форма поиска
\**************************/
.in-search-form {
position: relative;
/*display: none;*/
font-family: 'dindisplay_pro', Arial, sans-serif;
font-weight: normal;
font-size: 14px;
line-height: 18px;
color: #fff;
background: #ff6600 url(../img/search-bg.jpg) 100% 100% no-repeat;
height: 150px;
margin: 0 0 15px -40px;
padding: 30px 0 5px 40px;
z-index: 3;
border-radius: 4px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.modals .popup-window{
display: none;
}
.search-form aside .s-title {
font-size: 25px;
line-height: 25px;
text-transform: uppercase;
white-space: nowrap;
margin-right: -20px;
}
.in-search-form .s-title {
font-size: 25px;
line-height: 25px;
text-transform: uppercase;
margin-bottom: 15px;
}
.in-search-form {
position: relative;
/*display: none;*/
font-family: 'dindisplay_pro', Arial, sans-serif;
font-weight: normal;
font-size: 14px;
line-height: 18px;
color: #fff;
background: #ff6600 url(../img/search-bg.jpg) 100% 100% no-repeat;
height: 150px;
margin: 0 0 15px -40px;
padding: 30px 0 5px 40px;
z-index: 3;
border-radius: 4px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.search-form .mcl {
padding-right: 50px;
}
.modals .popup-window{
display: none;
}
.search-form-wrap {
display: table;
width: 100%;
border-collapse: collapse;
}
.search-form aside .s-title {
font-size: 25px;
line-height: 25px;
text-transform: uppercase;
white-space: nowrap;
margin-right: -20px;
}
.search-form-wrap .search-line {
display: table-row;
}
.in-search-form .s-title {
font-size: 25px;
line-height: 25px;
text-transform: uppercase;
margin-bottom: 15px;
}
.search-form-wrap .search-line .sf-field-wrap {
display: table-cell;
vertical-align: middle;
padding: 0 10px 8px 0;
color: #ffd9bf;
line-height: 15px;
}
.search-form .mcl {
padding-right: 50px;
}
.search-form-wrap .search-line .sf-field-wrap:first-child {
width: 48%;
}
.search-form-wrap {
display: table;
width: 100%;
border-collapse: collapse;
}
.search-form-wrap .search-line .sf-field-wrap + .sf-field-wrap {
width: 32%;
}
.search-form-wrap .search-line {
display: table-row;
}
.search-form-wrap .search-line .sf-field-wrap + .sf-field-wrap + .sf-field-wrap {
width: 20%;
}
.search-form-wrap .search-line .sf-field-wrap {
display: table-cell;
vertical-align: middle;
padding: 0 10px 8px 0;
color: #ffd9bf;
line-height: 15px;
}
.search-line.sl-options a {
display: inline-block;
color: #fff;
text-decoration: none;
border-bottom: 1px dashed;
line-height: 13px;
}
.search-form-wrap .search-line .sf-field-wrap:first-child {
width: 48%;
}
.search-line.sl-options a:hover {
border-bottom: none;
}
.search-form-wrap .search-line .sf-field-wrap + .sf-field-wrap {
width: 32%;
}
.search-line.sl-options a.sf-clear {
position: relative;
display: inline-block;
vertical-align: middle;
border-bottom: none;
width: 16px;
height: 0;
padding-top: 24px;
margin: -5px 0 -5px 2px;
overflow: hidden;
}
.search-form-wrap .search-line .sf-field-wrap + .sf-field-wrap + .sf-field-wrap {
width: 20%;
}
.search-line.sl-options a.sf-clear:before {
content: '';
display: block;
width: 6px;
height: 7px;
background: url(../img/sprites.png) -135px -25px no-repeat;
position: absolute;
left: 50%;
top: 50%;
margin: -3px 0 0 -3px;
}
.search-line.sl-options a {
display: inline-block;
color: #fff;
text-decoration: none;
border-bottom: 1px dashed;
line-height: 13px;
}
.sf-field {
position: relative;
display: table;
width: 100%;
height: 40px;
border-collapse: collapse;
background: #fff;
color: #aaa;
box-shadow: inset 0 1px 0 #d9d9d9, 0 -1px 0 rgba(0, 0, 0, .2);
z-index: 1;
}
.search-line.sl-options a:hover {
border-bottom: none;
}
.sf-field-wrap:first-child .sf-field {
border-radius: 4px 0 0 4px;
}
.search-line.sl-options a.sf-clear {
position: relative;
display: inline-block;
vertical-align: middle;
border-bottom: none;
width: 16px;
height: 0;
padding-top: 24px;
margin: -5px 0 -5px 2px;
overflow: hidden;
}
.sf-field > * {
display: table-cell;
vertical-align: middle;
}
.search-line.sl-options a.sf-clear:before {
content: '';
display: block;
width: 6px;
height: 7px;
background: url(../img/sprites.png) -135px -25px no-repeat;
position: absolute;
left: 50%;
top: 50%;
margin: -3px 0 0 -3px;
}
.sf-field label {
font-size: 16px;
line-height: 20px;
font-weight: normal;
padding: 10px 5px 10px 20px;
white-space: nowrap;
}
.sf-field {
position: relative;
display: table;
width: 100%;
height: 40px;
border-collapse: collapse;
background: #fff;
color: #aaa;
box-shadow: inset 0 1px 0 #d9d9d9, 0 -1px 0 rgba(0, 0, 0, .2);
z-index: 1;
}
.sf-field .input-text {
width: 100%;
height: 100%;
}
.sf-field-wrap:first-child .sf-field {
border-radius: 4px 0 0 4px;
}
.sf-field .input-text input[type="text"] {
display: block;
width: 100%;
height: 100%;
background: none;
border: none;
outline: none;
padding: 10px 10px 10px 0;
font-family: 'dindisplay_pro', Arial, sans-serif;
font-weight: normal;
font-size: 16px;
line-height: 20px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.sf-field > * {
display: table-cell;
vertical-align: middle;
}
.search-form button,
.in-search-form button{
display: inline-block;
vertical-align: top;
height: 40px;
border: 1px solid #fff;
/*background: none;*/
outline: none;
color: #fff;
font-family: 'dindisplay_pro', Arial, sans-serif;
font-weight: bold;
font-size: 15px;
line-height: 41px;
text-transform: uppercase;
padding: 0 25px;
border-radius: 0 4px 4px 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 1px 0 rgba(0, 0, 0, .2);
-webkit-filter: none;
filter: none;
}
.pwf-buttons-line button{
border-radius: 4px;
}
.sf-field label {
font-size: 16px;
line-height: 20px;
font-weight: normal;
padding: 10px 5px 10px 20px;
white-space: nowrap;
}
.search-form button:before,
.in-search-form button:before {
content: ' ';
display: inline-block;
vertical-align: middle;
width: 15px;
height: 14px;
background: url(../img/sprites.png) -98px 0 no-repeat;
margin: -2px 5px 0 -1px;
}
.sf-field .input-text {
width: 100%;
height: 100%;
}
.search-form button:hover,
.in-search-form button:hover {
position: relative;
top: -1px;
/*background: none;*/
}
.sf-field .input-text input[type="text"] {
display: block;
width: 100%;
height: 100%;
background: none;
border: none;
outline: none;
padding: 10px 10px 10px 0;
font-family: 'dindisplay_pro', Arial, sans-serif;
font-weight: normal;
font-size: 16px;
line-height: 20px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.sf-autocomplete {
position: relative;
z-index: 3048;
height: 40px;
display: none;
}
.sf-autocomplete.show {
display: block;
}
.search-form button.search_submit,
.search-form button.modal-approve,
.in-search-form button.search_submit,
.in-search-form button.modal-approve{
display: inline-block;
vertical-align: top;
height: 40px;
border: 1px solid #fff;
/*background: none;*/
outline: none;
color: #fff;
font-family: 'dindisplay_pro', Arial, sans-serif;
font-weight: bold;
font-size: 15px;
line-height: 41px;
text-transform: uppercase;
padding: 0 25px;
border-radius: 0 4px 4px 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 1px 0 rgba(0, 0, 0, .2);
-webkit-filter: none;
filter: none;
}
button.modal-approve{
border-radius: 4px !important;
}
.sf-autocomplete .sfa-wrap {
position: absolute;
left: 0;
width: 100%;
top: 0;
background: #fff;
padding: 20px 20px 20px 20px;
overflow: hidden;
-moz-box-sizing: border-box;
box-sizing: border-box;
border-radius: 4px;
box-shadow: 0 0 0 3px rgba(0, 0, 0, .2);
visibility: hidden;
background: #ffffff; /* Old browsers */ /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(10%,#ffffff), color-stop(100%,#efefef)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffffff 10%,#efefef 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ffffff 10%,#efefef 100%); /* Opera 11.10+ */ /* IE10+ */
background: -webkit-linear-gradient(top, #ffffff 10%, #efefef 100%);
background: -o-linear-gradient(top, #ffffff 10%, #efefef 100%);
background: linear-gradient(to bottom, #ffffff 10%,#efefef 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#efefef',GradientType=0 ); /* IE6-9 */
.search-form button.search_submit:before,
.search-form button.modal-approve:before,
.in-search-form button.search_submit:before ,
.in-search-form button.modal-approve:before {
content: ' ';
display: inline-block;
vertical-align: middle;
width: 15px;
height: 14px;
background: url(../img/sprites.png) -98px 0 no-repeat;
margin: -2px 5px 0 -1px;
}
}
.search-form button:hover,
.in-search-form button:hover {
position: relative;
top: -1px;
/*background: none;*/
}
.sf-autocomplete .sfa-wrap {
border-radius: 4px 0 4px 4px;
}
.sf-autocomplete {
position: relative;
z-index: 3048;
height: 40px;
display: none;
}
.sf-autocomplete.show {
display: block;
}
.sf-autocomplete .sfa-wrap.show {
visibility: visible;
}
.sf-autocomplete .sfa-wrap {
position: absolute;
left: 0;
width: 100%;
top: 0;
background: #fff;
padding: 20px 20px 20px 20px;
overflow: hidden;
-moz-box-sizing: border-box;
box-sizing: border-box;
border-radius: 4px;
box-shadow: 0 0 0 3px rgba(0, 0, 0, .2);
visibility: hidden;
background: #ffffff; /* Old browsers */ /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(10%,#ffffff), color-stop(100%,#efefef)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffffff 10%,#efefef 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ffffff 10%,#efefef 100%); /* Opera 11.10+ */ /* IE10+ */
background: -webkit-linear-gradient(top, #ffffff 10%, #efefef 100%);
background: -o-linear-gradient(top, #ffffff 10%, #efefef 100%);
background: linear-gradient(to bottom, #ffffff 10%,#efefef 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#efefef',GradientType=0 ); /* IE6-9 */
.ui-autocomplete {
position: relative;
width: 100%;
max-height: 265px;
overflow-y: auto;
overflow-x: hidden;
left: 0 !important;
top: 0 !important;
padding: 5px 10px 0 0;
border-top: 1px dotted #ccc;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.ui-autocomplete-category {
font-size: 15px;
line-height: 17px;
color: #ff6600;
padding: 8px 10px 0 0;
}
}
.ui-menu .ui-menu-item {
padding: 0 10px 0 5px;
margin-top: 2px;
}
.sf-autocomplete .sfa-wrap {
border-radius: 4px 0 4px 4px;
}
.ui-menu .ui-menu-item a {
color: #464646;
font-size: 15px;
line-height: 15px;
border: none;
padding: 2px 5px;
cursor: pointer;
}
.sf-autocomplete .sfa-wrap.show {
visibility: visible;
}
.ui-menu .ui-menu-item a.ui-state-focus,
.ui-menu .ui-menu-item a.ui-state-active {
color: #ff6600;
margin: 0;
}
.ui-autocomplete {
position: relative;
width: 100%;
max-height: 265px;
overflow-y: auto;
overflow-x: hidden;
left: 0 !important;
top: 0 !important;
padding: 5px 10px 0 0;
border-top: 1px dotted #ccc;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.ui-autocomplete-category {
font-size: 15px;
line-height: 17px;
color: #ff6600;
padding: 8px 10px 0 0;
}
.ui-menu .ui-menu-item a i {
font-style: normal;
color: #a2a2a2;
}
.ui-menu .ui-menu-item {
padding: 0 10px 0 5px;
margin-top: 2px;
}
.ui-menu .ui-menu-item a {
color: #464646;
font-size: 15px;
line-height: 15px;
border: none;
padding: 2px 5px;
cursor: pointer;
}
.mp-catalog {
.ui-menu .ui-menu-item a.ui-state-focus,
.ui-menu .ui-menu-item a.ui-state-active {
color: #ff6600;
margin: 0;
}
}
.ui-menu .ui-menu-item a i {
font-style: normal;
color: #a2a2a2;
}
/* # clear all button*/
.in-search-form .modal-clear,
.search-form .modal-clear{
height: 40px;
border: 1px solid #fff;
padding: 0 25px;
box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 1px 0 rgba(0, 0, 0, .2);
}
/* end of search block*/
@ -4025,14 +4032,19 @@ form.s-message {
margin-bottom: 15px;
}
.c-select-box .csb-menu .places-list > ul li.active ul {
.c-select-box .csb-menu .places-list .active > .sublist {
display: block;
}
.c-select-box .csb-menu .places-list .sublist {
display: none;
}
.c-select-box .csb-menu .places-list .sublist.parent {
display: block;
}
.c-select-box .csb-menu .q-sel {
width: 190px;
float: right;
margin-top: 1em;
}
@ -11320,6 +11332,12 @@ hr + .rq-note {
.pw-subj{
min-height: 480px;
}
.pw-subj .csb-menu .level .sublist{
display: none;
}
.pw-subj .csb-menu .level.active .sublist{
display: block;
}
.pw-subj .csb-menu .level1{
display: none;
}
@ -12013,6 +12031,21 @@ hr + .rq-note {
.mt-0{
margin-top: 0;
}
button.gray{
background: #dbdbdb; /* Old browsers */
background: -moz-linear-gradient(top, #dbdbdb 0%, #bdbdbd 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dbdbdb), color-stop(100%,#bdbdbd)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #dbdbdb 0%,#bdbdbd 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #dbdbdb 0%,#bdbdbd 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #dbdbdb 0%,#bdbdbd 100%); /* IE10+ */
background: linear-gradient(to bottom, #dbdbdb 0%,#bdbdbd 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dbdbdb', endColorstr='#bdbdbd',GradientType=0 ); /* IE6-9 */
}
button.gray:hover{
background: #dbdbdb; /* Old browsers */
}
@ -12020,16 +12053,16 @@ hr + .rq-note {
# Модальное окно выбора тематики
\******************************/
.pw-subj .q-sel{
top: 0;
position: absolute;
right: 0;
margin-top: 1em;
.pw-subj .q-sel{
top: 0;
position: absolute;
right: 0;
margin-top: 1em;
}
.search_form .scroll-container{
overflow: hidden;
}
}
.search_form .scroll-container{
overflow: hidden;
}
/******************************\
# Модальное окно общий вид
\******************************/
@ -12246,7 +12279,7 @@ hr + .rq-note {
# блок умный поиск
catalog_search.html
\************************/
.in-search-form .clear-all-button, .search-form-wrap .clear-all-button{
.mp-search .clear-all-button, .search-form-wrap .clear-all-button{
display: none;
width: 17px;
height: 17px;
@ -12255,19 +12288,19 @@ hr + .rq-note {
vertical-align: top;
margin-top: 2px;
}
.in-search-form .clear-all-button.active, .search-form-wrap .clear-all-button.active{
.mp-search .clear-all-button.active, .search-form-wrap .clear-all-button.active{
display: inline-block;
}
.in-search-form .clear-all-button:active, .search-form-wrap .clear-all-button:active{
.mp-search .clear-all-button:active, .search-form-wrap .clear-all-button:active{
background-position: -385px -89px;
}
.in-search-form .pw-period .pwf-field.err input{
.mp-search .pw-period .pwf-field.err input{
border-width: 2px;
border-color: #D80000;
}
.in-search-form .ui-menu .ui-menu-item .subj-category{
.mp-search .ui-menu .ui-menu-item .subj-category{
display: inline-block;
color: #a2a2a2;
font-size: 15px;
@ -12278,14 +12311,21 @@ hr + .rq-note {
text-decoration: none;
min-height: 0;
font-weight: 400;
white-space: normal;
}
.mp-search .ui-autocomplete{
width: 533px;
}
.mp-search .ui-menu .ui-menu-item{
white-space: nowrap;
}
.in-search-form .ui-menu .ui-menu-item a{
.mp-search .ui-menu .ui-menu-item a{
display: inline-block;
}
.in-search-form .ui-menu li{
.mp-search .ui-menu li{
margin-bottom: 4px;
}
.in-search-form .ui-menu{
.mp-search .ui-menu{
line-height: 15px;
}

@ -257,12 +257,8 @@ if (EXPO.searchBlock){
$sublist = $parent.children('.sublist');
if(!param){
if($label.hasClass('active')){
$label.removeClass('active');
}else{
$label.addClass('active');
}
if(this.checked){
$label.addClass('active');
var text = $(this).closest('.level').find('.trigger').first().text(),
tplObj = {'text':text,'id':checkboxId};
@ -307,6 +303,7 @@ if (EXPO.searchBlock){
//!uncheck event
}else {
$label.removeClass('active');
self._destroyTag(checkboxId);
if(!$selectedItemsWrap.children('.dna-clone').length){
$selectedItemsWrap.removeClass('visible');
@ -359,7 +356,7 @@ if (EXPO.searchBlock){
}
return false;
});
$('.clear', $modal).on('click', function () {
$('.modal-clear', $modal).on('click', function () {
self.resetList();
return false;
});
@ -371,6 +368,8 @@ if (EXPO.searchBlock){
// кнопка "очистить параметры"
$modalTrigger.siblings('.'+self.opt.clearAllButtonClass).on('click', function () {
self.resetList();
EXPO.searchBlock.exhibitionField.clearValue();
});
});
};
@ -702,8 +701,10 @@ if (EXPO.searchBlock){
$('#'+key, self.$selfContainer).prop('checked', false).trigger('change');
dna.destroy(self.itemsSelected[key]);
}
}
$('.level.active',self.$modalInst).removeClass('active');
self.$selectedItemsWrap.removeClass('visible');
},
// кнопка применить
@ -789,12 +790,18 @@ if (EXPO.searchBlock){
DOMParentCheckbox = DOMParent.querySelector('.csb-menu-input');
$('.csb-menu-input', $sublist).each(function () {
var DOMCheckboxWrap = common.closest(this,'custom-radio-check');
if(!this.selected){
if(!this.checked){
if(DOMParentCheckbox.checked){
this.checked = true;
common.addClass(DOMCheckboxWrap,'active');
}
}else{
if(!DOMParentCheckbox.checked){
this.checked = false;
common.removeClass(DOMCheckboxWrap,'active');
}
}
});
$waiter.hide();
@ -848,6 +855,8 @@ if (EXPO.searchBlock){
DOMSublistInner = DOMParentRow.querySelector('.'+sublistClass),
DOMHighestItem = common.closest(this, highestItemClass),
DOMHighestCheckbox = DOMHighestItem.querySelector('.'+checkboxClass),
DOMHighestSublist = DOMHighestItem.querySelector('.'+sublistClass),
selectSublist = function (it) {
var DOMParentItem = common.closest(it, itemClass) || this,
DOMSublist = DOMParentItem.querySelector('.'+sublistClass);
@ -861,6 +870,7 @@ if (EXPO.searchBlock){
DOMSublist = DOMParentItem.querySelector('.'+sublistClass);
$('.'+checkboxClass, DOMSublist).each(function () {
unSelectItem(this);
});
},
@ -895,9 +905,14 @@ if (EXPO.searchBlock){
},
unSelectItem = function (it) {
var itFakeCheckbox = common.closest(it, fakeCheckboxClass);
var itFakeCheckbox = common.closest(it, fakeCheckboxClass),
DOMitem = common.closest(it, itemClass);
common.removeClass(itFakeCheckbox, activeClass);
it.checked = false;
// if there is children items
if(DOMitem.querySelector('.'+sublistClass) && !common.hasClass(DOMitem,highestItemClass)){
unSelectSublist(it);
}
},
allChildrenSelected = function () {
//var DOMselected = DOMSublist.querySelectorAll('.'+checkboxClass+':checked'),
@ -922,7 +937,7 @@ if (EXPO.searchBlock){
}
},
// Функционал добавления тегов: если есть в панели выбранный элемент либо его дочерние то удалить эти эдементы и разместить выбранный; иначе разместить выбранные.
// Функционал добавления тегов: если есть в панели выбранный элемент либо его дочерние то удалить эти эдементы;
refreshTags = function (it) {
var DOMSublist = common.closest(it,sublistClass);
var DOMItem = common.closest(it,itemClass);
@ -957,7 +972,6 @@ if (EXPO.searchBlock){
}
allTagsLength = ARRAllTagsIds.length;
sublistIdsLength = ARRSublistIds.length;
// добавить текущий тег
//если найден дочерний тег то он будет удален, либо текущий тег
for(i = 0; i < allTagsLength; i++){
@ -975,6 +989,13 @@ if (EXPO.searchBlock){
deleteTag(it);
}
}
// удаление дочерних тегов 2го уровня
if(DOMSublistInner.querySelectorAll('.final-tire')){
$('.'+fakeCheckboxClass+'.'+activeClass, DOMSublistInner.querySelectorAll('.final-tire')).each(function () {
deleteTag($('.'+checkboxClass,this)[0]);
});
}
}else{
// удаление дубликатов текущего элемента
for(i = 0; i < allTagsLength; i++){
@ -1011,7 +1032,7 @@ if (EXPO.searchBlock){
}
},
createTagList = function (sublist) {
var $selected = $(DOMSublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass+':checked');
var $selected = $(sublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass+':checked');
$selected.each(function () {
createTag(this);
});
@ -1034,7 +1055,12 @@ if (EXPO.searchBlock){
if(!self.strictMode){
if(this.checked){
if($(DOMSublistInner).find('.'+checkboxClass)[0]){
if(DOMSublistInner && $(DOMSublistInner).find('.'+checkboxClass)[0].value != '~~id~~'){
refreshTags(this);
}
}
//если выбраны все дочерние
if(allChildrenSelected()){
selectParent(this);
@ -1056,9 +1082,7 @@ if (EXPO.searchBlock){
if(DOMSublistInner){
selectSublist(this);
}
if(DOMSublistInner && $(DOMSublistInner).find('.'+checkboxClass)[0].value != '~~id~~'){
refreshTags(this);
}
}else{
//Если выбран родитель
@ -1069,10 +1093,12 @@ if (EXPO.searchBlock){
deleteTag(DOMParentCheckbox);
createTagList(DOMSublist);
if(DOMHighestCheckbox.checked){
unSelectItem(DOMHighestCheckbox);
refreshTags(DOMHighestCheckbox);
deleteTag(DOMHighestCheckbox);
createTagList(DOMHighestSublist);
}
}else{
unSelectItem(this);
refreshTags(this);
@ -1116,7 +1142,7 @@ if (EXPO.searchBlock){
/**
* clear all button behavior
*/
$('.clear',$modal).on('click', function () {
$('.modal-clear',$modal).on('click', function () {
self.resetList();
return false;
});
@ -1143,6 +1169,7 @@ if (EXPO.searchBlock){
});
$modalTrigger.siblings('.'+self.opt.clearAllButtonClass).on('click', function () {
self.resetList();
EXPO.searchBlock.placesField.clearValue()
});
});
@ -1390,11 +1417,13 @@ if (EXPO.searchBlock){
var self = this;
for (var key in self.itemsSelected) {
if (self.itemsSelected.hasOwnProperty(key)) {
$('#'+key, self.$selfContainer).prop('checked', false).trigger('change');
$('#'+key, self.$selfContainer).prop('checked', false).closest('.custom-radio-check').removeClass('active');
dna.destroy(self.itemsSelected[key]);
}
}
$('.level.active',this.$modal).removeClass('active');
this._refreshText();
self.selectedWrap.removeClass('visible');
},
/**
@ -1583,6 +1612,21 @@ if (EXPO.searchBlock){
* @public
*/
applyHandler: function (it) {
},
_refreshText: function () {
var selectedString,
$modalTrigger = $('#'+this.opt.modalTrigger),
cutLength = 16;
selectedString = getSelectedToString(this.opt.selectedItemsContainer,cutLength);
if(selectedString && selectedString != '~~text~~' && selectedString != '~~text~~...'){
$modalTrigger.text(selectedString);
$modalTrigger.siblings('.'+this.opt.clearAllButtonClass).addClass('active');
}else{
$modalTrigger.text($modalTrigger.data('default'));
$modalTrigger.siblings('.'+this.opt.clearAllButtonClass).removeClass('active');
}
}
};
@ -1599,6 +1643,7 @@ if (EXPO.searchBlock){
$modal = $('#'+self.opt.id),
$modalTrigger = $('#'+self.opt.modalTrigger),
applyBtnClass = self.opt.applyBtnClass,
$activeField,
/**
* make string from input:text values
* @returns {string}
@ -1669,11 +1714,11 @@ if (EXPO.searchBlock){
/**
* swap values between date fields
*/
if(thatValInt > itValInt && thatValInt != 0 && thatValInt){
if(itValInt > thatValInt && itId == self.opt.dateFrom){
bfr = document.getElementById(itId).value;
document.getElementById(itId).value = document.getElementById(thatId).value;
document.getElementById(thatId).value = bfr;
}else if(thatValInt < itValInt && thatValInt != 0 && thatValInt){
}else if(itValInt < thatValInt && itId == self.opt.dateTo){
bfr = document.getElementById(thatId).value;
document.getElementById(thatId).value = document.getElementById(itId).value;
document.getElementById(itId).value = bfr;
@ -1685,51 +1730,58 @@ if (EXPO.searchBlock){
this.$dateTo = $dateTo;
this.$modalTrigger = $modalTrigger;
$(function () {
$.datepicker.setDefaults($.datepicker.regional["ru"]);
$dateFrom.datepicker({
dateFormat: 'dd.mm.yy',
showOn: 'button',
showOtherMonths: true,
constrainInput: true,
onClose: function( selectedDate ) {
$dateTo.datepicker( "option", "minDate", selectedDate );
}
}).inputmask("99.99.9999",{
showMaskOnHover:false,
'oncomplete': function () {
checkInterval(this);
}
});
$dateTo.datepicker({
dateFormat: 'dd.mm.yy',
showOn: 'button',
showOtherMonths: true,
constrainInput: true,
onClose: function( selectedDate ) {
$dateFrom.datepicker( "option", "maxDate", selectedDate );
}
}).inputmask("99.99.9999",{
showMaskOnHover:false,
'oncomplete': function () {
checkInterval(this);
}
});
$('input[type="text"]',$modal).on('change', function () {
var stringToset = inputsTostring();
$(function () {
$.datepicker.setDefaults($.datepicker.regional["ru"]);
$dateFrom.datepicker({
dateFormat: 'dd.mm.yy',
showOn: 'button',
showOtherMonths: true,
constrainInput: true,
onClose: function( selectedDate ) {
$dateTo.datepicker( "option", "minDate", selectedDate );
}
}).inputmask("99.99.9999",{
showMaskOnHover:false,
insertMode:false,
'oncomplete': function () {
$activeField = this;
}
});
$dateTo.datepicker({
dateFormat: 'dd.mm.yy',
showOn: 'button',
showOtherMonths: true,
constrainInput: true,
onClose: function( selectedDate ) {
$dateFrom.datepicker( "option", "maxDate", selectedDate );
}
}).inputmask("99.99.9999",{
showMaskOnHover:false,
insertMode:false,
'oncomplete': function () {
$activeField = this;
}
});
$('input[type="text"]',$modal).on('change', function () {
var stringToset = inputsTostring();
if (self.validate()){
triggerSetText(stringToset);
}
});
$('.'+applyBtnClass, $modal).on('click', function () {
self.applyHandler(this);
return false;
});
$modalTrigger.siblings('.'+self.opt.clearAllButtonClass).on('click', function () {
$(this).removeClass('active');
self.resetList();
});
});
$('.'+applyBtnClass, $modal).on('click', function () {
if($activeField){
checkInterval($activeField);
}
self.applyHandler(this);
return false;
});
$modalTrigger.siblings('.'+self.opt.clearAllButtonClass).on('click', function () {
$(this).removeClass('active');
self.resetList();
});
});
};
/**
@ -1998,6 +2050,9 @@ if (EXPO.searchBlock){
*/
pullData: function (handler) {
},
clearValue: function () {
this.$field.val('');
}
};

@ -312,12 +312,9 @@ if (EXPO.events.feed) {
}
return false;
});
$('#'+self.opt.deleteId).on('click',function () {
$('.' + self.opt.deleteTagClass, $modal).trigger('click');
});
$('.clear', $modal).on('click', function () {
self.resetList();
return false;
$('.del-on-page').on('click',function () {
var dataCheckboxId = $(this).attr('data-checkbox-id');
$('.' + self.opt.deleteTagClass+'[data-checkbox-id="'+dataCheckboxId+'"]', $modal).trigger('click');
});
self._autocompleteInit();
$('.' + applyBtnClass, $modal).on('click', function () {
@ -326,8 +323,10 @@ if (EXPO.events.feed) {
});
// кнопка "очистить параметры"
$modalTrigger.siblings('.' + self.opt.clearAllButtonClass).on('click', function () {
$('.'+self.opt.clearAllButtonClass,$modal).on('click', function (e) {
e.preventDefault();
self.resetList();
return false;
});
});
};
@ -665,14 +664,17 @@ if (EXPO.events.feed) {
var self = this;
for (var key in self.itemsSelected) {
if (self.itemsSelected.hasOwnProperty(key)) {
$('#' + key, self.$selfContainer).prop('checked', false).trigger('change');
$('#'+key, self.$selfContainer).prop('checked', false).closest('.custom-radio-check').removeClass('active');
dna.destroy(self.itemsSelected[key]);
dna.destroy(self.tagsBoxItems[key]);
}
}
$('.sublist', self.$modalInst).addClass('hidden');
$('.level', self.$modalInst).removeClass('active');
self.$selectedItemsWrap.removeClass('visible');
$('.level.active',this.$modal).removeClass('active');
this._refreshLabel();
this.$selectedItemsWrap.removeClass('visible');
},
/**
* render label text, if there is no selected element then text will be default
@ -689,6 +691,7 @@ if (EXPO.events.feed) {
},
// кнопка применить
applyHandler: function (it) {
EXPO.events.feed.modalWindow.close();
}
@ -827,39 +830,42 @@ if (EXPO.events.feed) {
DOMParentRow = com.closest(this, itemClass),
DOMParentItem = com.hasClass(DOMParentRow, highestItemClass) == false ? com.closest(DOMParentRow.parentNode, itemClass) : DOMParentRow,
DOMParentCheckbox = DOMParentItem.querySelector('.' + checkboxClass),
DOMSublist = DOMParentItem.querySelector('.' + sublistClass),
DOMSublistInner = DOMParentRow.querySelector('.' + sublistClass),
DOMParentItem = com.hasClass(DOMParentRow, highestItemClass) == false?com.closest(DOMParentRow.parentNode, itemClass):DOMParentRow,
DOMParentCheckbox = DOMParentItem.querySelector('.'+checkboxClass),
DOMSublist = DOMParentItem.querySelector('.'+sublistClass),
DOMSublistInner = DOMParentRow.querySelector('.'+sublistClass),
DOMHighestItem = com.closest(this, highestItemClass),
DOMHighestCheckbox = DOMHighestItem.querySelector('.' + checkboxClass),
DOMHighestCheckbox = DOMHighestItem.querySelector('.'+checkboxClass),
DOMHighestSublist = DOMHighestItem.querySelector('.'+sublistClass),
selectSublist = function (it) {
var DOMParentItem = com.closest(it, itemClass) || this,
DOMSublist = DOMParentItem.querySelector('.' + sublistClass);
$('.' + checkboxClass, DOMSublist).each(function () {
DOMSublist = DOMParentItem.querySelector('.'+sublistClass);
$('.'+checkboxClass, DOMSublist).each(function () {
selectItem(this);
});
},
unSelectSublist = function (it) {
var DOMParentItem = com.closest(it, itemClass) || this,
DOMSublist = DOMParentItem.querySelector('.' + sublistClass);
$('.' + checkboxClass, DOMSublist).each(function () {
DOMSublist = DOMParentItem.querySelector('.'+sublistClass);
$('.'+checkboxClass, DOMSublist).each(function () {
unSelectItem(this);
});
},
selectParent = function (it) {
var DOMParentRow = com.closest(it, itemClass),
DOMParentItem;
if (com.hasClass(DOMParentRow, 'level1')) {
if(com.hasClass(DOMParentRow,'level1')){
DOMParentItem = DOMParentRow;
} else {
}else{
DOMParentItem = com.closest(DOMParentRow.parentNode, itemClass);
}
com.addClass(DOMParentItem.querySelector('.' + fakeCheckboxClass), activeClass);
DOMParentItem.querySelector('.' + checkboxClass).checked = true;
com.addClass(DOMParentItem.querySelector('.'+fakeCheckboxClass), activeClass);
DOMParentItem.querySelector('.'+checkboxClass).checked = true;
//it.selected = true;
@ -868,8 +874,8 @@ if (EXPO.events.feed) {
var DOMParentRow = com.closest(it, itemClass),
DOMParentItem = com.closest(DOMParentRow.parentNode, itemClass) || DOMParentRow;
com.removeClass(DOMParentItem.querySelector('.' + fakeCheckboxClass), activeClass);
DOMParentItem.querySelector('.' + checkboxClass).checked = false;
com.removeClass(DOMParentItem.querySelector('.'+fakeCheckboxClass), activeClass);
DOMParentItem.querySelector('.'+checkboxClass).checked = false;
//it.checked = false;
},
@ -880,97 +886,110 @@ if (EXPO.events.feed) {
},
unSelectItem = function (it) {
var itFakeCheckbox = com.closest(it, fakeCheckboxClass);
var itFakeCheckbox = com.closest(it, fakeCheckboxClass),
DOMitem = com.closest(it, itemClass);
com.removeClass(itFakeCheckbox, activeClass);
it.checked = false;
// if there is children items
if(DOMitem.querySelector('.'+sublistClass) && !com.hasClass(DOMitem,highestItemClass)){
unSelectSublist(it);
}
},
allChildrenSelected = function () {
//var DOMselected = DOMSublist.querySelectorAll('.'+checkboxClass+':checked'),
var DOMSublistParent = com.closest(DOMSublist, sublistClass),
$selected = $(DOMSublist).children('li').children('.' + fakeCheckboxClass).find('.' + checkboxClass + ':checked'),
var DOMSublistParent = com.closest(DOMSublist,sublistClass),
$selected = $(DOMSublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass+':checked'),
selectedCount = $selected.length,
//allCount = DOMSublist.querySelectorAll('.'+checkboxClass).length;
allCount = $(DOMSublist).children('li').children('.' + fakeCheckboxClass).find('.' + checkboxClass).length;
allCount = $(DOMSublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass).length;
if (allCount == selectedCount && selectedCount != 0) {
if(allCount == selectedCount && selectedCount != 0){
return true;
} else {
} else{
return false;
}
},
parentSelected = function () {
var parentCheckbox = DOMParentItem.querySelector('.' + checkboxClass);
if (parentCheckbox.checked) {
var parentCheckbox = DOMParentItem.querySelector('.'+checkboxClass);
if(parentCheckbox.checked){
return true;
} else {
}else{
return false;
}
},
// Функционал добавления тегов: если есть в панели выбранный элемент либо его дочерние то удалить эти эдементы и разместить выбранный; иначе разместить выбранные.
// Функционал добавления тегов: если есть в панели выбранный элемент либо его дочерние то удалить эти эдементы;
refreshTags = function (it) {
var DOMSublist = com.closest(it, sublistClass);
var DOMItem = com.closest(it, itemClass);
var DOMSublistInner = DOMItem.querySelector('.' + sublistClass);
var DOMAllTags = DOMTagsWrapper.querySelectorAll('.' + tagClass);
var DOMSublist = com.closest(it,sublistClass);
var DOMItem = com.closest(it,itemClass);
var DOMSublistInner = DOMItem.querySelector('.'+sublistClass);
var DOMAllTags = DOMTagsWrapper.querySelectorAll('.'+tagClass);
var ARRsublist;
var ARRsublistChildren = DOMSublist.querySelector('.' + sublistClass) ? $('.' + checkboxClass + ':checked', DOMSublist.querySelector('.' + sublistClass)) : null;
var ARRsublistChildrenLength = ARRsublistChildren ? ARRsublistChildren.length : null;
var ARRsublistChildren = DOMSublist.querySelector('.'+sublistClass)?$('.'+checkboxClass+':checked',DOMSublist.querySelector('.'+sublistClass)):null;
var ARRsublistChildrenLength = ARRsublistChildren?ARRsublistChildren.length:null;
var ARRSublistIds = [];
var ARRAllTagsIds = [];
var allTagsLength = 0;
var sublistIdsLength = 0;
var itId = it.getAttribute('id');
var i = 0, j = 0, t = 0, tmp, k = 0;
var i = 0, j= 0, t= 0, tmp, k = 0;
var tagId;
var tagText = DOMParentRow.querySelector('.' + triggerClass).innerHTML;
var tagText = DOMParentRow.querySelector('.'+triggerClass).innerHTML;
// если есть дочерние элементы
if (DOMSublistInner) {
ARRsublist = $(DOMSublistInner).children('li').children('.' + fakeCheckboxClass).find('.' + checkboxClass + ':checked')
if(DOMSublistInner){
ARRsublist = $(DOMSublistInner).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass+':checked')
//получаем массив id жлементовЮ для которых есть тег
for (k; k < ARRsublist.length; k++) {
for(k; k < ARRsublist.length; k++){
tmp = ARRsublist[k].getAttribute('id');
ARRSublistIds.push(tmp);
}
//очистк
for (t; t < DOMAllTags.length; t++) {
tmp = DOMAllTags[t].querySelector('.' + tagButtonClass).getAttribute(tagIdAttribute);
if (tmp != '~~id~~') {
for(t; t<DOMAllTags.length; t++){
tmp = DOMAllTags[t].querySelector('.'+tagButtonClass).getAttribute(tagIdAttribute);
if(tmp != '~~id~~'){
ARRAllTagsIds.push(tmp);
}
}
allTagsLength = ARRAllTagsIds.length;
sublistIdsLength = ARRSublistIds.length;
// добавить текущий тег
//если найден дочерний тег то он будет удален, либо текущий тег
for (i = 0; i < allTagsLength; i++) {
for(i = 0; i < allTagsLength; i++){
tagId = ARRAllTagsIds[i];
for (j = 0; j < sublistIdsLength; j++) {
if (tagId == ARRSublistIds[j]) {
for(j = 0; j< sublistIdsLength; j++){
if( tagId == ARRSublistIds[j] ){
deleteTag(ARRsublist[j]);
}
}
}
// удаление дубликатов текущего элемента
for (i = 0; i < allTagsLength; i++) {
for(i = 0; i < allTagsLength; i++){
tagId = ARRAllTagsIds[i];
if (tagId == itId) {
if( tagId == itId){
deleteTag(it);
}
}
} else {
// удаление дочерних тегов 2го уровня
if(DOMSublistInner.querySelectorAll('.final-tire')){
$('.'+fakeCheckboxClass+'.'+activeClass, DOMSublistInner.querySelectorAll('.final-tire')).each(function () {
deleteTag($('.'+checkboxClass,this)[0]);
});
}
}else{
// удаление дубликатов текущего элемента
for (i = 0; i < allTagsLength; i++) {
for(i = 0; i < allTagsLength; i++){
tagId = ARRAllTagsIds[i];
if (tagId == itId) {
if( tagId == itId){
deleteTag(itId);
}
}
}
},
deleteTag = function (it) {
var id = it.getAttribute('id');
@ -978,84 +997,111 @@ if (EXPO.events.feed) {
tagsPanelToggle();
},
createTag = function (it) {
var item = com.closest(it, itemClass),
tagTrigger = item.querySelector('.' + triggerClass),
var item = com.closest(it,itemClass),
tagTrigger = item.querySelector('.'+triggerClass),
tagText = tagTrigger.innerHTML,
id = it.getAttribute('id'),
tagObj = {'id': id, 'text': tagText};
tagObj = {'id':id,'text':tagText};
self._addTag(id, tagObj);
tagsPanelToggle();
},
tagsPanelToggle = function () {
if ($selectedItemsWrap.children('.' + tagClass).length && $selectedItemsWrap.children('.' + tagClass)[0].getAttribute(tagIdAttribute) != "~~id~~") {
if($selectedItemsWrap.find('.'+tagButtonClass).length && $selectedItemsWrap.find('.'+tagButtonClass)[0].getAttribute(tagIdAttribute) != "~~id~~"){
$selectedItemsWrap.addClass('visible');
} else {
}else{
$selectedItemsWrap.removeClass('visible');
}
},
createTagList = function (sublist) {
var $selected = $(DOMSublist).children('li').children('.' + fakeCheckboxClass).find('.' + checkboxClass + ':checked');
var $selected = $(sublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass+':checked');
$selected.each(function () {
createTag(this);
});
},
deleteTagList = function () {
var $selected = $(DOMSublist).children('li').children('.' + fakeCheckboxClass).find('.' + checkboxClass + ':checked');
var $selected = $(DOMSublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass+':checked');
$selected.each(function () {
deleteTag(this);
});
};
//make fake checkbox active\passive
if (this.checked) {
/**
* if modala is not in strict mode ( enable popping from children categories to parent)
*/
if(!self.strictMode){
//если выбраны все дочерние
if (allChildrenSelected()) {
selectParent(this);
selectItem(this);
refreshTags(DOMParentCheckbox);
createTag(DOMParentCheckbox);
deleteTagList(DOMSublist);
if (DOMParentCheckbox.getAttribute('id') == DOMHighestCheckbox.getAttribute('id') && !DOMHighestCheckbox.checked) {
selectItem(DOMHighestCheckbox);
refreshTags(DOMHighestCheckbox);
createTag(DOMHighestCheckbox);
if(this.checked){
if($(DOMSublistInner).find('.'+checkboxClass)[0]){
if(DOMSublistInner && $(DOMSublistInner).find('.'+checkboxClass)[0].value != '~~id~~'){
refreshTags(this);
}
}
} else {
//если выбраны все дочерние
if(allChildrenSelected()){
selectParent(this);
selectItem(this);
refreshTags(DOMParentCheckbox);
createTag(DOMParentCheckbox);
deleteTagList(DOMSublist);
if(DOMParentCheckbox.getAttribute('id')== DOMHighestCheckbox.getAttribute('id') && !DOMHighestCheckbox.checked){
selectItem(DOMHighestCheckbox);
refreshTags(DOMHighestCheckbox);
createTag(DOMHighestCheckbox);
}
}else{
selectItem(this);
refreshTags(this);
createTag(this);
}
//выбрать все дочерние
if(DOMSublistInner){
selectSublist(this);
}
}else{
//Если выбран родитель
if(parentSelected()){
unSelectParent(this);
unSelectItem(this);
refreshTags(DOMParentCheckbox);
deleteTag(DOMParentCheckbox);
createTagList(DOMSublist);
if(DOMHighestCheckbox.checked){
unSelectItem(DOMHighestCheckbox);
deleteTag(DOMHighestCheckbox);
createTagList(DOMHighestSublist);
}
}else{
unSelectItem(this);
refreshTags(this);
deleteTag(this);
}
//убрать все дочерние
if(DOMSublistInner){
unSelectSublist(this);
refreshTags(this);
}
}
}else{
if(this.checked){
selectItem(this);
refreshTags(this);
createTag(this);
}
//выбрать все дочерние
if (DOMSublistInner) {
selectSublist(this);
}
} else {
//Если выбран родитель
if (parentSelected()) {
unSelectParent(this);
unSelectItem(this);
refreshTags(DOMParentCheckbox);
deleteTag(DOMParentCheckbox);
createTagList(DOMSublist);
if (DOMHighestCheckbox.checked) {
unSelectItem(DOMHighestCheckbox);
refreshTags(DOMHighestCheckbox);
deleteTag(DOMHighestCheckbox);
}
} else {
}else{
unSelectItem(this);
refreshTags(this);
deleteTag(this);
}
//убрать все дочерние
if (DOMSublistInner) {
unSelectSublist(this);
}
}
triggerSetText();
});
@ -1075,8 +1121,9 @@ if (EXPO.events.feed) {
}
return false;
});
$('#'+self.opt.deleteId).on('click',function () {
$('.' + self.opt.deleteTagClass, $modal).trigger('click');
$('.del-on-page').on('click',function () {
var dataCheckboxId = $(this).attr('data-checkbox-id');
$('.' + self.opt.deleteTagClass+'[data-checkbox-id="'+dataCheckboxId+'"]', $modal).trigger('click');
});
/**
* clear all button behavior
@ -1106,10 +1153,13 @@ if (EXPO.events.feed) {
self.applyHandler(this);
return false;
});
$modalTrigger.siblings('.' + self.opt.clearAllButtonClass).on('click', function () {
$('.'+self.opt.clearAllButtonClass,$modal).on('click', function (e) {
e.preventDefault();
self.resetList();
return false;
});
});
@ -1367,14 +1417,15 @@ if (EXPO.events.feed) {
var self = this;
for (var key in self.itemsSelected) {
if (self.itemsSelected.hasOwnProperty(key)) {
$('#' + key, self.$selfContainer).prop('checked', false).trigger('change');
$('#'+key, self.$selfContainer).prop('checked', false).closest('.custom-radio-check').removeClass('active');
dna.destroy(self.itemsSelected[key]);
dna.destroy(self.tagsBoxItems[key]);
}
}
$('.sublist:not(.parent)', self.$modal).addClass('hidden');
$('.level', self.$modal).removeClass('active');
self.selectedWrap.removeClass('visible');
$('.level.active',this.$modal).removeClass('active');
this._refreshLabel();
this.selectedWrap.removeClass('visible');
},
/**
* initiliazing and setup autocomplete field for places list
@ -1575,6 +1626,7 @@ if (EXPO.events.feed) {
},
applyHandler: function (it) {
EXPO.events.feed.modalWindow.close();
},
/**
* render label text, if there is no selected element then text will be default
@ -1641,14 +1693,6 @@ if (EXPO.events.feed) {
this.placesModal = new PlacesModal(self.opt.place);
this.subjModal = new SubjectModal(self.opt.subject);
this.placesModal.applyHandler = function () {
self.modalWindow.close();
$(self.DOMform).submit();
};
this.subjModal.applyHandler = function () {
self.modalWindow.close();
$(self.DOMform).submit();
};
// заполнение полей предыдущими значениями
$(function () {
if(self.previousSearch.inputs.length){

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save