Pb affichage objet externe en page d'accueil

Pb affichage objet externe en page d'accueil
0
Tags: #<Tag:0x00007f768e964360>

Bonjour,

je veux afficher mon agenda (objet externe) sur ma vue :

le résultat est :

mon code :

et dans la console :

l’affichage de l’agenda à partir du menu fonctionne très bien :

La réponse du display n’est pas interprétée (script exécuté) car j’imagine que l’URL est chargée dans une iframe / ça peut se voir en inspectant la page du navigateur. Que contient votre ressource HTML ?

Elle ne doit pas être une page HTML (je vois un DOCTYPE html dans la copie d’écran) mais juste une DIV, sinon Simplicité considère que c’est une page complète/standalone et la charge dans une iframe vide et à elle d’insérer tous les scripts nécessaire.

Dans la démo il y a un exemple qui marche d’objet externe (calendar) qui s’affiche dans un onglet d’une page d’accueil:

exemple qui fonctionne en fullcalendar v3.
je suis passée en V4 et

dans ma ressource script :
var CrbGdrAgendaDir = new FullCalendar.Calendar(document.getElementById(‘resacalendar’),

ma ressource html contient : div id=“resacalendar” class=“calendar”

Je ne vois pas d’où vient l’entête <!DOCTYPE html> dans votre copie d’écran si votre contenu est juste une div. Il faut peut-être forcer un setDecoration(false) dont l’usage m’a toujours laissé perplexe entre la V3 (iframe) et la V4 (one page).

Autre exemple dans la doc pour envoyer une simple div et un javascript :

https://docs.simplicite.io/documentation/01-core/externalobject-code-examples.md

public class MyExtObj extends com.simplicite.util.ExternalObject {
    private static final long serialVersionUID = 1L;

    @Override
    public Object display(Parameters params) {
        appendJSIncludes(HTMLTool.gmapJS());
        setHTML("<div id=\"mymap\" style=\"width: 400px; height: 400px;\"></div>");
        return javascript("Simplicite.Gmap.simpleDisplay('mymap', 8.8566667, 2.3509871, 15);");
    }
}

Le problème n’a rien à voir avec la version du fullcalendar, c’est que le contenu est considéré comme une page complète = iframe sauf si vous constatez qu’il n’y en a pas dans votre zone chargée.