AnsweredAssumed Answered

Passing argument to .on event

Question asked by chagan02 on Apr 17, 2015

I have a function that accepts a variable as an argument, within that function I have a .on event.  On the first run it works just fine, however when I call the function after the initial load with a different argument, it fails just before the .on event.  I tried using the data method in the .on documentation but that didn't work either.  Below is the code.  I'm passing the argument from a JQuery slider.  I know the new value is being passed to the function via my multitude of console print statements.  Anyone know what is going on?

 

    var csv360min;

    var csv360mintextLayer;

    function csv360minfunc(VALUE) {

    console.log("HERE");

    console.log(VALUE);

    csv360min = new CSVLayer("symGSPHydroViewer/data/360query.csv",{id:"csv360min",refreshInterval: .50});

    csv360mintextLayer = new GraphicsLayer({refreshInterval: .50}); 

    console.log(VALUE);

    csv360min.on("update-end", function(results){

        console.log(VALUE);

        csv360mintextLayer.clear();

        console.log("360HERE");

        arrayUtils.forEach(results.target.graphics, function(feature, index){

            var lid =  feature.attributes.lid;

            var name =  feature.attributes.name;

            var value = feature.attributes.value;

            if (value >= VALUE) {

            var ffg = feature.attributes.ffg;

            var ratio = feature.attributes.ratio;

            var validtime = feature.attributes.obstime;

            var attr = {"Location ID":lid.bold(),"Location Name":name,"Obs Value":value.bold(),"6 Hour FFG":ffg,"Ratio of FFG":ratio.bold() + "%","Obs             Valid Time":validtime};                                                                              

            var geom = feature.geometry;

            var displayText = feature.attributes.value;

            var displayTextRatio = feature.attributes.ratio;

            returnedvalues = ratioColor(displayTextRatio);

            coloralt = returnedvalues[0];

            FontSize = returnedvalues[1];

            HaloColor = returnedvalues[2];

            var Halofont = new Font(FontSize,Font.STYLE_NORMAL, Font.VARIANT_NORMAL,Font.WEIGHT_BOLDER,"Helvetica");

            var textSymbolSouth = new TextSymbol(displayText,Halofont,new Color(HaloColor));

            textSymbolSouth.setOffset(0,-1);

            var textSymbolNorth = new TextSymbol(displayText,Halofont,new Color(HaloColor));

            textSymbolNorth.setOffset(0,1);

            var textSymbolEast = new TextSymbol(displayText,Halofont,new Color(HaloColor));

            textSymbolEast.setOffset(1,0);

            var textSymbolWest = new TextSymbol(displayText,Halofont,new Color(HaloColor));

            textSymbolWest.setOffset(-1,0);

            csv360mintextLayer.add(new Graphic(geom, textSymbolSouth, attr));

            csv360mintextLayer.add(new Graphic(geom, textSymbolNorth, attr));

            csv360mintextLayer.add(new Graphic(geom, textSymbolEast, attr));

            csv360mintextLayer.add(new Graphic(geom, textSymbolWest, attr));

            var font = new Font(FontSize,Font.STYLE_NORMAL, Font.VARIANT_NORMAL,Font.WEIGHT_BOLD,"Helvetica");

            var textSymbol = new TextSymbol(displayText,font,new Color(coloralt));                       

            csv360mintextLayer.add(new Graphic(geom, textSymbol, attr));

            }

            });                       

        var infoTemplate = new InfoTemplate("Attributes", "${*}");       

        csv360mintextLayer.setInfoTemplate(infoTemplate);

    });                               

    var blank = new Color([0, 0, 0, 0]); // hex is #ff4500

    var marker = new SimpleMarkerSymbol("solid", 0, null, blank);

    var renderer = new SimpleRenderer(marker);

    csv360min.setRenderer(renderer);

    map.addLayer(csv360min);

    map.addLayer(csv360mintextLayer);   

    csv360min.hide();

    csv360mintextLayer.hide();   

    }

   

    csv360minfunc(0);

 

 

$(function() {

    $( "#slider" ).slider({

    value:0,

    min: 0,

    max: 1,

    step: 0.25,

    slide: function( event, ui ) {

    //console.log("FILTERVALUE: " + ui.value);

    var FILTERVALUE = ui.value;

    if (FILTERVALUE == 0.00){LABEL = 'Showing Precip > 0.00"';}

    if (FILTERVALUE == 0.25){LABEL = 'Showing Precip > 0.25"';}

    if (FILTERVALUE == 0.50){LABEL = 'Showing Precip > 0.50"';}

    if (FILTERVALUE == 0.75){LABEL = 'Showing Precip > 0.75"';}

    if (FILTERVALUE == 1.00){LABEL = 'Showing Precip > 1.00"';}

    //console.log("LABEL: " + LABEL);

    $("#label").html(LABEL);

    csv360minfunc(FILTERVALUE);

        }

    });

}); 

Outcomes