Bug Tracker

Changeset 5188

Show
Ignore:
Timestamp:
04/03/08 18:05:08 (9 months ago)
Author:
joern.zaefferer
Message:

ui.accordion: create additional elements and classes when not there yet, fixed flora theme

Location:
trunk/ui
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/ui/demos/ui.accordion.html

    r5149 r5188  
    2525<div class="playground"> 
    2626     
    27     <ul id="example1" class="ui-accordion-container" style="width: 200px;"> 
     27    <ul id="example1" style="width: 200px;"> 
    2828        <li> 
    29             <span class="ui-accordion-left"></span> 
    30             <a href='#' class="ui-accordion-link"> 
     29            <a href='#'> 
    3130                Test 1 
    32                 <span class="ui-accordion-right"></span> 
    3331            </a> 
    3432            <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
     
    3634        </li> 
    3735        <li> 
    38             <span class="ui-accordion-left"></span> 
    39             <a href='#' class="ui-accordion-link">Test 2<span class="ui-accordion-right"></span></a> 
     36            <a href='#'>Test 2</a> 
    4037            <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
    4138            </div> 
    4239        </li> 
    4340        <li> 
    44             <span class="ui-accordion-left"></span> 
    45             <a href='#' class="ui-accordion-link">Test 3<span class="ui-accordion-right"></span></a> 
     41            <a href='#'>Test 3</a> 
    4642            <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
    4743            </div> 
  • trunk/ui/ui.accordion.js

    r5149 r5188  
    3333        // setup configuration 
    3434        this.options = options = $.extend({}, $.ui.accordion.defaults, options); 
    35         this.element = container; 
    36          
    37         $(container).addClass("ui-accordion"); 
     35        this.element = $(container); 
    3836         
    3937        if ( options.navigation ) { 
    40             var current = $(container).find("a").filter(options.navigationFilter); 
     38            var current = this.element.find("a").filter(options.navigationFilter); 
    4139            if ( current.length ) { 
    4240                if ( current.filter(options.header).length ) { 
     
    5048         
    5149        // calculate active if not specified, using the first header 
    52         options.headers = $(container).find(options.header); 
     50        options.headers = this.element.find(options.header); 
    5351        options.active = findActive(options.headers, options.active); 
     52         
     53        if (!this.element.hasClass("ui-accordion")) { 
     54            this.element.addClass("ui-accordion"); 
     55            $("<span class='ui-accordion-left'/>").insertBefore(options.headers); 
     56            $("<span class='ui-accordion-right'/>").appendTo(options.headers); 
     57            options.headers.addClass("ui-accordion-header").attr("tabindex", "0"); 
     58        } 
    5459     
    5560        if ( options.fillSpace ) { 
    56             var maxHeight = $(container).parent().height(); 
     61            var maxHeight = this.element.parent().height(); 
    5762            options.headers.each(function() { 
    5863                maxHeight -= $(this).outerHeight(); 
     
    7681         
    7782        if (options.event) 
    78             $(container).bind((options.event) + ".accordion", clickHandler); 
     83            this.element.bind((options.event) + ".accordion", clickHandler); 
    7984    }; 
    8085     
     
    8287        activate: function(index) { 
    8388            // call clickHandler with custom event 
    84             clickHandler.call(this.element, { 
     89            clickHandler.call(this.element[0], { 
    8590                target: findActive( this.options.headers, index )[0] 
    8691            }); 
     
    98103                this.options.headers.next().css("height", ""); 
    99104            } 
    100             $.removeData(this.element, "accordion"); 
    101             $(this.element).removeClass("ui-accordion").unbind(".accordion"); 
     105            $.removeData(this.element[0], "accordion"); 
     106            this.element.removeClass("ui-accordion").unbind(".accordion"); 
    102107        } 
    103108    };