Changeset 1155


Ignore:
Timestamp:
12/03/08 20:49:43 (3 years ago)
Author:
ArthurClemens
Message:

Item384: Improve function getElementsByClassName

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/PatternSkin/pub/System/PatternSkin/pattern.js

    r985 r1155  
    2222                var showElem = document.getElementById('topicattachmentslistshow'); 
    2323                if (showElem != undefined) { 
    24                         var labelElem = showElem.getElementsByTagName('a')[0].getElementsByTagName('span')[0]; 
    25                         labelElem.innerHTML += countStr; 
     24                        var elems = foswiki.getElementsByClassName(showElem, 'patternToggleHeader'); 
     25                        elems[0].innerHTML += countStr; 
    2626                } 
    2727                var hideElem = document.getElementById('topicattachmentslisthide'); 
    2828                if (hideElem != undefined) { 
    29                         var labelElem = hideElem.getElementsByTagName('a')[0].getElementsByTagName('span')[0]; 
    30                         labelElem.innerHTML += countStr; 
     29                        var elems = foswiki.getElementsByClassName(hideElem, 'patternToggleHeader'); 
     30                        elems[0].innerHTML += countStr; 
    3131                } 
    3232        }, 
     
    7878                } 
    7979        }, 
    80         '#tabletwikiAttachmentsTable' : function(el) { 
     80        '#twikiAttachmentsTable' : function(el) { 
    8181                Pattern.setAttachmentCount(el); 
    8282        }, 
     
    110110var TEXT_NUM_TOPICS = foswiki.getMetaTag('TEXT_NUM_TOPICS'); 
    111111var TEXT_MODIFY_SEARCH = foswiki.getMetaTag('TEXT_MODIFY_SEARCH'); 
     112var SCRIPTURLPATH = foswiki.getMetaTag('SCRIPTURLPATH'); 
     113var SCRIPTSUFFIX = foswiki.getMetaTag('SCRIPTSUFFIX'); 
     114var WEB = foswiki.getMetaTag('WEB'); 
     115var TOPIC = foswiki.getMetaTag('TOPIC'); 
  • trunk/TinyMCEPlugin/pub/System/TinyMCEPlugin/foswiki.js

    r1043 r1155  
    66function handleKeyDown(e){if(!e)e=window.event;var code;if(e.keyCode)code=e.keyCode;if(code==27)return false;return true;} 
    77function validateMandatoryFields(event){if(foswiki.Pref.validateSuppressed){return true;} 
    8 var ok=true;var els=foswiki.getElementsByClassName(document,'select','foswikiMandatory');for(var j=0;j<els.length;j++){var one=false;for(var k=0;k<els[j].options.length;k++){if(els[j].options[k].selected){one=true;break;}} 
     8var ok=true;var els=foswiki.getElementsByClassName(document,'foswikiMandatory','select');for(var j=0;j<els.length;j++){var one=false;for(var k=0;k<els[j].options.length;k++){if(els[j].options[k].selected){one=true;break;}} 
    99if(!one){alert("The required form field '"+els[j].name+ 
    1010"' has no value.");ok=false;}} 
    11 var taglist=new Array('input','textarea');for(var i=0;i<taglist.length;i++){els=foswiki.getElementsByClassName(document,taglist[i],'foswikiMandatory');for(var j=0;j<els.length;j++){if(els[j].value==null||els[j].value.length==0){alert("The required form field '"+els[j].name+ 
     11var taglist=new Array('input','textarea');for(var i=0;i<taglist.length;i++){els=foswiki.getElementsByClassName(document,'foswikiMandatory',taglist[i]);for(var j=0;j<els.length;j++){if(els[j].value==null||els[j].value.length==0){alert("The required form field '"+els[j].name+ 
    1212"' has no value.");ok=false;}}} 
    1313return ok;} 
  • trunk/TinyMCEPlugin/pub/System/TinyMCEPlugin/foswiki_src.js

    r1043 r1155  
    8686    } 
    8787    var ok = true; 
    88     var els = foswiki.getElementsByClassName(document, 'select', 
    89                                                'foswikiMandatory'); 
     88    var els = foswiki.getElementsByClassName(document, 'foswikiMandatory', 'select'); 
    9089    for (var j = 0; j < els.length; j++) { 
    9190        var one = false; 
     
    104103    var taglist = new Array('input', 'textarea'); 
    105104    for (var i = 0; i < taglist.length; i++) { 
    106         els = foswiki.getElementsByClassName(document, taglist[i], 
    107                                                'foswikiMandatory'); 
     105        els = foswiki.getElementsByClassName(document, 'foswikiMandatory', taglist[i]); 
    108106        for (var j = 0; j < els.length; j++) { 
    109107            if (els[j].value == null || els[j].value.length == 0) { 
  • trunk/core/pub/System/JavascriptFiles/foswiki_edit.js

    r984 r1155  
    111111    } 
    112112    var ok = true; 
    113     var els = foswiki.getElementsByClassName(document, 'select', 
    114                                                'twikiMandatory'); 
     113    var els = foswiki.getElementsByClassName(document, 'twikiMandatory', 'select'); 
    115114    for (var j = 0; j < els.length; j++) { 
    116115        var one = false; 
     
    129128    var taglist = new Array('input', 'textarea'); 
    130129    for (var i = 0; i < taglist.length; i++) { 
    131         els = foswiki.getElementsByClassName(document, taglist[i], 
    132                                                'twikiMandatory'); 
     130        els = foswiki.getElementsByClassName(document, 'twikiMandatory', taglist[i]); 
    133131        for (var j = 0; j < els.length; j++) { 
    134132            if (els[j].value == null || els[j].value.length == 0) { 
  • trunk/core/pub/System/JavascriptFiles/foswikilib.js

    r985 r1155  
    2020}; 
    2121 
    22 // Get all elements under root that have the given tag and include the 
    23 // given class 
    24 foswiki.getElementsByClassName = function(root, tag, className) { 
    25         var elms = root.getElementsByTagName(tag); 
    26         className = className.replace(/\-/g, "\\-"); 
     22/** 
     23Get all elements under root that include the given class. 
     24@param inRootElem: HTMLElement to start searching from 
     25@param inClassName: CSS class name to find 
     26@param inTag: (optional) HTML tag to speed up searching (if not given, a wildcard is used to search all elements) 
     27@example: 
     28<code> 
     29var gallery = document.getElementById('galleryTable'); 
     30var elems = foswiki.getElementsByClassName(gallery, 'personalPicture'); 
     31var firstPicture = elems[0]; 
     32</code> 
     33*/ 
     34foswiki.getElementsByClassName = function(inRootElem, inClassName, inTag) { 
     35        var tag = inTag || '*'; 
     36        var elms = inRootElem.getElementsByTagName(tag); 
     37        var className = inClassName.replace(/\-/g, "\\-"); 
    2738        var re = new RegExp("\\b" + className + "\\b"); 
    2839        var el; 
Note: See TracChangeset for help on using the changeset viewer.