Bonsoir,
Je travaille sur une application dojo mobile. Je génère des ScrollableView à partir d'un fichier JSON . Lorsque je génère la première page, cela me crée le code suivant :
Mais ensuite, lorsque je veux accéder à une autre page, je la génère à partir du fichier JSON avant de l'afficher. Le problème, c'est que cela ne genère pas automatiquement les classes de style associé comme "mblView mblScrollableView". De plus, il me manque le div <div class="mblScrollableViewContainer" ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <div id="accueil" class="mblView mblScrollableView" dojotype="dojox.mobile.ScrollableView" selected="true" style="visibility: visible; overflow: hidden; top: 0px; height: 398px;" widgetid="accueil"> <div class="mblScrollableViewContainer" style="position: absolute; width: 100%; padding-top: 0px;"> <h1 id="dojox_mobile_Heading_0" class="mblHeading" dojotype="dojox.mobile.Heading" back="" moveto="" style="" widgetid="dojox_mobile_Heading_0">Titre</h1> <h2 dojotype=""></h2> <ul id="dojox_mobile_RoundRectList_0" class="mblRoundRectList" dojotype="dojox.mobile.RoundRectList" style="" widgetid="dojox_mobile_RoundRectList_0"> </div> </div>
Cela me donne juste :
J'ai aussi remarquer que le bouton back me permettant de revenir en arrière ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <div id="infos" dojotype="dojox.mobile.ScrollableView" selected="false" style="visibility: visible; position: relative; top: 0px; left: 0px;"> <h1 id="dojox_mobile_Heading_1" class="mblHeading" dojotype="dojox.mobile.Heading" back="Accueil" moveto="accueil" style="" widgetid="dojox_mobile_Heading_1"> <h2 dojotype=""></h2> <ul id="dojox_mobile_RoundRectList_1" class="mblRoundRectList" dojotype="dojox.mobile.RoundRectList" style="" widgetid="dojox_mobile_RoundRectList_1"> </div>
Je ne comprend pas pourquoi je n'obtiens pas la même chose. j'ai pourtant parser la nouvelle vue
code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 function getAction(child, id){ dojo.forEach(child, function(page){ console.log(page); dojo.forEach(page.components, function(component){ dojo.forEach(component.items, function(item){ if (id == item.id){ console.log(item); moveTo=item.moveTo; return moveTo; } }); }); this.getAction(page.children, id); }); console.log(moveTo); return moveTo; } function createView(child, id_view){ dojo.forEach(child, function(page){ if (page.id==id_view){ Side.Mobile.Page.create(page.id, page.dojoType, page.selected, page.components); } this.createView(page.children, id_view); }); } function actionTransition(li){ dojo.xhrGet({ url : 'param2.json', handleAs : "json", load : function(param) { var application= param.application; var id_view=getAction(application.tree, li.id, moveTo); createView(application.tree, id_view); var view = dojo.byId(id_view); dojox.mobile.parser.parse(view); var listitem=dijit.byNode(li); listitem.transitionTo(id_view); }, error : function(err) { console.debug("Error : ", err); } }); } dojo.ready(function(){ var prog = dojox.mobile.ProgressIndicator.getInstance(); dojo.body().appendChild(prog.domNode); prog.start(); dojo.xhrGet({ url : 'param2.json', handleAs : "json", load : function(param) { var application=param.application; dojo.query("title")[0].text=application.name; dojo.query("link")[1].href=application.icon; dojo.query("link")[2].href=application.icon; var footer=application.footer; dojo.forEach(application.tree, function(page){ Side.Mobile.Page.create(page.id, page.dojoType, page.selected, page.components); }); //Side.Mobile.Footer.create(footer.id, footer.dojoType, footer.tabButtons); dojox.mobile.parser.parse(); prog.stop(); }, error : function(err) { console.debug("Error : ", err); } }); });
Partager