Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

[TOUTES VERSIONS] Sauvegarder le contenu de l'éditeur

Voir le sujet précédent Voir le sujet suivant Aller en bas

avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Lun 28 Jan 2019 - 19:56

Bonjour,

Ce script provient du forum anglais.

https://help.forumotion.com/t155441-tutorial-save-text-editor-content

Vraiment sympa pour ceux qui comme moi oublient de valider leur message et passent sur un autre sujet.

Je vous le propose ci-dessous avec la traduction des textes.

Code:

//Sauvegarde texte éditeur
/*
         *  Application: Last auto-save
         *  Date: 10/04/2018
         *  Version: 1.310042018
         *  Copyright (c) 2018 Daemon <help.forumotion.com>
         *  This work is free. You can redistribute it and/or modify it
        */
        $(document).on("ready", function() {        
        if (!$.sceditor) return;
        var lang = {
            dialogTitle: "Message sauvegardé",
            dialogContent: "Souhaitez-vous restaurer le dernier message sauvegardé? ",
            dialogConfirm: "Oui",
            dialogCancel: "Non",
          savingNotice: "Dernière sauvegarde à"
        };
        
        var config = {
            modal: $("<div>",{
                id: "myModal",
                class: "modal"
            }).html(
            '<div class="modal-content"></div>'
            ),
            dialog: $("<div>",{
                id: "myDialog",
                class: "dialog"
            }).html(
            '<div class="dialog-titlebar">' +
            '    <span class="dialog-title">' + lang.dialogTitle + '</span>' +
            '</div>' +
            '<div class="dialog-content">' + lang.dialogContent + '</div>' +
            '<div class="dialog-buttonpane">' +
            '    <div class="dialog-buttonset">' +
            '        <button type="button" class="dialog-button confirm">' + lang.dialogConfirm + '</button>' +
            '        <button type="button" class="dialog-button cancel">' + lang.dialogCancel + '</button>' +
            '    </div>' +
            '</div>'
            ),
            myCSS: '<style type="text/css">' +
                '.modal {' +
                '    display: none;' +
                '    position: fixed;' +
                '    z-index: 99999;' +
                '    right: 30px;' +
                '    bottom: 130px;' +
                '    overflow: auto;' +
                '}' +
                '.modal-content {' +
       '    position: relative;' +
        '    font-family: Verdana, Arial, Helvetica, sans-serif;' +
        '    background-color: #c3e0ff;' +
        '    margin: auto;' +
        '    padding: 13px;' +
        '    text-align: center;' +
        '    border: 1px solid #608eaf;' +
        '    color: #608eaf;' +
        '    width: 250px;' +
        '    border-radius: 3px;' +
        '    -moz-border-radius: 3px;' +
        '    -webkit-border-radius: 3px;' +
        '    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);' +
        '}' +
                '.dialog {' +
                '    display: none;' +
                '    position: fixed;' +
                '    z-index: 99999;' +
                '    right: 30px;' +
                '    bottom: 30px;' +
                '    overflow: auto;' +
                '    width: 335px' +
                '    height: auto;' +
                '    font-family: Verdana, Arial, Helvetica, sans-serif;' +
                '    border: 1px solid #a6c9e2;' +
                '    background: #fcfdfd url(https://i.imgur.com/zSvngeq.png) 50% bottom repeat-x;' +
                '    color: #222222;' +
                '}' +
                '.dialog-titlebar {' +
                '    border: 1px solid #4297d7;' +
                '    background: #5c9ccc url(https://i.imgur.com/VKAHB77.png) 50% 50% repeat-x;' +
                '    color: #ffffff;' +
                '    font-weight: bold;' +
                '}' +
                '.dialog, .dialog-titlebar {' +
                '    -moz-border-radius: 5px;' +
                '    -webkit-border-radius: 5px;' +
                '    -khtml-border-radius: 5px;' +
                '    border-radius: 5px;' +
                '}' +
                '.dialog, .dialog-titlebar, .dialog-content {' +
                '    padding: 8px;' +
                '}' +
                '.dialog-buttonpane {' +
                '    border: 1px solid #a6c9e2;' +
                '    background: #fcfdfd url(https://i.imgur.com/44EUC3C.png) 50% bottom repeat-x;' +
                '    color: #222222;' +
                '}' +
                '.dialog-buttonpane {' +
                '    text-align: center;' +
                '}' +
                '.dialog-button {' +
                '    cursor: pointer;' +
                '    outline: none;' +
                '    border: 1px solid #c5dbec;' +
                '    background: #dfeffc url(https://i.imgur.com/p3HHEiR.png) 50% 50% repeat-x;' +
                '    font-weight: bold;' +
                '    color: #2e6e9e;' +
                '    margin: 8px;' +
                '    padding: 8px 15px;' +
                '}' +
                '.dialog-button:hover {' +
                '    border: 1px solid #79b7e7;' +
                '    background: #dfeffc url(https://i.imgur.com/jrnDbA8.png) 50% 50% repeat-x;' +
                '    font-weight: bold;' +
                '    color: #1d5987;' +
                '}' +
                '</style>',
                scrollSpeed: 750, // Page scrolling speed up to the editor
                typingInterval: 5000, // 5 seconds to save the message
                closingInterval: 5000, // 5 seconds to close the modal
                content: $.cookie("editor_sm"),
                expireTime: 7, // Time to expire the message (set 10 days as standard)
                editor: $("#text_editor_textarea").sceditor("instance")
        };
        
        // Inserting CSS before page body
        $(config.myCSS).insertBefore("body");
        // Inserting element modal append to page body
        $(config.modal).appendTo("body");
        
        // Check for recycled message
        if(config.content) {
            // Inserting element dialog append to page body
            $(config.dialog).appendTo("body");
            config.dialog.show("fast");
            $.cookie("editor_sm", null);
        }
        
        // Declaring the variables
        var typingTimer = null,
            date = null,
            time = "",
            editorVal = null;
      
        // Whyle typing in the editor
        config.editor.keyUp(function() {
            clearTimeout(typingTimer);
            typingTimer = setTimeout(savingMessage, config.typingInterval);
        }).keyDown(function() {
            clearTimeout(typingTimer);
        });
        
        // Recycle function
        config.dialog.on("click", ".confirm", function() {
            config.editor.val(config.content);
            $("body, html").stop().animate({
                scrollTop: $("#quick_reply").offset().top;
            }, config.scrollSpeed);
            config.dialog.hide();
        });
        
        // Cancel function
        config.dialog.on("click", ".cancel", function() {
            config.dialog.hide("slow");
        });
        
        // Saving function
function savingMessage() {
    date = new Date();
    time = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
    editorVal = config.editor.val();
    if(editorVal != "") {
        $.cookie("editor_sm", editorVal, { expires : config.expireTime });
        config.modal.show("fast", function() {
            config.modal.find(".modal-content").html(lang.savingNotice + ": " + time);
            config.modal.delay(config.closingInterval).hide("slow");
        });
    }
}
});

