Staff en línea
Últimos temas
[Ocio] Contemos hasta el 5000
por Chalo Lun Ago 13, 2018 8:29 am

[CSS] Re diseña la toolbar
por lnymph Lun Ago 13, 2018 2:47 am

[ocio] Tus frases favotitas
por lnymph Lun Ago 13, 2018 2:29 am

[cine] ¿Cual es tu pelicula favorita?
por lnymph Lun Ago 13, 2018 2:20 am

[Ocio] ¿De que país sois?
por lnymph Lun Ago 13, 2018 2:17 am

Página 1 de 4. 1, 2, 3, 4  Siguiente

[beta] Edición ajax con editor avanzado sin cambiar de página v 2.0
Tema iniciado por y Añadir a favoritos

staff


Última edición por Chalo el Dom Jul 30, 2017 2:34 pm, editado 17 veces
[codebox]Nueva forma de editar via ajax, usando el propio editor de la respuesta rápida, es un code más ligero que el que hizo el buen JScript, no requiere volver a cargar el css y el js de sceditor, esta versión funciona en phpbb3, invision y punbb

[/codebox]
[alert]Nota: debes tener permitido el uso de formularios externos en tu PA dentro del apartado seguridad.[/alert]
[info]version 2.01 - Actualizado 29/07/17[/info]

Código:

