Intégration d'une librairie tierce front ou d'une police/font spécifique

Tags: #<Tag:0x00007fdd490338f0>

Bonjour,

Nous cherchons à intégrer un menu contextuel dans un objet externe.

Pour cela je souhaite intégrer un composant reposant sur jQuery, et présent sur ce projet git : https://github.com/swisnl/jQuery-contextMenu

La documentation indique de prendre les fichiers présents dans le répertoire “dist” pour utiliser le composant.

Pouvez-vous me confirmer que l’utilisation de ce composant n’est pas incompatible avec les autres librairies utilisées par Simplicité ?

La procédure d’intégration consiste bien en :

  • Intégrer le dossier “dist” dans les ressources (en sélectionnant type : set de fichiers)
  • Appeler les ressources depuis le code back de l’objet externe

Merci pour votre aide.

Jean-Baptiste

En soit, afficher un div en position absolue de la souris avec des ul/li ne devrait pas avoir besoin d’un tel plugin (sauf si besoin compliqué de menu/sous-menu…). On ne peut pas savoir si c’est compatible sans l’avoir testé ou intégré, ou si ça nécessite d’autre plugin en cascade.

Les menus “dropdown” sont déjà fournis par bootstrap et à mon avis ça doit être simple de le binder sur un event contextmenu. Exemple en BS4 https://jsfiddle.net/djibe89/qej2ppcq/ facilement adaptable en BS3.

Sur la démo on voit des icones, je ne sais pas d’où elles viennent. Simplicité utilise de préférence les fonts awesome pour éviter trop de différences.
http://swisnl.github.io/jQuery-contextMenu/demo.html

Sinon pour ajouter du script, il faut importer la version minifiée dans une resource de l’objet ou de la disposition et le charger sur le ui.loaded (engine chargé) ou ui.ready (site + home page affichée) par exemple.

.

Et dans le cas d’une lib multi fichiers oui, en théorie, il faut créer une ressource de type “file set”. Mais par contre on a plus fait depuis des années donc je ne sais plus comment ça marche ni si ça marche encore. Je vais faire des tests.

Bonjour,

Je me suis débrouillé avec l’exemple que François a indiqué plus haut.
Je n’ai donc plus besoin d’intégrer de librairie pour ce besoin.

Jean-Baptiste

OK mais ça reste un cas à retester.

Justement comment accéder aux fichiers compressés dans un zip et définis comme étant un set de fichiers ?

Dans mon cas j’ai un zip avec plusieurs fichiers d’une police que j’aimerais intégrer dans un css comme celui-ci :

@font-face {
  font-family: Roboto;
  src: local(Roboto-Regular),
    url(/path/to/Roboto-Regular.woff2) format("woff2"),
    url(/path/to/Roboto-Regular.woff) format("woff"),
    url(/path/to/Roboto-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
}

Je n’ai pas souvenir qu’une resource file set ait déjà été utilisé pour une font… Je vais faire des tests.

Sinon plutôt qu’une resource il est aussi possible de copier ces fichiers directement dans la webapp

Toutes les ressources statiques à ajouter à la web-app doivent être zippées ensemble et chargées dans une ressource de la disposition avec le nom CONTENT et le type Set de fichiers.

Ensuite au reset-cache, ce ZIP est dézippé dans le repertoire
WEB-INF/dbdoc/content/<disposition>
du serveur (ou ailleurs suivant le param system CONTENT_DIR), et on peut donc se servir du path relatif des ressources qu’il contient dans du CSS ou ailleurs.

Avec <disposition> =

  • en V4 : responsive
  • en V5 : responsive5 (la dispo responsive restera un temps pour compatibilité ascendante avec bootstrap3)

A l’origine la ressource CONTENT permettait de charger du contenu statique comme un site web (et pas uniquement des fonts).

Update :

Au prochain build, vous aurez la possibilité d’avoir plusieurs ZIP avec le code qui commence par CONTENT. Un seul ZIP ce n’était pas forcement pratique pour packager différentes ressources ou faire des livraison partielles lors d’une montée de version d’un contenu donné.

Le cas d’usage des ressources CONTENT pourra ainsi être plus large :

  • ajouter des polices/fonts référencées via path dans les ressources STYLES
  • ajouter un site web statique à intégrer dans la UI (append HTML)
  • disposer de librairies tierces (js/css) à intégrer lors du ui.loaded à la page via $ui.loadScript