| 
									
										
										
										
											2020-09-27 16:36:33 +00:00
										 |  |  | // @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPLv3-or-later
 | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | $(document).ready(function () { | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | 	// Go to the permissions tab if the checkbox is checked.
 | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | 	$("body") | 
					
						
							|  |  |  | 		.on("click", "#id_share", function () { | 
					
						
							|  |  |  | 			if ($("#id_share").is(":checked") && !$("#id_share").attr("disabled")) { | 
					
						
							|  |  |  | 				$("#acl-wrapper").show(); | 
					
						
							|  |  |  | 				$("a#event-perms-lnk").parent("li").show(); | 
					
						
							|  |  |  | 				toggleEventNav("a#event-perms-lnk"); | 
					
						
							|  |  |  | 				eventAclActive(); | 
					
						
							|  |  |  | 			} else { | 
					
						
							|  |  |  | 				$("#acl-wrapper").hide(); | 
					
						
							|  |  |  | 				$("a#event-perms-lnk").parent("li").hide(); | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | 		.trigger("change"); | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | 	// Disable the finish time input if the user disable it.
 | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | 	$("body") | 
					
						
							|  |  |  | 		.on("change", "#id_nofinish", function () { | 
					
						
							|  |  |  | 			enableDisableFinishDate(); | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | 		.trigger("change"); | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | 	// JS for the permission section.
 | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | 	$("#contact_allow, #contact_deny, #group_allow, #group_deny") | 
					
						
							|  |  |  | 		.change(function () { | 
					
						
							|  |  |  | 			var selstr; | 
					
						
							|  |  |  | 			$( | 
					
						
							|  |  |  | 				"#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected", | 
					
						
							|  |  |  | 			).each(function () { | 
					
						
							|  |  |  | 				selstr = $(this).html(); | 
					
						
							|  |  |  | 				$("#jot-public").hide(); | 
					
						
							|  |  |  | 			}); | 
					
						
							|  |  |  | 			if (selstr == null) { | 
					
						
							|  |  |  | 				$("#jot-public").show(); | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | 		.trigger("change"); | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | 	// Change the event nav menu.tabs on click.
 | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | 	$("body").on("click", "#event-nav > li > a", function (e) { | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 		e.preventDefault(); | 
					
						
							|  |  |  | 		toggleEventNav(this); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | 	// This is experimental. We maybe can make use of it to inject
 | 
					
						
							|  |  |  | 	// some js code while the event modal opens.
 | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 	//$('body').on('show.bs.modal', function () {
 | 
					
						
							|  |  |  | 	//	enableDisableFinishDate();
 | 
					
						
							|  |  |  | 	//});
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | 	// Clear some elements (e.g. the event-preview container) when
 | 
					
						
							|  |  |  | 	// selecting a event nav link so it don't appear more than once.
 | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | 	$("body").on("click", "#event-nav a", function (e) { | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 		$("#event-preview").empty(); | 
					
						
							|  |  |  | 		e.preventDefault(); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Load the html of the actual event and incect the output to the
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | // event-edit section.
 | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | function doEventPreview() { | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | 	$("#event-edit-preview").val(1); | 
					
						
							|  |  |  | 	$.post("events", $("#event-edit-form").serialize(), function (data) { | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 		$("#event-preview").append(data); | 
					
						
							|  |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | 	$("#event-edit-preview").val(0); | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-09 14:10:17 +00:00
										 |  |  | // The following functions show/hide the specific event-edit content
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | // in dependence of the selected nav.
 | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | function eventAclActive() { | 
					
						
							|  |  |  | 	$("#event-edit-wrapper, #event-preview, #event-desc-wrapper").hide(); | 
					
						
							|  |  |  | 	$("#event-acl-wrapper").show(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function eventPreviewActive() { | 
					
						
							|  |  |  | 	$("#event-acl-wrapper, #event-edit-wrapper, #event-desc-wrapper").hide(); | 
					
						
							|  |  |  | 	$("#event-preview").show(); | 
					
						
							|  |  |  | 	doEventPreview(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function eventEditActive() { | 
					
						
							|  |  |  | 	$("#event-acl-wrapper, #event-preview, #event-desc-wrapper").hide(); | 
					
						
							|  |  |  | 	$("#event-edit-wrapper").show(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | 	// Make sure jot text does have really the active class (we do this because there are some
 | 
					
						
							|  |  |  | 	// other events which trigger jot text.
 | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 	toggleEventNav($("#event-edit-lnk")); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function eventDescActive() { | 
					
						
							|  |  |  | 	$("#event-edit-wrapper, #event-preview, #event-acl-wrapper").hide(); | 
					
						
							|  |  |  | 	$("#event-desc-wrapper").show(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | // Give the active "event-nav" list element the class "active".
 | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | function toggleEventNav(elm) { | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | 	// Select all li of #event-nav and remove the active class.
 | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 	$(elm).closest("#event-nav").children("li").removeClass("active"); | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | 	// Add the active class to the parent of the link which was selected.
 | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | 	$(elm).parent("li").addClass("active"); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-15 15:30:28 +00:00
										 |  |  | // Disable the input for the finish date if it is not available.
 | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | function enableDisableFinishDate() { | 
					
						
							| 
									
										
										
										
											2021-01-22 13:38:44 +00:00
										 |  |  | 	if ($("#id_nofinish").is(":checked")) $("#id_finish_text").prop("disabled", true); | 
					
						
							|  |  |  | 	else $("#id_finish_text").prop("disabled", false); | 
					
						
							| 
									
										
										
										
											2016-06-17 12:09:18 +00:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2020-09-27 16:36:33 +00:00
										 |  |  | // @license-end
 |