On Wed, Aug 25, 2010 at 10:26 AM, Raluca Stavro <raluca.moro...@xwiki.com> wrote: > Hi, > > The solution that I told you about is like this: > In a separate page, let's say 'Main.MyCalendar', paste this piece of > code that is copied from 'XWiki.CalendarSheet' (I also added 2.0 wiki > syntax but this is mandatory -> you can keep the 1.0 syntax): > > {{velocity}} > $xwiki.ssx.use('XWiki.CalendarSheet') > > #set($cview = $xwiki.calendar) > #set($cparams = $cview.calendarParams) > #if($request.month) > $cparams.put("month", $request.get("month")) > #end > #if($request.year) > $cparams.put("year", $request.get("year")) > #end > #set($rqcategories = $util.arrayList) > #foreach($rqcateg in $request.get("category").split(",")) > #if(!$rqcateg.trim().equals("")) > #set($discard = $rqcategories.add($rqcateg.trim())) > #end > #end > $cparams.put("categories", $rqcategories) > > {{html wiki=true}} > [[Add New Event>>Main.EventCalendar]] > $cview.getHTMLCalendar($cparams, $xwiki.getDocument('Main.EventCalendar'), "") > {{/html}} > {{/velocity}} >
For your case ignore all starting from here. The next explanations are for the case where you want to add events to another page than 'Main.EventCalendar'. Raluca. > Now, in 'XWiki.CalendarSheet' just remove the lines that you've put in > 'Main.MyCalendar'. You can also remove the piece of code that lists > the current event (the '#foreach($event in > $doc.getObjects("XWiki.CalendarEvent"))' block), depending on what you > want to display in the form page. > > And finally, in 'XWiki.CalendarSheet' change the action of the creation form: > <form action="$xwiki.getURL('Main.MyCalendar', 'objectadd')" > method="get"> > (this will allow adding calendar events to the 'Main.MyCalendar' page) > > and the redirect url: > <input type="hidden" name="xredirect" > value="${xwiki.getURL('Main.MyCalendar', 'view')}" /> > (this will redirect to the 'Main.MyCalendar' page after submitting the > creation form) > > This way you don't need extra JavaScript code to hide parts of the > code and your application is modular. > > Raluca. > > > > On Wed, Aug 25, 2010 at 5:24 AM, Lockie <loc...@gmail.com> wrote: >> >> I worked out a way to hide the form in a way so that the user doesn't have to >> go to another page to fill it out. It hides the div and provides a link to >> reveal it, so I guess it could be used for anything. I thought I'd just >> share it for future reference. >> >> Go to XWiki.CalendarSheet and Edit>Objects then add a JavaScriptExtension >> object with the following properties: >> >> Name: >> (blank) >> Code: >> function toggle() { >> var ele = document.getElementById("toggleText"); >> var text = document.getElementById("displayText"); >> if(ele.style.display == "block") { >> ele.style.display = "none"; >> text.innerHTML = "Click to view and create events..."; >> } >> else { >> ele.style.display = "block"; >> text.innerHTML = "Hide form"; >> } >> } >> Use this extension: >> Always on this wiki >> Parse content: >> No >> Caching policy: >> Default >> >> Then edit CalendarSheet in Source mode (Note: I converted mine from 1.0 >> syntax to 2.0 previously) and add these lines straight after >> $cview.getHTMLCalendar($cparams, ""): >> >> Click to view events and make events... >> <div id="toggleText" style="display: none"> >> >> Remove the ? from href above. Don't forget the </div> tag at the end: >> #end >> </div> >> {{/html}} >> {{/velocity}} >> And I think that ends my questions about the calendar >> >> Cheers, >> Lockie. >> -- >> View this message in context: >> http://xwiki.475771.n2.nabble.com/Calendar-Application-on-XE-2-4-not-working-properly-tp5420827p5459543.html >> Sent from the XWiki- Users mailing list archive at Nabble.com. >> _______________________________________________ >> users mailing list >> users@xwiki.org >> http://lists.xwiki.org/mailman/listinfo/users >> > _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users