expo-34 bugs fontend part ready

remotes/origin/1203
pavel 11 years ago
parent d1a6d6577d
commit dd320943e3
  1. 8
      templates/client/accounts/feed.html
  2. 2
      templates/client/static_client/js/_modules/block.search.js
  3. 108
      templates/client/static_client/js/_modules/page.events.feed.js
  4. 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',

@ -1423,7 +1423,7 @@ if (EXPO.searchBlock){
}
}
$('.level.active',this.$modal).removeClass('active');
this._refreshText()
this._refreshText();
self.selectedWrap.removeClass('visible');
},
/**

@ -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();
}
@ -833,6 +836,8 @@ if (EXPO.events.feed) {
DOMSublistInner = DOMParentRow.querySelector('.'+sublistClass),
DOMHighestItem = com.closest(this, highestItemClass),
DOMHighestCheckbox = DOMHighestItem.querySelector('.'+checkboxClass),
DOMHighestSublist = DOMHighestItem.querySelector('.'+sublistClass),
selectSublist = function (it) {
var DOMParentItem = com.closest(it, itemClass) || this,
DOMSublist = DOMParentItem.querySelector('.'+sublistClass);
@ -846,6 +851,7 @@ if (EXPO.events.feed) {
DOMSublist = DOMParentItem.querySelector('.'+sublistClass);
$('.'+checkboxClass, DOMSublist).each(function () {
unSelectItem(this);
});
},
@ -880,9 +886,14 @@ 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'),
@ -907,7 +918,7 @@ if (EXPO.events.feed) {
}
},
// Функционал добавления тегов: если есть в панели выбранный элемент либо его дочерние то удалить эти эдементы и разместить выбранный; иначе разместить выбранные.
// Функционал добавления тегов: если есть в панели выбранный элемент либо его дочерние то удалить эти эдементы;
refreshTags = function (it) {
var DOMSublist = com.closest(it,sublistClass);
var DOMItem = com.closest(it,itemClass);
@ -942,7 +953,6 @@ if (EXPO.events.feed) {
}
allTagsLength = ARRAllTagsIds.length;
sublistIdsLength = ARRSublistIds.length;
// добавить текущий тег
//если найден дочерний тег то он будет удален, либо текущий тег
for(i = 0; i < allTagsLength; i++){
@ -960,6 +970,13 @@ if (EXPO.events.feed) {
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++){
@ -971,6 +988,8 @@ if (EXPO.events.feed) {
}
},
deleteTag = function (it) {
var id = it.getAttribute('id');
@ -987,14 +1006,14 @@ if (EXPO.events.feed) {
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{
$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);
});
@ -1008,9 +1027,21 @@ if (EXPO.events.feed) {
};
//make fake checkbox active\passive
/**
* if modala is not in strict mode ( enable popping from children categories to parent)
*/
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);
@ -1032,6 +1063,7 @@ if (EXPO.events.feed) {
if(DOMSublistInner){
selectSublist(this);
}
}else{
//Если выбран родитель
@ -1042,10 +1074,12 @@ if (EXPO.events.feed) {
deleteTag(DOMParentCheckbox);
createTagList(DOMSublist);
if(DOMHighestCheckbox.checked){
unSelectItem(DOMHighestCheckbox);
refreshTags(DOMHighestCheckbox);
deleteTag(DOMHighestCheckbox);
createTagList(DOMHighestSublist);
}
}else{
unSelectItem(this);
refreshTags(this);
@ -1054,9 +1088,21 @@ if (EXPO.events.feed) {
//убрать все дочерние
if(DOMSublistInner){
unSelectSublist(this);
refreshTags(this);
}
}
}else{
if(this.checked){
selectItem(this);
refreshTags(this);
createTag(this);
}else{
unSelectItem(this);
refreshTags(this);
deleteTag(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
Loading…
Cancel
Save