merged with filter functionlity

remotes/origin/1203
pavel 11 years ago
commit 69e186e819
  1. 251
      templates/client/accounts/feed.html
  2. 2
      templates/client/popups/place.html
  3. 2
      templates/client/popups/theme.html
  4. 15
      templates/client/static_client/css/main.css
  5. 8
      templates/client/static_client/js/_modules/page.events.feed.js

@ -17,155 +17,136 @@
{% block page_body %}
<div class="page-body clearfix events-feed-page">
<div class="events-filter-wrap" id="events-filter-wrap">
<a rel="nofollow" id="filter-show-button" class="button icon-eye " href="javascript:void(0);">Фильтрация ленты</a>
<div class="events-filter" id="events-filter">
<section class="col">
<h2><span id="filter-subject-label" data-default="Тематические фильтры не выбраны" data-selected="Тематика">Тематические фильтры не выбраны</span>: (<a class="change-filter filter-modal-open" href="#filter-pwSubj" id="filter-subj-modal-trigger">Изменить</a>):</h2>
<div class="events-filter-box c-select-box">
<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="#" data-checkbox-id="~~id~~" id="subject-tag-remove">x</a>
</div>
<div class="events-filter-wrap" id="events-filter-wrap">
<a rel="nofollow" id="filter-show-button" class="button icon-eye " href="javascript:void(0);">Фильтрация ленты</a>
<div class="events-filter" id="events-filter">
<section class="col">
<h2><span id="filter-subject-label" data-default="Тематические фильтры не выбраны" data-selected="Тематика">Тематические фильтры не выбраны</span>: (<a class="change-filter filter-modal-open" href="#filter-pwSubj" id="filter-subj-modal-trigger">Изменить</a>):</h2>
<div class="events-filter-box c-select-box">
<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>
</div>
</div>
</div>
</section>
<section class="col ">
<h2 class="mt-0"><span id="filter-place-label" data-default="Географические фильтры не выбраны" data-selected="Место проведения">Географические фильтры не выбраны</span>: (<a class="change-filter filter-modal-open" href="#filter-pwPlace" id="filter-place-modal-trigger">Изменить</a>):</h2>
<div class="events-filter-box c-select-box">
<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="#" data-checkbox-id="~~id~~" id="place-tag-remove">x</a>
</div>
</div>
</section>
<section class="col ">
<h2 class="mt-0"><span id="filter-place-label" data-default="Географические фильтры не выбраны" data-selected="Место проведения">Географические фильтры не выбраны</span>: (<a class="change-filter filter-modal-open" href="#filter-pwPlace" id="filter-place-modal-trigger">Изменить</a>):</h2>
<div class="events-filter-box c-select-box">
<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>
</div>
</div>
</div>
</div>
</section>
<button class="icon-check apply-filter button" type="submit" id="apply-filter-button">{% trans 'Применить' %}</button>
</section>
<button class="icon-check apply-filter button" type="submit" id="apply-filter-button">{% trans 'Применить' %}</button>
</div>
<form method="post" action="/profile/feed/" class="search_form" id="filter-block-form">{% csrf_token %}
<div class="modals">
<div class="search-modal-overlay" id="filter-modal">
<div class="search-modal-wrap fancybox-skin">
<div class="search-modal-body">
</div>
<form method="post" action="/profile/feed/" class="search_form" id="filter-block-form">{% csrf_token %}
<div class="modals">
<div class="search-modal-overlay" id="filter-modal">
<div class="search-modal-wrap fancybox-skin">
<div class="search-modal-body">
{% if search_form.th %}
{% include 'client/popups/theme.html' with search_form=search_form filter="filter-" formId="filter-pwSubj" selectedItemTemplate="filter-subj-selected" autoCompleteId="filter-subj-complete-block" filterInputId="filter-subj-fliter-input" selectedItemsContainer="filter-csb-subj-selected-items" subjectTriggerWrapId="filter-subj-checks" exhibitionCheck="filter-exhibition-check" conferenceCheck="filter-conference-check" prefix="f-s-" %}
{% endif %}
{% if search_form.th %}
{% include 'client/popups/theme.html' with search_form=search_form filter="filter-" formId="filter-pwSubj" selectedItemTemplate="filter-subj-selected" autoCompleteId="filter-subj-complete-block" filterInputId="filter-subj-fliter-input" selectedItemsContainer="filter-csb-subj-selected-items" subjectTriggerWrapId="filter-subj-checks" exhibitionCheck="filter-exhibition-check" conferenceCheck="filter-conference-check" prefix="f-s-" submitText="Применить" %}
{% endif %}
{% if search_form.area %}
{% include 'client/popups/place.html' with search_form=search_form filter="filter-" formId="filter-pwPlace" selectedItemTemplate="filter-csb-selected" autoCompleteId="filter-place-complete-block" filterInputId="filter-place-filter-input" selectedItemsContainer="filter-csb-selected-items" prefix="f-p-" %}
{% endif %}
{% if search_form.area %}
{% include 'client/popups/place.html' with search_form=search_form filter="filter-" formId="filter-pwPlace" selectedItemTemplate="filter-csb-selected" autoCompleteId="filter-place-complete-block" filterInputId="filter-place-filter-input" selectedItemsContainer="filter-csb-selected-items" prefix="f-p-" submitText="Применить" %}
{% endif %}
</div>
<div class="a modal-close fancybox-close">&nbsp;</div>
</div>
<div class="a modal-close fancybox-close">&nbsp;</div>
</div>
</div>
</form>
</div>
<div class="filter-hint-block" id="filter-hint-block">
<p><span class="red">*</span>{% trans ' Вы можете настроить ленту событий, один раз выбрав интересные темы и географию с помощью кнопки «Фильтрация ленты».' %}</p>
</div>
</form>
</div>
</div>
{% include 'includes/exposition/exposition_list.html' with object_list=object_list %}
{% include 'includes/catalog_paginator.html' with page_obj=page_obj %}
<script src="{% static 'client/js' %}{% if debug %}/{% else %}_min/{% endif %}_modules/page.events.feed{% if debug %}{% else %}.min{% endif %}.js"></script>
<!--<script src="{% static 'client/js/_modules/block.search.js' %}"></script>-->
<script>
EXPO.events.feed.init({
bodyId:'events-filter-wrap',
formId: 'filter-block-form',
activeClass:'active',
modalTriggerClass:'filter-modal-open',
searchData:'{{ filter_form.data_with_parents|safe }}',
closerText: "{% trans ' и еще _ позиции' %}",
closerTextSingle:"{% trans ' и еще _ позиция' %}",
applyButtonId:'apply-filter-button',
place:{
id:'filter-pwPlace',
selectedItemTemplate:'filter-csb-selected',
ajaxUrl:'http://{{ request.get_host }}/search-form/',
autoCompleteUrl:'http://{{ request.get_host }}/search-form/autocomplete/',
getParentUrl:'http://{{ request.get_host }}/search-form/get-parent/',
autoCompleteId:'filter-place-complete-block',
filterInputId:'filter-place-filter-input',
modalTrigger:'filter-place-modal-trigger',
selectedItemsContainer:'filter-csb-selected-items',
clearAllButtonClass:'clear-all-button',
applyBtnClass:'modal-approve',
tagsBoxId:'filter-places-tags',
deleteTagClass:'csbs-del',
bodyId:'events-filter-wrap',
prefix:'f-p-',
deleteId:'place-tag-remove',
labelId:'filter-place-label'
},
subject:{
id:'filter-pwSubj',
selectedItemTemplate:'filter-subj-selected',
autoCompleteId:'filter-subj-complete-block',
ajaxUrl:'http://{{ request.get_host }}/search-form/',
autoCompleteUrl:'http://{{ request.get_host }}/search-form/autocomplete/',
filterInputId:'filter-subj-fliter-input',
modalTrigger:'fiter-subj-modal-trigger',
getParentUrl:'http://{{ request.get_host }}/search-form/get-parent/',
selectedItemsContainer:'filter-csb-subj-selected-items',
subjectTriggerWrapId:'filter-subj-checks',
//switched by default
defaultOn:['f-s-exhibition-check','f-s-conference-check'],
clearAllButtonClass:'clear-all-button',
applyBtnClass:'modal-approve',
tagsBoxId:'filter-subject-tags',
deleteTagClass:'csbs-del',
bodyId:'events-filter-wrap',
prefix:'f-s-',
deleteId:'subject-tag-remove',
labelId:'filter-subject-label'
},
filter: {
wrapperId:'"events-filter-wrap"',
bodyId:'events-filter',
buttonId:'filter-show-button'
},
modal:{
id:'filter-modal',
wrapClass:'search-modal-wrap',
size:{
'filter-pwSubj':{
width:640,
height:514
{% include 'includes/exposition/exposition_list.html' with object_list=object_list %}
{% include 'includes/catalog_paginator.html' with page_obj=page_obj %}
<!--todo: вернуть минификацию-->
<!--<script src="{% static 'client/js' %}{% if debug %}/{% else %}_min/{% endif %}_modules/page.events.feed{% if debug %}{% else %}.min{% endif %}.js"></script>-->
<script src="{% static 'client/js/_modules/page.events.feed.js' %}"></script>
<!--<script src="{% static 'client/js/_modules/block.search.js' %}"></script>-->
<script>
EXPO.events.feed.init({
bodyId:'events-filter-wrap',
formId: 'filter-block-form',
activeClass:'active',
modalTriggerClass:'filter-modal-open',
searchData:'{{ filter_form.data_with_parents|safe }}',
closerText: "{% trans ' и еще _ позиции' %}",
closerTextSingle:"{% trans ' и еще _ позиция' %}",
applyButtonId:'apply-filter-button',
place: {
id: 'filter-pwPlace',
selectedItemTemplate: 'filter-csb-selected',
ajaxUrl: 'http://{{ request.get_host }}/search-form/',
autoCompleteUrl: 'http://{{ request.get_host }}/search-form/autocomplete/',
getParentUrl: 'http://{{ request.get_host }}/search-form/get-parent/',
autoCompleteId: 'filter-place-complete-block',
filterInputId: 'filter-place-filter-input',
modalTrigger: 'filter-place-modal-trigger',
selectedItemsContainer: 'filter-csb-selected-items',
clearAllButtonClass: 'clear-all-button',
applyBtnClass: 'modal-approve',
tagsBoxId: 'filter-places-tags',
deleteTagClass: 'csbs-del',
bodyId: 'events-filter-wrap',
prefix: 'f-p-',
deleteId: 'place-tag-remove',
labelId: 'filter-place-label'
},
'filter-pwPlace':{
width:640,
height:460
}
}
}
});
</script>
subject: {
id: 'filter-pwSubj',
selectedItemTemplate: 'filter-subj-selected',
autoCompleteId: 'filter-subj-complete-block',
ajaxUrl: 'http://{{ request.get_host }}/search-form/',
autoCompleteUrl: 'http://{{ request.get_host }}/search-form/autocomplete/',
filterInputId: 'filter-subj-fliter-input',
modalTrigger: 'fiter-subj-modal-trigger',
getParentUrl: 'http://{{ request.get_host }}/search-form/get-parent/',
selectedItemsContainer: 'filter-csb-subj-selected-items',
subjectTriggerWrapId: 'filter-subj-checks',
//switched by default
defaultOn: ['f-s-exhibition-check', 'f-s-conference-check'],
clearAllButtonClass: 'clear-all-button',
applyBtnClass: 'modal-approve',
tagsBoxId: 'filter-subject-tags',
deleteTagClass: 'csbs-del',
bodyId: 'events-filter-wrap',
prefix: 'f-s-',
deleteId: 'subject-tag-remove',
labelId: 'filter-subject-label'
},
filter: {
wrapperId:'"events-filter-wrap"',
bodyId:'events-filter',
buttonId:'filter-show-button',
hintId:'filter-hint-block'
}
});
</script>
</div>
{% endblock %}

@ -108,7 +108,7 @@
</div>
</div>
<div class="pwf-buttons-line">
<button class="icon-check modal-approve" type="submit">{% trans 'Искать' %}</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><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>

@ -76,7 +76,7 @@
</div>
</div>
<div class="pwf-buttons-line">
<button class="icon-check modal-approve" type="submit">{% trans 'Искать' %}</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><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>

@ -12064,6 +12064,7 @@ hr + .rq-note {
.events-feed-page{
margin-top: -14px;
margin-bottom: 2em;
}
.events-feed-page h2{
font-size: 16px;
@ -12157,6 +12158,7 @@ hr + .rq-note {
.events-filter-wrap{
position: relative;
overflow: visible;
margin-bottom: 1em;
}
.events-filter-wrap .button{
margin-top: -40px;
@ -12223,6 +12225,19 @@ hr + .rq-note {
.button.apply-filter.icon-check:hover:before{
background-position: -106px -16px;
}
.events-feed-page .filter-hint-block{
border: 1px dashed #87C525;
border-radius: 4px
}
.events-feed-page .filter-hint-block p{
margin: 8px;
text-align: center;
color: #464646;
}
.events-feed-page .filter-hint-block p .red{
font-weight: bold;
color: #d80000;
}

@ -638,6 +638,7 @@ if (EXPO.events.feed) {
self._refreshLabel();
if(getObjectLength(self.itemsSelected)){
$(EXPO.events.feed.DOMapplyButton).show();
$(EXPO.events.feed.DOMhint).hide();
}
},
/**
@ -1353,6 +1354,8 @@ if (EXPO.events.feed) {
this._refreshLabel();
if(getObjectLength(self.itemsSelected)){
$(EXPO.events.feed.DOMapplyButton).show();
$(EXPO.events.feed.DOMhint).hide();
}
},
@ -1604,6 +1607,7 @@ if (EXPO.events.feed) {
}
this.DOMform = document.getElementById(this.opt.formId);
this.DOMhint = document.getElementById(this.opt.filter.hintId);
$(this.DOMform).on('submit', function () {
submitHandler();
});
@ -1647,7 +1651,8 @@ if (EXPO.events.feed) {
};
// заполнение полей предыдущими значениями
$(function () {
if(self.previousSearch){
if(self.previousSearch.inputs.length){
$(self.DOMhint).hide();
for (var i = 0; i < self.previousSearch.inputs.length; i++) {
// окно выбора тематики
if (self.previousSearch.inputs[i].name == 'th'){
@ -1681,6 +1686,7 @@ if (EXPO.events.feed) {
//Если выбраны фильтры то появляется кнопка "применить"
if(getObjectLength(self.placesModal.itemsSelected) || getObjectLength(self.subjModal.itemsSelected) ){
$(self.DOMapplyButton).show();
}
});

Loading…
Cancel
Save