Foros del Web » Programando para Internet » Javascript »

Insertar imagen (slimey)

Estas en el tema de Insertar imagen (slimey) en el foro de Javascript en Foros del Web. Buenas dias, estoy intentando integrar un filemanager el de fckeditor con slimey la aplicación de hacer presentaciones el problema es que no entiendo bien las ...
  #1 (permalink)  
Antiguo 15/09/2009, 01:13
 
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 3 meses
Puntos: 0
Insertar imagen (slimey)

Buenas dias, estoy intentando integrar un filemanager el de fckeditor con slimey la aplicación de hacer presentaciones el problema es que no entiendo bien las llamadas que se hace a la clase para lanzar las acciones de importación de imagenes y me falla, aqui esta el codigo de la clase SlimeyInsertImageTool:

Código:
/**
 *  class SlimeyInsertImageTool - this tool inserts new images into the editor
 */
var SlimeyInsertImageTool = function(slimey) {
	/* create the DOM element that represents the tool (a clickable image) */
	var img = createImageButton('insertImage', lang("insert image"), this);

	SlimeyTool.call(this, 'insertImage', img, slimey);
}

/**
 *  SlimeyInsertImageTool extends SlimeyTool
 */
SlimeyInsertImageTool.prototype = new SlimeyTool();

/**
 *  inserts a new image into the editor
 */
SlimeyInsertImageTool.prototype.execute = function() {
	
	chooseImage(this.imageChosen, this, this.element);
}

SlimeyInsertImageTool.prototype.imageChosen = function(url) {
	if (url) {
		var action = new SlimeyInsertAction(this.slimey, 'img');
		action.getElement().src = url;
		this.slimey.editor.performAction(action);
	}
}
Esta es la llamada que se hace en el origen y no se muy bien como volver a lanzarla.

Código:
function chooseImage(func, scope, button) {
	
	var url = prompt(lang("enter the url of the image") + ":", "images/sample.png");
	func.call(scope, url);
}
Esta es la funcion chooseImage lanza la ventana pones la url de la imagen y la inserta, yo lo que he intentado hacer es llamar a la chooseImage desde otro script, el problema es que los parametros no son los correctos me falla ese scope, si alguien me pudiera ayudar estoy un poco perdido.

Un saludo y gracias.

Última edición por Bibliotec; 15/09/2009 a las 01:38
  #2 (permalink)  
Antiguo 15/09/2009, 01:45
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Insertar imagen (slimey)

pd: has editado el mensaje inicial lo cual quizas esta repuesta queda invalida. todos modo lo dejare y leere el nuevo mensaje...

respondiendo a tu duda tecnica...
Cita:
Esta es la llamada que se hace en el origen y no se muy bien que es ese this.
this se refiere a un objeto. en este caso, this es la referencia de una instancia de SlimeyInsertImageTool, de modo que pasas una la referencia a la funcion chooseImage. no se donde este tu error pero asegurate que this.imageChosen sea una funcion.

por lo demas, no comento nada del fckeditor porque no estoy familiarizado con la aplicacion.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 15/09/2009, 01:47
 
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: Insertar imagen (slimey)

Gracias por contestar he puesto completo el código de la clase, no se si con esto podras ayudarme mejor, el caso es que no se como hacer la llamada a la clase desde fuera.
  #4 (permalink)  
Antiguo 15/09/2009, 02:14
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Insertar imagen (slimey)

voy a especular en esta repuesta, de nuevo porque no estoy familiarizado con fckeditor. no creo que sea la funcion chooseImage la que tienes que llamar porque al menos necesita una instancia de SlimeyInsertImageTool. o sea, la clase SlimeyInsertImageTool crea un boton para la interfaz de fckeditor. ese boton tiene asociado un evento que llama una funcion asignada a esa clase el cual es la que trae la ventana de insertar la url. creo que tienes dos opciones: creas una instancia y llama la funcion execute (supongo que es esa la que esta ligada al evento), o tendras que buscar donde esta almacenada la instancia actual de esa clase para poder llamar la funcion execute. la segunda opcion es por el hecho de que desconozco si al crear la instancia necesitas la base de la interfaz fckeditor. o sea, que no puedas crear una instancia porque no existe el editor desde "fuera". buscar la instancia actual, no se como lo haras. tendrias que analizar el codigo y determinar como se inicializa la aplicacion.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 15/09/2009, 03:16
 
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: Insertar imagen (slimey)

