Carnet Wiki

jQueryMobile pour SPIP

Version 11 — Septembre 2012 Seds

Documentation : chantier sur la construction d’un plugin squelette en jQueryMobile en vue d’un travail collaboratif.

Nécessite le plugin Cimobile.

Une redirection automatique soumise avec les périphériques :
ipad, xoom, maemo, playbook, archos, iphone, android, blackberry, Windows Phone OS 7, iris, 3g_t, windows ce, opera mobi, windows ce-smartphone, windows ce-iemobile, webos, pre\/, palm os, palm, hiptop, avantgo, plucker, xiino, blazer, elaine, et nuvifone.

-  accessible avec le lien : monsite.fr/ ?cimobile=jqm et monsite.fr/spip ?objetXX&cimobile=jqm (avec cookie cimobile session navigateur)
-  monsite.fr/ ?cimobile=web pour revenir à squelettes-dist.

Attention ! on ne pourra pas naviguer entre les squelettes. On peut voir simultannément les 2 squelettes en les ouvrant sur 2 navigateurs.

L’utilisation d’un squelette entièrement en jQueryMobile présente quelques dysfonctionnements, notamment au sujet des ancres et du maintient des styles lors de chargement en ajax des formulaires.

Demo

http://dev.twxdesign.com/jQueryMobile

/formulaires/login.html

Malgré :
- data-ajax=« false » l.16 et 53
- [(#FORMULAIRE_LOGIN{#URL_SITE_SPIP})] dans login-dialog.html

Pas de redirection automatique vers l’accueil
Ne charge pas le changement de statut, il faut recharger la page accueil pour voir apparaitre « se déconnecter » et « espace privé »

login-dialog.html

Si [(#FORMULAIRE_LOGIN{#ENV{url}|sinon{#URL_ECRIRE{accueil}}})]
Affiche « Vous êtes enregistré.. etc »
En revanche, si on clique sur ces liens, le nouveau statut est pris en compte.

Pagination ok

-  toutes les paginations doivent être en ajax avec inclure
-  un js pour le maintien du css lors de la pagination / mais qlqfois ya une bug // ©christian

$(document).ready(function(){
	var JqmSpipAjaxLoad = function (){
		$('#articles_listview').listview().trigger("create");
		$('#auteurs_listview').listview().trigger("create"); 		// etc
	};
	if (typeof onAjaxLoad == 'function') onAjaxLoad(JqmSpipAjaxLoad);
});

+ id=« articles_listview » dans l’ul des boucles

-  et on vire les ancres de paginations sur /modeles/pagination.html, de toute façon avec ce js, meme si le css de la pagination se maintient l’ancrage ne fonctionne pas

-  pb sur boucles mots du même groupe (inclure/mots.html)

URL_FORUM

virer l’ancre :
surcharger /forums/generer_url_forum avec à la racine jqm_fonctions.php

-  

function jqm_fonctions($id_forum, $args='', $ancre='') {
 return urls_generer_url_forum_dist($id_forum, $args, '');
}

// ©denisb

-  

 function jqm_fonctions($id_forum, $args='', $ancre='') {
  if ($id_forum = intval($id_forum)) {
    return urls_generer_url_forum_dist($id_forum, $args, '');
  }
  return '';
} 

// ©denisb

echec codes tous : site HS

/formulaires/forum.html

-  fonctionne une fois sur 2.
-  double validation</del >.
double validation .
- pb pb de css</del >.
css .
- pb url : si sur url forum ne fonctionne pas.
-  formulaire non rechargé à la validation du commentaire

/formulaires/forumlaire_ecrire_auteur.html

bug à l’envoi en local (seulement ?)

/formulaires/formulaire_signature.php

ancre supprimé l.227 mais #spX persiste dans l’url donc ne charge pas la page

notes

ancrage impossible

boutons admin

-  inopérants sauf si ouverts dans autre onglet/fenetre navigateur
-  liens objets non chargés à la navigation, actualisation obligatoire pour changer objet.

LTR vs RL

data-ajax=« false » dans de modele article_traductions pour charger le css.
en revanche nulle part ailleurs car en général les langues sont classées par rubriques à la racine. sinon il faudrait mettre du data-ajax=« false » partout et plus de jquery sur les liens.