From 4b8966f2d4be79fa6119afcf7bdf0ed01b6733d7 Mon Sep 17 00:00:00 2001 From: riccardo Date: Wed, 22 Jun 2011 19:48:19 +0200 Subject: [PATCH] code cleanup before version 1.0 --- telemeta/htdocs/css/player.css | 93 +---------------- telemeta/htdocs/js/application.js | 10 -- telemeta/htdocs/js/divmarker.js | 28 ++---- telemeta/htdocs/js/playerLoader.js | 45 +-------- telemeta/htdocs/js/popupdiv-min.js | 3 +- telemeta/htdocs/timeside/js/markermap.js | 16 +-- telemeta/htdocs/timeside/js/player.js | 62 ++---------- telemeta/htdocs/timeside/js/ruler.js | 26 +---- telemeta/htdocs/timeside/js/rulermarker.js | 8 +- telemeta/htdocs/timeside/js/timeside.js | 9 -- telemeta/htdocs/timeside/skins/lab/style.css | 100 +++++-------------- 11 files changed, 58 insertions(+), 342 deletions(-) diff --git a/telemeta/htdocs/css/player.css b/telemeta/htdocs/css/player.css index 1795bde4..a8d5d251 100644 --- a/telemeta/htdocs/css/player.css +++ b/telemeta/htdocs/css/player.css @@ -1,72 +1,8 @@ - -/*.ts-skin-lab .ts-player { - padding: 0; - clear: both; - background: white; - border: solid 1px #ADADAD; - margin-top: 2px; -} - -.ts-skin-lab .ts-player .ts-wave { - height: 130px; -} -.ts-skin-lab .ts-player .ts-wave .ts-image { - width: 360px; - height: 130px; - background: transparent; -}*/ - #player_maximized .ts-player .ts-wave, #player_maximized .ts-player .ts-image { height: 170px; } -/*.ts-skin-lab .ts-player .ts-viewer { - margin: 0; - border: 0; -}*/ -/*.ts-skin-lab .ts-player .ts-viewer .ts-pointer { - background: #BB0000; - color: #DDD; - border: solid 1px #BB0000; -} -.ts-skin-lab .ts-player .ts-viewer .ts-pointer { - color: #BB0000; - background: white; - padding: 0 0.5em; - border: solid 1px #BB0000; -}*/ -/*class for the canvas (svg) associated to a marker. If svg is not supported, a parser in the palyer -converts these values (nb: not all are supported) to specigic vml attributes. In this case, however, ONLY CLASSES WRITTEN -ALONE ARE PARSED (eg ".ts-blabla, .ts-marker-canvas{...}" WILL NOT BE RECOGNIZED)*/ -/*.ts-skin-lab .ts-player .ts-wave .ts-image-canvas .ts-svg-pointer-line { - fill: #BB0000; - stroke-width:0; -}*/ -/*.ts-skin-lab .ts-player .ts-viewer .ts-marker { - padding: 0 0.5em; - background: #e65911; - color: #FFF; -}*/ -/*class for the canvas (svg) associated to a marker. If svg is not supported, a parser in the palyer -converts these values (nb: not all are supported) to specigic vml attributes. In this case, however, ONLY CLASSES WRITTEN -ALONE ARE PARSED (eg ".ts-blabla, .ts-marker-canvas{...}" WILL NOT BE RECOGNIZED)*/ -/*.ts-skin-lab .ts-player .ts-wave .ts-image-canvas .ts-svg-marker-line { - fill: #e65911; - stroke-width:0; -}*/ - -/*.ts-skin-lab .ts-player .ts-ruler .ts-section .ts-label { - background: #595959; - color: white; -} - -.ts-skin-lab .ts-player .ts-ruler .ts-section .ts-lines { - background: #2e2e2e; - color: #ADADAD; - border-bottom: solid 1px #adadad; -}*/ - .ts-skin-lab .ts-player .ts-control { background: url('../images/player_controlbg.png'); } @@ -102,13 +38,6 @@ ALONE ARE PARSED (eg ".ts-blabla, .ts-marker-canvas{...}" WILL NOT BE RECOGNIZED font-size: 50%; padding-left: 2ex; padding-right: 2ex; - /*-moz-border-radius: 1ex; - -webkit-border-radius: 1ex; - border-radius: 1ex; - border: 1px solid #ddd; - background-color: #fff; - - */ position: relative; top: -1px; line-height: 1.5em; @@ -122,24 +51,4 @@ ALONE ARE PARSED (eg ".ts-blabla, .ts-marker-canvas{...}" WILL NOT BE RECOGNIZED #player_maximized { margin: 10px 0 15px 0; display: none; -} - -/*#player .ts-visualizer{ - margin:5px; -} - -.ts-skin-lab .ts-player .ts-ruler{ - color: white; - background-color: #2E2E2E; - font-size: 10px; - line-height: 13px; -} -.ts-skin-lab .ts-player .ts-ruler .ts-svg-ruler-upper-rect{ - fill: #595959; - stroke-width:0; - stroke: #595959; to be sure... -} -.ts-skin-lab .ts-player .ts-ruler .ts-svg-ruler-lines{ - stroke-width:1; - stroke:#ADADAD; -}*/ \ No newline at end of file +} \ No newline at end of file diff --git a/telemeta/htdocs/js/application.js b/telemeta/htdocs/js/application.js index 02fb572f..d9b6b357 100644 --- a/telemeta/htdocs/js/application.js +++ b/telemeta/htdocs/js/application.js @@ -29,8 +29,6 @@ * which might be in conflict with jQuery dollar sign. */ - - //returns the full path of the current url location removing the last slash '/' followed by one or more '#', if any function urlNormalized(){ var sPath = window.location.href; @@ -210,14 +208,6 @@ var json = function(param,method,onSuccessFcn,onErrorFcn){ }; -///** -// * Returns an uniqid by creating the current local time in millisecond + a random number. Used for markers and some json calls -// */ -//var uniqid = function() { -// var d = new Date(); -// return new String(d.getTime() + '' + Math.floor(Math.random() * 1000000)).substr(0, 18); -//}; - /** * function for writing to the console. Catches errors, if any (eg, console == undefined) and does nothing in case */ diff --git a/telemeta/htdocs/js/divmarker.js b/telemeta/htdocs/js/divmarker.js index db1a07ba..558d9538 100644 --- a/telemeta/htdocs/js/divmarker.js +++ b/telemeta/htdocs/js/divmarker.js @@ -41,7 +41,7 @@ Timeside.classes.MarkerMapDiv = Timeside.classes.TimesideArray.extend({ }else{ this.$J( this.div.children()[index] ).before(div); } - //this.setIndex(this.length-1,d); //length has been increased when calling super + this._super(div,index); if(isNew){ this.setEditMode(index,true); @@ -88,7 +88,6 @@ Timeside.classes.MarkerMapDiv = Timeside.classes.TimesideArray.extend({ }); this.setOffset(me[to],newOffset); - //TODO: create a function? this.setEditMode(to,true); return to; }, @@ -142,9 +141,8 @@ Timeside.classes.MarkerMapDiv = Timeside.classes.TimesideArray.extend({ e_descriptionText.removeAttr('readonly').removeClass('markersdivUneditable'); e_titleText.removeAttr('readonly').removeClass('markersdivUneditable'); e_okButton.add(e_okButton.parent()).show(); //hiding also the parent div saves space (padding bottom hidden) - e_titleText.select(); //TODO: this does NOT set the focus on the div. Why? + e_titleText.select(); editButton.hide(); - //e_titleText.focus(); }else{ e_descriptionText.attr('readonly','readonly').addClass('markersdivUneditable'); e_titleText.attr('readonly','readonly').addClass('markersdivUneditable'); @@ -154,14 +152,12 @@ Timeside.classes.MarkerMapDiv = Timeside.classes.TimesideArray.extend({ } this.fire('edit',{'value':value, 'index':index}); - //var e_addplaylistButton = div.find('.markersdivAddPlaylist'); this.stretch(e_titleText); }, setIndex: function(div,index){ - //div.attr('id','_markerdiv'+index); div.find('.ts-marker').html(index+1); var me = this; var e_indexLabel = div.find('.ts-marker'); @@ -211,8 +207,6 @@ Timeside.classes.MarkerMapDiv = Timeside.classes.TimesideArray.extend({ var div = this.$J('
').attr('tabindex','0').addClass("markerdiv").html(html_); div.find('a').attr('href','#'); - var e_indexLabel = div.find('.ts-marker'); - //var e_offsetLabel =div.find('.markersdivOffset'); var e_okButton = div.find('.markersdivSave'); var e_editButton = div.find('.markersdivEdit'); var e_deleteButton = div.find('.markersdivDelete'); @@ -223,19 +217,12 @@ Timeside.classes.MarkerMapDiv = Timeside.classes.TimesideArray.extend({ //set defualt element values regardeless of the marker state (for debugging, comment it if not needed) //e_indexLabel.attr('title',marker.toString()); this.setIndex(div, index); - - //e_offsetLabel.html(this.makeTimeLabel(marker.offset)); - this.setOffset(div,marker.offset); - //set visibility and attach events according to the marker state: - //first, is editing or not - //var isEditing = marker.isEditable && marker.isModified; - // (!marker.isSavedOnServer || !(this.e_editButton.is(':visible'))); - //if(!isEditing){ + this.setOffset(div,marker.offset); + e_descriptionText.val(marker.desc ? marker.desc : ""); e_titleText.val(marker.title ? marker.title : ""); - //} - + e_okButton.add(e_okButton.parent()).hide(); //hiding also the parent div saves space (padding bottom hidden) e_editButton.show(); e_deleteButton.show(); @@ -263,7 +250,6 @@ Timeside.classes.MarkerMapDiv = Timeside.classes.TimesideArray.extend({ } if(!marker.canBeSetEditable){ //marker is editable means that author is superuser or author == getCurrentUserName(). - //addToPlaylist visibility is skipped because it depends on other circumstances (see above) e_editButton.hide(); e_deleteButton.hide(); e_okButton.unbind('click') @@ -281,10 +267,8 @@ Timeside.classes.MarkerMapDiv = Timeside.classes.TimesideArray.extend({ }); } return false; //avoid scrolling of the page on anchor click - }) - + }); - //action for ok button e_okButton.unbind('click').click( function(){ //if(marker.desc !== descriptionText.val()){ //strict equality needed. See note below diff --git a/telemeta/htdocs/js/playerLoader.js b/telemeta/htdocs/js/playerLoader.js index 2377153d..bc968b7a 100644 --- a/telemeta/htdocs/js/playerLoader.js +++ b/telemeta/htdocs/js/playerLoader.js @@ -26,7 +26,6 @@ * Class for loading a player. Requires a div#player, jQuery and all timeside javascript (player.js, markermap.js etcetera) */ -//var player; //global player variable function togglePlayerMaximization() { var $ = jQuery; @@ -105,12 +104,10 @@ function loadPlayer(analizerUrl, soundUrl, soundImgSize, itemId, visualizers, cu },maxTime); - //var msgElm = $J('#loading_span_text').html('Loading sound info...'); - //var uinqid_ = Timeside.utils.uniqid; //defined in application.js var pFloat = parseFloat; //load analyser xml and proceed on success: $J.ajax({ - url: analizerUrl, //'analyze/xml', + url: analizerUrl, dataType: 'xml', error:function(){ end('Error loading analyzer'); @@ -129,10 +126,7 @@ function loadPlayer(analizerUrl, soundUrl, soundImgSize, itemId, visualizers, cu analyzerContentArray.push(elm.attr('unit')); analyzerContentArray.push(''); }); - - //loaded analizer, loading player - //msgElm.html('Loading markers...'); - + var duration = $J(data).find('#duration').attr('value'); duration = duration.split(":"); //format duration @@ -166,15 +160,7 @@ function loadPlayer(analizerUrl, soundUrl, soundImgSize, itemId, visualizers, cu isSavedOnServer: true }; markerMap.push(marker); - //mapAdd.apply(map,[result[i]]); } - //add markers to ruler and div - // map.each(function(i,marker){ - // rulerAdd.apply(ruler,[marker, i]); - // mapuiAdd.apply(mapUI,[marker, i]); - // }); - - //tabIndex = result.length>0 ? 1 : 0; } //defining the marker callback: @@ -273,7 +259,7 @@ function loadPlayer(analizerUrl, soundUrl, soundImgSize, itemId, visualizers, cu map.toArray()[idx].isEditable = data.value; player.getRuler().setEditable(idx,data.value, false); } - }); // {'value':value, 'index':index}); + }); //bind save marker -> player save var map = player.getMarkerMap(); @@ -397,19 +383,10 @@ function loadPlayer(analizerUrl, soundUrl, soundImgSize, itemId, visualizers, cu defaultCloseOperation: 'hide' }); var popupShowFunction = function(data){ - // if(popupTimeoutId !== undefined){ - // cT(popupTimeoutId); - // } - // popupTimeoutId=undefined; - popupdiv.refresh(data.marker.desc,data.marker.title); if(!popupdiv.isShowing()){ popupdiv.show(); } - // var index = data.index; - // if(index+1 == map.length || map.toArray()[index+1].offset-data.marker.offset>3){ - // popupTimeoutId = popupdiv.setTimeout('close',3000); - // } }; if(POPUP_TIMEOUT<0){ player.bind('markerCrossed',popupShowFunction); @@ -420,12 +397,8 @@ function loadPlayer(analizerUrl, soundUrl, soundImgSize, itemId, visualizers, cu if(popupTimeoutId !== undefined){ clearHidePopupTimeout(popupTimeoutId); } - popupTimeoutId=undefined; - - - + popupTimeoutId=undefined; popupShowFunction(data); - if(POPUP_TIMEOUT<0){ return; } @@ -459,10 +432,6 @@ function loadPlayer(analizerUrl, soundUrl, soundImgSize, itemId, visualizers, cu if(popupdiv.isShowing()){ popupdiv.close(); } - // if(POPUP_TIMEOUT<0){ - // return; - // } - // popupTimeoutId = popupdiv.setTimeout('close',POPUP_TIMEOUT*1000); }); } } @@ -531,9 +500,6 @@ function loadPlayer(analizerUrl, soundUrl, soundImgSize, itemId, visualizers, cu } //and niow call json method to load markers (load player also onError, no markers will be loaded) json([itemId],"telemeta.get_markers", onSuccess,onSuccess); - //function(container, soundUrl, durationInMsec, visualizers, markerMap, showAddMarkerButton, onError, onReady){ - //Timeside.load(playerDiv,soundUrl,,timeInMSecs,visualizers,markerMap,) - //load_player(soundUrl, timeInMSecs, itemId, visualizers, currentUserName); } }); @@ -563,8 +529,7 @@ function loadPlayer(analizerUrl, soundUrl, soundImgSize, itemId, visualizers, cu */ function setUpPlayerTabs() {//called from within controller.js once all markers have been loaded. //this is because we need all divs to be visible to calculate size. selIndex is optional, it defaults to 0 - // - + var $J = jQuery; var tabs_ = arguments[0]; var divs_ = arguments[1]; //they might be ctually any content, div is a shoertand diff --git a/telemeta/htdocs/js/popupdiv-min.js b/telemeta/htdocs/js/popupdiv-min.js index 77bfb21a..2efbe63b 100644 --- a/telemeta/htdocs/js/popupdiv-min.js +++ b/telemeta/htdocs/js/popupdiv-min.js @@ -1 +1,2 @@ -function PopupDiv(){var a=jQuery;var b=this;var c={};if(arguments.length&&arguments[0]){c=arguments[0]}var d=a('
');var e=a('
').append(a('').attr('href','#').click(function(){b.close('closeClicked');return false})).append(' ').append(a('
').css('clear','both'));var g=a('
').css('overflow','auto');var h=a('
').append(a('').attr('href','#').click(function(){b.trigger('ok');return false}));d.append(e).append(g).append(h);this.getDiv=function(){return d};var i={};this.getListeners=function(){return i};var k;var j;for(k in PopupDiv){var f=PopupDiv[k];if(PopupDiv.hasOwnProperty(k)&&(typeof f!=='function')){if(!j){j={}}j[k]=f}}if(j){var l=true;var m=undefined;if(typeof Object.getPrototypeOf!=="function"){if(typeof this.__proto__==="object"){m=this.__proto__}else{m=this;l=false}}else{m=Object.getPrototypeOf(this)}for(k in j){if(j.hasOwnProperty(k)){m[k]=j[k];if(l){delete PopupDiv[k]}}}}for(k in c){if(c.hasOwnProperty(k)){if(k==='onOk'||k==='onShow'||k==='onClose'){this.bind(k.substring(2).toLowerCase(),c[k])}else if(k=='content'){this.setContent(c[k])}else{this[k]=c[k]}}}if(!this.popupCss){this.popupCss={}}}(function(p){var $=jQuery;var z=window;var A=document;var B=$(z);var C='popup_'+(new Date().getTime());p.isClickElement=function(a){return a&&a.length==1&&a instanceof $&&a[0]!==z&&a[0]!==A&&(a.is('a')||a.is('input[type=button]')||a.is('button')||a.is('input[type=submit]'))};p.getId=function(){var a=this.getDiv();if(!(a.attr('id'))){a.attr('id',C+'_'+(new Date().getTime()))}return a.attr('id')};p.shadowOffset=4;p.invoker=B;p.bounds={'top':0.25,'left':0.25,'right':0.25,'bottom':0.25};p.boundsExact=false;p.popupClass='';p.popupCss={};p.showOk=false;p.showClose=false;p.title="";p.okButtonClass='';p.okButtonAlign='right';p.closeButtonClass='';p.titleClass='';p.okButtonTitle='Ok';p.closeButtonTitle='x';p.defaultCloseOperation='hide';p.focusable=false;p.fadInTime='fast';p.fadeOutTime=0;p.shadowOpacity=0.25;p.zIndex=10000;p.listItemClass='';p.listItemCss='';p.getFormData=function(){var c=this.find('input,select,textarea');var d={};var f=this.getFormDataAttrName();c.each(function(i,e){var a=$(e);var b=a.attr(f);if(b){d[b]=a.val()}});return d};p.find=function(a){return this.getDiv().children().eq(1).find(a)};p.bind=function(a,b){var c=this.getListeners();if(c.hasOwnProperty(a)){c[a].push(b)}else{c[a]=[b]}};p.unbind=function(a){var b=this.getListeners();if(a&&b.hasOwnProperty(a)){delete b[a]}else if(!a){for(var k in b){if(b.hasOwnProperty(k)){delete b[k]}}}};p.trigger=function(a){var b=this.getListeners();var c=this;if(b.hasOwnProperty(a)){var d=b[a];var i=0;if(a=='ok'){var e=this.getFormData();for(i=0;i1&&typeof arguments[1]==='string'){f=arguments[1]}for(i=0;i').attr('type','hidden').attr(g,'selIndex');var m=function(a,b,c){b.click(function(){c.val(a);j.trigger('ok');return false}).focus(function(){c.val(a)})};var n=$([]);for(var h=0;h').attr('href','#').html(""+o);n=n.add(a);m(h,a,l);f.append(a)}n.css({'margin':'2px'});if(this.listItemClass){n.addClass(this.listItemClass)}if(this.listItemCss){n.css(this.listItemCss)}n.css({'position':'','display':'block'});f.append(l)}else if(d&&d.constructor==Object){var p=$([]);var q=$([]);var r=[0,0];var s=function(a,b){var c=$('
');if(!b){b=a;a=$('')}q=q.add(b);p=p.add(a);f.append(c.append(a).append(b));return c};var t,component;var u=Math.max;var v=undefined;var w=$([]);for(var k in d){if(d.hasOwnProperty(k)){var x=d[k];if(typeof x=='string'||typeof x=='number'){t=$('').html(k);r[0]=u(r[0],k.length);r[1]=u(r[1],x.length);component=$('').attr('type','text').val(x).attr(g,k);w=w.add(s(t,component))}else if(x===true||x===false){var y=this.getId()+"_checkbox";t=$('').attr('type','checkbox').attr(g,k).attr('id',y);if(x){t.attr('checked','checked')}else{t.removeAttr('checked')}component=$('