Staff en línea

Página 2 de 4. Precedente  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 30 Jul 2017 - 14:34, editado 17 veces
Recuerdo del primer mensaje :

[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? :

Bienvenidosss!!! [table class=fecha_up][td]Se modifico:11/01/18 - 12:23 hrs. [/td][/table]


Banner en temas :

https://orig00.deviantart.net/2c56/f/2016/271/3/4/overwatch___mccree___facebookcover_by_beanousme-da03g04.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6513


Puntos :

8544


Me gusta :

984


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


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

Volver arriba Ir abajo

Ahora se guarda el cambio pero solo se ve si se recarga la página, quiero decir que al darle guardar no sale directamente el cambio como en tu video.
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 :

71


Puntos :

86


Me gusta :

7


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

staff
ok, tu plantilla esta intacta la de viewtopic_body?

voy a revisarlo de nuevo
Chalo
avatar

¿Que estoy pensando? :

Bienvenidosss!!! [table class=fecha_up][td]Se modifico:11/01/18 - 12:23 hrs. [/td][/table]


Banner en temas :

https://orig00.deviantart.net/2c56/f/2016/271/3/4/overwatch___mccree___facebookcover_by_beanousme-da03g04.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6513


Puntos :

8544


Me gusta :

984


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


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

Volver arriba Ir abajo

@Chalo escribió:[quotelink="/t1167p10-beta-edicion-ajax-con-editor-avanzado-sin-cambiar-de-pagina#13068"]
ok, tu plantilla esta intacta la de viewtopic_body?

voy a revisarlo de nuevo

Sí, está intacta
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 :

71


Puntos :

86


Me gusta :

7


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

staff
@Aria ya lo probe en phpbb3 y esta listo, creo
Chalo
avatar

¿Que estoy pensando? :

Bienvenidosss!!! [table class=fecha_up][td]Se modifico:11/01/18 - 12:23 hrs. [/td][/table]


Banner en temas :

https://orig00.deviantart.net/2c56/f/2016/271/3/4/overwatch___mccree___facebookcover_by_beanousme-da03g04.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6513


Puntos :

8544


Me gusta :

984


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


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

Volver arriba Ir abajo

Muchas gracias Chalo! Voy a ver
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 :

71


Puntos :

86


Me gusta :

7


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

staff
@Aria ahora si?
Chalo
avatar

¿Que estoy pensando? :

Bienvenidosss!!! [table class=fecha_up][td]Se modifico:11/01/18 - 12:23 hrs. [/td][/table]


Banner en temas :

https://orig00.deviantart.net/2c56/f/2016/271/3/4/overwatch___mccree___facebookcover_by_beanousme-da03g04.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6513


Puntos :

8544


Me gusta :

984


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


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

Volver arriba Ir abajo

@Chalo escribió:[quotelink="/t1167p10-beta-edicion-ajax-con-editor-avanzado-sin-cambiar-de-pagina-v-1-06b#13076"]
@Aria ahora si?

Si! Ahora va perfecto, gracias por todo!
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 :

71


Puntos :

86


Me gusta :

7


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

staff
@Aria escribió:[quotelink="/t1167p10-beta-edicion-ajax-con-editor-avanzado-sin-cambiar-de-pagina-v-1-06b#13083"]
@Chalo escribió:[quotelink="/t1167p10-beta-edicion-ajax-con-editor-avanzado-sin-cambiar-de-pagina-v-1-06b#13076"]
@Aria ahora si?

Si! Ahora va perfecto, gracias por todo!

gracias a ti!!
Chalo
avatar

¿Que estoy pensando? :

Bienvenidosss!!! [table class=fecha_up][td]Se modifico:11/01/18 - 12:23 hrs. [/td][/table]


Banner en temas :

https://orig00.deviantart.net/2c56/f/2016/271/3/4/overwatch___mccree___facebookcover_by_beanousme-da03g04.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6513


Puntos :

8544


Me gusta :

984


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


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

Volver arriba Ir abajo

@Chalo yo molestando otra vez:154:
Al editar si le doy previsualizar y luego posteo el mensaje se postea como uno nuevo y no el anterior editado
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 :

71


Puntos :

86


Me gusta :

7


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Ver perfil de usuario

Volver arriba Ir abajo

staff
tengo un code ajax para el preview, lo has probado? al usar la edición y luego el preview cambian los valores, voy a ver que puedo hacer, gracias por notificar el bug
Chalo
avatar

¿Que estoy pensando? :

Bienvenidosss!!! [table class=fecha_up][td]Se modifico:11/01/18 - 12:23 hrs. [/td][/table]


Banner en temas :

https://orig00.deviantart.net/2c56/f/2016/271/3/4/overwatch___mccree___facebookcover_by_beanousme-da03g04.jpg


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

6513


Puntos :

8544


Me gusta :

984


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


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

Volver arriba Ir abajo

 En la misma categoria


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