Étiquette : dynamique

[JavaScript] Déléguer un événement à un élément du DOM créé dynamiquement (ou détecter l’événement click sur un SVG)

ATTENTION: la méthode décrite dans ce billet fonctionne très bien pour deux choses bien distinctes:

  • déléguer un événement à un élément du DOM créé dynamiquement
  • détecter l’événement click sur un SVG

Néanmoins, dans le 1er cas et pour des raisons de performance, il serait plutôt conseillé de se tourner vers une solution d’event bubbling.

Source: Detecting click events on SVGs with vanilla JS event delegation – Listening for clicks inside an element.

Javascript dans le cas d’un SVG:

[Magento 2] Utiliser le source model Yesno pour faire apparaître de manière dynamique et sous condition un champ caché dans un widget custom

Nous avons ici deux champs mais l’affichage du second, masqué au chargement du formulaire, est conditionné à l’activation du premier qui est un booléen (true/false -> si « true », alors le second champ est affiché).

Cas où l’affichage du champ caché dépend de l’activation de plusieurs autres champs

Pas encore testé, mais vu sur le net et notifié comme fonctionnel (bug fixé dans la 2.3.x).

[RBS Cooking] Créer un vhost dynamique pour les nuls

Cette opération va vous permettre de consulter depuis son IP un projet hébergé sur votre VM à partir d’un support mobile connecté au réseau local (wifi).

Récupérer l’adresse IP à placer dans l’url

Connectez-vous à votre VM en SSH et tapez :

L’adresse IP qui nous intéresse commence par 10.199.xx.xx

Créez un vhost pour le projet

Créez un vhost pour le projet que vous souhaitez rendre accessible depuis un support mobile connecté au réseau local.

**1.** Depuis la racine de votre VM, rendez-vous dans le répertoire qui stocke les fichiers vhosts :

Commencez par faire une copie du vhost servant de base à tous les projets Change hébergés sur votre VM en la nommant comme votre projet :

La commande « sudo » permet de jouir des droits d’administrateur requis à ce type de manipulations.

**2.** Lancez l’édition du vhost que vous venez de créer :

**Remarque** : le répertoire « sites-available » contient l’ensemble des vhosts disponibles, tandis que le répertoire « sites-enabled » contient l’ensemble des vhosts en cours d’éxecution (n’éditez rien dans ce répertoire; cette remarque est faite pour info).

**3.** Depuis l’interface d’édition que vous venez de lancer, modifiez en deux endroits l’adresse IP par celle fournie par le ifconfig :
* //ligne 1// «  »
* //ligne 3// « ServerName 10.199.xx.xx »

**4.** Modifiez également le répertoire cible du projet :
* //ligne 2// « DocumentRoot /home/intlangf/change30//webapp/www »
* //ligne 7// « webapp/www> »

**Petit rappel des fonctionnalités vi utiles :**
* [activer/quitter le mode insertion] echap
* [sauvegarder les modifications] :wq (:write quit)
* [quitter sans sauvegarder] :q!

Modifiez l’url du site dans Change

* Depuis un éditeur de code, modifiez l’url du site dans le fichier « config/project.xml » par l’IP fournie par le ifconfig : 10.199.xx.xx
* Modifiez également l’url en backoffice dans les propriétés du site.
* Puis, sous SSH, éxecuter : ch cconf

Activer/désactiver un vhost

**1.** Un seul host doit être activé à la fois, donc toujours désactiver le host en cours avant d’en activer un autre :

*

*

**Attention :** « change » est le vhost qui fera tourner l’ensemble des sites se trouvant sur la VM. Si vous activez le vhost que vous venez juste de créer, les autres sites hébergés sur votre VM ne seront plus consultables à moins de switcher à nouveau sur le vhost « change ».

**2.** Relancer apache après avoir enablé/disablé un vhost :

**3.** Lancer le site dans le navigateur depuis son IP :
10.199.xx.xx

**4.** Le site est en maintenance ?