Staff en línea
Últimos temas
[beta] Edición ajax con editor avanzado sin cambiar de página v 2.0 - Página 4 Origin10[html]Menú de enlaces simple
por Lelu Jue Nov 28, 2019 6:30 am

[beta] Edición ajax con editor avanzado sin cambiar de página v 2.0 - Página 4 Origin10[html]Menú dinámico
por Lelu Jue Nov 28, 2019 6:11 am

[beta] Edición ajax con editor avanzado sin cambiar de página v 2.0 - Página 4 Origin10[html]Escaparate de imágenes sencillo
por Lelu Jue Nov 28, 2019 6:02 am

[beta] Edición ajax con editor avanzado sin cambiar de página v 2.0 - Página 4 Origin10[Duda] ModernBB vale la pena?
por mrsrz Miér Nov 27, 2019 9:57 am

[beta] Edición ajax con editor avanzado sin cambiar de página v 2.0 - Página 4 Origin10[Ocio] Contemos hasta el 5000
por Fibo Miér Nov 27, 2019 9:19 am

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

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

7036


Puntos :

9158


Me gusta :

1053


ingreso :

17/04/2014


Sexo :

Masculino

Plataforma :

phpbb3


Navegador :

chrome


https://www.opensourcephpbb3.com

Volver arriba Ir abajo

Gracias Chalo es perfecto thumbs
fascicularia
fascicularia

¿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://davesgarden.com/guides/pf/thumbnail.php?image=2006/10/11/Calif_Sue/aad8bf.jpg


Color de titulos :

#576d00


Sombra titulo :

1px 1px 1px #fff


Mensajes :

236


Puntos :

281


Me gusta :

29


ingreso :

20/01/2016


Sexo :

Femenino

Plataforma :

PhpBB2


Navegador :

Opera


Volver arriba Ir abajo

Hola @Chalo,
mis miembros vienen a mi atención que en el modo de vista previa, el mensaje se duplica en el momento del envío.
fascicularia
fascicularia

¿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://davesgarden.com/guides/pf/thumbnail.php?image=2006/10/11/Calif_Sue/aad8bf.jpg


Color de titulos :

#576d00


Sombra titulo :

1px 1px 1px #fff


Mensajes :

236


Puntos :

281


Me gusta :

29


ingreso :

20/01/2016


Sexo :

Femenino

Plataforma :

PhpBB2


Navegador :

Opera


Volver arriba Ir abajo

Buenos días a todos,

funciona muy bien en phpbb2.

Chalo, sería posible que el script actúe solo en el segundo mensaje para dejar la posibilidad al autor del tema de modificar el título?
fascicularia
fascicularia

¿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://davesgarden.com/guides/pf/thumbnail.php?image=2006/10/11/Calif_Sue/aad8bf.jpg


Color de titulos :

#576d00


Sombra titulo :

1px 1px 1px #fff


Mensajes :

236


Puntos :

281


Me gusta :

29


ingreso :

20/01/2016


Sexo :

Femenino

Plataforma :

PhpBB2


Navegador :

Opera


Volver arriba Ir abajo

staff
[alert]Recuerda ¿por qué se publica en la sección Beta?
Son códigos que están en fase experimental y puede que su funcionamiento no sea del todo correcto o compatible. Publica un tema en la sección de Soporte.[/alert]
Fibo
Fibo

¿Que estoy pensando? :

Nuestra filosofía http://bit.ly/OpenSourcephpBB3 [table class=fecha_up][td]Se modifico:9/11/19 - 15:53 hrs. [/td][/table]


Banner en temas :

https://i.imgur.com/zVxw0kMh.png


Color de titulos :

#fff


Sombra titulo :

1px 1px 1px #fff


Mensajes :

620


Puntos :

947


Me gusta :

203


ingreso :

11/09/2015


Sexo :

Masculino

Plataforma :

PhpBB3


Navegador :

Chrome


http://www.opensourcephpbb3.com

Volver arriba Ir abajo

 En la misma categoria


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