Como reposicionar dinamicamente um CFWindow

A janelas criadas com a tag CFWINDOW podem ser posicionadas através dos atributos “x” e “y” da tag, mas em algumas situações precisamos posicionar a janela dinamicamente, em função de um outro elemento HTML da página. Para solucionar este problema precisamos ir além do ColdFusion e manipular a biblioteca ExtJS diretamente (mais detalhes sobre a biblioteca aqui).

O código a seguir demonstra como fazer isso, note o método alignTo do objeto myWindow que é o responsável por alinhar a janela ao elemento HTML:

<cfset qContatos = QueryNew(“objectId,fone”, “VarChar,VarChar”)>

<cfset QueryAddRow(qContatos)>

<cfset QuerySetCell(qContatos, “objectId”, CreateUUID())>

<cfset QuerySetCell(qContatos, “fone”, “1111-1111”)>

<cfset QueryAddRow(qContatos)>

<cfset QuerySetCell(qContatos, “objectId”, CreateUUID())>

<cfset QuerySetCell(qContatos, “fone”, “2222-2222”)>

<cfset QueryAddRow(qContatos)>

<cfset QuerySetCell(qContatos, “objectId”, CreateUUID())>

<cfset QuerySetCell(qContatos, “fone”, “3333-3333”)>

<script>

try

{

myWindow = ColdFusion.Window.getWindowObject(‘contatos’);

myWindow.destroy(true);

ColdFusion.objectCache[‘contatos’] = null;

}

catch(err) {}

</script>

<script>

createToolTip=function( alignId, text )

{

myWindow = ColdFusion.Window.getWindowObject( “contatos” );

myWindow.toolbox.remove();

myWindow.alignTo(alignId,‘t?’,[180,20]);

myWindow.body.update(text)

ColdFusion.Window.show( “contatos” );

}

destroyToolTip=function()

{

ColdFusion.Window.hide( “contatos” );

}

</script>

<cfwindow name=“contatos” initShow=“false” closable=“false” height=“70” width=“180”/>

<cfoutput query=“qContatos”>

<a href=“##” id=“#objectId#” onmouseover=“javascript: createToolTip( ‘#objectId#’, ‘#fone#’)” onmouseout=“javascript: destroyToolTip()”>Teste</a><br /><br /><br />

</cfoutput>

Tags: ,

One Response to “Como reposicionar dinamicamente um CFWindow”

  1. Nitin says:

    Hi,

    I was looking out for the code of the following flex charting component… i found ur comment on that blog, do u have the souce code for that component.

    The link is: http://www.stretchmedia.ca/blog/index.cfm/2007/8/14/Google-Finance-with-Flex-Code

    Thanks.

Leave a Reply