Changeset 3676

Show
Ignore:
Timestamp:
07/01/07 21:10:28 (1 year ago)
Author:
timothy
Message:

Make the members button show the member list. You can't click on the members yet.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Plug-Ins/Web Interface/Resources/iphone/index.html

    r3673 r3676  
    1616<body> 
    1717<div id="pandown"> 
    18 <a href="#bottom">Pan up to show full screen.</a> 
     18<a href="#bottom">Click to show full screen.</a> 
    1919</div> 
    2020<div id="main"> 
    21 <div id="header"><div id="back" class="back">Colloquy</div><div id="join" class="button">+</div><div id="members" class="button"><img></div><div id="main-title">Colloquy</div><div id="colloquy-title">webkit</div></div> 
     21<div class="header"><div id="back" class="back">Colloquy</div><div id="join" class="button">+</div><div id="members" class="button"><img></div><div id="main-title">Colloquy</div><div id="colloquy-title">webkit</div></div> 
    2222<div id="colloquies"></div> 
    2323</div> 
  • trunk/Plug-Ins/Web Interface/Resources/iphone/iphone.css

    r3670 r3676  
    3737} 
    3838 
    39 #header { 
     39.header { 
    4040        position: relative; 
    4141        height: 44px; 
     
    5656} 
    5757 
    58 #header .button { 
     58.header .button { 
    5959        position: absolute; 
    6060        font-weight: bold; 
     
    6767        min-height: 29px; 
    6868        min-width: 32px; 
    69         line-height: 26px; 
    70         font-size: 18px; 
     69        font-size: 12px; 
    7170        text-shadow: rgba(0, 0, 0, 0.6) 0 -1px 0; 
     71        font-weight: bold; 
     72        line-height: 28px; 
    7273        color: white; 
    7374        z-index: 100; 
     
    7677        box-sizing: border-box; 
    7778        text-align: center; 
    78 } 
    79  
    80 #header .button:active { 
    81         -webkit-border-image: url(images/buttonPressed.png) 0 8 0 8; 
    8279} 
    8380 
     
    9087        margin-top: 5px; 
    9188        content: url(images/person.png); 
     89} 
     90 
     91#join { 
     92        line-height: 26px; 
     93        font-size: 18px; 
     94        padding-left: 1px; 
    9295} 
    9396 
     
    111114} 
    112115 
    113 .back:active { 
    114         -webkit-border-image: url(images/backButtonPressed.png) 0 8 0 14; 
    115 } 
    116  
    117116.forward { 
    118117        position: absolute; 
     
    134133} 
    135134 
    136 .forward:active
    137         -webkit-border-image: url(images/forwardButtonPressed.png) 0 14 0 8; 
     135.header .button.action
     136        -webkit-border-image: url(images/squareBlueButton.png) 0 8 0 8; 
    138137} 
    139138 
     
    184183        background-color: white; 
    185184        width: 100%; 
    186         height: 334px; 
     185        height: 335px; 
    187186        overflow: auto; 
    188187} 
     
    222221} 
    223222 
     223.colloquy-members { 
     224        position: absolute; 
     225        top: 416px; 
     226        left: 0; 
     227        width: 320px; 
     228        height: 416px; 
     229        background-color: white; 
     230        display: none; 
     231        z-index: 200; 
     232} 
     233 
     234.colloquy-members-title { 
     235        text-align: right; 
     236        -webkit-box-sizing: border-box; 
     237        box-sizing: border-box; 
     238        margin-left: 10px; 
     239        margin-right: 70px; 
     240        white-space: nowrap; 
     241        overflow: hidden; 
     242        text-overflow: ellipsis; 
     243} 
     244 
     245.colloquy-member-list { 
     246        width: 100%; 
     247        height: 372px; 
     248        overflow: auto; 
     249        padding: 8px; 
     250        -webkit-box-sizing: border-box; 
     251        box-sizing: border-box; 
     252} 
     253 
    224254.colloquy { 
    225255        position: relative; 
    226256        height: 48px; 
    227257        padding: 8px; 
    228         border-bottom: 1px solid rgb(66%, 66%, 66%); 
     258        border-bottom: 1px solid rgb(75%, 75%, 75%); 
    229259} 
    230260 
     
    344374.message-wrapper { 
    345375        padding: 4px 8px; 
    346         border-bottom: 1px solid rgb(66%, 66%, 66%); 
     376        border-bottom: 1px solid rgb(75%, 75%, 75%); 
    347377} 
    348378 
     
    357387        -khtml-nbsp-mode: space; 
    358388} 
     389 
     390.colloquy-member-list .member { 
     391        margin-bottom: 3px; 
     392} 
     393 
     394.colloquy-member-list .member:before { 
     395        width: 16px; 
     396        height: 16px; 
     397        content: url(/resources/person.png); 
     398        vertical-align: middle; 
     399        margin-right: 4px; 
     400} 
     401 
     402.colloquy-member-list .member.server.operator:before { 
     403        content: url( /resources/admin.png ); 
     404} 
     405 
     406.colloquy-member-list .member.operator:before { 
     407        content: url( /resources/op.png ); 
     408} 
     409 
     410.colloquy-member-list .member.administrator:before { 
     411        content: url( /resources/super-op.png ); 
     412} 
     413 
     414.colloquy-member-list .member.founder:before { 
     415        content: url( /resources/founder.png ); 
     416} 
     417 
     418.colloquy-member-list .member.half.operator:before { 
     419        content: url( /resources/half-op.png ); 
     420} 
     421 
     422.colloquy-member-list .member.voice:before { 
     423        content: url( /resources/voice.png ); 
     424} 
  • trunk/Plug-Ins/Web Interface/Resources/iphone/iphone.js

    r3675 r3676  
    1212 
    1313        this.joinElement = $("join"); 
     14 
    1415        this.membersElement = $("members"); 
     16        this.membersElement.addEventListener("click", function(event) { ChatController.activePanel.showMembersList(event) }, false); 
    1517 
    1618        new Image().src = "images/bottomShadow.png"; 
     
    1820        new Image().src = "images/blueGradient.png"; 
    1921        new Image().src = "images/backButton.png"; 
    20         new Image().src = "images/backButtonPressed.png"; 
    2122        new Image().src = "images/button.png"; 
    22         new Image().src = "images/buttonPressed.png"; 
     23        new Image().src = "images/squareBlueButton.png"; 
    2324        new Image().src = "images/person.png"; 
    2425        new Image().src = "images/messagesNormalSmall.png"; 
     
    114115                Colloquy.membersElement.style.display = null; 
    115116 
    116                 ChatController.activePanel.keyboardVisible(false); 
     117                ChatController.activePanel.setKeyboardVisible(false); 
    117118                ChatController.activePanel.active = false; 
    118119 
     
    365366 
    366367        var animations = [{element: Colloquy.backElement, end: {left: 6, opacity: 1}}, 
    367                 {element: Colloquy.joinElement, end: {opacity: 0}}, {element: Colloquy.membersElement, end: {opacity: 1}}, 
     368                {element: Colloquy.joinElement, end: {opacity: 0}}, 
    368369                {element: Colloquy.colloquyTitleElement, end: {left: 0, opacity: 1}}, 
    369370                {element: Colloquy.mainTitleElement, end: {left: -110, top: 6, "font-size": 12, "line-height": 28}}, 
    370371                {element: Colloquy.colloquiesElement, end: {left: -321}}, {element: this.panelElement, end: {left: 0}}]; 
     372 
     373        if (this.type == "JVChatRoomPanel") 
     374                animations.push({element: Colloquy.membersElement, end: {opacity: 1}}); 
    371375 
    372376        Colloquy.backElement.style.display = "block"; 
     
    436440        form.appendChild(this.panelInputElement); 
    437441 
    438         this.panelInputElement.addEventListener("focus", function(event) { panel.keyboardVisible(true) }, false); 
    439         this.panelInputElement.addEventListener("blur", function(event) { panel.keyboardVisible(false) }, false); 
     442        this.panelInputElement.addEventListener("focus", function(event) { panel.setKeyboardVisible(true) }, false); 
     443        this.panelInputElement.addEventListener("blur", function(event) { panel.setKeyboardVisible(false) }, false); 
    440444 
    441445        this.panelInputBarElement.appendChild(form); 
     
    457461} 
    458462 
    459 DirectChatPanel.prototype.keyboardVisible = function(visible) { 
     463DirectChatPanel.prototype.setKeyboardVisible = function(visible) { 
     464        this.keyboardVisible = visible; 
     465 
    460466        if( visible ) { 
    461467                this.panelTranscriptElement.style.height = "119px"; 
     
    618624 
    619625function ChatRoomPanel( node ) { 
     626        var panel = this; 
     627 
    620628        ChatRoomPanel.baseConstructor.call( this, node ); 
    621629 
     
    624632        this.menuElement.removeClassName( "directChat" ); 
    625633        this.menuElement.addClassName( "chatRoom" ); 
     634 
     635        this.membersElement = $(document.createElement("div")); 
     636        this.membersElement.className = "colloquy-members"; 
     637 
     638        var header = document.createElement("div"); 
     639        header.className = "header"; 
     640 
     641        var title = document.createElement("div"); 
     642        title.className = "colloquy-members-title"; 
     643        title.textContent = this.name + " Members"; 
     644 
     645        header.appendChild(title); 
     646 
     647        var done = document.createElement("div"); 
     648        done.className = "button action"; 
     649        done.textContent = "Done"; 
     650 
     651        done.addEventListener("click", function(event) { panel.hideMembersList(event) }, false); 
     652 
     653        header.appendChild(done); 
     654 
     655        this.membersElement.appendChild(header); 
     656 
     657        this.membersListElement = document.createElement("div"); 
     658        this.membersListElement.className = "colloquy-member-list"; 
     659 
     660        this.membersElement.appendChild(this.membersListElement); 
     661 
     662        Colloquy.mainElement.appendChild(this.membersElement); 
    626663 
    627664        this.members = new Array(); 
     
    641678 
    642679                this.members.push( member ); 
     680 
     681                var memberElement = document.createElement( "div" ); 
     682                memberElement.title = member.hostmask; 
     683                memberElement.className = "member" + ( member.type ? " " + member.type : "" ); 
     684                memberElement.textContent = member.name + " "; 
     685 
     686                this.membersListElement.appendChild(memberElement); 
    643687        } 
    644688} 
     
    646690extendClass( ChatRoomPanel, DirectChatPanel ); 
    647691 
    648 ChatRoomPanel.prototype.toggleMemberList = function() { 
    649         // not implemented 
    650 
     692ChatRoomPanel.prototype.showMembersList = function(event) { 
     693        if (this.showingMembers) 
     694                return; 
     695 
     696        this.showingMembers = true; 
     697 
     698        var animations = [{element: this.membersElement, end: {top: 0}}]; 
     699 
     700        this.membersElement.style.display = "block"; 
     701 
     702        Colloquy.animateStyle(animations, (event.shiftKey ? 2500 : 250)); 
     703
     704 
     705ChatRoomPanel.prototype.hideMembersList = function(event) { 
     706        if (!this.showingMembers) 
     707                return; 
     708 
     709        var animations = [{element: this.membersElement, end: {top: 416}}]; 
     710 
     711        this.membersElement.style.display = "block"; 
     712 
     713        var panel = this; 
     714        var animateStyleFinished = function() { 
     715                delete panel.showingMembers; 
     716        }; 
     717 
     718        Colloquy.animateStyle(animations, (event.shiftKey ? 2500 : 250), animateStyleFinished); 
     719