diff --git a/templates/client/static_client/js/_modules/block.search.js b/templates/client/static_client/js/_modules/block.search.js index 3762241d..281c3e5a 100644 --- a/templates/client/static_client/js/_modules/block.search.js +++ b/templates/client/static_client/js/_modules/block.search.js @@ -928,6 +928,18 @@ if (EXPO.searchBlock){ return false; } }, + allHighestSelected = function () { + //var DOMselected = DOMSublist.querySelectorAll('.'+checkboxClass+':checked'), + var $selected = $(DOMHighestSublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass+':checked'), + selectedCount = $selected.length, + allCount = $(DOMHighestSublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass).length; + + if(allCount == selectedCount && selectedCount != 0){ + return true; + } else{ + return false; + } + }, parentSelected = function () { var parentCheckbox = DOMParentItem.querySelector('.'+checkboxClass); if(parentCheckbox.checked){ @@ -1072,6 +1084,11 @@ if (EXPO.searchBlock){ selectItem(DOMHighestCheckbox); refreshTags(DOMHighestCheckbox); createTag(DOMHighestCheckbox); + //если только что вклбченный чекбокс дополняет остальные включенные чекбоксы, то включается самый верхний чекбокс + }else if(allHighestSelected()){ + selectItem(DOMHighestCheckbox); + refreshTags(DOMHighestCheckbox); + createTag(DOMHighestCheckbox); } }else{ selectItem(this); diff --git a/templates/client/static_client/js/_modules/page.events.feed.js b/templates/client/static_client/js/_modules/page.events.feed.js index ec85b645..073003d0 100644 --- a/templates/client/static_client/js/_modules/page.events.feed.js +++ b/templates/client/static_client/js/_modules/page.events.feed.js @@ -909,6 +909,18 @@ if (EXPO.events.feed) { return false; } }, + allHighestSelected = function () { + //var DOMselected = DOMSublist.querySelectorAll('.'+checkboxClass+':checked'), + var $selected = $(DOMHighestSublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass+':checked'), + selectedCount = $selected.length, + allCount = $(DOMHighestSublist).children('li').children('.'+fakeCheckboxClass).find('.'+checkboxClass).length; + + if(allCount == selectedCount && selectedCount != 0){ + return true; + } else{ + return false; + } + }, parentSelected = function () { var parentCheckbox = DOMParentItem.querySelector('.'+checkboxClass); if(parentCheckbox.checked){ @@ -1053,6 +1065,11 @@ if (EXPO.events.feed) { selectItem(DOMHighestCheckbox); refreshTags(DOMHighestCheckbox); createTag(DOMHighestCheckbox); + //если только что вклбченный чекбокс дополняет остальные включенные чекбоксы, то включается самый верхний чекбокс + }else if(allHighestSelected()){ + selectItem(DOMHighestCheckbox); + refreshTags(DOMHighestCheckbox); + createTag(DOMHighestCheckbox); } }else{ selectItem(this); diff --git a/templates/client/static_client/js_min/_modules/block.search.min.js b/templates/client/static_client/js_min/_modules/block.search.min.js index a40e0d17..0bcce152 100644 --- a/templates/client/static_client/js_min/_modules/block.search.min.js +++ b/templates/client/static_client/js_min/_modules/block.search.min.js @@ -1 +1 @@ -var EXPO=EXPO||{};EXPO.searchBlock?console.warn("WARNING: EXPO.searchBlock is already defined!"):EXPO.searchBlock=function(){var e={};e.settings={place:{id:"pw-place",selectedItemTemplate:"csb-selected",ajaxUrl:"http://hit.expomap.ru/search-form/"},subject:{id:"pw-subj",ajaxUrl:"http://hit.expomap.ru/search-form/"}},e.lang={};var t=EXPO.common,i=function(e){var t=Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&");return"?"+t},a=function(e,t,i){e||(e=""),$.ajax({type:"GET",url:t,data:e,success:function(e){return"function"!=typeof i?e:void i(e)}})},n=function(e,t,i){return e.hasOwnProperty(t)&&(e[i]=e[t]),this},s=function(e){var t,i=0;for(t in e)e.hasOwnProperty(t)&&i++;return i},l=function(e,t){var i=$("#"+e),a="",n=EXPO.searchBlock.settings.closerText,s=EXPO.searchBlock.settings.closerTextSingle,l="";return $element=i.find(".csbs-text"),$element.length>2?$element.eq(0).text().length2&&d?(a({term:t,form:o},l.opt.autoCompleteUrl,u),d=!1):0!=t.length||d||l.$inputFilter.hasClass("ui-autocomplete-input")&&(l.$inputFilter.placeComplete("destroy"),d=!0),!1}).click(function(){return!1})},_renderSublist:function(e,t,i){var a=this,n=0,s=t+"-sub",l=function(e){if(e.length){for(a.sublist[s]={},n;nw;w++)for(p=y[w],I=0;S>I;I++)p==_[I]&&M(r[I]);for(w=0;x>w;w++)p=y[w],p==T&&M(i);C.querySelectorAll(".final-tire")&&$("."+e+"."+n,C.querySelectorAll(".final-tire")).each(function(){M($("."+l,this)[0])})}else for(w=0;x>w;w++)p=y[w],p==T&&M(T)},M=function(e){var t=e.getAttribute("id");i._destroyTag(t),P()},O=function(e){var n=t.closest(e,a),s=n.querySelector("."+u),l=s.innerHTML,r=e.getAttribute("id"),o={id:r,text:l};i._addTag(r,o),P()},P=function(){o.find("."+h).length&&"~~id~~"!=o.find("."+h)[0].getAttribute(m)?o.addClass("visible"):o.removeClass("visible")},q=function(t){var i=$(t).children("li").children("."+e).find("."+l+":checked");i.each(function(){O(this)})},E=function(){var t=$(C).children("li").children("."+e).find("."+l+":checked");t.each(function(){M(this)})};i.strictMode?this.checked?(I(this),D(this),O(this)):(B(this),D(this),M(this)):this.checked?($(k).find("."+l)[0]&&k&&"~~id~~"!=$(k).find("."+l)[0].value&&D(this),F()?(T(this),I(this),D(v),O(v),E(C),v.getAttribute("id")!=_.getAttribute("id")||_.checked||(I(_),D(_),O(_))):(I(this),D(this),O(this)),k&&x(this)):(A()?(w(this),B(this),D(v),M(v),q(C),_.checked&&(B(_),M(_),q(y))):(B(this),D(this),M(this)),k&&(S(this),D(this))),p()}),$(".csbs-del",o).on("click",function(){var e=$(this).attr("data-checkbox-id"),t=$("#"+e);return t.prop("checked",!1),t.trigger("change"),dna.destroy(i.itemsSelected[e]),o.children(".dna-clone").length||o.removeClass("visible"),!1}),$(".modal-clear",n).on("click",function(){return i.resetList(),!1}),$(".q-sel a",n).on("click",function(){var e=$(this),t=e.attr("data-name"),n=e.attr("data-id"),s={name:t,id:n},l=function(e){i._loadParentTree(e,function(){i._checkCheckBox(n)})};return a(s,i.opt.getParentUrl,l),!1}),$("."+h,n).on("click",function(){return i.applyHandler(this),!1}),d.siblings("."+i.opt.clearAllButtonClass).on("click",function(){i.resetList(),EXPO.searchBlock.placesField.clearValue()})})};c.prototype={_getAjax:function(e,t){var i=this;e||(e=""),$.ajax({type:"GET",url:i.opt.ajaxUrl,data:e,success:function(e){return"function"!=typeof t?(i.rawData=e,e):(i.rawData=e,void t(e))}})},_renderSublist:function(e,t,i){var a=this,n=0,s=t+"-sub",l=function(e){if(e.length){for(a.curDNA[s]={},n;n2&&o?(a({term:t,form:l},s.opt.autoCompleteUrl,d),o=!1):0!=t.length||o||s.$inputFilter.hasClass("ui-autocomplete-input")&&(s.$inputFilter.autocomplete("destroy"),o=!0),!1}).click(function(){return!1})},_loadParentTree:function(e,t,i){var a,n,l,o,c=this,d=e,h=$("#id_"+d.id),u=function(e){var a=$("#id_"+d.id),h=function(){r.hide(),i||0===i?t(i):t()};r.hide(),a.length&&s(c.curDNA[n+"-sub"])==e&&(l={name:d.name,id:d.id},r.show(),o=$("#id_"+d.id).closest(".level").children(".trigger").attr("data-template-id"),c._renderNested(l,h,o,d.id))},p=function(){r.hide(),i||0===i?t(i):t()};r.show(),d.hasOwnProperty("parent")?h.length?(l={name:d.name,id:d.id},o=h.closest(".level").children(".trigger").attr("data-template-id"),c._renderNested(l,function(){r.hide(),t()},o,d.id)):(a={name:d.parent.name,id:d.parent.id},n=$("#id_"+d.parent.id).closest(".level").children(".trigger").attr("data-template-id"),c._renderSublist(a,n,u)):(a={name:d.name,id:d.id},n=$("#id_"+d.id).closest(".level").children(".trigger").attr("data-template-id"),c._renderSublist(a,n,p))},applyHandler:function(){},_refreshText:function(){var e,t=$("#"+this.opt.modalTrigger),i=16;e=l(this.opt.selectedItemsContainer,i),e&&"~~text~~"!=e&&"~~text~~..."!=e?(t.text(e),t.siblings("."+this.opt.clearAllButtonClass).addClass("active")):(t.text(t.data("default")),t.siblings("."+this.opt.clearAllButtonClass).removeClass("active"))}};var d=function(e){this.opt=e;var t,i=this,a=$("#"+i.opt.dateFrom),n=$("#"+i.opt.dateTo),s=$("#"+i.opt.id),l=$("#"+i.opt.modalTrigger),r=i.opt.applyBtnClass,o=function(){var e="",t=l.data("lng-to"),i=l.data("lng-from"),s=$.trim(n.val()),r=$.trim(a.val());return""!=s&&""!=r?e=i+": "+r+" "+t+": "+s+".":""!=s&&""==r?e=t+": "+s+".":""==s&&""!=r&&(e=i+": "+r+"."),e},c=function(e){""!=e?(l.text(e).siblings(".trigger-label").addClass("hidden"),l.siblings("."+i.opt.clearAllButtonClass).addClass("active")):(l.text(l.data("default")).siblings(".trigger-label").removeClass("hidden"),l.siblings("."+i.opt.clearAllButtonClass).removeClass("active"))},d=function(e){var t,s,l,r,o=e.getAttribute("id"),c=e.value,d=Date.parse(c);i.validate()&&($(e).parent(".pwf-field").removeClass("err"),o==i.opt.dateFrom?(t=n[0].getAttribute("id"),s=n[0].value):(t=a[0].getAttribute("id"),s=a[0].value),l=Date.parse(s),d>l&&o==i.opt.dateFrom?(r=document.getElementById(o).value,document.getElementById(o).value=document.getElementById(t).value,document.getElementById(t).value=r):l>d&&o==i.opt.dateTo&&(r=document.getElementById(t).value,document.getElementById(t).value=document.getElementById(o).value,document.getElementById(o).value=r))};this.$dateFrom=a,this.$dateTo=n,this.$modalTrigger=l,$(function(){$.datepicker.setDefaults($.datepicker.regional.ru),a.datepicker({dateFormat:"dd.mm.yy",showOn:"button",showOtherMonths:!0,constrainInput:!0,onClose:function(e){n.datepicker("option","minDate",e)}}).inputmask("99.99.9999",{showMaskOnHover:!1,insertMode:!1,oncomplete:function(){t=this}}),n.datepicker({dateFormat:"dd.mm.yy",showOn:"button",showOtherMonths:!0,constrainInput:!0,onClose:function(e){a.datepicker("option","maxDate",e)}}).inputmask("99.99.9999",{showMaskOnHover:!1,insertMode:!1,oncomplete:function(){t=this}}),$('input[type="text"]',s).on("change",function(){var e=o();i.validate()&&c(e)}),$("."+r,s).on("click",function(){return t&&d(t),i.applyHandler(this),!1}),l.siblings("."+i.opt.clearAllButtonClass).on("click",function(){$(this).removeClass("active"),i.resetList()})})};d.prototype={resetList:function(){this.$dateFrom.val(""),this.$dateTo.val(""),this.$modalTrigger.text(this.$modalTrigger.attr("data-default"))},validate:function(){var e=this.$dateTo.val(),t=this.$dateFrom.val(),i=e.split("."),a=t.split("."),n=[],s=!0;return n[0]=Date.parse(i[1]+"."+i[0]+"."+i[2]),n[1]=Date.parse(a[1]+"."+a[0]+"."+a[2]),n[0]||""==$.trim(e)?this.$dateTo.parent(".pwf-field").removeClass("err"):(this.$dateTo.parent(".pwf-field").addClass("err"),s=!1),n[1]||""==$.trim(t)?this.$dateFrom.parent(".pwf-field").removeClass("err"):(this.$dateFrom.parent(".pwf-field").addClass("err"),s=!1),s},applyHandler:function(){}};var h=function(e){this.opt=e,this.opt.anyChar=!1;var i=this,s=!0;this.$field=$("#"+i.opt.id),this.DOMcompleteWrap=document.getElementById(i.opt.autoCompleteWrapId),this.afterClear,this.rawData={items:[],set:function(e){this.items=e,this._rawDataChange()},get:function(){return this.items},_rawDataChange:function(){var e,t=this;for(e=0;e2?a(n,i.opt.autoCompleteUrl,function(e){i.$field.hasClass("ui-autocomplete-input")&&i.$field[i.completeName]("destroy"),i.rawData.set(e),i._initAutoComplete(),i.showList("")}):0===text.length&&i.$field.hasClass("ui-autocomplete-input")&&(i.$field[i.completeName]("destroy"),t.removeClass(i.DOMcompleteWrap,"full-visible"),i._resetmodals(i.afterClear)):text.length>2&&s?(a(n,i.opt.autoCompleteUrl,function(e){i.rawData.set(e),i._initAutoComplete(),i.showList("")}),s=!1):0!=text.length||s?i.$field.hasClass("ui-autocomplete-input")&&i.showList(text):i.$field.hasClass("ui-autocomplete-input")&&(i.$field[i.completeName]("destroy"),t.removeClass(i.DOMcompleteWrap,"full-visible"),i._resetmodals(i.afterClear),s=!0),!1}).click(function(){return!1})};return h.prototype={_initAutoComplete:function(){var e=this;e.$field[e.completeName]({source:e.rawData.get(),minLength:0,appendTo:e.DOMcompleteWrap,select:function(t,i){e._afterSelect(t,i)},close:function(){t.removeClass(e.DOMcompleteWrap,"full-visible")},open:function(){t.addClass(e.DOMcompleteWrap,"full-visible")}})},_afterSelect:function(e,t){var i=this;e.preventDefault(),t.item.url?window.location=t.item.url:t.item.label.length&&(i.$field[0].value=t.item.label,i.selectCheckBoxes(t.item.id,t.item.name))},_resetmodals:function(e){return e?void e():0},selectHandler:function(){},selectCheckBoxes:function(){},showList:function(e){self=this,this.$field[self.completeName]("search",e)},pullData:function(){},clearValue:function(){this.$field.val("")}},e.init=function(e){$.extend(this.lang,e.lang),e.lang=null,$.extend(this.settings,e);var i=this,n=function(){$(i.DOMform).find('input[name="~~name~~"]').remove()};"None"!=this.settings.searchData&&this.settings.searchData&&(this.previousSearch=JSON.parse(this.settings.searchData)),this.DOMform=document.getElementById(this.settings.formId),$(this.DOMform).on("submit",function(){n()}),$.widget("custom.exibitionComplete",$.ui.autocomplete,{_renderMenu:function(e,t){var i=this,a="";$.each(t,function(t,n){n.cat!=a&&n.cat&&(e.append("
  • "+n.cat+"
  • "),a=n.cat),i._renderItemData(e,n)})}}),$.widget("custom.exibitionComplete",$.ui.autocomplete,{_renderMenu:function(e,t){var i=this,a="";$.each(t,function(t,n){n.cat!=a&&n.cat&&(e.append("
  • "+n.cat+"
  • "),a=n.cat),i._renderItemData(e,n)})}}),$.widget("custom.placeComplete",$.ui.autocomplete,{_renderItem:function(e,t){return $("
  • ").append($("").text(t.label)).append(' ('+t.cat+")").appendTo(e)}}),this.exhibitionField=new h(i.settings.firstField),this.exhibitionField.completeName="exibitionComplete",this.exhibitionField.opt.anyChar=!0,this.placesModal=new c(i.settings.place),this.subjModal=new o(i.settings.subject),this.periodModal=new d(i.settings.period),this.exhibitionField.selectCheckBoxes=function(e,t){var i,n,s=this,l=t;"th"==t?i=document.getElementById(s.opt.prefix+e):"tg"==t&&(i=document.getElementById(s.opt.prefixInner+e),l="th"),r.show(),i?(r.hide(),$(i).prop("checked",!0),$(i).trigger("change")):(n={name:t,id:e},a(n,EXPO.searchBlock.subjModal.opt.getParentUrl,function(i){EXPO.searchBlock.subjModal._loadParentTree(i,function(){EXPO.searchBlock.subjModal._checkCheckBox(e,t)})}))},this.placesField=new h(i.settings.placeField),this.placesField.dataForm=EXPO.searchBlock.placesModal.$inputFilter.attr("data-form"),this.placesField.selectCheckBoxes=function(e,t){var i,n,s=this;i=document.getElementById(s.opt.prefix+e),i?(r.hide(),$(i).prop("checked",!0),$(i).trigger("change")):(n={name:t,id:e},a(n,EXPO.searchBlock.placesModal.opt.getParentUrl,function(t){EXPO.searchBlock.placesModal._loadParentTree(t,function(){EXPO.searchBlock.placesModal._checkCheckBox(e,!0)})}))},this.exhibitionField.afterClear=function(){i.subjModal.resetList()},this.placesField.afterClear=function(){i.placesModal.resetList()},this.modalWindow=new t.Modal(i.settings.modal),this.periodModal.applyHandler=function(){this.validate()&&(r.show(),$(i.DOMform).submit())},this.placesModal.applyHandler=function(){r.show(),$(i.DOMform).submit()},this.subjModal.applyHandler=function(){r.show(),$(i.DOMform).submit()},$("."+i.settings.modalTriggerClass).on("click",function(e){return e.preventDefault(),i.modalWindow.pullData(this.getAttribute("href")),i.modalWindow.open(),!1}),$(function(){if(i.previousSearch)for(var e=0;e2?$element.eq(0).text().length2&&d?(n({term:t,form:o},l.opt.autoCompleteUrl,u),d=!1):0!=t.length||d||l.$inputFilter.hasClass("ui-autocomplete-input")&&(l.$inputFilter.placeComplete("destroy"),d=!0),!1}).click(function(){return!1})},_renderSublist:function(e,t,i){var n=this,a=0,s=t+"-sub",l=function(e){if(e.length){for(n.sublist[s]={},a;aw;w++)for(p=y[w],I=0;S>I;I++)p==_[I]&&O(r[I]);for(w=0;x>w;w++)p=y[w],p==T&&O(i);C.querySelectorAll(".final-tire")&&$("."+e+"."+a,C.querySelectorAll(".final-tire")).each(function(){O($("."+l,this)[0])})}else for(w=0;x>w;w++)p=y[w],p==T&&O(T)},O=function(e){var t=e.getAttribute("id");i._destroyTag(t),q()},P=function(e){var a=t.closest(e,n),s=a.querySelector("."+u),l=s.innerHTML,r=e.getAttribute("id"),o={id:r,text:l};i._addTag(r,o),q()},q=function(){o.find("."+h).length&&"~~id~~"!=o.find("."+h)[0].getAttribute(m)?o.addClass("visible"):o.removeClass("visible")},E=function(t){var i=$(t).children("li").children("."+e).find("."+l+":checked");i.each(function(){P(this)})},j=function(){var t=$(C).children("li").children("."+e).find("."+l+":checked");t.each(function(){O(this)})};i.strictMode?this.checked?(I(this),M(this),P(this)):(B(this),M(this),O(this)):this.checked?($(k).find("."+l)[0]&&k&&"~~id~~"!=$(k).find("."+l)[0].value&&M(this),F()?(T(this),I(this),M(v),P(v),j(C),v.getAttribute("id")!=_.getAttribute("id")||_.checked?A()&&(I(_),M(_),P(_)):(I(_),M(_),P(_))):(I(this),M(this),P(this)),k&&x(this)):(D()?(w(this),B(this),M(v),O(v),E(C),_.checked&&(B(_),O(_),E(y))):(B(this),M(this),O(this)),k&&(S(this),M(this))),p()}),$(".csbs-del",o).on("click",function(){var e=$(this).attr("data-checkbox-id"),t=$("#"+e);return t.prop("checked",!1),t.trigger("change"),dna.destroy(i.itemsSelected[e]),o.children(".dna-clone").length||o.removeClass("visible"),!1}),$(".modal-clear",a).on("click",function(){return i.resetList(),!1}),$(".q-sel a",a).on("click",function(){var e=$(this),t=e.attr("data-name"),a=e.attr("data-id"),s={name:t,id:a},l=function(e){i._loadParentTree(e,function(){i._checkCheckBox(a)})};return n(s,i.opt.getParentUrl,l),!1}),$("."+h,a).on("click",function(){return i.applyHandler(this),!1}),d.siblings("."+i.opt.clearAllButtonClass).on("click",function(){i.resetList(),EXPO.searchBlock.placesField.clearValue()})})};c.prototype={_getAjax:function(e,t){var i=this;e||(e=""),$.ajax({type:"GET",url:i.opt.ajaxUrl,data:e,success:function(e){return"function"!=typeof t?(i.rawData=e,e):(i.rawData=e,void t(e))}})},_renderSublist:function(e,t,i){var n=this,a=0,s=t+"-sub",l=function(e){if(e.length){for(n.curDNA[s]={},a;a2&&o?(n({term:t,form:l},s.opt.autoCompleteUrl,d),o=!1):0!=t.length||o||s.$inputFilter.hasClass("ui-autocomplete-input")&&(s.$inputFilter.autocomplete("destroy"),o=!0),!1}).click(function(){return!1})},_loadParentTree:function(e,t,i){var n,a,l,o,c=this,d=e,h=$("#id_"+d.id),u=function(e){var n=$("#id_"+d.id),h=function(){r.hide(),i||0===i?t(i):t()};r.hide(),n.length&&s(c.curDNA[a+"-sub"])==e&&(l={name:d.name,id:d.id},r.show(),o=$("#id_"+d.id).closest(".level").children(".trigger").attr("data-template-id"),c._renderNested(l,h,o,d.id))},p=function(){r.hide(),i||0===i?t(i):t()};r.show(),d.hasOwnProperty("parent")?h.length?(l={name:d.name,id:d.id},o=h.closest(".level").children(".trigger").attr("data-template-id"),c._renderNested(l,function(){r.hide(),t()},o,d.id)):(n={name:d.parent.name,id:d.parent.id},a=$("#id_"+d.parent.id).closest(".level").children(".trigger").attr("data-template-id"),c._renderSublist(n,a,u)):(n={name:d.name,id:d.id},a=$("#id_"+d.id).closest(".level").children(".trigger").attr("data-template-id"),c._renderSublist(n,a,p))},applyHandler:function(){},_refreshText:function(){var e,t=$("#"+this.opt.modalTrigger),i=16;e=l(this.opt.selectedItemsContainer,i),e&&"~~text~~"!=e&&"~~text~~..."!=e?(t.text(e),t.siblings("."+this.opt.clearAllButtonClass).addClass("active")):(t.text(t.data("default")),t.siblings("."+this.opt.clearAllButtonClass).removeClass("active"))}};var d=function(e){this.opt=e;var t,i=this,n=$("#"+i.opt.dateFrom),a=$("#"+i.opt.dateTo),s=$("#"+i.opt.id),l=$("#"+i.opt.modalTrigger),r=i.opt.applyBtnClass,o=function(){var e="",t=l.data("lng-to"),i=l.data("lng-from"),s=$.trim(a.val()),r=$.trim(n.val());return""!=s&&""!=r?e=i+": "+r+" "+t+": "+s+".":""!=s&&""==r?e=t+": "+s+".":""==s&&""!=r&&(e=i+": "+r+"."),e},c=function(e){""!=e?(l.text(e).siblings(".trigger-label").addClass("hidden"),l.siblings("."+i.opt.clearAllButtonClass).addClass("active")):(l.text(l.data("default")).siblings(".trigger-label").removeClass("hidden"),l.siblings("."+i.opt.clearAllButtonClass).removeClass("active"))},d=function(e){var t,s,l,r,o=e.getAttribute("id"),c=e.value,d=Date.parse(c);i.validate()&&($(e).parent(".pwf-field").removeClass("err"),o==i.opt.dateFrom?(t=a[0].getAttribute("id"),s=a[0].value):(t=n[0].getAttribute("id"),s=n[0].value),l=Date.parse(s),d>l&&o==i.opt.dateFrom?(r=document.getElementById(o).value,document.getElementById(o).value=document.getElementById(t).value,document.getElementById(t).value=r):l>d&&o==i.opt.dateTo&&(r=document.getElementById(t).value,document.getElementById(t).value=document.getElementById(o).value,document.getElementById(o).value=r))};this.$dateFrom=n,this.$dateTo=a,this.$modalTrigger=l,$(function(){$.datepicker.setDefaults($.datepicker.regional.ru),n.datepicker({dateFormat:"dd.mm.yy",showOn:"button",showOtherMonths:!0,constrainInput:!0,onClose:function(e){a.datepicker("option","minDate",e)}}).inputmask("99.99.9999",{showMaskOnHover:!1,insertMode:!1,oncomplete:function(){t=this}}),a.datepicker({dateFormat:"dd.mm.yy",showOn:"button",showOtherMonths:!0,constrainInput:!0,onClose:function(e){n.datepicker("option","maxDate",e)}}).inputmask("99.99.9999",{showMaskOnHover:!1,insertMode:!1,oncomplete:function(){t=this}}),$('input[type="text"]',s).on("change",function(){var e=o();i.validate()&&c(e)}),$("."+r,s).on("click",function(){return t&&d(t),i.applyHandler(this),!1}),l.siblings("."+i.opt.clearAllButtonClass).on("click",function(){$(this).removeClass("active"),i.resetList()})})};d.prototype={resetList:function(){this.$dateFrom.val(""),this.$dateTo.val(""),this.$modalTrigger.text(this.$modalTrigger.attr("data-default"))},validate:function(){var e=this.$dateTo.val(),t=this.$dateFrom.val(),i=e.split("."),n=t.split("."),a=[],s=!0;return a[0]=Date.parse(i[1]+"."+i[0]+"."+i[2]),a[1]=Date.parse(n[1]+"."+n[0]+"."+n[2]),a[0]||""==$.trim(e)?this.$dateTo.parent(".pwf-field").removeClass("err"):(this.$dateTo.parent(".pwf-field").addClass("err"),s=!1),a[1]||""==$.trim(t)?this.$dateFrom.parent(".pwf-field").removeClass("err"):(this.$dateFrom.parent(".pwf-field").addClass("err"),s=!1),s},applyHandler:function(){}};var h=function(e){this.opt=e,this.opt.anyChar=!1;var i=this,s=!0;this.$field=$("#"+i.opt.id),this.DOMcompleteWrap=document.getElementById(i.opt.autoCompleteWrapId),this.afterClear,this.rawData={items:[],set:function(e){this.items=e,this._rawDataChange()},get:function(){return this.items},_rawDataChange:function(){var e,t=this;for(e=0;e2?n(a,i.opt.autoCompleteUrl,function(e){i.$field.hasClass("ui-autocomplete-input")&&i.$field[i.completeName]("destroy"),i.rawData.set(e),i._initAutoComplete(),i.showList("")}):0===text.length&&i.$field.hasClass("ui-autocomplete-input")&&(i.$field[i.completeName]("destroy"),t.removeClass(i.DOMcompleteWrap,"full-visible"),i._resetmodals(i.afterClear)):text.length>2&&s?(n(a,i.opt.autoCompleteUrl,function(e){i.rawData.set(e),i._initAutoComplete(),i.showList("")}),s=!1):0!=text.length||s?i.$field.hasClass("ui-autocomplete-input")&&i.showList(text):i.$field.hasClass("ui-autocomplete-input")&&(i.$field[i.completeName]("destroy"),t.removeClass(i.DOMcompleteWrap,"full-visible"),i._resetmodals(i.afterClear),s=!0),!1}).click(function(){return!1})};return h.prototype={_initAutoComplete:function(){var e=this;e.$field[e.completeName]({source:e.rawData.get(),minLength:0,appendTo:e.DOMcompleteWrap,select:function(t,i){e._afterSelect(t,i)},close:function(){t.removeClass(e.DOMcompleteWrap,"full-visible")},open:function(){t.addClass(e.DOMcompleteWrap,"full-visible")}})},_afterSelect:function(e,t){var i=this;e.preventDefault(),t.item.url?window.location=t.item.url:t.item.label.length&&(i.$field[0].value=t.item.label,i.selectCheckBoxes(t.item.id,t.item.name))},_resetmodals:function(e){return e?void e():0},selectHandler:function(){},selectCheckBoxes:function(){},showList:function(e){self=this,this.$field[self.completeName]("search",e)},pullData:function(){},clearValue:function(){this.$field.val("")}},e.init=function(e){$.extend(this.lang,e.lang),e.lang=null,$.extend(this.settings,e);var i=this,a=function(){$(i.DOMform).find('input[name="~~name~~"]').remove()};"None"!=this.settings.searchData&&this.settings.searchData&&(this.previousSearch=JSON.parse(this.settings.searchData)),this.DOMform=document.getElementById(this.settings.formId),$(this.DOMform).on("submit",function(){a()}),$.widget("custom.exibitionComplete",$.ui.autocomplete,{_renderMenu:function(e,t){var i=this,n="";$.each(t,function(t,a){a.cat!=n&&a.cat&&(e.append("
  • "+a.cat+"
  • "),n=a.cat),i._renderItemData(e,a)})}}),$.widget("custom.exibitionComplete",$.ui.autocomplete,{_renderMenu:function(e,t){var i=this,n="";$.each(t,function(t,a){a.cat!=n&&a.cat&&(e.append("
  • "+a.cat+"
  • "),n=a.cat),i._renderItemData(e,a)})}}),$.widget("custom.placeComplete",$.ui.autocomplete,{_renderItem:function(e,t){return $("
  • ").append($("").text(t.label)).append(' ('+t.cat+")").appendTo(e)}}),this.exhibitionField=new h(i.settings.firstField),this.exhibitionField.completeName="exibitionComplete",this.exhibitionField.opt.anyChar=!0,this.placesModal=new c(i.settings.place),this.subjModal=new o(i.settings.subject),this.periodModal=new d(i.settings.period),this.exhibitionField.selectCheckBoxes=function(e,t){var i,a,s=this,l=t;"th"==t?i=document.getElementById(s.opt.prefix+e):"tg"==t&&(i=document.getElementById(s.opt.prefixInner+e),l="th"),r.show(),i?(r.hide(),$(i).prop("checked",!0),$(i).trigger("change")):(a={name:t,id:e},n(a,EXPO.searchBlock.subjModal.opt.getParentUrl,function(i){EXPO.searchBlock.subjModal._loadParentTree(i,function(){EXPO.searchBlock.subjModal._checkCheckBox(e,t)})}))},this.placesField=new h(i.settings.placeField),this.placesField.dataForm=EXPO.searchBlock.placesModal.$inputFilter.attr("data-form"),this.placesField.selectCheckBoxes=function(e,t){var i,a,s=this;i=document.getElementById(s.opt.prefix+e),i?(r.hide(),$(i).prop("checked",!0),$(i).trigger("change")):(a={name:t,id:e},n(a,EXPO.searchBlock.placesModal.opt.getParentUrl,function(t){EXPO.searchBlock.placesModal._loadParentTree(t,function(){EXPO.searchBlock.placesModal._checkCheckBox(e,!0)})}))},this.exhibitionField.afterClear=function(){i.subjModal.resetList()},this.placesField.afterClear=function(){i.placesModal.resetList()},this.modalWindow=new t.Modal(i.settings.modal),this.periodModal.applyHandler=function(){this.validate()&&(r.show(),$(i.DOMform).submit())},this.placesModal.applyHandler=function(){r.show(),$(i.DOMform).submit()},this.subjModal.applyHandler=function(){r.show(),$(i.DOMform).submit()},$("."+i.settings.modalTriggerClass).on("click",function(e){return e.preventDefault(),i.modalWindow.pullData(this.getAttribute("href")),i.modalWindow.open(),!1}),$(function(){if(i.previousSearch)for(var e=0;e2&&d?(n({term:t,form:c},o.opt.autoCompleteUrl,u),d=!1):0!=t.length||d||o.$inputFilter.hasClass("ui-autocomplete-input")&&(o.$inputFilter.autocomplete("destroy"),d=!0),!1}).click(function(){return!1})},_renderSublist:function(e,t,i){var n=this,s=0,a=t+"-sub",o=function(e){if(e.length){for(n.sublist[a]={},s;sT;T++)for(h=_[T],O=0;S>O;O++)h==C[O]&&A(o[O]);for(T=0;x>T;T++)h=_[T],h==I&&A(i);b.querySelectorAll(".final-tire")&&$("."+e+"."+s,b.querySelectorAll(".final-tire")).each(function(){A($("."+r,this)[0])})}else for(T=0;x>T;T++)h=_[T],h==I&&A(I)},A=function(e){var t=e.getAttribute("id");i._destroyTag(t),q()},M=function(e){var s=t.closest(e,n),a=s.querySelector("."+p),r=a.innerHTML,o=e.getAttribute("id"),c={id:o,text:r};i._addTag(o,c),q()},q=function(){o.find("."+u).length&&"~~id~~"!=o.find("."+u)[0].getAttribute(f)?o.addClass("visible"):o.removeClass("visible")},F=function(t){var i=$(t).children("li").children("."+e).find("."+r+":checked");i.each(function(){M(this)})},E=function(){var t=$(b).children("li").children("."+e).find("."+r+":checked");t.each(function(){A(this)})};i.strictMode?this.checked?(O(this),D(this),M(this)):(P(this),D(this),A(this)):this.checked?($(k).find("."+r)[0]&&k&&"~~id~~"!=$(k).find("."+r)[0].value&&D(this),w()?(I(this),O(this),D(m),M(m),E(b),m.getAttribute("id")!=C.getAttribute("id")||C.checked||(O(C),D(C),M(C))):(O(this),D(this),M(this)),k&&x(this)):(B()?(T(this),P(this),D(m),A(m),F(b),C.checked&&(P(C),A(C),F(_))):(P(this),D(this),A(this)),k&&(S(this),D(this))),h()}),$("."+i.opt.deleteTagClass,s).on("click",function(){var e=$(this).attr("data-checkbox-id"),t=$("#"+e);return t.prop("checked",!1),t.trigger("change"),i._refreshLabel(),o.children(".dna-clone").length||o.removeClass("visible"),!1}),$(".del-on-page").on("click",function(){var e=$(this).attr("data-checkbox-id");$("."+i.opt.deleteTagClass+'[data-checkbox-id="'+e+'"]',s).trigger("click")}),$(".clear",s).on("click",function(){return i.resetList(),!1}),$(".q-sel a",s).on("click",function(){var e=$(this),t=e.attr("data-name"),s=e.attr("data-id"),a={name:t,id:s},r=function(e){i._loadParentTree(e,function(){i._checkCheckBox(s)})};return n(a,i.opt.getParentUrl,r),!1}),$("."+l,s).on("click",function(){return i.applyHandler(this),!1}),$("."+i.opt.clearAllButtonClass,s).on("click",function(e){return e.preventDefault(),i.resetList(),!1})})};return l.prototype={_getAjax:function(e,t){var i=this;e||(e=""),$.ajax({type:"GET",url:i.opt.ajaxUrl,data:e,success:function(e){return"function"!=typeof t?(i.rawData=e,e):(i.rawData=e,void t(e))}})},_renderSublist:function(e,t,i){var n=this,s=0,a=t+"-sub",o=function(e){if(e.length){for(n.curDNA[a]={},s;s2&&l?(r.show(),n({term:t,form:o},a.opt.autoCompleteUrl,h),l=!1):0!=t.length||l||a.$inputFilter.hasClass("ui-autocomplete-input")&&(a.$inputFilter.autocomplete("destroy"),l=!0),!1}).click(function(){return!1})},_loadParentTree:function(e,t,i){var n,s,o,c,l=this,d=e,h=$("#id_"+l.opt.prefix+d.id),u=function(e){var n=$("#id_"+l.opt.prefix+d.id),h=function(){r.hide(),i||0===i?t(i):t()};r.hide(),n.length&&a(l.curDNA[s+"-sub"])==e&&(o={name:d.name,id:d.id},r.show(),c=$("#id_"+l.opt.prefix+d.id).closest(".level").children(".trigger").attr("data-template-id"),l._renderNested(o,h,c,d.id))},p=function(){r.hide(),i||0===i?t(i):t()};r.show(),d.hasOwnProperty("parent")?h.length?(o={name:d.name,id:d.id},c=h.closest(".level").children(".trigger").attr("data-template-id"),l._renderNested(o,function(){r.hide(),t()},c,d.id)):(n={name:d.parent.name,id:d.parent.id},s=$("#id_"+l.opt.prefix+d.parent.id).closest(".level").children(".trigger").attr("data-template-id"),l._renderSublist(n,s,u)):(n={name:d.name,id:d.id},s=$("#id_"+l.opt.prefix+d.id).closest(".level").children(".trigger").attr("data-template-id"),l._renderSublist(n,s,p))},applyHandler:function(){EXPO.events.feed.modalWindow.close()},_refreshLabel:function(){var e=this.selectedWrap.children().length;this.$label.text(this.$label.attr(e?"data-selected":"data-default"))}},e.init=function(e){$.extend(this.opt,e);var n=this,s=function(){$(n.DOMform).find('input[name="~~name~~"]').remove()};"None"!=this.opt.searchData&&this.opt.searchData&&(this.previousSearch=JSON.parse(this.opt.searchData)),this.DOMform=document.getElementById(this.opt.formId),this.DOMhint=document.getElementById(this.opt.filter.hintId),$(this.DOMform).on("submit",function(){s()}),this.DOMapplyButton=document.getElementById(this.opt.applyButtonId),this.filterPane=new i(this.opt.filter),$("#"+this.opt.filter.buttonId).on("click",function(){return t.hasClass(this,n.opt.activeClass)?(t.removeClass(this,n.opt.activeClass),n.filterPane.hide()):(t.addClass(this,n.opt.activeClass),n.filterPane.show()),!1}),$("#"+n.opt.bodyId+" ."+n.opt.modalTriggerClass).on("click",function(e){return e.preventDefault(),n.modalWindow.pullData(this.getAttribute("href")),n.modalWindow.open(),!1}),$("#"+n.opt.applyButtonId).on("click",function(){return $(n.DOMform).submit(),!1}),this.modalWindow=new t.Modal(n.opt.modal),this.placesModal=new l(n.opt.place),this.subjModal=new c(n.opt.subject),$(function(){if(n.previousSearch.inputs.length){$(n.DOMhint).hide();for(var e=0;e2&&d?(n({term:t,form:c},o.opt.autoCompleteUrl,u),d=!1):0!=t.length||d||o.$inputFilter.hasClass("ui-autocomplete-input")&&(o.$inputFilter.autocomplete("destroy"),d=!0),!1}).click(function(){return!1})},_renderSublist:function(e,t,i){var n=this,s=0,a=t+"-sub",o=function(e){if(e.length){for(n.sublist[a]={},s;sT;T++)for(h=_[T],O=0;S>O;O++)h==C[O]&&M(o[O]);for(T=0;x>T;T++)h=_[T],h==I&&M(i);b.querySelectorAll(".final-tire")&&$("."+e+"."+s,b.querySelectorAll(".final-tire")).each(function(){M($("."+r,this)[0])})}else for(T=0;x>T;T++)h=_[T],h==I&&M(I)},M=function(e){var t=e.getAttribute("id");i._destroyTag(t),F()},q=function(e){var s=t.closest(e,n),a=s.querySelector("."+p),r=a.innerHTML,o=e.getAttribute("id"),c={id:o,text:r};i._addTag(o,c),F()},F=function(){o.find("."+u).length&&"~~id~~"!=o.find("."+u)[0].getAttribute(f)?o.addClass("visible"):o.removeClass("visible")},E=function(t){var i=$(t).children("li").children("."+e).find("."+r+":checked");i.each(function(){q(this)})},N=function(){var t=$(b).children("li").children("."+e).find("."+r+":checked");t.each(function(){M(this)})};i.strictMode?this.checked?(O(this),A(this),q(this)):(P(this),A(this),M(this)):this.checked?($(k).find("."+r)[0]&&k&&"~~id~~"!=$(k).find("."+r)[0].value&&A(this),w()?(I(this),O(this),A(m),q(m),N(b),m.getAttribute("id")!=C.getAttribute("id")||C.checked?B()&&(O(C),A(C),q(C)):(O(C),A(C),q(C))):(O(this),A(this),q(this)),k&&x(this)):(D()?(T(this),P(this),A(m),M(m),E(b),C.checked&&(P(C),M(C),E(_))):(P(this),A(this),M(this)),k&&(S(this),A(this))),h()}),$("."+i.opt.deleteTagClass,s).on("click",function(){var e=$(this).attr("data-checkbox-id"),t=$("#"+e);return t.prop("checked",!1),t.trigger("change"),i._refreshLabel(),o.children(".dna-clone").length||o.removeClass("visible"),!1}),$(".del-on-page").on("click",function(){var e=$(this).attr("data-checkbox-id");$("."+i.opt.deleteTagClass+'[data-checkbox-id="'+e+'"]',s).trigger("click")}),$(".clear",s).on("click",function(){return i.resetList(),!1}),$(".q-sel a",s).on("click",function(){var e=$(this),t=e.attr("data-name"),s=e.attr("data-id"),a={name:t,id:s},r=function(e){i._loadParentTree(e,function(){i._checkCheckBox(s)})};return n(a,i.opt.getParentUrl,r),!1}),$("."+l,s).on("click",function(){return i.applyHandler(this),!1}),$("."+i.opt.clearAllButtonClass,s).on("click",function(e){return e.preventDefault(),i.resetList(),!1})})};return l.prototype={_getAjax:function(e,t){var i=this;e||(e=""),$.ajax({type:"GET",url:i.opt.ajaxUrl,data:e,success:function(e){return"function"!=typeof t?(i.rawData=e,e):(i.rawData=e,void t(e))}})},_renderSublist:function(e,t,i){var n=this,s=0,a=t+"-sub",o=function(e){if(e.length){for(n.curDNA[a]={},s;s2&&l?(r.show(),n({term:t,form:o},a.opt.autoCompleteUrl,h),l=!1):0!=t.length||l||a.$inputFilter.hasClass("ui-autocomplete-input")&&(a.$inputFilter.autocomplete("destroy"),l=!0),!1}).click(function(){return!1})},_loadParentTree:function(e,t,i){var n,s,o,c,l=this,d=e,h=$("#id_"+l.opt.prefix+d.id),u=function(e){var n=$("#id_"+l.opt.prefix+d.id),h=function(){r.hide(),i||0===i?t(i):t()};r.hide(),n.length&&a(l.curDNA[s+"-sub"])==e&&(o={name:d.name,id:d.id},r.show(),c=$("#id_"+l.opt.prefix+d.id).closest(".level").children(".trigger").attr("data-template-id"),l._renderNested(o,h,c,d.id))},p=function(){r.hide(),i||0===i?t(i):t()};r.show(),d.hasOwnProperty("parent")?h.length?(o={name:d.name,id:d.id},c=h.closest(".level").children(".trigger").attr("data-template-id"),l._renderNested(o,function(){r.hide(),t()},c,d.id)):(n={name:d.parent.name,id:d.parent.id},s=$("#id_"+l.opt.prefix+d.parent.id).closest(".level").children(".trigger").attr("data-template-id"),l._renderSublist(n,s,u)):(n={name:d.name,id:d.id},s=$("#id_"+l.opt.prefix+d.id).closest(".level").children(".trigger").attr("data-template-id"),l._renderSublist(n,s,p))},applyHandler:function(){EXPO.events.feed.modalWindow.close()},_refreshLabel:function(){var e=this.selectedWrap.children().length;this.$label.text(this.$label.attr(e?"data-selected":"data-default"))}},e.init=function(e){$.extend(this.opt,e);var n=this,s=function(){$(n.DOMform).find('input[name="~~name~~"]').remove()};"None"!=this.opt.searchData&&this.opt.searchData&&(this.previousSearch=JSON.parse(this.opt.searchData)),this.DOMform=document.getElementById(this.opt.formId),this.DOMhint=document.getElementById(this.opt.filter.hintId),$(this.DOMform).on("submit",function(){s()}),this.DOMapplyButton=document.getElementById(this.opt.applyButtonId),this.filterPane=new i(this.opt.filter),$("#"+this.opt.filter.buttonId).on("click",function(){return t.hasClass(this,n.opt.activeClass)?(t.removeClass(this,n.opt.activeClass),n.filterPane.hide()):(t.addClass(this,n.opt.activeClass),n.filterPane.show()),!1}),$("#"+n.opt.bodyId+" ."+n.opt.modalTriggerClass).on("click",function(e){return e.preventDefault(),n.modalWindow.pullData(this.getAttribute("href")),n.modalWindow.open(),!1}),$("#"+n.opt.applyButtonId).on("click",function(){return $(n.DOMform).submit(),!1}),this.modalWindow=new t.Modal(n.opt.modal),this.placesModal=new l(n.opt.place),this.subjModal=new c(n.opt.subject),$(function(){if(n.previousSearch.inputs.length){$(n.DOMhint).hide();for(var e=0;e