Changeset 243


Ignore:
Timestamp:
11/09/11 16:34:01 (13 years ago)
Author:
vmipsl
Message:

Sous-menus paramètres

Location:
ether_megapoli/trunk/web/resources
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • ether_megapoli/trunk/web/resources/css/megapoli.css

    r240 r243  
    257257} 
    258258 
     259.divMenu_arrow, .divMenu_arrow.deployed { 
     260    height: 13px; 
     261    width: 13px; 
     262    position: relative; 
     263    top: -17px; 
     264    float: right; 
     265} 
     266 
     267.divMenu_arrow { 
     268    background-image: url("../images/utils/toggle_down_dark.png"); 
     269} 
     270 
     271.divMenu_arrow.deployed { 
     272    background-image: url("../images/utils/toggle_up_dark.png"); 
     273} 
     274 
     275.divMenu_content { 
     276    display: none; 
     277} 
     278 
    259279/** ***************************************************** **/ 
    260280/** ************************ PAGES ********************** **/ 
  • ether_megapoli/trunk/web/resources/js/classesForJQuery/Select.js

    r234 r243  
    181181        jQuery.each( this.arrayOptions, jQuery.proxy( function( i, divOption ) 
    182182        { 
    183 //            alert( itemValue + " " + divOption.itemValue + ", " + this.divOption.size() + ", " + this.arrayOptions.size() ); 
    184183            if( divOption.itemValue == itemValue ) 
    185184            { 
    186185                $( "#option_" + itemValue ).first().remove(); 
    187 //                this.divOption.not( $( "#option_" + itemValue )[0] ); 
    188186                var index = jQuery.inArray( divOption, this.arrayOptions ); 
    189187                this.arrayOptions.splice( index, 1 ); 
    190 //                alert( index + ", " + this.divOption.size() + ", " + this.arrayOptions.size() ); 
    191188                return false; 
    192189            } 
  • ether_megapoli/trunk/web/resources/js/classesForJQuery/etherClasses.js

    r236 r243  
    44var ListItem = Class.create( { 
    55 
    6     initialize: function( plateforms, objectParameter ) 
     6    initialize: function( jsonElements, objectParameter ) 
    77    { 
    88        this.array = []; 
    9         jQuery.each( plateforms, 
    10                 jQuery.proxy( function( i, jsonObject ) 
    11                 { 
    12                     this.addItem( jsonObject, objectParameter ); 
    13                 }, this ) ); 
     9        jQuery.each( jsonElements, jQuery.proxy( function( i, jsonElement ) 
     10        { 
     11            this.addItem( jsonElement, objectParameter ); 
     12        }, this ) ); 
    1413    }, 
    1514 
     
    1817        var divItem = false; 
    1918 
    20         var objectItemNew = new Object(); 
    21         objectItemNew.jsonElement = jsonElement; 
    22         objectItemNew.divItem = this.createItemDiv( objectItemNew.jsonElement, objectParameter ); 
    23  
    24         this.array.push( objectItemNew ); 
    25     }, 
    26  
    27     createItemDiv: function( itemHash, objectParameter ) 
    28     { 
    29         return new Plateform( itemHash, objectParameter ); 
     19        var newObjectItem = new Object(); 
     20        newObjectItem.jsonElement = jsonElement; 
     21        newObjectItem.divItem = this.createItemDiv( newObjectItem.jsonElement, objectParameter ); 
     22 
     23        this.array.push( newObjectItem ); 
    3024    }, 
    3125 
     
    3832    }, 
    3933 
     34    displayNoItem: function( parentNode, idIfNoItem, textIfNoItem ) 
     35    { 
     36        var divNoItem = $( document.createElement( "div" ) ); 
     37        divNoItem.id = idIfNoItem; 
     38        divNoItem.textContent = textIfNoItem; 
     39        parentNode.append( divNoItem ); 
     40    }, 
     41 
    4042    display : function( parentNode, idIfNoItem, textIfNoItem ) 
    4143    { 
    4244        if( 0 >= this.array.size() ) 
    43         { 
    44             var divNoItem = $( document.createElement( "div" ) ); 
    45             divNoItem.id = idIfNoItem; 
    46             divNoItem.textContent = textIfNoItem; 
    47             parentNode.append( divNoItem ); 
    48         } 
     45            this.displayNoItem( parentNode, idIfNoItem, textIfNoItem ); 
    4946        else 
    5047            jQuery.each( this.array, function( item ) 
    5148            { 
    52                 item.divItem.display( parentNode ); 
     49                item.jsonElement.display( parentNode ); 
    5350            } ); 
    5451    }, 
     
    5855        parentNode.empty(); 
    5956        if( 0 >= this.array.length ) 
    60         { 
    61             var divNoItem = $( document.createElement( "div" ) ); 
    62             divNoItem.id = idIfNoItem; 
    63             divNoItem.textContent = textIfNoItem; 
    64             parentNode.append( divNoItem ); 
    65         } 
     57            this.displayNoItem( parentNode, idIfNoItem, textIfNoItem ); 
    6658        else 
    6759        { 
     
    6961            jQuery.each( this.array, function( i, item ) 
    7062            { 
    71                 if( rowNumber % 2 == 0 ) 
     63                if( 0 == rowNumber % 2 ) 
    7264                    item.divItem.display( parentNode, "pair" ); 
    7365                else 
     
    112104    getId : function() 
    113105    { 
    114         return this.jsonElement.id; 
     106        if( jQuery.isArray( this.jsonElement ) ) 
     107            return this.jsonElement[0].id; 
     108        else 
     109            return this.jsonElement.id; 
     110    }, 
     111 
     112    getName: function () 
     113    { 
     114        if( jQuery.isArray( this.jsonElement ) ) 
     115            return this.jsonElement[0].name; 
     116        else 
     117            return this.jsonElement.name; 
    115118    }, 
    116119 
     
    126129        if( classNameValue ) 
    127130            this.divContainer.addClass( classNameValue ); 
    128         this.divContainer.attr( {id:containerName + "_" + this.jsonElement.id} ); 
     131        if( jQuery.isArray( this.jsonElement ) && 1 < this.jsonElement.length ) 
     132            this.divContainer.attr( {id:containerName + "_MENU_" + this.getId()} ); 
     133        else 
     134            this.divContainer.attr( {id:containerName + "_" + this.getId()} ); 
    129135    }, 
    130136 
     
    189195            return; 
    190196 
    191         this.divName = $( document.createElement( "div" ) ); 
    192         this.divName.addClass( classNameValue ); 
    193         this.divName.html( this.jsonElement.name ); 
    194  
    195         this.divContainer.append( this.divName ); 
    196     }, 
    197  
    198     getName: function () 
    199     { 
    200         return this.jsonElement.name; 
     197        var divName = $( document.createElement( "div" ) ); 
     198        divName.addClass( classNameValue ); 
     199        divName.html( this.getName() ); 
     200 
     201        this.divContainer.append( divName ); 
     202    }, 
     203 
     204    addNameWithMenus: function ( classNameValue ) 
     205    { 
     206        if( !this.divContainer ) 
     207            return; 
     208 
     209        if( 1 < this.jsonElement.length ) 
     210        { 
     211            var divMenu_name = $( document.createElement( "div" ) ); 
     212            divMenu_name.addClass( classNameValue ); 
     213            divMenu_name.html( this.getName() ); 
     214            this.divContainer.append( divMenu_name ); 
     215 
     216            var divMenu_arrow = $( document.createElement( "div" ) ); 
     217            divMenu_arrow.attr( {id:"divMenu_arrow_" + this.getId(), class:"divMenu_arrow" } ); 
     218//            divNameMenu_arrow.bind( 'click', this, this.onClickMenu ); 
     219            this.divContainer.append( divMenu_arrow ); 
     220 
     221            this.divHiddenElements = $( document.createElement( "div" ) ); 
     222            this.divHiddenElements.attr( {id:"divMenu_content" + this.getId(), class:"divMenu_content" } ); 
     223 
     224            jQuery.each( this.jsonElement, jQuery.proxy( function ( i, element ) 
     225            { 
     226                var divSubMenu_name = $( document.createElement( "div" ) ); 
     227                divSubMenu_name.addClass( classNameValue+"_subMenu" ); 
     228                divSubMenu_name.addClass( "parameter_menu_" + element.id ); 
     229                divSubMenu_name.html( element.code ); 
     230                this.divHiddenElements.append( divSubMenu_name ); 
     231            }, this ) ); 
     232 
     233            this.divContainer.append( this.divHiddenElements ); 
     234 
     235            divMenu_name.toggle( 
     236                    jQuery.proxy( function () 
     237                    { 
     238                        $( "#divMenu_arrow_" + this.getId() ).addClass( "deployed" ); 
     239                        this.divHiddenElements.animate( {height:"toggle"}, 100 ); 
     240                    }, this ), 
     241                    jQuery.proxy( function () 
     242                    { 
     243                        $( "#divMenu_arrow_" + this.getId() ).removeClass( "deployed" ); 
     244                        this.divHiddenElements.animate( {height:"toggle"}, 100 ); 
     245                    }, this ) 
     246                    ); 
     247 
     248            divMenu_arrow.toggle( 
     249                    jQuery.proxy( function () 
     250                    { 
     251                        $( "#divMenu_arrow_" + this.getId() ).addClass( "deployed" ); 
     252                        this.divHiddenElements.animate( {width:"toggle"}, 100 ); 
     253                    }, this ), 
     254                    jQuery.proxy( function () 
     255                    { 
     256                        $( "#divMenu_arrow_" + this.getId() ).removeClass( "deployed" ); 
     257                        this.divHiddenElements.animate( {width:"toggle"}, 100 ); 
     258                    }, this ) 
     259                    ); 
     260        } 
     261        else 
     262            this.addName( classNameValue ); 
    201263    } 
    202264 
     265//    onClickMenu: function( event ) 
     266//    { 
     267//        var contextEvent = event.data; 
     268//        contextEvent.divNameMenu_up.animate( {width:"toggle"} ); 
     269//        contextEvent.divNameMenu_down.animate( {width:"toggle"} ); 
     270//    } 
     271 
    203272} ); 
Note: See TracChangeset for help on using the changeset viewer.