He pensado una solución alternativa seria posible sustituir ese prompt por una ventana o lo que sea que permita lanzar el php que busca las imagenes de modo que una vez que tenga la imagen pueda dar respuesta y lanzar el call??? lo mismo lo que digo es una tonteria.
  #6 (permalink)  
Antiguo 15/09/2009, 03:25
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Insertar imagen (slimey)

supongo que si pero obviamente tendrias que escribirlo... supongo que haras alguna consulta de imagenes y devolveras una lista de rutas. pero ya esto es tema de php, y claro, parte de javascript. yo tu verifico primero lo que antes comente, si es posible crear una instancia desde una pagina externa o si tendras que usar la instancia que usa la aplicacion. de nada te vale comenzar por crear el codigo php si luego no puedes llamar la funcion desde la pagina externa.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 15/09/2009, 04:06
 
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: Insertar imagen (slimey)

El código php lo tengo es el propio del filemanager ahora solo me quedaria el hacer que espere el javascript la respuesta de la ventana abierta mediante window.open para seguir con el call pero no se como hacer esto.
  #8 (permalink)  
Antiguo 15/09/2009, 04:19
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Insertar imagen (slimey)

supongo que te refieres a la respuesta del usuario en dicha ventana, ¿no? si es asi, dependiendo de como le estas mostrando la informacion al usuario, o sea si le estas mostrando una lista de imagenes o textos, tienes que añadirle a cada item un evento para que llame la funcion de agregar la imagen al editor fckeditor pero utilizando como URL la que provees en el filemaneger. ahora, puesto que esa no es la funcionalidad original de fckeditor, tu mismo(a) tienes que crear dicha funcion. practicamente seria la misma que chooseImage, lo unico que en lugar de tener un prompt para introducir la URL simplemente creas la URL en base a filemaneger.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 15/09/2009, 04:34
 
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: Insertar imagen (slimey)

Eso es lo que preguntaba al principio pero como no puedo obtener los parametros que se le pasan a la funcion chooseImage sobre todo el scope (la url se la paso desde la ventana del php al llamar a la funcion) no puedo ejecutar esta chooseImagen salvo que interfiera como lo hace el prompt y le pase la url en ese momento en el que tengo el valor del scope, y esto es lo que no se hacer.
  #10 (permalink)  
Antiguo 15/09/2009, 04:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Insertar imagen (slimey)

nuevamente, porque la funcion requiere de una instancia de SlimeyInsertImageTool para poder operar, como lo explique entre el primer y segundo post. si tienes tu aplicacion en la web, muestrame un enlace para comprobarlo. pero tampoco te exaltes mucho porque no te puedo prometer nada lo mas probable no lo pueda verificar en este momento porque estoy trasnochado y seguro me dormire pronto.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 15/09/2009, 04:55
 
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: Insertar imagen (slimey)

No puedo esta en mi localhost, si quieres te lo envio a tu email en un zip y lo ves con tranquilidad, te lo agradeceria muchisimo.
  #12 (permalink)  
Antiguo 15/09/2009, 04:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Insertar imagen (slimey)

jeje, esa opcion no me es factible porque en este momento no cuento con servidor ni php ni mysql. solo manejo javascript. claro que me pudiera instalar un wampp pero me tardare un año en hacerlo funcionar.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #13 (permalink)  
Antiguo 15/09/2009, 05:15
 
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: Insertar imagen (slimey)

ok, gracias de todos modos.
  #14 (permalink)  
Antiguo 11/04/2010, 08:38
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Respuesta: Insertar imagen (slimey)

Buenas dias, mi scuso per il mio idioma spero che comprendete come io comprendo il vostro (italiano e spagnolo sono molto similari). Io tengo lo stesso (lo mismo?) problema posso sapere se hai trovato una soluzione?
Gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:26.