Intégrer une bibliothèque Javascript en front pour afficher un widget spécifique

Bonjour,

Il faut soit charger ta lib à l’ouverture du site (trigger document ui.loaded ou ui.ready dans le SCRIPT de la disposition responsive) ou soit directement depuis l’objet qui en a besoin, ce qui est préférable en terme d’UX et de temps d’attente à l’ouverture de session.

Pour un objet externe, tu peux expliciter les CSS/JS à charger depuis le display en back.

package com.simplicite.extobjects.MyModule;
import com.simplicite.util.tools.Parameters;
import com.simplicite.util.tools.HTMLTool;

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

    @Override
    public Object display(Parameters params) {
        appendCSSIncludes("http://url/of/a/file.css");
        appendJSIncludes("http://url/of/a/file.js");
        setHTML("<div id=\"mychart\" style=\"width: 100px; height: 100px;\"></div>");
        return javascript("$('#mychart').html(...)");
    }
}

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

ou en front tu peux mettre du code <script> dans un template ou JS existant ou un hook d’objet :

$ui.loadScript({
	url: "http://url/of/a/file.js",
	onload: function() {
		$('#mychart').html(...);
	}
});

Autre exemple d’intégration de graphique dans un objet métier via hook form.onload :