var edit = {
    init: function () {
        this.form = document.forms.post;
        this.button = this.form.preview;
        this.button_send = this.form.post;
        this.sceditor = $(this.form.message).sceditor('instance');
        this.click();
    },
    lang: {
        save: 'Guardar',
        notice_original: 'No hay texto predefinido',
        editing: 'Estas editando el post #',
        wait: 'Por favor se paciente, se esta enviando texto al servidor...',
        color_a: 'linear-gradient(to bottom, #febbbb 0%,#fe9090 45%,#ff5c5c 100%)',
        color_b: 'linear-gradient(to bottom, #ffaf4b 0%,#ff920a 100%)',
        color_c: 'linear-gradient(to bottom, #87e0fd 0%,#53cbf1 40%,#05abe0 100%)',
        color_d: 'linear-gradient(to bottom, #ff3019 0%,#cf0404 100%)',
        color_e: 'linear-gradient(to bottom, #d2ff52 0%,#91e842 100%)'
    },
    click: function () {
        var a = document.getElementsByTagName('a'),
            len = a.length;
        for (var i = 0; i < len; i++) {
            a[i].href.match(/post\?p=(\d+)&mode=editpost/g) && (a[i].setAttribute('onclick', 'edit.edit(this.href, edit.closest(this, \'.post\'));return false'));
        }
    },
    edit: function (d, f) {
        edit.sceditor.updateOriginal();
        if (this.sceditor.val() != '') {
            alert('Para editar no debes tener contenido en el editor')
        } else {
            this.XML('', d, function (x) {
                var o = x.responseXML,
                    a = o.forms.post.message,
                    e = o.forms.post.subject.value,
                    b = document.createElement('input');
                edit.sceditor.val(a.value);
                edit.sC(edit.form, 300);
                b.value = edit.lang.save;
                b.type = 'submit';
                b.id = 'save';
                b.className = 'button';
                b.setAttribute('onclick', 'edit.save(this); return false');
                b.style.marginLeft = '20px';
                edit.button.parentNode.insertBefore(b, edit.button.nextSibling);
                edit.button_send.style.display = 'none';
                edit.url = d;
                edit.subject = e;
                edit.post = f;
                edit.id = edit.url.match(/p=(\d+)/)[1];
                edit.notice(edit.lang.editing + edit.id, edit.lang.color_c, 'on');
            });
        }
    },
    save: function (e) {
        var b,
            a = encodeURIComponent(this.sceditor.val()),
            c = encodeURIComponent(this.subject),
            p = 'message=' + a + '&subject=' + c + '&post=1&prevent_post=1&notify=1';
        e.value = 'Guardando';
        this.notice(edit.lang.wait, edit.lang.color_b, 'off', 1000);
        this.cover('Guardando...');
        this.XML(p, edit.url, function (x) {
            b = document.getElementById('save');
            b && b.parentNode.removeChild(b);
            edit.button_send.style.display = 'initial';
            edit.sceditor.val('');
            edit.cover(false);
            edit.XML('', document.location.href, function (x) {
                var o = x.responseXML,
                    a = o.getElementsByClassName('post--' + edit.id),
                    b = a.length && a[0].innerHTML;
                edit.post.innerHTML = b;
                edit.sC(edit.post, 300);
                edit.click()
            })
        })
    },
    closest: function (t, e) {
        var n;
        ['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'].some(function (t) {
            return 'function' == typeof document.body[t] ? (n = t, !0) : !1
        });
        for (var r; t;) {
            if (r = t.parentElement, r && r[n](e)) return r;
            t = r
        }
        return null
    },
    cover: function (c) {
        var a = document.getElementsByClassName('sceditor-resize-cover')[0];
        a.style.display = c != false ? 'block' : 'none';
        a.innerHTML = c != false ? c : '';
        if (c != false) {
            a.style.color = '#fff';
            a.style.fontSize = '20px';
            a.style.lineHeight = '12';
            a.style.textAlign = 'center'
        }
    },
    notice: function (e, t, a, b) {
        var o, n, s, l, i;
        b = 'undefined' != typeof b ? b : '1000';
        i = document.getElementsByClassName('notice_reply');
        n = document.getElementsByClassName('sceditor-group')[0];
        s = n.parentNode, o = i.length ? i[0] : document.createElement('DIV');
        l = 'height:20px;line-height: 1.5;border-radius: 3px; text-shadow: 0 1px rgba(255, 255, 255, 0.46)';
        !i.length && (o.classList.add('notice_reply'), o.style.cssText = l, s.insertBefore(o, n));
        o.style.display = 'block';
        o.innerHTML = 'undefined' == typeof e ? edit.lang.notice_original : e;
        o.style.background = 'undefined' == typeof t ? edit.lang.color_a : t;
        if (a == 'off') {
            setTimeout(function () {
                'block' == o.style.display && (o.style.display = 'none')
            }, b)
        }
    },
    sC: function (o, e, t, s) {
        e = e || 500, s = s || window;
        var a = o.clientHeight < 150 ? o.clientHeight * 2 : o.clientHeight < 300 ? o.clientHeight : o.clientHeight > 400 && '',
            n = s.scrollTop - a || window.pageYOffset - a;
        if ('number' == typeof o) var r = parseInt(o);
        else var r = edit.gT(o, n);
        var l = Date.now(),
            i = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (o) {
                window.setTimeout(o, 15)
            },
            a = function () {
                var c = Date.now() - l;
                s !== window ? s.scrollTop = edit.pS(n, r, c, e) : window.scroll(0, edit.pS(n, r, c, e)), c > e ? 'function' == typeof t && t(o) : i(a)
            };
        a()
    },
    eC: function (t) {
        return t < .5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1
    },
    pS: function (o, e, s, r) {
        return o + (e - o) * edit.eC(s / r)
    },
    gT: function (o, e) {
        return 'HTML' === o.nodeName ? -e : o.getBoundingClientRect().top + e
    },
    XML: function (a, b, f) {
        var c;
        c = window.XMLHttpRequest ? new XMLHttpRequest : window.ActiveXObject && (new ActiveXObject('Microsoft.XMLHTTP'));
        'undefined' != typeof a ? c.open('POST', b) : c.open('GET', b, true);
        c.responseType = 'document';
        c.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        c.send('undefined' != typeof a ? a : '');
        c.onreadystatechange = function () {
            this.readyState == 4 && this.status == 200 && (f(this));
        };
    }
};
document.addEventListener('DOMContentLoaded', function () {
    /\/?t\d+.*/.test(window.location.pathname) && document.getElementById('logout') && edit.init();
});

Chalo
avatar

¿Que estoy pensando? :

yo también [table class=fecha_up][td]Se modifico:1/08/18 - 8:41 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/322/32281.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6720


Puntos :

8787


Me gusta :

1010


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


Ver perfil de usuario https://www.opensourcephpbb3.com

Volver arriba Ir abajo

Se ve interesante, vamos a probarlo
Gotilon
avatar

¿Que estoy pensando? :

Si tiene solución ¿Para qué te vas a preocupar? y si no ¿Para qué te vas a preocupar? [table class=fecha_up][td]Se modifico:12/05/16 - 14:12 hrs.[/td][/table]


Banner en temas :

https://i.imgur.com/ex0wmXRh.jpeg


Color de titulos :

red


Sombra titulo :

1px 1px 1px #fff


Mensajes :

564


Puntos :

665


Me gusta :

69


ingreso :

02/03/2016


Sexo :

Masculino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

undefined 
el Lun Mayo 09, 2016 6:14 pm
staff


Última edición por Chalo el Vie Mayo 13, 2016 8:51 pm, editado 1 vez
[info]actualizado[/info]

