Eliminar TOOLS añadidas previamente

TeeChart for Javascript for the HTML5 Canvas
Post Reply
QuickTrend
Newbie
Newbie
Posts: 15
Joined: Fri Mar 15, 2013 12:00 am

Eliminar TOOLS añadidas previamente

Post by QuickTrend » Wed Mar 05, 2014 1:16 pm

Hola.

Tengo un grafico cualquiera al que añado algunas TOOLS, pero como las elimino? hay algun metodo REMOVE para tools?

Code: Select all

                    var anotation = new Tee.Annotation(vchart, "", 2, 2)
                    vchart.tools.add(anotation);
                    t.onchange = function (p) {
                        var text = "Eje x: " + vchart.axes.bottom.fromSize(p.x).toFixed(2) + " , Eje y: " + vchart.axes.left.fromSize(p.y).toFixed(2);
                        anotation.text = text;
                    };
                    vchart.draw();

Yeray
Site Admin
Site Admin
Posts: 8737
Joined: Tue Dec 05, 2006 12:00 am
Location: Girona, Catalonia
Contact:

Re: Eliminar TOOLS añadidas previamente

Post by Yeray » Thu Mar 06, 2014 2:45 pm

Hola,
QuickTrend wrote:Tengo un grafico cualquiera al que añado algunas TOOLS, pero como las elimino? hay algun metodo REMOVE para tools?
vchart.tools.items es un array de tools, así que puedes utilizar los métodos de los arrays.
Para borrar elementos de un array tenemos shift(), pop() y splice().
Best Regards,
ImageYeray Alonso
Development & Support
Steema Software
Av. Montilivi 33, 17003 Girona, Catalonia (SP)
Image Image Image Image Image Image Please read our Bug Fixing Policy

QuickTrend
Newbie
Newbie
Posts: 15
Joined: Fri Mar 15, 2013 12:00 am

Re: Eliminar TOOLS añadidas previamente

Post by QuickTrend » Fri Mar 07, 2014 8:49 am

Tienes razón Yerai, así se eliminan.

Entonces el problema es otro, en mi caso, es un gráfico de burbujas ( si... ya se..), al que añado 3 tools, los tooltip, cursor tool y annotation tool. La de tooltip siempre esta, pero las otras dos las uso con un check (uno solo para las dos) para mostrar y no mostrar. Cuando muestro perfecto, funciona todo, pero cuando la quito, se queda "pintado" el cursor tool, pero sin funcionalidad. No se que hago mal. La elimino con "vchart.tools.items.splice()" (con los parametros correctos). La tool deja de estar en el Array, pero sigue pintada.

Code: Select all

 change: function (vthis, newValue, oldValue, eOpts) {
                if (newValue === true) {
                    vchart = Ext.getCmp(id).xchart;
                    var t = new Tee.CursorTool(vchart);
                    t.format.stroke.size = 2;
                    t.format.stroke.fill = "#BB0000";
                    t.render = "layer";
                    t.followMouse = false;
                    vchart.tools.add(t);
                    // Display axis positions when moving the mouse:
                    anotation = new Tee.Annotation(vchart, "", 2, 2)
                    vchart.tools.add(anotation);
                    t.onchange = function (p) {
                        var text = "Eje x: " + vchart.axes.bottom.fromSize(p.x).toFixed(2) + " , Eje y: " + vchart.axes.left.fromSize(p.y).toFixed(2);
                        anotation.text = text;
                    };
                    vchart.draw();
                }
                else {
                    if (vchart.tools.items.length == 3) {
                        // la de tooltip no la elimino, de ahí los indices 2 y 1
                        vchart.tools.items.splice(2, 1);
                        vchart.tools.items.splice(1, 1);
                        vchart.draw();
                    }
                }
            }

Yeray
Site Admin
Site Admin
Posts: 8737
Joined: Tue Dec 05, 2006 12:00 am
Location: Girona, Catalonia
Contact:

Re: Eliminar TOOLS añadidas previamente

Post by Yeray » Mon Mar 10, 2014 11:06 am

Hola,

He puesto tu código en una pagina simple para probarlo. Básicamente sólo he tenido que comentar la línea:

Code: Select all

t.render = "layer";
porque sino no veía pintarse la cursor.

El único problema que observo yo es que al quitar la annotation y la cursor, cuando mueves el raton sobre el chart, éste vuelve a coger el último estilo que tuvo al arrastrar la cursor por última vez.
El problema es la propiedad oldCursor, que sigue como cuando la tool estaba activa y funcionando. Si la restauro después de borrar las tools ya no veo ningún efecto extraño:

Code: Select all

 	  vchart.oldCursor="default";
Aquí el ejemplo sencillo con la corrección implementada:
testing.zip
(1.01 KiB) Downloaded 231 times
Best Regards,
ImageYeray Alonso
Development & Support
Steema Software
Av. Montilivi 33, 17003 Girona, Catalonia (SP)
Image Image Image Image Image Image Please read our Bug Fixing Policy

QuickTrend
Newbie
Newbie
Posts: 15
Joined: Fri Mar 15, 2013 12:00 am

Re: Eliminar TOOLS añadidas previamente

Post by QuickTrend » Fri Mar 21, 2014 12:10 pm

Hola Yeray.

he seguido tus consejos y mira lo que que ocurre si dejo la propiedad render de la herramienta cursor comentada.

https://www.youtube.com/watch?v=7qvLXd0yGc4


un saludo y gracias por todas las respuestas

PD: tenéis previsión de sacar la serie FLECHAS... la necesito como el comer :( la anotasteis y tal... pero no hay mas información)

QuickTrend
Newbie
Newbie
Posts: 15
Joined: Fri Mar 15, 2013 12:00 am

Re: Eliminar TOOLS añadidas previamente

Post by QuickTrend » Fri Mar 21, 2014 12:19 pm

me olvide comentarlo, pero también puedes ver los problemas que tengo con las etiquetas del eje x.

Yeray
Site Admin
Site Admin
Posts: 8737
Joined: Tue Dec 05, 2006 12:00 am
Location: Girona, Catalonia
Contact:

Re: Eliminar TOOLS añadidas previamente

Post by Yeray » Fri Mar 21, 2014 2:58 pm

Hola,

Esos problemas yo no los veo con la pagina simple que adjunté más arriba.
Tu lo reproduces con ese ejemplo simple?
Si no lo reproduces con el ejemplo de arriba, debe de ser que haces alguna cosa diferente. En ese caso seria de ayuda que modificases el ejemplo/pagina sencillo de arriba para que se pueda reproducir el problema.

Gracias de antemano.
Best Regards,
ImageYeray Alonso
Development & Support
Steema Software
Av. Montilivi 33, 17003 Girona, Catalonia (SP)
Image Image Image Image Image Image Please read our Bug Fixing Policy

Post Reply