Posté le par dans la catégorie JQuery.

Chosen est un plugin jquery qui permet de réaliser des inputs de type select travaillés, et avec un champs de recherche dans les propositions.

Voici un exemple de champs select généré avec l’aide de chosen :

Le plugin permet une recherche rapide des options par l’utilisateur dans une liste très grande, comme ici avec la liste de tout les pays. En plus ce ça son design modern est très soigné.

Mais il s’agit ici d’un champs ou l’utilisateur ne peut faire qu’un seul choix. Le plugin permet aussi de gérer les selects à choix multiple:

Encore une fois on a la possibilité de faire une recherche textuelle mais en plus on voit s’afficher la liste des options choisies dans un champs dédié. Il est possible à tout moment d’en supprimer un précédement choisi.

Pour la mise en place il va falloir inclure le ficher CSS et le fichier JS.
Après il vous suffira d’ajouter une classe « chosen » sur votre champs select :

<select name="blabla" id="blabla" class="chosen">
  <option value="1">Option 1</option>
  <option value="2">Option 2</option>
  <option value="3">Option 3</option>
</select>

<!-- l'appel au plugin -->
<script>
$(function(){
   $(".chosen").chosen();
}
</script>

Et voila vous avez maintenant des champs select de compet’.

Site officiel ou Télécharger

Posté le par dans la catégorie JQuery, Outils.

Zebra_form est une librairie PHP qui permet à partir d’un code très simple de générer un formulaire avec verification dynamique.

La librairie permet mettre des contraintes sur les champs afin d’automatiser la vérification des données, mais aussi de générer des jetons de formulaires ou encore de gérer l’upload de fichiers.

Voici un exemple très simple qui permet de générer un formulaire de connexion :

<?php
// include the Zebra_Form class
require 'path/to/Zebra_Form.php';

$form = new Zebra_Form('form');
$form->add('label', 'label_email', 'email', 'Email');
$obj = & $form->add('text', 'email', '', array('autocomplete' => 'off'));
// set rules
$obj->set_rule(array(
    // error messages will be sent to a variable called "error", usable in custom templates
    'required'  =>  array('error', 'Email is required!'),
    'email'     =>  array('error', 'Email address seems to be invalid!'),
));

// "password"
$form->add('label', 'label_password', 'password', 'Password');
$obj = & $form->add('password', 'password', '', array('autocomplete' => 'off'));
$obj->set_rule(array(
    'required'  => array('error', 'Password is required!'),
    'length'    => array(6, 10, 'error', 'The password must have between 6 and 10 characters'),
));

// "remember me"
$form->add('checkbox', 'remember_me', 'yes');
$form->add('label', 'label_remember_me_yes', 'remember_me_yes', 'Remember me');
// "submit"
$form->add('submit', 'btnsubmit', 'Submit');
// validate the form
if ($form->validate()) {
    // C'est ici qu'il faut faire le traitement
}

// auto generate output, labels above form elements
$form->render();
?>

Voici le rendu pour avec le fichier CSS par défaut de Zimbra form :

Vous pouvez trouver la documentation compléte ici :

Vous pouvez tester cet exemple sur la page de démo : Démo Zebra_form

Vous pourrez trouver à cette adresse d’autres librairies du même créateur.

Posté le par dans la catégorie JQuery.

Jquery Mask Plugin est, comme son nom l’indique, un plugin jquery qui permet de mettre en place des masques sur des champs input. Le but étant de forcer, ou d’aider, l’utilisateur à saisir des informations sous le bon format.

Le cas le plus courant est un champs date, si on n’utilise pas un datepicker, on ne peut pas être sur du format utilisé par l’utilisateur.

Une fois le plugin inclus dans vote page html vous pouvez mettre en place très simplement le plugin :

$(function(){
      $('.date').mask('00/00/0000');
      $('.time').mask('00:00:00');
      $('.date_time').mask('00/00/0000 00:00:00');
      $('.cep').mask('00000-000');
      $('.phone').mask('0000-0000');
      $('.phone_with_ddd').mask('(00) 0000-0000');
      $('.phone_us').mask('(000) 000-0000');
      $('.mixed').mask('AAA 000-S0S');
      $('.cpf').mask('999.999.999-99', {reverse: true});
      $('.money').mask('000.000.000.000.000,00', {reverse: true});
});

Voici la légende des symbole pour les masques :

Symbole Signification
0,1,3,4,5,6,7,8 ou 9 Un chiffre
A Un chiffre ou une lettre
S Une lettre

Site officiel ou Télécharger

Posté le par dans la catégorie Framework, JQuery.

Jquery UI bootstrap est un thème pour le framework JQuery UI.

La librairie permet d’integrer dans votre application des composants JQuery UI tout en gardant le thème de votre application.

  • L’affichage en accordéon
  • La génération d’onglet
  • les boîtes de dialogues
  • Les boutons et les glyphes
  • le datepicker
  • les messages d’erreurs et de validation
  • les sliders

Site officiel ou Télécharger

Posté le par dans la catégorie JQuery.

Avgrund Modal est plugin JQuery qui permet de réaliser des boites de dialogues très modernes, avec un superbe effet à l’affichage.

Voici comment mettre en place le plugin pour afficher une modal box.


<a href="#" id="show" >Afficher la popup</a>
<script>
$(function() {
		$('#show').avgrund({
			height: 200,
			holderClass: 'custom',
			showClose: true,
			showCloseText: 'Close',
			enableStackAnimation: true,
			template: '<p>So implement your design and place content here! If you want to close modal, please hit "Esc", somewhere on the screen or use special button. Enjoy!</p>' +
			'<div>' +
			'<a href="http://github.com/voronianski/jquery.avgrund.js" target="_blank" class="github">Avgrund on Github</a>' +
			'<a href="http://twitter.com/voronianski" target="_blank" class="twitter">Twitter</a>' +
			'<a href="http://dribbble.com/voronianski" target="_blank" class="dribble">Dribbble</a>' +				
			'</div>'
		});
	});
</script>

Et le résultat obtenu une fois que le lien à été cliqué :

Ce qu’il faut remarquer sur cette capture c’est les bandes noires sur le bord de la page. Lors du clic la page html à été rétrécie, comme si on l’avait reculée pour mettre au premier plan la boite de dialogue.

Le plugin est compatible sur tous les navigateurs correct, pour IE il y a une version dégradée qui a été mise en place pour avoir un rendu similaire.

Site officiel ou Télécharger

Posté le par dans la catégorie Framework.

La mise à jour du framework CSS de twitter, dont on a déjà parlé dans l’article .
Au programme quelques nouveautés :

  • La gestion des images
  • La possibilité de colorées les lignes des tableaux avec les classes error, info et success
  • Le changement de la couleur par défaut des nav-bar

    Il est possible de la mettre en noire en ajoutant la classe .navbar-inverse
  • De nouveaux glyphes

On notera aussi une amélioration du responsive design et quelques plugins javascript qui permettent de réaliser votre interface en quelques minutes avec un résultat très soigné.

Télécharger sur github

Posté le par dans la catégorie JQuery.

Powertip est un plugin JQuery qui permet de faire des tooltips. La dernière mise à jour date du 8 août 2012, autant dire que le créateur continu de l’améliorer.

L’avantage de ce plugin par rapport à d’autre est la notion de « smart placement » (placement intélligent) qui permet de placer les tooltips de manière à ce que les tooltips ne dépassent pas de la page.

Voici ce qui peut arriver sans le smart placement :

Et la correction que ce système fait :

Pour mettre ce système en place il suffit de définir l’ordre des préférences des positions pour la tooltip

$.fn.powerTip.smartPlacementLists = {
	n: ['n', 'ne', 'nw', 's'],
	e: ['e', 'ne', 'se', 'w', 'nw', 'sw', 'n', 's', 'e'],
	s: ['s', 'se', 'sw', 'n'],
	w: ['w', 'nw', 'sw', 'e', 'ne', 'se', 'n', 's', 'w'],
	nw: ['nw', 'w', 'sw', 'n', 's', 'se', 'nw'],
	ne: ['ne', 'e', 'se', 'n', 's', 'sw', 'ne'],
	sw: ['sw', 'w', 'nw', 's', 'n', 'ne', 'sw'],
	se: ['se', 'e', 'ne', 's', 'n', 'nw', 'se']
};

C’est la configuration qui est proposée sur le site officiel du plugin.

Et voici un exemple d’utilisation du plugin :

<a class="powertip" href="monsuperlien" title="Le contenu de ma tooltip">Un lien</a>
<script>
$(function(){
    $('.powertip').powerTip({
	placement: 'n',
	smartPlacement: true
    });
});
</script>

Pour des besoins plus compliqué vous pouvez ajouter des traitements sur différents events :

Nom de l’event Description
powerTipPreRender Avant que le contenu de la tooltip soit mis en place
powerTipRender Après que le contenu de la tooltip soit mis en place mais avant sont affichage
powerTipOpen Une fois que la tooltip est affichée (après l’effet fade)
powerTipClose A la fermeture de la tooltip
$('.tips').on({
	powerTipPreRender: function() {
		console.log('powerTipRender', this);

		// generate some dynamic content
		$(this).data('data-powertip' , '<h3 class="title">Default title</h3><p>Default content</p>');
	},
	powerTipRender: function() {
		console.log('powerTipRender', this);

		// change some content dynamically
		$('#powerTip').find('.title').text('This is a dynamic title.').
	},
	powerTipOpen: function() {
		console.log('powerTipOpen', this);

		// animate something when the tooltip opens
		$('#powerTip').find('.title').animate({ opacity: .1 }, 1000).animate({ opacity: 1 }, 1000);
	},
	powerTipClose: function() {
		console.log('powerTipClose', this);

		// cleanup the animation
		$('#powerTip').find('.title').stop(true, true);
	}
});

Et enfin un petit exemple :

Site officiel ou Télécharger

outils

Posté le par dans la catégorie JQuery.

JWERTY est une librairie javascript qui permet de gérer simplement les combinaisons de touches et d’y attribuer des traitements.

Bien que JWERTY n’utilise pas JQuery, il a été conçu de manière à être compatible avec.

Une fois la librairie incluse, l’utilisation est très simple :

jwerty.key('ctrl+alt+z', function () {                     
alert("Ma belle fonction");
});

Vous pouvez tester ce raccourci sur cette page.

Ceci est l »utilisation la plus basique de la librairie mais il est aussi possible de définir des events et de les utiliser comme bon nous semble.

$('#myinput').bind('keydown',  .event('ctrl+alt+z', function () { [...] }));

Vous pourrez ensuite utiliser la fonction jwerty.is pour retrouver vos petits.

function (event) {
    if ( jwerty.is('ctrl+alt+z', event) ) {
        [...]
    }
}

Site officiel


outweb-jquery

Posté le par dans la catégorie JQuery.

JQuery GANTT est un plugin JQuery qui permet de générer un digramme de Gantt rapidement.

Le design « à la mac » du rendu est très agréable, comme vous pouvez le voir sur cet aperçu :

Compatibilité

Le plugin est compatible sur les navigateurs suivants :

  • Firefox 4+
  • Chrome 13+
  • Safari 5+
  • Opera 9+
  • IE 8+

Utilisation

L’instanciation du plugin nécessite de lui donner les informations relatives à chaque taâche

$(".gantt").gantt({
	source: [{
		name: "Sprint 0",
		desc: "Analysis",
		values: [{
			from: "/Date(1320192000000)/",
			to: "/Date(1322401600000)/",
			label: "Requirement Gathering", 
			customClass: "ganttRed"
		}]
	,{
		name: " ",
		desc: "Scoping",
		values: [{
			from: "/Date(1322611200000)/",
			to: "/Date(1323302400000)/",
			label: "Scoping", 
			customClass: "ganttRed"
		}]
	},{...}
	}],
	navigate: "scroll",
	scale: "weeks",
	maxScale: "months",
	minScale: "days",
	itemsPerPage: 10,
	onItemClick: function(data) {
		alert("Item clicked - show some details");
	},
	onAddClick: function(dt, rowId) {
		alert("Empty space clicked - add an item!");
	}
});

Et voilà de quoi finir vos sites de gestion de projets :-)

La documentation complète est disponible sur le site officiel

outils

Posté le par dans la catégorie Outils.

Tinycon est une librairie javascript qui permet de modifier dynamiquement le favicon d’une page en y ajoutant une bulle d’alerte comme on peut le voir sur l’image suivante.

Compatibilité

La librairie est compatible sur les navigateurs suivants :

  • Chrome 15+
  • Firefox 9+
  • Opera 11+

Il existe cependant une version dégradée qui modifie le titre de la page au lieu du favicon pour les navigateurs suivants :

  • Internet Explorer 9
  • Safari 5

Utilisation

L’utilisation la plus basique de la librairie :

Tinycon.setBubble(6);

Mais une utilisation paramétrée est possible :

Tinycon.setOptions({
    width: 7,
    height: 9,
    font: '10px arial',
    colour: '#ffffff',
    background: '#549A2F',
    fallback: true
});

L’attribut fallback permet d’autoriser la version dégradée sur les navigateurs non compatibles.

Démonstration ou Téléchargement sur github