Changeset 19852


Ignore:
Timestamp:
12/03/15 10:35:20 (9 years ago)
Author:
dlcheng
Message:

CHG: Fixing javascript colorbar behavior for predefined colorbars.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/plot/applyoptions.js

    r19850 r19852  
    144144                        var cheightoffset = options.getfieldvalue('colorbarfontsize',16);
    145145                        var ccontext,ccanvas,ccanvasid;
    146                         ccanvasid=options.getfieldvalue('colorbarcanvasid',options.getfieldvalue('canvasid')+'_colorbar');
    147                         ccanvas=document.getElementById(ccanvasid);
    148                         if(ccanvas==null){
     146                        ccanvasid = options.getfieldvalue('colorbarcanvasid',options.getfieldvalue('canvasid')+'_colorbar');
     147                        ccanvashtml = document.getElementById(ccanvasid);
     148                        if(ccanvashtml==null){
    149149                                ccanvas = $('<canvas id="'+ccanvasid+'" width="'+String(cwidth+cheightoffset*4)+'" height="'+String(cheight+cheightoffset)+'"></canvas>').insertAfter('#'+options.getfieldvalue('canvasid'));
    150150                                ccanvas.css({'position':'relative','top':((canvassize-cheight-cheightoffset)/-2).toFixed(2)+'px'});
     
    153153                        else{
    154154                                ccanvas = $('#'+ccanvasid);
    155                                 if (options.exist('colorbarcanvasid')){
     155                                if (options.exist('colorbarcanvasid')&&!ccanvashtml.hasOwnProperty('init')){
    156156                                        //store actual colobar size
    157                                         cheight=ccanvas.height();
    158                                         cwidth=ccanvas.width();
     157                                        cwidth = ccanvas.width();
     158                                        cheight = ccanvas.height();
    159159                                        //get html object instead of jqurey object to modify height/width to accomodate labels
    160                                         document.getElementById(ccanvasid).width=ccanvas.width()+cheightoffset*6;
    161                                         document.getElementById(ccanvasid).width=ccanvas.height()+cheightoffset;
     160                                        ccanvashtml.width = ccanvas.width()+cheightoffset*6;
     161                                        ccanvas.css({'display':'inline-block'});
     162                                        ccanvashtml.height = canvassize;
     163                                        ccanvashtml.cwidth = cwidth;
     164                                        ccanvashtml.cheight = cheight;
     165                                        ccanvashtml.init = true;
     166                                }
     167                                else {
     168                                        cwidth = ccanvashtml.cwidth;
     169                                        cheight = ccanvashtml.cheight;
    162170                                }
    163171                                ccontext = ccanvas[0].getContext('2d');
Note: See TracChangeset for help on using the changeset viewer.