Code source wiki de MeetingWebHomeSheet

Modifié par Vincent Massol le 2011/08/13 09:04

Afficher les derniers auteurs
1 ##
2 ## Macro includes.
3 ##
4
5 #includeMacros("MMCode.MeetingManagerMacros")
6 #includeMacros("XWiki.GridExtensionMacros")
7 #macro(help $text)<div class="helpmessage">$text</div>#end
8
9 ##
10 ## SX includes.
11 ##
12
13 #set($ok = $xwiki.ssx.use("MMCode.MeetingManager"))
14 #set($ok = $xwiki.jsx.use("MMCode.MeetingManager"))
15 #set($ok = $xwiki.jsx.use("XWiki.ModalBox"))
16 #set($ok = $xwiki.ssx.use("XWiki.ModalBox"))
17 #set($ok = $xwiki.jsfx.use("js/xwiki/lightbox/lightbox.js"))
18
19
20 ##
21 ## Global vars.
22 ##
23 #set($meetingSpace=$doc.space)
24 <div class="inlinebutton-container">
25 $msg.get('meetings.dashboard.youcanalso'):
26 #if($hasedit)
27 ##
28 ## Meeting creation form.
29 ##
30 <div id="newmeetingform" class="hidden">
31 <form action="" id="newdoc" method="post">
32 <div>
33 <input type="hidden" name="parent" value="${meetingSpace}.WebHome" />
34 <input type="hidden" name="template" value="MMCode.MeetingClassTemplate" />
35 <input type="hidden" name="sheet" value="1" />
36 <input type="hidden" name="name" class="clean" value=""/>
37 <div>
38 <div>
39 ##if($showallspaces)
40 ## $msg.get('meetings.dashboard.spacename') <select name="webname">
41 ##foreach($space in $xwiki.spaces)
42 ## <option value="${space}">$space</option>
43 ##end
44 ## </select>
45 ##else
46 <input type="hidden" name="webname" value="$meetingSpace"/>
47 ##end
48 $msg.get('meetings.dashboard.pagename')
49 <input type="text" autocomplete="off" class="title" name="title" size="45"/>
50 <div style="align:center;">
51 <input type="button" value="$msg.get('meetings.dashboard.createmeeting')" onclick='if (updateName(this.form.title,this.form.name)) { action="../../save/" + this.form.webname.value + "/" + this.form.name.value; this.form.submit(); }' />
52 </div>
53 </div>
54 <div style="color:grey;padding:5px;margin-top:15px;">
55 <div>$msg.get('meetings.dashboard.urlwillbe')</div>
56 {pre}
57 <div><span class="url">$doc.getExternalURL('view')<span></div>
58 #help("$msg.get('meetings.dashboard.pickpagenamehelp')")
59 {/pre}
60 </div>
61 <div class="clearfloats"></div>
62 </div>
63 </div>
64 </form>
65 </div>
66 <div class="inlinebutton">
67 <span class="buttonwrapper">
68 <button id="createnewmeeting" title="$msg.get('meetings.dashboard.createnewmeeting')" />
69 $msg.get('meetings.dashboard.createnewmeeting')
70 </button>
71 </span>
72 </div>
73 $msg.get('meetings.dashboard.or')
74 #end
75 #if(!$meetingcyclespage)
76 #set($meetingcyclespage = "${doc.space}.MeetingCycles")
77 #end
78 <a href="$xwiki.getURL($meetingcyclespage)"
79 title="$msg.get('meetings.dashboard.gotocycles')" />
80 $msg.get('meetings.dashboard.gotocycles')</a>
81 </div>
82
83
84 ##
85 ## Meeting grid.
86 ##
87
88 #set($collist = [ "doc.creationDate", "doc.title", "doc.creator", "date", "location", "status" ])
89 #set($colprops = {"doc.creationDate" : {"type":"date", "link" : "view"} ,
90 "doc.title" : {"type":"text", "size" : "10", "link" : "view"} ,
91 "doc.creator" : {"type":"text", "size" : "10", "link" : ""} ,
92 "location" : {"type" : "text", "size" : "10", "link": ""},
93 "date" : {"type" : "text", "size" : "10", "link": "", "filterable":false},
94 "status" : {"type" : "list", "size" : "1", "link": ""}
95 })
96 ## id of the div, list of columns, columns properties, default column to sort for, class name
97 #if("$request.my"=="1")
98
99 <h2 class="meetinggridtitle"> $msg.get('meetings.spacehome.mynextmeetings') <span class="meetingviewswap">[$msg.get('meetings.spacehome.seeallmeetings')>$doc.fullName]</span></h2>
100 #set($className="MMCode.MeetingClass")
101 #set($collist2 = "")
102 #set($classparams = "")
103 #foreach($colname in $collist)
104 #if("$!selectedColumn" == "" && !$colname.startsWith("_"))
105 #set($selectedColumn = $colname)
106 #end
107 #if($colname != "_actions")
108 #set($collist2 = "${collist2},${colname}")
109 #set($propClassName = "")
110 #set($propClassName = $colprops.get($colname).get("class"))
111 #if($propClassName!="")
112 #set($classparams = "${classparams}&${colname}_class=${propClassName}")
113 #end
114 #end
115 #end
116 #set($collist2 = $collist2.substring(1))
117 #set($dataurl = $xwiki.getURL("MMCode.MeetingMyResults","view","xpage=plain&outputSyntax=plain&space=${meetingSpace}&transprefix=meetings.dashboard.grid.&classname=$!{className}&collist=${collist2}${classparams}"))
118 #livetable("meetingsgrid" $collist $colprops {
119 "selectedColumn":"date",
120 "defaultOrder":"asc",
121 "translationPrefix":"meetings.dashboard.grid.",
122 "url": $dataurl,
123 "rowCount": 10,
124 "tagCloud": true
125 })
126 #else
127 <h2 class="meetinggridtitle"> $msg.get('meetings.spacehome.seeallmeetings') <span class="meetingviewswap"><a href="$doc.getURL('view', 'my=1')">$msg.get('meetings.spacehome.seemynextmeetings')</a></span></h2>
128 <br/>
129 #if($showallspaces)
130 #livetable("meetingsgrid" $collist $colprops {
131 "selectedColumn":"doc.creationDate",
132 "defaultOrder":"desc",
133 "translationPrefix":"meetings.dashboard.grid.",
134 "className":"MMCode.MeetingClass",
135 "rowCount": 10,
136 "tagCloud": true
137 })
138 #else
139 #set($className="MMCode.MeetingClass")
140 #set($collist2 = "")
141 #set($classparams = "")
142 #foreach($colname in $collist)
143 #if("$!selectedColumn" == "" && !$colname.startsWith("_"))
144 #set($selectedColumn = $colname)
145 #end
146 #if($colname != "_actions")
147 #set($collist2 = "${collist2},${colname}")
148 #set($propClassName = "")
149 #set($propClassName = $colprops.get($colname).get("class"))
150 #if($propClassName!="")
151 #set($classparams = "${classparams}&${colname}_class=${propClassName}")
152 #end
153 #end
154 #end
155 #set($collist2 = $collist2.substring(1))
156 #set($dataurl = $xwiki.getURL("XWiki.LiveTableResults","view","xpage=plain&outputSyntax=plain&space=${meetingSpace}&transprefix=meetings.dashboard.grid.&classname=$!{className}&collist=${collist2}${classparams}"))
157 #livetable("meetingsgrid" $collist $colprops {
158 "selectedColumn":"doc.creationDate",
159 "defaultOrder":"desc",
160 "translationPrefix":"meetings.dashboard.grid.",
161 "className":"MMCode.MeetingClass",
162 "url": $dataurl,
163 "rowCount": 10,
164 "tagCloud": true
165 })
166 #end
167 #end