ok
Chalo
avatar

¿Que estoy pensando? :

yo también [table class=fecha_up][td]Se modifico:1/08/18 - 8:41 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/322/32281.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6720


Puntos :

8787


Me gusta :

1010


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


Ver perfil de usuario https://www.opensourcephpbb3.com

Volver arriba Ir abajo

Probaré el código actualizado
Gotilon
avatar

¿Que estoy pensando? :

Si tiene solución ¿Para qué te vas a preocupar? y si no ¿Para qué te vas a preocupar? [table class=fecha_up][td]Se modifico:12/05/16 - 14:12 hrs.[/td][/table]


Banner en temas :

https://i.imgur.com/ex0wmXRh.jpeg


Color de titulos :

red


Sombra titulo :

1px 1px 1px #fff


Mensajes :

564


Puntos :

665


Me gusta :

69


ingreso :

02/03/2016


Sexo :

Masculino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

Gracias Chalo! Lo voy a probar
Aria
avatar

¿Que estoy pensando? :

Escribe lo que tienes en mente [table class=fecha_up][td]Se modifico:10/7/15 - 15:25 hrs.[/td][/table]


Banner en temas :

http://static.tumblr.com/ee5c516eb48ee3e839f133da0917acf8/zcxvzo8/6Womvw4se/tumblr_static_keru_cover.jpg


Color de titulos :

#fff


Sombra titulo :

0 1px #000


Mensajes :

79


Puntos :

95


Me gusta :

8


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

@Chalo no me guarda el cambio, edito, aparece el circulo de loading pero luego el post no cambia, y recargando la página tampoco aparece el cambio
Aria
avatar

¿Que estoy pensando? :

Escribe lo que tienes en mente [table class=fecha_up][td]Se modifico:10/7/15 - 15:25 hrs.[/td][/table]


Banner en temas :

http://static.tumblr.com/ee5c516eb48ee3e839f133da0917acf8/zcxvzo8/6Womvw4se/tumblr_static_keru_cover.jpg


Color de titulos :

#fff


Sombra titulo :

0 1px #000


Mensajes :

79


Puntos :

95


Me gusta :

8


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

staff
@Aria escribió:[quotelink="/t1167-beta-edicion-ajax-con-editor-avanzado-sin-cambiar-de-pagina#13036"]
@Chalo no me guarda el cambio, edito, aparece el circulo de loading pero luego el post no cambia, y recargando la página tampoco aparece el cambio


ok gracias, es en phpbb3 en punbb funciona estoy tratando de que la misma version funcione en todas, voy a hacerle ajustes, cuando suba la correción te menciono para que te llegue un mail
Chalo
avatar

¿Que estoy pensando? :

yo también [table class=fecha_up][td]Se modifico:1/08/18 - 8:41 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/322/32281.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6720


Puntos :

8787


Me gusta :

1010


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


Ver perfil de usuario https://www.opensourcephpbb3.com

Volver arriba Ir abajo

Ganial, gracias!
Aria
avatar

¿Que estoy pensando? :

Escribe lo que tienes en mente [table class=fecha_up][td]Se modifico:10/7/15 - 15:25 hrs.[/td][/table]


Banner en temas :

http://static.tumblr.com/ee5c516eb48ee3e839f133da0917acf8/zcxvzo8/6Womvw4se/tumblr_static_keru_cover.jpg


Color de titulos :

#fff


Sombra titulo :

0 1px #000


Mensajes :

79


Puntos :

95


Me gusta :

8


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

staff
@Aria yo creo que ya deberia funcionar
Chalo
avatar

¿Que estoy pensando? :

yo también [table class=fecha_up][td]Se modifico:1/08/18 - 8:41 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/322/32281.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6720


Puntos :

8787


Me gusta :

1010


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


Ver perfil de usuario https://www.opensourcephpbb3.com

Volver arriba Ir abajo

Ya lo pruebo gracias!
Aria
avatar

¿Que estoy pensando? :

Escribe lo que tienes en mente [table class=fecha_up][td]Se modifico:10/7/15 - 15:25 hrs.[/td][/table]


Banner en temas :

http://static.tumblr.com/ee5c516eb48ee3e839f133da0917acf8/zcxvzo8/6Womvw4se/tumblr_static_keru_cover.jpg


Color de titulos :

#fff


Sombra titulo :

0 1px #000


Mensajes :

79


Puntos :

95


Me gusta :

8


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

 En la misma categoria


Permisos de este foro:
No puedes responder a temas en este foro.