Le texte tapé est sauvegardé toutes les 5 secondes, ainsi que la durée de présentation des fenêtres. Cest temps sont paramétrables dans le script.
Une fenêtre vous l'indiquera.

[TOUTES VERSIONS] Sauvegarder le contenu de l'éditeur Sans_t32



En cas d'oubli, une autre fenêtre vous proposera de restaurer le dernier texte sauvegardé.

[TOUTES VERSIONS] Sauvegarder le contenu de l'éditeur Captur94

soleda, fred9545 et Constellation aiment ce message

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 28 Jan 2019 - 20:02

fred9545 aime ce message

Ambroise
Ambroise
https://mon-forum-perso.forumactif.com/

MessageAmbroise Mar 29 Jan 2019 - 8:17

C'est vrai que parfois on a la tête ailleurs

Merci Photoclic super
Chéryl
Chéryl
https://graphismelesangesden.forumactif.org/

MessageChéryl Ven 8 Fév 2019 - 12:02

merci
tout est en Anglais

alors comment je fais
merci
Constellation
Constellation
https://millionlittlethings.forumactif.com/

MessageConstellation Mer 31 Mar 2021 - 1:30

Merci pour cette astuce très pratique ❤

Sick.l.Offrande
Sick.l.Offrande
https://office-equideow.forumactif.com/

MessageSick.l.Offrande Mar 4 Mai 2021 - 12:42

Bonjour, 

Ce code est juste génial et parfait! 
Merci beaucoup du partage!!! 

Douce soirée à vous.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum