|
Author: sascharodekamp
Date: Mon Jun 25 11:58:10 2012 New Revision: 1353482 URL: http://svn.apache.org/viewvc?rev=1353482&view=rev Log: Fix IE7 Bug in javaScript files, restructuring lookup -> modifySubmitButton function Modified: ofbiz/trunk/framework/images/webapp/images/fieldlookup.js ofbiz/trunk/framework/images/webapp/images/selectall.js Modified: ofbiz/trunk/framework/images/webapp/images/fieldlookup.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/fieldlookup.js?rev=1353482&r1=1353481&r2=1353482&view=diff ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/fieldlookup.js (original) +++ ofbiz/trunk/framework/images/webapp/images/fieldlookup.js Mon Jun 25 11:58:10 2012 @@ -322,7 +322,7 @@ var Lookup = function(options) { success : function(data) { _lookupContainer.html(data); - new ButtonModifier(_lookupId).modifySubmitButton(); + new ButtonModifier(_lookupId).modifyLookupLinks(); }, error : function(xhr, reason, exception) { @@ -330,7 +330,7 @@ var Lookup = function(options) { alert("An error occurred while communicating with the server:\n\n\nreason=" + reason + "\n\nexception=" + exception); } location.reload(true); - }, + } }); } @@ -456,14 +456,55 @@ var GLOBAL_LOOKUP_REF = new FieldLookupC ******************************************************************************/ var ButtonModifier = function(lookupDiv) { - function _modifySubmitButton() { + function _modifyLookupLinks() { if (!lookupDiv) { return; } _modifyCollapseable(); - // find the lookup form and input button + _modifySubmitButton(); + + _modifyPagination(); + + _modifyResultTable(); + } + + function _modifyCollapseable() { + + var slTitleBars = jQuery("#" + lookupDiv + " .screenlet-title-bar"); + + jQuery.each(slTitleBars, function(i) { + var slTitleBar = slTitleBars[i]; + var ul = slTitleBar.firstChild; + if ((typeof ul) != 'object') { + return true; + } + var childElements = ul.childNodes; + + for (j in childElements) { + if (childElements[j].className == 'expanded' || childElements[j].className == 'collapsed') { + break; + } + } + + _getNextCollapseSeq(); + var childEle = childElements[j].firstChild; + + childEle.setAttribute('onclick', "javascript:toggleScreenlet(this, 'lec" + COLLAPSE_SEQUENCE_NUMBER + + "', 'true', 'Expand', 'Collapse');"); + childEle.href = "javascript:void(0);" + jQuery(slTitleBar).next('div').attr('id', 'lec' + COLLAPSE_SEQUENCE_NUMBER); + + }); + } + + function _getNextCollapseSeq() { + COLLAPSE_SEQUENCE_NUMBER++; + return COLLAPSE_SEQUENCE_NUMBER; + } + + function _modifySubmitButton() { var lookupForm = jQuery("#" + lookupDiv + " form:first"); // set new form name and id @@ -471,10 +512,12 @@ var ButtonModifier = function(lookupDiv) lookupForm.attr("name", "form_" + lookupDiv); lookupForm.attr("id", "form_" + lookupDiv); lookupForm = jQuery("#form_" + lookupDiv); + // set new links for lookups var newLookups = jQuery("#" + lookupDiv + " .field-lookup"); var formAction = lookupForm.attr("action"); + // remove the form action lookupForm.attr("action", ""); var input = jQuery("#" + lookupDiv + " input[type=submit]").css({ @@ -482,7 +525,6 @@ var ButtonModifier = function(lookupDiv) }); // remove the original input button and replace with a new one - var txt = input.attr("value"); (input.parent()).append(jQuery("<button/>", { id : "lookupSubmitButton", @@ -495,6 +537,9 @@ var ButtonModifier = function(lookupDiv) })); input.remove(); + } + + function _modifyPagination() { // modify nav-pager var navPagers = jQuery("#" + lookupDiv + " .nav-pager a"); jQuery.each(navPagers, function(navPager) { @@ -504,105 +549,72 @@ var ButtonModifier = function(lookupDiv) var navPagersSelect = jQuery("#" + lookupDiv + " .nav-pager select"); jQuery.each(navPagersSelect, function(navPager) { - // that's quite weird maybe someone have a better idea ... - // that's - // where the magic happens - try { - var oc = jQuery(navPagersSelect[navPager]).attr("onchange"); - if ((typeof oc) == "function") { // IE6/7 Fix - oc = oc.toString(); - var ocSub = oc.substring((oc.indexOf('=') + 3), (oc.length - 4)); - // define search pattern we must seperate between IE and - // Other Browser - var searchPattern = /" \+ this.value \+ "/g; - var searchPattern_IE = /'\+this.value\+'/g; - var searchPattern2 = /" \+ this.valu/g; - var searchPattern2_IE = /'\+this.valu/g; - + var onChangeEvent = jQuery(navPagersSelect[navPager]).attr("onchange"); + if ((typeof onChangeEvent) == "function") { // IE6/7 Fix + onChangeEvent = onChangeEvent.toString(); + var ocSub = onChangeEvent.substring((onChangeEvent.indexOf('=') + 3), (onChangeEvent.length - 4)); + // define search pattern we must seperate between IE and + // Other Browser + var searchPattern = /" \+ this.value \+ "/g; + var searchPattern_IE = /'\+this.value\+'/g; + var searchPattern2 = /" \+ this.valu/g; + var searchPattern2_IE = /'\+this.valu/g; + + if (searchPattern.test(ocSub)) { + var viewSize = navPagersSelect[navPager].value; + var spl = ocSub.split(searchPattern); + navPagersSelect[navPager].onchange = function() { + lookupPaginationAjaxRequest(spl[0] + this.value + spl[1], 'select'); + }; + } else if (searchPattern_IE.test(ocSub)) { + var viewSize = navPagersSelect[navPager].value; + var spl = ocSub.split(searchPattern_IE); + navPagersSelect[navPager].onchange = function() { + lookupPaginationAjaxRequest("/" + spl[0] + this.value + spl[1], 'select'); + }; + } else if (searchPattern2.test(ocSub)) { + ocSub = ocSub.replace(searchPattern2, ""); if (searchPattern.test(ocSub)) { - var viewSize = navPagersSelect[navPager].value; - var spl = ocSub.split(searchPattern); - navPagersSelect[navPager].onchange = function() { - lookupPaginationAjaxRequest(spl[0] + this.value + spl[1], 'select'); - }; - } else if (searchPattern_IE.test(ocSub)) { - var viewSize = navPagersSelect[navPager].value; - var spl = ocSub.split(searchPattern_IE); - navPagersSelect[navPager].onchange = function() { - lookupPaginationAjaxRequest("/" + spl[0] + this.value + spl[1], 'select'); - }; - } else if (searchPattern2.test(ocSub)) { - ocSub = ocSub.replace(searchPattern2, ""); - if (searchPattern.test(ocSub)) { - ocSub.replace(searchPattern, viewSize); - } - navPagersSelect[navPager].onchange = function() { - lookupPaginationAjaxRequest(ocSub + this.value, 'select'); - }; - } else if (searchPattern2_IE.test(ocSub)) { - ocSub = ocSub.replace(searchPattern2_IE, ""); - if (searchPattern_IE.test(ocSub)) { - ocSub.replace(searchPattern_IE, viewSize); - } - navPagersSelect[navPager].onchange = function() { - lookupPaginationAjaxRequest("/" + ocSub + this.value, 'select'); - }; - } - } else { - var ocSub = oc.substring((oc.indexOf('=') + 1), (oc.length - 1)); - navPagersSelect[navPager].setAttribute("onchange", "lookupPaginationAjaxRequest(" + ocSub + ",'')"); - } - - if (resultTable == null) { - return; - } - resultTable = resultTable.childElements()[0]; - var resultElements = resultTable.childElements(); - for (i in resultElements) { - var childElements = resultElements[i].childElements(); - if (childElements.size() == 1) { - continue; + ocSub.replace(searchPattern, viewSize); } - for (k = 1; k < childElements.size(); k++) { - var cell = childElements[k]; - var cellChild = null; - cellChild = cell.childElements(); - if (cellChild.size() > 0) { - for (l in cellChild) { - var cellElement = cellChild[l]; - if (cellElement.tagName == 'A') { - var link = cellElement.href; - var liSub = link.substring(link.lastIndexOf('/') + 1, (link.length)); - if (liSub.indexOf("javascript:set_") != -1) { - cellElement.href = link; - } else { - cellElement.href = "javascript:lookupAjaxRequest('" + liSub + "&presentation=layer')"; - } - } - } - } + navPagersSelect[navPager].onchange = function() { + lookupPaginationAjaxRequest(ocSub + this.value, 'select'); + }; + } else if (searchPattern2_IE.test(ocSub)) { + ocSub = ocSub.replace(searchPattern2_IE, ""); + if (searchPattern_IE.test(ocSub)) { + ocSub.replace(searchPattern_IE, viewSize); } + navPagersSelect[navPager].onchange = function() { + lookupPaginationAjaxRequest("/" + ocSub + this.value, 'select'); + }; } - } catch (ex) { + } else { + var ocSub = onChangeEvent.substring((onChangeEvent.indexOf('=') + 1), (onChangeEvent.length - 1)); + navPagersSelect[navPager].setAttribute("onchange", "lookupPaginationAjaxRequest(" + ocSub + ",'')"); } }); - // modify links in result table ... + } + + function _modifyResultTable() { var resultTable = jQuery("#" + lookupDiv + " #search-results table:first tbody"); - var tableChildren = resultTable.children(); - jQuery.each(tableChildren, function(tableChild) { - var childElements = jQuery(tableChildren[tableChild]); - var tableRow = childElements.children(); - jQuery.each(tableRow, function(cell) { - var cellChild = null; - cellChild = jQuery(tableRow[cell]).children(); - jQuery.each(cellChild, function(child) { - if (cellChild[child].tagName == "A") { - var link = cellChild[child].href; + var tableChilds = resultTable.children(); + + jQuery.each(tableChilds, function(tableChild) { + var childElements = jQuery(tableChilds[tableChild]); + var tableRows = childElements.children(); + + jQuery.each(tableRows, function(cell) { + var cellChilds = jQuery(tableRows[cell]).children(); + + jQuery.each(cellChilds, function(child) { + if (cellChilds[child].tagName == "A") { + var link = cellChilds[child].href; var liSub = link.substring(link.lastIndexOf('/') + 1, (link.length)); if (liSub.indexOf("javascript:set_") != -1) { - cellChild[child].href = link; + cellChilds[child].href = link; } else { - cellChild[child].href = "javascript:lookupAjaxRequest('" + liSub + "&presentation=layer')"; + cellChilds[child].href = "javascript:lookupAjaxRequest('" + liSub + "&presentation=layer')"; } } }); @@ -612,42 +624,8 @@ var ButtonModifier = function(lookupDiv) }); } - function _modifyCollapseable() { - - var slTitleBars = jQuery("#" + lookupDiv + " .screenlet-title-bar"); - - jQuery.each(slTitleBars, function(i) { - var slTitleBar = slTitleBars[i]; - var ul = slTitleBar.firstChild; - if ((typeof ul) != 'object') { - return true; - } - var childElements = ul.childNodes; - - for (j in childElements) { - if (childElements[j].className == 'expanded' || childElements[j].className == 'collapsed') { - break; - } - } - - _getNextCollapseSeq(); - var childEle = childElements[j].firstChild; - - childEle.setAttribute('onclick', "javascript:toggleScreenlet(this, 'lec" + COLLAPSE_SEQUENCE_NUMBER - + "', 'true', 'Expand', 'Collapse');"); - childEle.href = "javascript:void(0);" - jQuery(slTitleBar).next('div').attr('id', 'lec' + COLLAPSE_SEQUENCE_NUMBER); - - }); - } - - function _getNextCollapseSeq() { - COLLAPSE_SEQUENCE_NUMBER++; - return COLLAPSE_SEQUENCE_NUMBER; - } - return { - modifySubmitButton : _modifySubmitButton + modifyLookupLinks : _modifyLookupLinks } } @@ -660,7 +638,7 @@ function lookupAjaxRequest(request) { request = request.substring(0, request.indexOf('?')); lookupId = GLOBAL_LOOKUP_REF.getReference(ACTIVATED_LOOKUP).lookupId; jQuery("#" + lookupId).load(request, arg, function(data) { - new ButtonModifier(lookupId).modifySubmitButton(); + new ButtonModifier(lookupId).modifyLookupLinks(); }); } @@ -694,7 +672,7 @@ function lookupFormAjaxRequest(formActio jQuery("span.indicator").remove(); } jQuery("#" + lookupId).html(result); - new ButtonModifier(lookupId).modifySubmitButton(); + new ButtonModifier(lookupId).modifyLookupLinks(); } }); } @@ -729,7 +707,7 @@ function lookupPaginationAjaxRequest(nav jQuery("span.indicator").remove(); } jQuery("#" + lookupId).html(result); - new ButtonModifier(lookupId).modifySubmitButton(); + new ButtonModifier(lookupId).modifyLookupLinks(); } }); } Modified: ofbiz/trunk/framework/images/webapp/images/selectall.js URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/selectall.js?rev=1353482&r1=1353481&r2=1353482&view=diff ============================================================================== --- ofbiz/trunk/framework/images/webapp/images/selectall.js (original) +++ ofbiz/trunk/framework/images/webapp/images/selectall.js Mon Jun 25 11:58:10 2012 @@ -304,7 +304,7 @@ function ajaxUpdateAreaPeriodic(areaId, }, error: function(data) {waitSpinnerHide()} }); - + } }); } @@ -398,19 +398,19 @@ function ajaxSubmitFormUpdateAreas(form, function ajaxAutoCompleter(areaCsvString, showDescription, defaultMinLength, defaultDelay, formName){ var areaArray = areaCsvString.replace(/&/g, '&').split(","); var numAreas = parseInt(areaArray.length / 3); - + for (var i = 0; i < numAreas * 3; i = i + 3) { var initUrl = areaArray[i + 1]; if (initUrl.indexOf("?") > -1) var url = initUrl + "&" + areaArray[i + 2]; - else + else var url = initUrl + "?" + areaArray[i + 2]; var div = areaArray[i]; // create a separated div where the result JSON Opbject will be placed if ((jQuery("#" + div + "_auto")).length < 1) { jQuery("<div id='" + div + "_auto'></div>").insertBefore("#" + areaArray[i]); } - + jQuery("#" + div).autocomplete({ minLength: defaultMinLength, delay: defaultDelay, @@ -447,13 +447,13 @@ function ajaxAutoCompleter(areaCsvString if(exception != 'abort') { alert("An error occurred while communicating with the server:\n\n\nreason=" + reason + "\n\nexception=" + exception); } - }, + } }); }, select: function(event, ui){ //jQuery("#" + areaArray[0]).html(ui.item); - jQuery("#" + areaArray[0]).val(ui.item.value); // setting a text field - if (showDescription && (ui.item.value != undefined && ui.item.value != '')) { + jQuery("#" + areaArray[0]).val(ui.item.value); // setting a text field + if (showDescription && (ui.item.value != undefined && ui.item.value != '')) { setLookDescription(areaArray[0], ui.item.label, areaArray[2], formName, showDescription) } } @@ -473,8 +473,8 @@ function setLookDescription(textFieldId, var start = description.lastIndexOf(' ['); if (start != -1) { description = description.substring(0, start); - - // This sets a (possibly hidden) dependent field if a description-field-name is provided + + // This sets a (possibly hidden) dependent field if a description-field-name is provided var dependentField = params.substring(params.indexOf("searchValueFieldName")); dependentField = jQuery("#" + formName + "_" + dependentField.substring(dependentField.indexOf("=") + 1)); var dependentFieldValue = description.substring(0, description.lastIndexOf(' ')) @@ -534,7 +534,7 @@ function ajaxAutoCompleteDropDown() { }) ); }, select: function( event, ui ) { - ui.item.option.selected = true; + ui.item.option.selected = true; //select.val( ui.item.option.value ); self._trigger( "selected", event, { item: ui.item.option @@ -752,7 +752,7 @@ function submitFormEnableButton(button) /** * Expands or collapses all groups of one portlet - * + * * @param bool <code>true</code> to expand, <code>false</code> otherwise * @param portalPortletId The id of the portlet */ @@ -767,7 +767,7 @@ function expandAllP(bool, portalPortletI /** * Expands or collapses all groups of the page - * + * * @param bool <code>true</code> to expand, <code>false</code> otherwise */ function expandAll(bool) { @@ -800,7 +800,7 @@ function waitSpinnerShow() { lookupTop = (scrollOffY + winHeight / 2) - (jSpinner.height() / 2); jSpinner.css("display", "block"); - jSpinner.css("left", lookupLeft + "px"); + jSpinner.css("left", lookupLeft + "px"); jSpinner.css("top", lookupTop + "px"); jSpinner.show(); } |
| Free forum by Nabble | Edit this page |
