Changes for page Calendar Macro
Last modified by admin on 2025/07/01 00:06
From version 1.1
edited by Benjamin Fischer
on 2024/11/05 16:22
on 2024/11/05 16:22
Change comment:
Install extension [org.xwiki.contrib:application-mocca-calendar-ui/2.9.6]
To version 2.1
edited by Benjamin Fischer
on 2025/02/11 10:47
on 2025/02/11 10:47
Change comment:
Install extension [org.xwiki.contrib:application-mocca-calendar-ui/2.9.7]
Summary
-
Objects (1 modified, 1 added, 0 removed)
Details
- XWiki.WikiMacroClass[0]
-
- Macro code
-
... ... @@ -1,5 +1,4 @@ 1 1 {{velocity output="false"}} 2 -$services.localization.use('document', 'Calendar.Translations') 3 3 #if('#dateTimePicker_import()' == "#dateTimePicker_import()") 4 4 #set($picker_macro = false) 5 5 ## A simple date picker widget. ... ... @@ -73,6 +73,10 @@ 73 73 #if("$!dateFormat" == "") 74 74 #set($dateFormat = "dd.MM.yyyy HH:mm:ss") 75 75 #end 75 +#set ($eventLimit = $xcontext.macro.params.eventLimit) 76 +#if (!$eventLimit) 77 + #set ($eventLimit = false) 78 +#end 76 76 77 77 ## 78 78 ## some hardwired values that you can feel free to customize ... ... @@ -87,8 +87,34 @@ 87 87 #set($right = "agendaDay,agendaWeek,month,plainList") 88 88 89 89 #set($canCreateEvents = $xwiki.hasAccessLevel("edit", $xcontext.getUser(), $calendarDoc)) 93 +#set ($calendarsFilter = $request.parameterMap['calendarsFiltler']) 94 +{{/velocity}} 90 90 91 -{{/velocity}}{{velocity}}#if($xcontext.action=='view'){{html clean="false" wiki="false"}} 96 +{{velocity}} 97 +#if ($xcontext.action == 'view' && $filter != 'page') 98 + #set ($statement = "select doc.fullName, calendar.color from Document doc, doc.object(MoccaCalendar.MoccaCalendarClass) calendar where doc.name <> 'MoccaCalendarTemplate'") 99 + #set ($results = $services.query.xwql($statement).execute()) 100 + #if ($results.size() > 1) 101 + === $services.localization.render('MoccaCalendar.calendarevent.filterEvents') === 102 + {{html clean="false"}} 103 + <form action="" method="get"> 104 + #foreach ($result in $results) 105 + #set ($docFullName = $result[0]) 106 + #set ($backgroundColor = $result[1]) 107 + #set ($checked = $calendarsFilter.contains($docFullName)) 108 + #set ($title = $xwiki.getDocument($docFullName).displayTitle) 109 + <div> 110 + <input type="checkbox" id="$docFullName" name="calendarsFiltler" value="$docFullName" #if ($checked) checked #end style="accent-color:$backgroundColor"/> 111 + <label for="$docFullName">$title</label> 112 + </div> 113 + #end 114 + <input type="submit" class="btn btn-primary" value="$services.localization.render('MoccaCalendar.calendarevent.filterEvents.submit')" /> 115 + </form> 116 + {{/html}} 117 + #end 118 +#end 119 +#if ($xcontext.action=='view' || $xcontext.action=='export') 120 +{{html clean="false" wiki="false"}} 92 92 #if($canCreateEvents) 93 93 ## create event link 94 94 <div class="calendar-buttons"> ... ... @@ -114,6 +114,7 @@ 114 114 outputSyntax: 'plain', 115 115 calendarDoc: "$!escapetool.javascript($calendarDoc)", 116 116 filter: "$!escapetool.javascript($filter)", 146 + calendarsFilter: "$!escapetool.javascript($stringtool.join($calendarsFilter, ','))", 117 117 classname: "MoccaCalendar.MoccaCalendarEventClass", 118 118 startfield: "startDate", 119 119 endfield: "endDate", ... ... @@ -122,6 +122,7 @@ 122 122 123 123 // page is now ready, initialize the calendar... 124 124 var calendar = jQuery('#calendar${calcounter}').fullCalendar({ 155 + eventLimit: $escapetool.javascript($eventLimit), 125 125 events: { 126 126 url : "$!escapetool.javascript($jsonUrl)", 127 127 type: 'GET',
- XWiki.WikiMacroParameterClass[9]
-
- Parameter default value
-
... ... @@ -1,0 +1,1 @@ 1 +false - Parameter description
-
... ... @@ -1,0 +1,1 @@ 1 +Sets a limit on daily event display. Extra events appear in a popover. If false (default) shows all events, else (true) restricts them to the day cell’s height. - Parameter mandatory
-
... ... @@ -1,0 +1,1 @@ 1 +No - Parameter name
-
... ... @@ -1,0 +1,1 @@ 1 +eventLimit