[Chameleon] clear NAV_CMD

Julien-Samuel Lacroix jlacroix at mapgears.com
Thu May 10 15:12:58 EDT 2007


Hi,

In the widget you are developping, at some point you probably submit the 
form in a JavaScript function. If not, search for the word "submit()" in 
your custom widget. Just before the submit function, put:
{$this->mszHTMLForm}.NAV_CMD.value = "";

This should take care of the issue. If you have difficulty finding where 
to include this line of code, send us your custom widget and we'll check.

Thanks
Julien

Jesse Cleary wrote:
> Thanks Julien
> 
> I've experimented with this code block already some.  I guess I'm not 
> sure where to insert it.  I tried adding it into the zoom widget code at 
> each point where a zoom function seems to be called, but this snippet 
> breaks that code:
>        PHP Parse error:  syntax error, unexpected '}'
> Removing the curly braces kicks this error:
>        PHP Parse error:  syntax error, unexpected '='
> 
> Not wanting to go much further before asking for advice I also tried 
> adding:
>        $this->SetNavCommand("");
> which did not seem to have any effect.
> 
> Maybe I'm tinkering with the wrong file?  Even if it did work, wouldn't 
> this change the zoom functionality over all of my Chameleon apps?
> 
> Sorry to bug you about this - I appreciate any further advice you might 
> have...
> 
> Jesse
> 
> 
> 
> Julien-Samuel Lacroix wrote:
> 
>> Hi,
>> Other widgets had this problem at a point. It was resolve by clearing 
>> the NAV_CMD like you did. Widgets that submit the page, but don't use 
>> the NAV_CMD parameter have to clear it before submitting. If you look 
>> in the WMSBrowser widget for example, it clears the NAV_CMD on every 
>> page submit like this:
>>         {$this->mszHTMLForm}.NAV_CMD.value = "";
>>         {$this->mszHTMLForm}.submit();
>>
>> This should be enough to deactivate the other Navigation tools. Let us 
>> know if you have any problem with this.
>>
>> Best regards,
>> Julien
>>
>> Jesse Cleary wrote:
>>
>>> Hi folks
>>>
>>> I'm working on a very simple Chameleon based map with onmouseover and 
>>> onclick functionality using a customization of the MapTips widget.  
>>> Because of the onClick bit, my ZoomIn and ZoomOut widgets are 
>>> presenting a problem.  Because they remain active after the map 
>>> refreshes, a user's onClick action to get a MapTip also activates the 
>>> selected widget asugin another refresh and not the desired onclick 
>>> event.  I've tried to clear the NAV_CMD variable in my custom MapTips 
>>> JS but I can't get that code fired ahead of the Zoom actions.  I'm 
>>> using the scale zoom in the interim which provides a less desirable 
>>> zoom function.
>>>
>>> Any ideas on how to clear the NAV_CMD variable and/or de-select the 
>>> Zoom widgets after refresh without tinkering with the base Zoom 
>>> widget code?  The base code powers several other Chameleon apps that 
>>> I don't want this fix applied to.  Thanks for any ideas you can 
>>> suggest...
>>>
>>> Jesse
>>>
>>> Chameleon 2.4 (non JSAPI)
>>> with MS 4.8.1
>>> on Fedora Core 4
>>>
>>
> 

-- 
Julien-Samuel Lacroix
Mapgears
http://www.mapgears.com/


More information about the Chameleon mailing list