From 46667b52350ffb8cc674aeffd6affa488420bead Mon Sep 17 00:00:00 2001 From: Gehad elrobey Date: Tue, 24 Jun 2014 16:01:51 +0300 Subject: HTML: Wide Javascript code cleaning list_lib Javascript code cleaning, Now it looks like subsurface code. Signed-off-by: Gehad elrobey Signed-off-by: Miika Turkia Signed-off-by: Dirk Hohndel --- theme/list_lib.js | 829 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 458 insertions(+), 371 deletions(-) diff --git a/theme/list_lib.js b/theme/list_lib.js index bf5ad014a..20dc5a79e 100644 --- a/theme/list_lib.js +++ b/theme/list_lib.js @@ -1,9 +1,9 @@ -var itemsToShow = new Array(); //list of indexes to all dives to view +var itemsToShow = new Array(); //list of indexes to all dives to view var items = new Array(); -var start; //index of first element viewed in itemsToShow -var sizeofpage; //size of viewed page -var numberofwords=0; //just for stats -var olditemstoshow; //to reference the indexes to all dives if changed +var start; //index of first element viewed in itemsToShow +var sizeofpage; //size of viewed page +var numberofwords = 0; //just for stats +var olditemstoshow; //to reference the indexes to all dives if changed ////////////////////////////////// // // // View Model // @@ -15,12 +15,13 @@ var olditemstoshow; //to reference the indexes to all dives if changed *View N pages each of sizeofpage size items. *starting from zero */ -function showAllDives(){ - for(var i=0 ; i < items.length ; i++){ +function showAllDives() +{ + for (var i = 0; i < items.length; i++) { itemsToShow.push(i); } olditemstoshow = itemsToShow; - start=0; + start = 0; viewInPage(); } @@ -29,36 +30,40 @@ function showAllDives(){ *It start from 'start' variable. *It showes N pages each of sizeofpage size. */ -function viewInPage(){ - var end = start + sizeofpage -1; - if(end >= itemsToShow.length ) end = itemsToShow.length-1; - updateView(start,end); +function viewInPage() +{ + var end = start + sizeofpage - 1; + if (end >= itemsToShow.length) + end = itemsToShow.length - 1; + updateView(start, end); } /** *addHTML this Method puts the HTML of items of given indexes *@param {array} indexes array of indexes to put in HTML */ -function updateView(start,end){ +function updateView(start, end) +{ var divelist = document.getElementById('diveslist'); - divelist.innerHTML=""; - for(var i=start;i<=end;i++){ - divelist.innerHTML+='
    '; + divelist.innerHTML = ""; + for (var i = start; i <= end; i++) { + divelist.innerHTML += '
      '; expand(document.getElementById(itemsToShow[i])); items[itemsToShow[i]].expanded = true; }; - view_pagging(start,end); + view_pagging(start, end); } /** *addHTML this Method puts the HTML of items of given indexes *@param {array} indexes array of indexes to put in HTML */ -function addHTML(indexes){ +function addHTML(indexes) +{ var divelist = document.getElementById('diveslist'); - divelist.innerHTML=""; - for(var i=0;i'; + divelist.innerHTML = ""; + for (var i = 0; i < indexes.length; i++) { + divelist.innerHTML += '
        '; expand(document.getElementById(indexes[i])); itemsToShow[indexes[i]].expanded = true; }; @@ -69,98 +74,107 @@ function addHTML(indexes){ *@param {integer} start start from this index *@param {integer} finish at this index. */ -function view_in_range(start,end){ +function view_in_range(start, end) +{ var ind = new Array(); - if(end>=itemsToShow.length)end=itemsToShow.length-1; - for(var i=start ; i <= end ; i++){ + if (end >= itemsToShow.length) + end = itemsToShow.length - 1; + for (var i = start; i <= end; i++) { ind.push(i); } addHTML(ind); - view_pagging(start,end); + view_pagging(start, end); } -function prev_page(){ - var end = start+sizeofpage-1; - if(start-sizeofpage>0){ - start-=sizeofpage; +function prev_page() +{ + var end = start + sizeofpage - 1; + if (start - sizeofpage > 0) { + start -= sizeofpage; + } else { + start = 0; } - else{ - start=0; + if (end - sizeofpage > 0) { + end -= sizeofpage; } - if(end-sizeofpage>0){ - end-=sizeofpage; + if (end >= itemsToShow.length) { + end = itemsToShow.length - 1; } - if(end>=itemsToShow.length){ - end = itemsToShow.length-1; - } - updateView(start,end) + updateView(start, end) } -function next_page(){ - var end = start+sizeofpage-1; - if(end+sizeofpage=itemsToShow.length) break; +function expandAll() +{ + for (var i = start; i < start + sizeofpage; i++) { + if (i >= itemsToShow.length) + break; unexpand(document.getElementById(itemsToShow[i])); items[itemsToShow[i]].expanded = false; } } -function collapseAll(){ - for(var i=start;i=itemsToShow.length) break; +function collapseAll() +{ + for (var i = start; i < start + sizeofpage; i++) { + if (i >= itemsToShow.length) + break; expand(document.getElementById(itemsToShow[i])); items[itemsToShow[i]].expanded = true; } } -function setNumberOfDives(e){ +function setNumberOfDives(e) +{ var value = e.options[e.selectedIndex].value; - sizeofpage=parseInt(value,10); - var end = start + sizeofpage -1; - view_in_range(start,end); + sizeofpage = parseInt(value, 10); + var end = start + sizeofpage - 1; + view_in_range(start, end); } -function toggleExpantion(ul){ - if(!items[ul.id].expanded) - { +function toggleExpantion(ul) +{ + if (!items[ul.id].expanded) { expand(ul); items[ul.id].expanded = true; - } - else - { + } else { unexpand(ul); items[ul.id].expanded = false; } } -function expand(ul){ +function expand(ul) +{ ul.innerHTML = getlimited(items[ul.id]); - ul.style.padding='2px 10px 2px 10px'; + ul.style.padding = '2px 10px 2px 10px'; } -function unexpand(ul){ + +function unexpand(ul) +{ ul.innerHTML = getExpanded(items[ul.id]); - ul.style.padding='3px 10px 3px 10px'; + ul.style.padding = '3px 10px 3px 10px'; } /////////////////////////////////////// @@ -169,54 +183,58 @@ function unexpand(ul){ // ////////////////////////////////////// -function getlimited (dive) { - return '
        '+(settings.subsurfaceNumbers==='0'?dive.number:dive.subsurface_number)+'
        '+ - '
        '+dive.date+'
        '+ - '
        '+dive.time+'
        '+ - '
        '+dive.location+'
        '+ - '
        '+dive.temperature.air+'
        '+ - '
        '+dive.temperature.water+'
        '; +function getlimited(dive) +{ + return '
        ' + (settings.subsurfaceNumbers === '0' ? dive.number : dive.subsurface_number) + '
        ' + + '
        ' + dive.date + '
        ' + + '
        ' + dive.time + '
        ' + + '
        ' + dive.location + '
        ' + + '
        ' + dive.temperature.air + '
        ' + + '
        ' + dive.temperature.water + '
        '; }; -function getExpanded (dive) { - var res = '
        Date: '+dive.date+ - '     Time: '+dive.time + - '     Location: '+''+ - dive.location +''+ - '
        Rating:'+putRating(dive.rating)+ - '   Visibilty:'+putRating(dive.visibility)+ - '
        '+ - '
        Air temp: '+dive.temperature.air+ - '    Water temp: '+dive.temperature.water + - '
        DiveMaster: '+dive.divemaster + - '

        Buddy:

        '+dive.buddy + - '
        Suit: '+dive.suit + - '
        Tags: '+putTags(dive.tags)+ - '

        Notes:

        ' + dive.notes +'
        '; - if(settings.listOnly==='0'){ - res += '
        show more details
        '; +function getExpanded(dive) +{ + var res = '
        Date: ' + dive.date + + '     Time: ' + dive.time + + '     Location: ' + '' + + dive.location + '' + + '
        Rating:' + putRating(dive.rating) + + '   Visibilty:' + putRating(dive.visibility) + + '
        ' + + '
        Air temp: ' + dive.temperature.air + + '    Water temp: ' + dive.temperature.water + + '
        DiveMaster: ' + dive.divemaster + + '

        Buddy:

        ' + dive.buddy + + '
        Suit: ' + dive.suit + + '
        Tags: ' + putTags(dive.tags) + + '

        Notes:

        ' + dive.notes + '
        '; + if (settings.listOnly === '0') { + res += '
        show more details
        '; } return res; }; -function putTags(tags){ - var result=""; - for(var i in tags){ - result+=''+tags[i]+''; - if(i' + tags[i] + ''; + if (i < tags.length - 1) + result += ', '; } return result; } -function putRating(rating){ +function putRating(rating) +{ var result; - result='
        '; - for(var i=0;i items[iSmaller].location ; +function cmpLocationDes(j, iSmaller) +{ + return items[j].location > items[iSmaller].location; } -function cmpNumAsc(j,iSmaller){ - return items[j].subsurface_number < items[iSmaller].subsurface_number ; +function cmpNumAsc(j, iSmaller) +{ + return items[j].subsurface_number < items[iSmaller].subsurface_number; } -function cmpNumDes(j,iSmaller){ - return items[j].subsurface_number > items[iSmaller].subsurface_number ; + +function cmpNumDes(j, iSmaller) +{ + return items[j].subsurface_number > items[iSmaller].subsurface_number; } -function cmpTimeAsc(j,iSmaller){ - return items[j].time < items[iSmaller].time ; + +function cmpTimeAsc(j, iSmaller) +{ + return items[j].time < items[iSmaller].time; } -function cmpTimeDes(j,iSmaller){ - return items[j].time > items[iSmaller].time ; + +function cmpTimeDes(j, iSmaller) +{ + return items[j].time > items[iSmaller].time; } -function cmpDateAsc(j,iSmaller){ - return items[j].date < items[iSmaller].date ; + +function cmpDateAsc(j, iSmaller) +{ + return items[j].date < items[iSmaller].date; } -function cmpDateDes(j,iSmaller){ - return items[j].date > items[iSmaller].date ; + +function cmpDateDes(j, iSmaller) +{ + return items[j].date > items[iSmaller].date; } -function cmpAtempAsc(j,iSmaller){ - return parseInt(items[j].temperature.air,10) < parseInt(items[iSmaller].temperature.air,10) ; + +function cmpAtempAsc(j, iSmaller) +{ + return parseInt(items[j].temperature.air, 10) < parseInt(items[iSmaller].temperature.air, 10); } -function cmpAtempDes(j,iSmaller){ - return parseInt(items[j].temperature.air,10) > parseInt(items[iSmaller].temperature.air,10) ; + +function cmpAtempDes(j, iSmaller) +{ + return parseInt(items[j].temperature.air, 10) > parseInt(items[iSmaller].temperature.air, 10); } -function cmpWtempAsc(j,iSmaller){ - return parseInt(items[j].temperature.water,10) < parseInt(items[iSmaller].temperature.water,10) ; + +function cmpWtempAsc(j, iSmaller) +{ + return parseInt(items[j].temperature.water, 10) < parseInt(items[iSmaller].temperature.water, 10); } -function cmpWtempDes(j,iSmaller){ - return parseInt(items[j].temperature.water,10) > parseInt(items[iSmaller].temperature.water,10) ; + +function cmpWtempDes(j, iSmaller) +{ + return parseInt(items[j].temperature.water, 10) > parseInt(items[iSmaller].temperature.water, 10); } -function sort_it(sortOn,function_){ +function sort_it(sortOn, function_) +{ var res = new Array(); var visited = new Array(itemsToShow.length); - for(var j=0;j= 0) ? true : false; } -Set.prototype.push = function(key) { - if(!this.contains(key)){ +Set.prototype.push = function(key) +{ + if (!this.contains(key)) { this.keys.push(key); } }; -Set.prototype.isEmpty = function() { - return this.keys.length<=0? true:false; +Set.prototype.isEmpty = function() +{ + return this.keys.length <= 0 ? true : false; }; -Set.prototype.forEach = function(do_){ - this.keys.forEach(do_); +Set.prototype.forEach = function(do_) { + this.keys.forEach (do_); }; -Set.prototype.Union = function(another_set){ +Set.prototype.Union = function(another_set) +{ if (another_set === null) { return; } - for(var i=0; i'+ - trips[i].name+' ( '+trips[i].dives.length+' dives)'+'
      '+'
      '; + divelist.innerHTML = ""; + for (var i = 0; i < trips.length; i++) { + divelist.innerHTML += '
        ' + + trips[i].name + ' ( ' + trips[i].dives.length + ' dives)' + '
      ' + '
      '; }; - for(var i=0;i'+getlimited(trips[trip].dives[j])+'
    '; - } + var d = document.getElementById("trip_dive_list_" + trip); + for (var j in trips[trip].dives) { + d.innerHTML += '
      ' + getlimited(trips[trip].dives[j]) + '
    '; + } } -function unexpand_trip(trip){ +function unexpand_trip(trip) +{ trips[trip].expanded = false; - var d = document.getElementById("trip_dive_list_"+trip); - d.innerHTML=''; + var d = document.getElementById("trip_dive_list_" + trip); + d.innerHTML =''; } -function getItems(){ +function getItems() +{ var count = 0; - for(var i in trips){ - for(var j in trips[i].dives){ - items[count++]=trips[i].dives[j]; + for (var i in trips) { + for (var j in trips[i].dives) { + items[count++] = trips[i].dives[j]; } } } @@ -585,28 +644,37 @@ function getItems(){ /* Canvas Colors Constants */ -var CAMARONE1 = rgb(0,0.4,0); -var LIMENADE1 = rgb(0.4,0.8,0); -var RIOGRANDE1 = rgb (0.8,0.8,0); -var PIRATEGOLD1= rgb(0.8,0.5,0); -var RED1 = rgb(1,0,0); +var CAMARONE1 = rgb(0, 0.4, 0); +var LIMENADE1 = rgb(0.4, 0.8, 0); +var RIOGRANDE1 = rgb(0.8, 0.8, 0); +var PIRATEGOLD1 = rgb(0.8, 0.5, 0); +var RED1 = rgb(1, 0, 0); /* Some Global variables that hold the current shown dive data. */ -var dive_id;//current shown ID -var points;//reference to the samples array of the shown dive. -var MAX_HEIGHT;//Maximum depth, then its the maximum height for canvas -var MAX_WIDTH;//dive duration, then its the maximum width for canvas +var dive_id; //current shown ID +var points; //reference to the samples array of the shown dive. +var MAX_HEIGHT; //Maximum depth, then its the maximum height for canvas +var MAX_WIDTH; //dive duration, then its the maximum width for canvas /** *Return RGB css color string. */ -function rgb(r, g, b){ - r = Math.floor(r*255); - g = Math.floor(g*255); - b = Math.floor(b*255); - return ["rgb(",r,",",g,",",b,")"].join(""); +function rgb(r, g, b) +{ + r = Math.floor(r * 255); + g = Math.floor(g * 255); + b = Math.floor(b * 255); + return[ + "rgb(", + r, + ",", + g, + ",", + b, + ")" + ].join(""); } /** @@ -614,10 +682,11 @@ function rgb(r, g, b){ *new scale = (old scale * height of canvas) / max height in dive *to ensure that the dive profile is filling the whole area available */ -function scaleHeight(vari){ +function scaleHeight(vari) +{ var height = document.getElementById("profileCanvas").height; max = MAX_HEIGHT; - return (vari*height)/max; + return (vari * height) / max; } /** @@ -625,22 +694,24 @@ function scaleHeight(vari){ *new scale = (old scale * width of canvas) / max width in dive *to ensure that the dive profile is filling the whole area available */ -function scaleWidth(vari){ +function scaleWidth(vari) +{ var width = document.getElementById("profileCanvas").width; max = MAX_WIDTH; - return (vari*width)/max; + return (vari * width) / max; } /** *Show Axis information(Numbers on scale) *put a Number every 300 second scaled to canvas width. */ -function canvas_showAxisInfo(){ - var c=document.getElementById("profileCanvas"); - var ctx=c.getContext("2d"); - ctx.font="27px Georgia";/*This is better be a variable scale*/ - for (var i=0;i 300 ) return RED1; - if (Math.abs(slope) > 180 ) return PIRATEGOLD1; - if (Math.abs(slope) > 110 ) return RIOGRANDE1; - if (Math.abs(slope) > 70 ) return LIMENADE1; +function getcolor(begin, end) +{ + var slope = (end[1] - begin[1]) / (end[0] - begin[0]); + if (Math.abs(slope) > 300) + return RED1; + if (Math.abs(slope) > 180) + return PIRATEGOLD1; + if (Math.abs(slope) > 110) + return RIOGRANDE1; + if (Math.abs(slope) > 70) + return LIMENADE1; return CAMARONE1; } /** *Return the HTML string for a dive cylinder entry in the table. */ -function get_cylinder_HTML(cylinder){ - return ''+cylinder.Type+''+cylinder.Size+''+cylinder.WPressure+''+ - ''+cylinder.SPressure+''+cylinder.EPressure+''+cylinder.O2+''; +function get_cylinder_HTML(cylinder) +{ + return '' + cylinder.Type + '' + cylinder.Size + '' + cylinder.WPressure + '' + + '' + cylinder.SPressure + '' + cylinder.EPressure + '' + cylinder.O2 + ''; } /** *Return HTML table of cylinders of a dive. */ -function get_cylinders_HTML(dive){ - var result=""; - result +='

    Dive equipments

    '; - for (var i in dive.Cylinders){ - result+=get_cylinder_HTML(dive.Cylinders[i]); - } - result+='
    TypeSizeWork PressureStart PressureEnd PressureO2
    '; +function get_cylinders_HTML(dive) +{ + var result = ""; + result += '

    Dive equipments

    '; + for (var i in dive.Cylinders) { + result += get_cylinder_HTML(dive.Cylinders[i]); + } + result += '
    TypeSizeWork PressureStart PressureEnd PressureO2
    '; return result; } /** *Return HTML main data of a dive */ -function get_dive_HTML(dive) { - return '

    Dive Information

    Date: '+dive.date+ - '     Time: '+dive.time + - '     Location: '+''+ - dive.location +''+ - '
    Rating:'+putRating(dive.rating)+ - '   Visibilty:'+putRating(dive.visibility)+ - '
    '+ - '
    Air temp: '+dive.temperature.air+ - '    Water temp: '+dive.temperature.water + - '
    DiveMaster: '+dive.divemaster + - '

    Buddy:

    '+dive.buddy + - '
    Suit: '+dive.suit + - '
    Tags: '+putTags(dive.tags)+ - '

    Notes:

    ' + dive.notes +'
    '; +function get_dive_HTML(dive) +{ + return '

    Dive Information

    Date: ' + dive.date + + '     Time: ' + dive.time + + '     Location: ' + '' + + dive.location + '' + + '
    Rating:' + putRating(dive.rating) + + '   Visibilty:' + putRating(dive.visibility) + + '
    ' + + '
    Air temp: ' + dive.temperature.air + + '    Water temp: ' + dive.temperature.water + + '
    DiveMaster: ' + dive.divemaster + + '

    Buddy:

    ' + dive.buddy + + '
    Suit: ' + dive.suit + + '
    Tags: ' + putTags(dive.tags) + + '

    Notes:

    ' + dive.notes + '
    '; }; /** *Main canvas draw function *this calls the axis and grid initialization functions. */ -function canvas_draw(){ - var c=document.getElementById("profileCanvas"); +function canvas_draw() +{ + var c = document.getElementById("profileCanvas"); c.width = window.innerWidth; c.height = window.innerHeight; canvas_showGrid(); canvas_showAxisInfo(); - var ctx=c.getContext("2d"); - ctx.lineWidth=4 //variable width - //draw starting line, draw all samples then draw the final line. - canvas_drawline(ctx,[0,0],points[0]); - for(var i=1;i0){ +function prevDetailedDive() +{ + if (dive_id > 0) { showDiveDetails(--dive_id); } } -- cgit v1.2.3-70-g09d2