On Mon, May 10, 2010 at 22:45, Wouter Boasson <[email protected]>wrote:
> Hi,
>
> I extended two panels in a way that makes life more easy for the common
> user (XWiki/XE 2.2.4): create panel, documenent info (editor).
>
> 1. The create page panel (Panels.NewPage)
> -shows current spacename
> -'create space' option is only shown when the user has the appropriate
> rights, and is at the top-level of the wiki
> -automatically generates a link to the parent page (but not to the
> WebPreferences page)
>
> #if($hasEdit || $showEmptyPanels)
> #panelheader($msg.get("create"))
> <form method="post" action="$doc.getURL("view", "xpage=create")">
> <div class="padded centered">
> <label for="tocreate"
> class="hidden">$msg.get("xe.panels.new.itemType")</label>
> <select id="tocreate" name="tocreate" class="panelselect">
> <option value="page">$msg.get("xe.panels.new.page")</option>
> #if ($hasCreateSpace && $doc.fullName == "Main.WebHome")
> <option value="space">$msg.get("xe.panels.new.space")</option>
> #end
> </select>
> </div>
> <div class="padded centered">
> <input type="hidden" name="template" value="" />
> #if($doc.Name!="WebPreferences")
> <input type="hidden" name="parent" value="$msg.get("$doc.Space.$doc.Name")"
> />
> #end
> <label for="title" class="hidden">$msg.get("xe.panels.new.name")</label>
> <input type="text" id="title" name="title" value="$msg.get("
> xe.panels.new.name")" class="panelinput"
> onfocus="if(this.value=='$msg.get("xe.panels.new.name")') this.value=''"
> onblur="if(this.value=='') this.value='$msg.get("xe.panels.new.name")'"/>
> In space: $doc.Space<br>
> </div>
> <div class="padded centered">
> <input type="submit" class="button" value="$msg.get("create")"/>
> </div>
> </form>
> #panelfooter()
> #end
>
> 2. Setting the parent page in the editor
> -now shows a dropdown list with all the pages in the current space, which
> is much easier than remembering the exact documentname
>
> In: Panels.DocumentInformation
>
> Replaced:
> <dd><input type="text" id="xwikidocparentinput2" name="parent"
> value="$!tdoc.parent" size="30"/></dd>
>
> By:
> <dd><select name="parent" class="panelselect">
> <option value="$!tdoc.parent" selected="selected">$!tdoc.parent</option>
> <option value="">-Empty \*-</option>
> #foreach($subdoc in $xwiki.getSpaceDocsName("$doc.web"))
> #if($subdoc!="WebPreferences")
> <option value="$subdoc">$subdoc</option>
> #end
> #end
> </select></dd>
>
> 3. Default language chooser
> -in a mulitlingual XWiki: in the editor a dropdown box is shown with the
> languages set in the XWiki preferences to choose from, but only those that
> are not avaiable as a translation, otherwise you'll end up with two
> translations of the same name.
>
> In: Panels.DocumentInformation
>
> Original:
> #if(($tdoc.language=="")&&($xwiki.isMultiLingual()))
> <dt><label
> for="xwikidoclanguageinput2">$msg.get("panels.documentInformation.defaultLanguage")</label></dt>
> <dd><input type="text" id="xwikidoclanguageinput2" name="defaultLanguage"
> value="$!tdoc.defaultLanguage" size="30"/></dd>
> #end
>
> Becomes:
> #if(($tdoc.language=="")&&($xwiki.isMultiLingual()))
> <dt><label
> for="xwikidoclanguageinput2">$msg.get("panels.documentInformation.defaultLanguage")</label></dt>
> <dd><select name="defaultLanguage" class="panelselect">
> <option value="$!tdoc.defaultLanguage" id="xwikidoclanguageinput2"
> selected="selected">$!tdoc.defaultLanguage</option>
> #foreach($olang in $xwiki.getXWikiPreference("languages").split("[|, ]"))
> #set($showlang=true)
> #foreach($tlang in $doc.translationList)
> #if($olang==$tlang)
> #set($showlang=false)
> #end
> #end
> #if($tdoc.defaultLanguage!=$olang&&$showlang!=false)
> <option value="$!olang">$olang</option>
> #end
> #end
> </select></dd>
> #end
>
> Hope this is helpful for others too!
>
> And, if this is not the appropriate place to send this info to, just let me
> know.
>
It's the best place to speak about that but it would be even better to also
put this in http://code.xwiki.org for other peoples to easily find it with
other code snippets and applications.
>
> Wouter
> _______________________________________________
> users mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/users
>
--
Thomas Mortagne
_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users