expo-34 33 bugs

remotes/origin/1203
pavel 11 years ago
parent 81c5cd7644
commit ee5f336671
  1. 78
      templates/client/static_client/js/_modules/block.search.js
  2. 35
      templates/client/static_client/js/_modules/page.events.feed.js
  3. 2
      templates/client/static_client/js_min/_modules/block.search.min.js
  4. 2
      templates/client/static_client/js_min/_modules/page.events.feed.min.js

@ -996,6 +996,8 @@ if (EXPO.searchBlock){
var itFakeCheckbox = common.closest(it, fakeCheckboxClass); var itFakeCheckbox = common.closest(it, fakeCheckboxClass);
common.addClass(itFakeCheckbox, activeClass); common.addClass(itFakeCheckbox, activeClass);
it.checked = true; it.checked = true;
common.addClass(DOMParentItem,activeClass);
common.removeClass(DOMSublist,'hidden');
}, },
unSelectItem = function (it) { unSelectItem = function (it) {
@ -1358,9 +1360,16 @@ if (EXPO.searchBlock){
*/ */
_renderNested: function (dataObj, handler, template, item) { _renderNested: function (dataObj, handler, template, item) {
var self = this, var self = this,
Uri = Json2URI(dataObj); Uri = Json2URI(dataObj),
dna.load(template, (self.opt.ajaxUrl + Uri),{callback:handler,container:self.curDNA[template][item]}); ajaxHandler = function (data) {
if(data.length){
dna.load(template, (self.opt.ajaxUrl + Uri),{callback: function () {
handler(data.length);
},container:self.curDNA[template][item]});
}
};
self._getAjax(dataObj, ajaxHandler);
}, },
/** /**
* check particular checkbox input * check particular checkbox input
@ -1384,7 +1393,7 @@ if (EXPO.searchBlock){
}, },
/** /**
* select particular item and render its tag and check checkbox * select particular item and render its tag and check checkbox
* @param {Object} item * @param {Object} item ({id:3,name:'area'})
* @public * @public
*/ */
selectTag:function (item) { selectTag:function (item) {
@ -1546,50 +1555,21 @@ if (EXPO.searchBlock){
var self = this, dataObj, text , form = self.$inputFilter.attr('data-form'),index, var self = this, dataObj, text , form = self.$inputFilter.attr('data-form'),index,
$completeWrap = $('#'+self.opt.autoCompleteId), $completeWrap = $('#'+self.opt.autoCompleteId),
firstComplete = true, firstComplete = true,
/**
*
* @param event - Jquery event object
* @param ui - JqueryUI selected item object. ({item: {Objectid: -2090174,label: "Бангалор",name: "ci"text: "Бангалор",value: -2090174}})
*/
selectTag = function (event, ui) { selectTag = function (event, ui) {
//check of repeating execution //check of repeating execution
var firstTime = true; self.selectTag({id:ui.item.id,name:ui.item.name});
for (var prop in self.curDNA) {
for (var prop2 in self.curDNA[prop]) {
if (prop2 == ui.item.value){
if($('#id_'+ui.item.value+':checked').length){
firstTime = false;
}
}
}
}
if($('#id_'+ui.item.value+':checked').length){
firstTime = false;
}
// ban of repeating execution
if (firstTime) { // konec
var $checkbox = $('#id_' + ui.item.value),
requestObj, requestName,
treeLoadHandler = function (data) {
// make checkboxes selected after loading
self._loadParentTree(data, function () {
self._checkCheckBox(ui.item.value);
});
$checkbox = $('#id_' + ui.item.value);
};
// load tree related to selected item
if (!$checkbox.length) {
requestObj = {
id: ui.item.value,
name: ui.item.name
};
getRequest(requestObj, self.opt.getParentUrl, treeLoadHandler);
} else{
$checkbox.prop('checked', true);
$checkbox.trigger('change');
}
self.$inputFilter.val(ui.item.label); self.$inputFilter.val(ui.item.label);
}
}, },
/**
* execute after client side recieve server response after enter 2 or above letter in autooomplete
* do Jquery UI autocomplete initialization and executing
* @param data - data object recieved from server. example {id: -2090174,name: "ci",text: "Бангалор"}
*/
requestHandler = function(data){ requestHandler = function(data){
dataObj = data; dataObj = data;
for(index = 0; index < dataObj.length; ++index) { for(index = 0; index < dataObj.length; ++index) {
@ -1609,7 +1589,6 @@ if (EXPO.searchBlock){
self.$inputFilter.val(''); self.$inputFilter.val('');
self.$inputFilter.trigger('keyup'); self.$inputFilter.trigger('keyup');
event.preventDefault(); event.preventDefault();
// return ui.label;
} }
}); });
self.$inputFilter.autocomplete('search',""); self.$inputFilter.autocomplete('search',"");
@ -1646,7 +1625,7 @@ if (EXPO.searchBlock){
}, },
/** /**
* loads and shows list tree related to selected id * loads and shows list tree related to selected id
* @param {Object} data - is JSON object with information about parent elements. * @param {Object} data - is JSON object with information about parent elements.({text: "Германия", id: 47, parent: {text: "Европа", id: 4, name: "area"}, name: "co"})
* @param {function} handler - callback function * @param {function} handler - callback function
* @param {number} counter * @param {number} counter
* @private * @private
@ -1658,14 +1637,19 @@ if (EXPO.searchBlock){
$midleLevelCheckbox = $('#id_'+dataObj.id), $midleLevelCheckbox = $('#id_'+dataObj.id),
/** /**
* makes request in order to recieve children list information fires after request for parent list * makes request in order to recieve children list information fires after request for parent list
* @param {number} length * @param {number} length - the number of received elements
* @function * @function
*/ */
handlerNested = function (length) { handlerNested = function (length) {
var $checkbox = $('#id_'+dataObj.id), var $checkbox = $('#id_'+dataObj.id),
afterAll = function () { index = 0,
afterAll = function (number) {
$waiter.hide(); $waiter.hide();
index++
if(index == number){
counter||counter===0?handler(counter):handler(); counter||counter===0?handler(counter):handler();
}
}; };
$waiter.hide(); $waiter.hide();
if($checkbox.length && getObjectLength(self.curDNA[sublistTemplateId+'-sub']) == length){ if($checkbox.length && getObjectLength(self.curDNA[sublistTemplateId+'-sub']) == length){

@ -967,6 +967,8 @@ if (EXPO.events.feed) {
var itFakeCheckbox = com.closest(it, fakeCheckboxClass); var itFakeCheckbox = com.closest(it, fakeCheckboxClass);
com.addClass(itFakeCheckbox, activeClass); com.addClass(itFakeCheckbox, activeClass);
it.checked = true; it.checked = true;
com.addClass(DOMParentItem,activeClass);
com.removeClass(DOMSublist,'hidden');
}, },
unSelectItem = function (it) { unSelectItem = function (it) {
@ -1336,12 +1338,16 @@ if (EXPO.events.feed) {
*/ */
_renderNested: function (dataObj, handler, template, item) { _renderNested: function (dataObj, handler, template, item) {
var self = this, var self = this,
Uri = Json2URI(dataObj); Uri = Json2URI(dataObj),
dna.load(template, (self.opt.ajaxUrl + Uri), { ajaxHandler = function (data) {
callback: handler, if(data.length){
container: self.curDNA[template][item] dna.load(template, (self.opt.ajaxUrl + Uri),{callback: function () {
}); handler(data.length);
},container:self.curDNA[template][item]});
}
};
self._getAjax(dataObj, ajaxHandler);
}, },
/** /**
* check particular checkbox input * check particular checkbox input
@ -1544,7 +1550,8 @@ if (EXPO.events.feed) {
selectTag = function (event, ui) { selectTag = function (event, ui) {
//check of repeating execution //check of repeating execution
$waiter.show(); $waiter.show();
var firstTime = true; var firstTime = true,
$checkbox = $('#id_' + self.opt.prefix + ui.item.value);
for (var prop in self.curDNA) { for (var prop in self.curDNA) {
for (var prop2 in self.curDNA[prop]) { for (var prop2 in self.curDNA[prop]) {
if (prop2 == ui.item.value) { if (prop2 == ui.item.value) {
@ -1559,12 +1566,12 @@ if (EXPO.events.feed) {
} }
// ban of repeating execution // ban of repeating execution
if (firstTime) { // konec if (firstTime) { // konec
var $checkbox = $('#id_' + self.opt.prefix + ui.item.value), var requestObj, requestName,
requestObj, requestName,
treeLoadHandler = function (data) { treeLoadHandler = function (data) {
// make checkboxes selected after loading // make checkboxes selected after loading
self._loadParentTree(data, function () { self._loadParentTree(data, function () {
self._checkCheckBox(ui.item.value); self._checkCheckBox(ui.item.value);
}); });
$checkbox = $('#id_' + self.opt.prefix + ui.item.value); $checkbox = $('#id_' + self.opt.prefix + ui.item.value);
}; };
@ -1579,9 +1586,14 @@ if (EXPO.events.feed) {
} else { } else {
$checkbox.prop('checked', true); $checkbox.prop('checked', true);
$checkbox.trigger('change'); $checkbox.trigger('change');
$waiter.hide()
} }
self.$inputFilter.val(ui.item.label); self.$inputFilter.val(ui.item.label);
}else{
$checkbox.prop('checked', true);
$checkbox.trigger('change');
$waiter.hide()
} }
}, },
/** /**
@ -1667,9 +1679,14 @@ if (EXPO.events.feed) {
*/ */
handlerNested = function (length) { handlerNested = function (length) {
var $checkbox = $('#id_' + self.opt.prefix + dataObj.id), var $checkbox = $('#id_' + self.opt.prefix + dataObj.id),
afterAll = function () { index = 0,
afterAll = function (number) {
$waiter.hide(); $waiter.hide();
index++
if(index == number){
counter||counter===0?handler(counter):handler(); counter||counter===0?handler(counter):handler();
}
}; };
$waiter.hide(); $waiter.hide();
if ($checkbox.length && getObjectLength(self.curDNA[sublistTemplateId + '-sub']) == length) { if ($checkbox.length && getObjectLength(self.curDNA[sublistTemplateId + '-sub']) == 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