Articles

Affichage des articles du mars, 2017

Angular - injecter des directives via une directive de type attribut

Voici un petit besoin que j'avais sur un projet: J'utilisais la librairie angular " ng-scrollbars " pour avoir des scrollbars un peu fancy. Nous devons alors spécifier dans notre HTML l'attribut "ng-scrollbars". Parfois, pour certains éléments, l'aspect devait être différent. Du coup, conjointement, nous spécifions alors l'attribut "ng-scrollbars-config". Et comme le projet est un composant, il faut que certains style personnels n'impacte pas l'application "host". Du coup, nous rajoutions alors notre classe CSS au même niveau que les deux attributs précédents. D'un point de vue usage, cela le code compliqué, car nous devons bien penser à chaque fois que nous voulons utiliser un scrollbar, mettre la classe CSS. Et si nous avons un besoin de config, de spécifier un autre attribut. Cela pose également le soucis d'évolution: si nous changeons pour une raison X ou Y le nom de la classe CSS (ou s...

Charger une image dans un Blob: les différentes manières

Image
Afin de voir les différentes façons qu'ils existent de charger une image (ou une ressource binaire) dans sa page Web via JavaScript, je me suis amusé à faire une petite application affichant un chat: J'ai pu déterminer ainsi 4 façons de résoudre ce besoin: 'use strict' ; const IMAGE_PATH = 'resources/cat.jpg' ; const IMAGE_CONTENT_TYPE = 'image/jpeg' ; export default class LoadingService { /** * @returns {Promise.<Blob>} */ static loadWithAjaxBlob () { return new Promise(( resolve , reject) => { let request = new XMLHttpRequest(); request . open ( 'GET' , IMAGE_PATH , true ); request . responseType = 'blob' ; request . onload = function () { resolve ( request . response ); }; request . onerror = reject; request . send ( null ); }); } /** * @returns {Promise.<Blob...