Il y a des exemples d’objets externe de type pages publiques et/ou publiques+privées sur l’appstore autour de la démo (certains décrits lors de ce webinaire : [Présentation] 🧩 Devenez maître dans l’art de la customisation, UI standard et UIs alternatives)
Un exemple basique qui correspond au cas d’une simple page publique est celui-ci
public class MyExtObject extends com.simplicite.webapp.web.JQueryWebPageExternalObject {
private static final long serialVersionUID = 1L;
@Override
public String displayBody(Parameters params) {
try {
JQueryWebPage wp = getPage();
wp.appendJSInclude(HTMLTool.simpliciteClientJS()); // If using the npm JS client lib
wp.appendJSInclude(HTMLTool.getResourceJSURL(this, "CLASS"));
wp.appendCSSInclude(HTMLTool.getResourceCSSURL(this, "STYLES"));
wp.setReady(getName() + ".render(" + params.toJSONObject().toString() + ")");
return HTMLTool.getResourceHTMLContent(this, "HTML");
} catch (Exception e) {
AppLog.error(null, e, getGrant());
return e.getMessage();
}
}
}
Avec le triptique usuel de resources HTML/JS/CSS, ex: le JS:
class MyExtObject{
static render(params) {
const app = simplicite.session({ endpoint: 'uipublic' }); // instnanciate the npm client lib for the public user
app.info(`Lib version: ${simplicite.constants.MODULE_VERSION}`);
...
}
}```