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 Jul 30, 2017 2:34 pm, 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
Chalo

¿Que estoy pensando? :

saquen el wato..... [table class=fecha_up][td]Se modifico:8/11/19 - 9:09 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/374/37476.png


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

7038


Puntos :

9160


Me gusta :

1053


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


https://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
Aria

¿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 :

98


Me gusta :

11


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Volver arriba Ir abajo

staff
ok, tu plantilla esta intacta la de viewtopic_body?

voy a revisarlo de nuevo
Chalo
Chalo

¿Que estoy pensando? :

saquen el wato..... [table class=fecha_up][td]Se modifico:8/11/19 - 9:09 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/374/37476.png


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

7038


Puntos :

9160


Me gusta :

1053


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


https://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
Aria

¿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 :

98


Me gusta :

11


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Volver arriba Ir abajo

staff
@Aria ya lo probe en phpbb3 y esta listo, creo [beta] Edición ajax con editor avanzado sin cambiar de página v 2.0 - Página 2 3496882631
Chalo
Chalo

¿Que estoy pensando? :

saquen el wato..... [table class=fecha_up][td]Se modifico:8/11/19 - 9:09 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/374/37476.png


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

7038


Puntos :

9160


Me gusta :

1053


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


https://www.opensourcephpbb3.com

Volver arriba Ir abajo

Muchas gracias Chalo! Voy a ver
Aria
Aria

¿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 :

98


Me gusta :

11


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


Volver arriba Ir abajo

staff
@Aria ahora si?
Chalo
Chalo

¿Que estoy pensando? :

saquen el wato..... [table class=fecha_up][td]Se modifico:8/11/19 - 9:09 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/374/37476.png


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

7038


Puntos :

9160


Me gusta :

1053


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


https://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
Aria

¿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 :

98


Me gusta :

11


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


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
Chalo

¿Que estoy pensando? :

saquen el wato..... [table class=fecha_up][td]Se modifico:8/11/19 - 9:09 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/374/37476.png


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

7038


Puntos :

9160


Me gusta :

1053


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


https://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
Aria

¿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 :

98


Me gusta :

11


ingreso :

10/03/2015


Sexo :

Femenino

Plataforma :

PhpBB3


Navegador :

Chrome


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 [beta] Edición ajax con editor avanzado sin cambiar de página v 2.0 - Página 2 569027737
Chalo
Chalo

¿Que estoy pensando? :

saquen el wato..... [table class=fecha_up][td]Se modifico:8/11/19 - 9:09 hrs. [/td][/table]


Banner en temas :

https://coverfiles.alphacoders.com/374/37476.png


Color de titulos :

#fff


Sombra titulo :

0 0 1px #000


Mensajes :

7038


Puntos :

9160


Me gusta :

1053


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


https://www.opensourcephpbb3.com

Volver arriba Ir abajo

 En la misma categoria


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