Bouton "Copier le lien" visible directement dans un formulaire

Description

Nous avons la possibilité de copier un lien directement dans le formulaire ou en liste via le bouton “copydlink” dans le dropdown.

Serait-ce possible d’avoir l’option en standard permettant d’afficher ce bouton directement dans la card-header du formulaire ( comme les boutons “enregistrer”,“fermer”) ou bien dans le formulaire lui-même**:

L’objectif seraient d’etre configurable directement depuis la définition d’un objet ( bouton ou bien formulaire :slight_smile: ), sans avoir à le récupérer via un script JavaScript personnalisé.

J’ai pour ce besoin à l’instant T, juste un script JS a mettre dans les objets concernés.

onLoadForm(ctn, obj, p) {
    var copyLinkLi = document.querySelector('.dropdown ul li[data-action="copydlink"]');
    if (!copyLinkLi) {
        console.error("L'élément 'Copier le lien' n'a pas été trouvé dans le dropdown.");
        return;
    }

    var saveButton = document.querySelector('button[data-action="save"]');
    if (!saveButton) {
        console.error("Le bouton 'Enregistrer' n'a pas été trouvé.");
        return;
    }

    saveButton.parentNode.insertBefore(copyLinkLi, saveButton.nextSibling);
    copyLinkLi.classList.add('btn', 'btn-primary');
    copyLinkLi.style.display = 'inline-block';
}

Bonjour,

Cette action était à l’origine technique pour faire un “copy deeplink” (d’où le nom copydlink), elle est effectivement générée “en dur” dans le menu “plus” si USE_DEEPLINKS=yes / à l’origine pour les ADMIN.

Le plus propre serait d’ajouter un vrai <button> dans votre header dont le code serait juste un click sur l’item de menu, car sortir/changer un <li><a> en faux bouton n’est pas un bonne approche (non RGAA).

Vous pouvez utiliser jQuery dans votre code front.

On va revoir le code pour effectivement générer une “action” qui pourra être surchargée par code ou paramétrage comme vous le proposez.

2 Likes

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.