]> git.mxchange.org Git - friendica.git/blob - view/templates/event_head.tpl
update to fullCalendar 3.0.1, frio: cal list view, frio: cal month hover
[friendica.git] / view / templates / event_head.tpl
1
2 <link rel='stylesheet' type='text/css' href='{{$baseurl}}/library/fullcalendar/fullcalendar.css' />
3 <script type="text/javascript" src="{{$baseurl}}/library/moment/moment.min.js"></script>
4 <script type="text/javascript" src="{{$baseurl}}/library/moment/locales.min.js"></script>
5 <script language="javascript" type="text/javascript" src="{{$baseurl}}/library/fullcalendar/fullcalendar.min.js"></script>
6
7 <script>
8         function showEvent(eventid) {
9                 $.get(
10                         '{{$baseurl}}{{$module_url}}/?id='+eventid,
11                         function(data){
12                                 $.colorbox({html:data});
13                         }
14                 );                      
15         }
16
17         function doEventPreview() {
18                 $('#event-edit-preview').val(1);
19                 $.post('events',$('#event-edit-form').serialize(), function(data) {
20                         $.colorbox({ html: data });
21                 });
22                 $('#event-edit-preview').val(0);
23         }
24
25         // disable the input for the finish date if it is not available
26         function enableDisableFinishDate() {
27                 if( $('#id_nofinish').is(':checked'))
28                         $('#id_finish_text').prop("disabled", true);
29                 else
30                         $('#id_finish_text').prop("disabled", false);
31         }
32
33
34         $(document).ready(function() {
35                 $('#events-calendar').fullCalendar({
36                         firstDay: {{$i18n.firstDay}},
37                         monthNames: ['{{$i18n.January}}','{{$i18n.February}}','{{$i18n.March}}','{{$i18n.April}}','{{$i18n.May}}','{{$i18n.June}}','{{$i18n.July}}','{{$i18n.August}}','{{$i18n.September}}','{{$i18n.October}}','{{$i18n.November}}','{{$i18n.December}}'],
38                         monthNamesShort: ['{{$i18n.Jan}}','{{$i18n.Feb}}','{{$i18n.Mar}}','{{$i18n.Apr}}','{{$i18n.May}}','{{$i18n.Jun}}','{{$i18n.Jul}}','{{$i18n.Aug}}','{{$i18n.Sep}}','{{$i18n.Oct}}','{{$i18n.Nov}}','{{$i18n.Dec}}'],
39                         dayNames: ['{{$i18n.Sunday}}','{{$i18n.Monday}}','{{$i18n.Tuesday}}','{{$i18n.Wednesday}}','{{$i18n.Thursday}}','{{$i18n.Friday}}','{{$i18n.Saturday}}'],
40                         dayNamesShort: ['{{$i18n.Sun}}','{{$i18n.Mon}}','{{$i18n.Tue}}','{{$i18n.Wed}}','{{$i18n.Thu}}','{{$i18n.Fri}}','{{$i18n.Sat}}'],
41                         allDayText: '{{$i18n.allday}}',
42                         noEventsMessage: '{{$i18n.noevent}}',
43                         buttonText: {
44                                 today: '{{$i18n.today}}',
45                                 month: '{{$i18n.month}}',
46                                 week: '{{$i18n.week}}',
47                                 day: '{{$i18n.day}}'
48                         },
49                         events: '{{$baseurl}}{{$module_url}}/json/',
50                         header: {
51                                 left: 'prev,next today',
52                                 center: 'title',
53                                 right: 'month,agendaWeek,agendaDay'
54                         },                      
55                         timeFormat: 'H(:mm)',
56                         eventClick: function(calEvent, jsEvent, view) {
57                                 showEvent(calEvent.id);
58                         },
59                         loading: function(isLoading, view) {
60                                 if(!isLoading) {
61                                         $('td.fc-day').dblclick(function() { window.location.href='/events/new?start='+$(this).data('date'); });
62                                 }
63                         },
64                         
65                         eventRender: function(event, element, view) {
66                                 //console.log(view.name);
67                                 if (event.item['author-name']==null) return;
68                                 switch(view.name){
69                                         case "month":
70                                         element.find(".fc-title").html(
71                                                 "<img src='{0}' style='height:10px;width:10px'>{1} : {2}".format(
72                                                         event.item['author-avatar'],
73                                                         event.item['author-name'],
74                                                         event.title
75                                         ));
76                                         break;
77                                         case "agendaWeek":
78                                         element.find(".fc-title").html(
79                                                 "<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format(
80                                                         event.item['author-avatar'],
81                                                         event.item['author-name'],
82                                                         event.item.desc,
83                                                         event.item.location
84                                         ));
85                                         break;
86                                         case "agendaDay":
87                                         element.find(".fc-title").html(
88                                                 "<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format(
89                                                         event.item['author-avatar'],
90                                                         event.item['author-name'],
91                                                         event.item.desc,
92                                                         event.item.location
93                                         ));
94                                         break;
95                                 }
96                         }
97                         
98                 })
99                 
100                 // center on date
101                 var args=location.href.replace(baseurl,"").split("/");
102                 {{if $modparams == 2}}
103                 if (args.length>=5) {
104                         $("#events-calendar").fullCalendar('gotoDate',args[3] , args[4]-1);
105                 }
106                 {{else}}
107                 if (args.length>=4) {
108                         $("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
109                 }
110                 {{/if}} 
111                 
112                 // show event popup
113                 var hash = location.hash.split("-")
114                 if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]);
115                 
116         });
117 </script>
118
119
120 {{if $editselect != 'none'}}
121 <script language="javascript" type="text/javascript"
122           src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
123 <script language="javascript" type="text/javascript">
124
125
126         tinyMCE.init({
127                 theme : "advanced",
128                 mode : "textareas",
129                 plugins : "bbcode,paste",
130                 theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
131                 theme_advanced_buttons2 : "",
132                 theme_advanced_buttons3 : "",
133                 theme_advanced_toolbar_location : "top",
134                 theme_advanced_toolbar_align : "center",
135                 theme_advanced_blockformats : "blockquote,code",
136                 theme_advanced_resizing : true,
137                 gecko_spellcheck : true,
138                 paste_text_sticky : true,
139                 entity_encoding : "raw",
140                 add_unload_trigger : false,
141                 remove_linebreaks : false,
142                 //force_p_newlines : false,
143                 //force_br_newlines : true,
144                 forced_root_block : 'div',
145                 content_css: "{{$baseurl}}/view/custom_tinymce.css",
146                 theme_advanced_path : false,
147                 setup : function(ed) {
148                         ed.onInit.add(function(ed) {
149                                 ed.pasteAsPlainText = true;
150                         });
151                 }
152
153         });
154
155         $(document).ready(function() { 
156                 $('.comment-edit-bb').hide();
157         });
158         {{else}}
159         <script language="javascript" type="text/javascript">
160         {{/if}}
161
162
163         $(document).ready(function() { 
164                 {{if $editselect = 'none'}}
165                 $("#comment-edit-text-desc").bbco_autocomplete('bbcode');
166                 {{/if}}
167
168                 $('#id_share').change(function() {
169
170                         if ($('#id_share').is(':checked')) { 
171                                 $('#acl-wrapper').show();
172                         }
173                         else {
174                                 $('#acl-wrapper').hide();
175                         }
176                 }).trigger('change');
177
178
179                 $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
180                         var selstr;
181                         $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
182                                 selstr = $(this).text();
183                                 $('#jot-public').hide();
184                         });
185                         if(selstr == null) {
186                                 $('#jot-public').show();
187                         }
188
189                 }).trigger('change');
190
191                 // disable the finish time input if the user disable it
192                 $('#id_nofinish').change(function() {
193                         enableDisableFinishDate()
194                 }).trigger('change');
195
196         });
197
198 </script>
199