Ignore:
Timestamp:
08/06/10 15:03:58 (3 years ago)
Author:
zach
Message:

Rocking testing tool

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/js/test/index.php

    r1194 r1197  
    3030                        evt.preventDefault(); 
    3131                        var obj = settings.examples[$('#examples').val()]; 
     32                        for (var o in obj){ 
     33                                if (o.indexOf('on') === 0){ 
     34                                        obj[o] = escape(obj[o]);  
     35                                } 
     36                        } 
    3237                        window.top.location.href = window.top.location.pathname+'?'+$.param(obj); 
    3338                 }); 
     
    3742                }); 
    3843                // set the value and handler on player, skin and plugins. 
    39                 if(variables['player']) { $('#players').val(variables['player']); } 
    40                 $("#players").change(function(evt) { reloadFieldsets(evt); }); 
     44                if(variables['players']) { $('#players').val(variables['players']); } 
     45                if(variables['player']) {  
     46                        $('#player').val(variables['player']);  
     47                } else { 
     48                        $('#player').val(dump(settings['players'][$('#players').val()])); 
     49                } 
     50                $("#players").change(function(evt) { 
     51                        if(evt) { evt.preventDefault(); } 
     52                        $("#player").val(dump(settings.players[$("#players").val()])); 
     53                        insertPlayer(evt); 
     54                }); 
    4155                if(variables['skin']) {  
    4256                        if(!settings['skins'][variables['skin']]) {  
     
    8599                parsing = 1; 
    86100                prefilled = {plugins:'',player:'',skin:''}; 
    87                 var swf = settings.players[$("#players").val()]; 
     101                var swf = settings.players[$("#players").val()][0]['src']; 
    88102                var xml = swf.substr(0,swf.length-4) + '.xml'; 
    89103                parsePlayerXML(xml); 
     
    135149                        set +='<label>'+val+'</label><input type="text" name="'+val+'" '; 
    136150                        if(variables[val]) { 
    137                                 set += 'value="'+variables[val]+'" '; 
    138                                 prefilled[val] = variables[val]; 
     151                                if (nam == 'events') { 
     152                                        set += 'value="'+unescape(variables[val]).replace(/"/g, "'")+'" '; 
     153                                        prefilled[val] = unescape(variables[val]);       
     154                                } else { 
     155                                        set += 'value="'+variables[val]+'" '; 
     156                                        prefilled[val] = variables[val]; 
     157                                } 
    139158                        } 
    140159                        set += "/>"; 
     
    178197                var vrs = {}; 
    179198                variables = {} 
    180                 variables['player'] = $('#players').val(); 
     199                variables['players'] = $('#players').val(); 
     200                variables['player'] = $('#player').val(); 
    181201                var skn = $("#skins").val(); 
    182202                if(skn != ' ') { 
     
    203223                for(var i=0; i<arr.length; i++) { 
    204224                        if($(arr[i]).val()) { 
    205                                 vrs[$(arr[i]).attr('name')] = $(arr[i]).val(); 
    206                                 variables[$(arr[i]).attr('name')] = $(arr[i]).val(); 
     225                                if ($(arr[i]).attr('name').indexOf('on') != 0) { 
     226                                        vrs[$(arr[i]).attr('name')] = $(arr[i]).val(); 
     227                                        variables[$(arr[i]).attr('name')] = $(arr[i]).val(); 
     228                                } else { 
     229                                        vrs[$(arr[i]).attr('name')] = escape($(arr[i]).val()); 
     230                                        variables[$(arr[i]).attr('name')] = escape($(arr[i]).val()); 
     231                                } 
    207232                        } 
    208233                } 
     
    219244                $('#preview').css('height',vrs['height']); 
    220245                $('#preview').html('<div id="container"></div>'); 
     246                var player = ""; 
     247                var players = eval($('#player').val()); 
     248                for (var plr in players){ 
     249                        if (players[plr]['type'] == 'flash'){ 
     250                                player = players[plr]['src']; 
     251                        } 
     252                } 
    221253                swfobject.embedSWF( 
    222                         settings.players[$('#players').val()], 
     254                        player, 
    223255                        'container', 
    224256                        vrs['width'], 
     
    238270        var vrs = temp['vrs']; 
    239271        var variables = temp['variables']; 
     272        var events = {}; 
     273 
     274        for (var v in vrs){ 
     275                if (v.indexOf("on") === 0){ 
     276                        eval("var tmp ="+unescape(vrs[v])); 
     277                        events[v] = tmp; 
     278                } 
     279        } 
    240280 
    241281        jwplayer('preview').setup($.extend(vrs, { 
    242                 players:[ 
    243                         {type:'flash',src:settings.players[$('#players').val()]} 
    244                 ] 
     282                "players": eval($('#player').val()), 
     283                "events": events 
    245284        })); 
    246285   } 
     
    275314        function getVariable(evt) { 
    276315                evt.preventDefault(); 
    277                 switch($('#vartype').val().toString()) { 
    278                         case 'config': 
    279                                 var obj = player.getConfig(); 
    280                                 break; 
    281                         case 'playlist': 
    282                                 var obj = player.getPlaylist(); 
    283                                 break; 
    284                         case 'plugin.config': 
    285                                 var obj = player.getPluginConfig($('#configplugin').val()); 
    286                                 break; 
    287                 } 
     316                var obj = eval("player.get"+$('#vartype').val().toString()+"();"); 
    288317                alertValue(obj); 
    289318        }; 
     
    310339                        } 
    311340                } 
    312                 player.sendEvent(typ,dat); 
     341                player[typ](dat); 
    313342        }; 
    314343        /** Set a listener to the player. **/ 
     
    347376                alert(txt); 
    348377        }; 
    349  
     378         
     379                function typeOf(value) { 
     380                var s = typeof value; 
     381                if (s === 'object') { 
     382                        if (value) { 
     383                                if (value instanceof Array) { 
     384                                        s = 'array'; 
     385                                } 
     386                        } else { 
     387                                s = 'null'; 
     388                        } 
     389                } 
     390                return s; 
     391        } 
     392         
     393function dump (object) { 
     394  if (object == null) { 
     395    return 'null'; 
     396  } else if (typeof(object) != 'object') { 
     397    if (typeof(object) == 'string'){ 
     398      return"\""+object+"\""; 
     399    } 
     400    return object; 
     401  } 
     402 
     403  var type = typeOf(object); 
     404 
     405  var result = (type == "array") ? "[" : "{"; 
     406 
     407  var loopRan = false; 
     408  for (var i in object) { 
     409    loopRan = true; 
     410    if (type == "object") { result += "\""+i+"\":"}; 
     411    result += dump(object[i])+","; 
     412  } 
     413 
     414  if (loopRan) { 
     415    result = result.substring(0, result.length-1); 
     416  } 
     417 
     418  result  += (type == "array") ? "]" : "}"; 
     419 
     420  return result; 
     421} 
    350422 
    351423 
     
    356428 
    357429<?php 
    358   $selectedScript = 'none'; 
     430  $selectedScript = 'swfobject'; 
    359431  if (isset($_GET['scripts'])){ 
    360432        $selectedScript = $_GET['scripts']; 
     
    404476                        <label>Variable</label> 
    405477                        <select type="text" id="vartype"> 
    406                                 <option>config</option> 
    407                                 <option>playlist</option> 
    408                                 <option>plugin.config</option> 
     478                                <option>Buffer</option> 
     479                                <option>Duration</option> 
     480                                <option>Fullscreen</option> 
     481                                <option>Height</option> 
     482                                <option>Meta</option> 
     483                                <option>Mute</option> 
     484                                <option>Playlist</option> 
     485                                <option>PlaylistItem</option> 
     486                                <option>Position</option> 
     487                                <option>State</option> 
     488                                <option>Volume</option> 
     489                                <option>Width</option> 
    409490                        </select> 
    410                         <label>Plugin</label> 
    411                         <input type="text" id="configplugin" /> 
    412491                </fieldset> 
    413492                <button type="submit" id="variablesbutton">Get variable</button> 
     
    417496                        <label>Event</label> 
    418497                        <select type="text" id="sendevent"> 
    419                                 <option>ITEM</option> 
    420                                 <option>LINK</option> 
    421                                 <option>LOAD</option> 
    422                                 <option>MUTE</option> 
    423                                 <option>NEXT</option> 
    424                                 <option>PLAY</option> 
    425                                 <option>PREV</option> 
    426                                 <option>REDRAW</option> 
    427                                 <option>SEEK</option> 
    428                                 <option>STOP</option> 
    429                                 <option>VOLUME</option> 
     498                                <option>load</option> 
     499                                <option>pause</option> 
     500                                <option>play</option> 
     501                                <option>playlistItem</option> 
     502                                <option>playlistNext</option> 
     503                                <option>playlistPrev</option> 
     504                                <option>resize</option> 
     505                                <option>seek</option> 
     506                                <option>stop</option> 
     507                                <option>setMute</option> 
     508                                <option>setFullscreen</option> 
     509                                <option>setVolume</option>                               
    430510                        </select> 
    431511                        <label>Data</label> 
     
    433513                </fieldset> 
    434514                <button type="submit" id="sendeventbutton">Send event</button> 
    435         </form> 
    436         <form id="listenersform"> 
    437                 <fieldset> 
    438                         <label>Type</label> 
    439                         <select type="text" id="addremove"> 
    440                                 <option>add</option> 
    441                                 <option>remove</option> 
    442                         </select> 
    443                         <label>Event</label> 
    444                         <select type="text" id="eventtype"> 
    445                                 <option>Controller: ERROR</option> 
    446                                 <option>Controller: ITEM</option> 
    447                                 <option>Controller: MUTE</option> 
    448                                 <option>Controller: PLAY</option> 
    449                                 <option>Controller: PLAYLIST</option> 
    450                                 <option>Controller: RESIZE</option> 
    451                                 <option>Controller: SEEK</option> 
    452                                 <option>Controller: STOP</option> 
    453                                 <option>Controller: VOLUME</option> 
    454                                 <option></option> 
    455                                 <option>Model: BUFFER</option> 
    456                                 <option>Model: ERROR</option> 
    457                                 <option>Model: LOADED</option> 
    458                                 <option>Model: META</option> 
    459                                 <option>Model: STATE</option> 
    460                                 <option>Model: TIME</option> 
    461                         </select> 
    462                 </fieldset> 
    463                 <button type="submit" id="listenersbutton">Set listener</button> 
    464515        </form> 
    465516</div> 
     
    484535    <label>scripts</label> 
    485536    <select id="scripts"><?=$scriptselectoroptions?></select> 
     537    <label>players</label> 
     538    <select id="players"></select> 
    486539    <label>player</label> 
    487     <select id="players"></select> 
    488                 <label>skin</label> 
    489                 <select id="skins"></select> 
    490                 <label>plugins</label> 
    491                 <select multiple="multiple" id="plugins"></select> 
     540    <input id="player" name="player" type="text" /> 
     541        <label>skin</label> 
     542        <select id="skins"></select> 
    492543        </fieldset> 
    493544        <fieldset id="custom"> 
Note: See TracChangeset for help on using the changeset viewer.