| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | var equipmentTable = $('#equipment-table').DataTable({ | 
					
						
							| 
									
										
										
										
											2018-10-06 11:43:46 +02:00
										 |  |  |  | 	'order': [[0, 'asc']], | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | 	'select': 'single', | 
					
						
							|  |  |  |  | 	'initComplete': function() | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		this.api().row({ order: 'current' }, 0).select(); | 
					
						
							| 
									
										
										
										
											2018-10-03 16:11:39 +02:00
										 |  |  |  | 		DisplayEquipment($('#equipment-table tbody tr:eq(0)').data("equipment-id")); | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | 	} | 
					
						
							|  |  |  |  | }); | 
					
						
							| 
									
										
										
										
											2019-01-05 20:06:35 +01:00
										 |  |  |  | $('#equipment-table tbody').removeClass("d-none"); | 
					
						
							| 
									
										
										
										
											2019-03-04 17:43:12 +01:00
										 |  |  |  | equipmentTable.columns.adjust().draw(); | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | equipmentTable.on('select', function(e, dt, type, indexes) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	if (type === 'row') | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		var selectedEquipmentId = $(equipmentTable.row(indexes[0]).node()).data("equipment-id"); | 
					
						
							| 
									
										
										
										
											2018-10-03 16:11:39 +02:00
										 |  |  |  | 		DisplayEquipment(selectedEquipmentId) | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | 	} | 
					
						
							|  |  |  |  | }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-03 16:11:39 +02:00
										 |  |  |  | function DisplayEquipment(id) | 
					
						
							|  |  |  |  | { | 
					
						
							| 
									
										
										
										
											2019-01-19 14:51:51 +01:00
										 |  |  |  | 	Grocy.Api.Get('objects/equipment/' + id, | 
					
						
							| 
									
										
										
										
											2018-10-03 16:11:39 +02:00
										 |  |  |  | 		function(equipmentItem) | 
					
						
							|  |  |  |  | 		{ | 
					
						
							| 
									
										
										
										
											2018-10-03 16:40:40 +02:00
										 |  |  |  | 			$(".selected-equipment-name").text(equipmentItem.name); | 
					
						
							|  |  |  |  | 			$("#description-tab-content").html(equipmentItem.description); | 
					
						
							| 
									
										
										
										
											2018-11-17 08:26:31 +01:00
										 |  |  |  | 			$(".equipment-edit-button").attr("href", U("/equipment/" + equipmentItem.id.toString())); | 
					
						
							| 
									
										
										
										
											2019-08-15 13:53:30 +02:00
										 |  |  |  | 			$(".equipment-delete-button").attr("data-equipment-id", equipmentItem.id); | 
					
						
							|  |  |  |  | 			$(".equipment-delete-button").attr("data-equipment-name", equipmentItem.name); | 
					
						
							| 
									
										
										
										
											2018-10-03 16:11:39 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 			if (equipmentItem.instruction_manual_file_name !== null && !equipmentItem.instruction_manual_file_name.isEmpty()) | 
					
						
							|  |  |  |  | 			{ | 
					
						
							| 
									
										
										
										
											2019-01-21 22:13:42 +01:00
										 |  |  |  | 				var pdfUrl = U('/api/files/equipmentmanuals/' + btoa(equipmentItem.instruction_manual_file_name)); | 
					
						
							| 
									
										
										
										
											2018-10-03 16:11:39 +02:00
										 |  |  |  | 				$("#selected-equipment-instruction-manual").attr("src", pdfUrl); | 
					
						
							|  |  |  |  | 				$("#selected-equipment-instruction-manual").removeClass("d-none"); | 
					
						
							|  |  |  |  | 				$("#selected-equipment-has-no-instruction-manual-hint").addClass("d-none"); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 				$("a[href='#instruction-manual-tab']").tab("show"); | 
					
						
							| 
									
										
										
										
											2018-10-03 19:05:00 +02:00
										 |  |  |  | 				ResizeResponsiveEmbeds(); | 
					
						
							| 
									
										
										
										
											2018-10-03 16:11:39 +02:00
										 |  |  |  | 			} | 
					
						
							|  |  |  |  | 			else | 
					
						
							|  |  |  |  | 			{ | 
					
						
							|  |  |  |  | 				$("#selected-equipment-instruction-manual").addClass("d-none"); | 
					
						
							|  |  |  |  | 				$("#selected-equipment-has-no-instruction-manual-hint").removeClass("d-none"); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 				$("a[href='#description-tab']").tab("show"); | 
					
						
							|  |  |  |  | 			} | 
					
						
							|  |  |  |  | 		}, | 
					
						
							|  |  |  |  | 		function(xhr) | 
					
						
							|  |  |  |  | 		{ | 
					
						
							|  |  |  |  | 			console.error(xhr); | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | $("#search").on("keyup", function() | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	var value = $(this).val(); | 
					
						
							|  |  |  |  | 	if (value === "all") | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		value = ""; | 
					
						
							|  |  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2019-01-19 00:37:21 -07:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | 	equipmentTable.search(value).draw(); | 
					
						
							|  |  |  |  | }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | $(document).on('click', '.equipment-delete-button', function (e) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	var objectName = $(e.currentTarget).attr('data-equipment-name'); | 
					
						
							|  |  |  |  | 	var objectId = $(e.currentTarget).attr('data-equipment-id'); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	bootbox.confirm({ | 
					
						
							| 
									
										
										
										
											2019-05-01 20:19:18 +02:00
										 |  |  |  | 		message: __t('Are you sure to delete equipment "%s"?', objectName), | 
					
						
							| 
									
										
										
										
											2019-09-24 10:24:47 +02:00
										 |  |  |  | 		closeButton: false, | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | 		buttons: { | 
					
						
							|  |  |  |  | 			confirm: { | 
					
						
							| 
									
										
										
										
											2019-05-01 20:19:18 +02:00
										 |  |  |  | 				label: __t('Yes'), | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | 				className: 'btn-success' | 
					
						
							|  |  |  |  | 			}, | 
					
						
							|  |  |  |  | 			cancel: { | 
					
						
							| 
									
										
										
										
											2019-05-01 20:19:18 +02:00
										 |  |  |  | 				label: __t('No'), | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | 				className: 'btn-danger' | 
					
						
							|  |  |  |  | 			} | 
					
						
							|  |  |  |  | 		}, | 
					
						
							|  |  |  |  | 		callback: function(result) | 
					
						
							|  |  |  |  | 		{ | 
					
						
							|  |  |  |  | 			if (result === true) | 
					
						
							|  |  |  |  | 			{ | 
					
						
							| 
									
										
										
										
											2019-01-19 14:51:51 +01:00
										 |  |  |  | 				Grocy.Api.Delete('objects/equipment/' + objectId, {}, | 
					
						
							| 
									
										
										
										
											2018-10-02 20:03:08 +02:00
										 |  |  |  | 					function(result) | 
					
						
							|  |  |  |  | 					{ | 
					
						
							|  |  |  |  | 						window.location.href = U('/equipment'); | 
					
						
							|  |  |  |  | 					}, | 
					
						
							|  |  |  |  | 					function(xhr) | 
					
						
							|  |  |  |  | 					{ | 
					
						
							|  |  |  |  | 						console.error(xhr); | 
					
						
							|  |  |  |  | 					} | 
					
						
							|  |  |  |  | 				); | 
					
						
							|  |  |  |  | 			} | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 	}); | 
					
						
							|  |  |  |  | }); | 
					
						
							| 
									
										
										
										
											2018-10-03 16:40:40 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | $("#selectedEquipmentInstructionManualToggleFullscreenButton").on('click', function(e) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	$("#selectedEquipmentInstructionManualCard").toggleClass("fullscreen"); | 
					
						
							|  |  |  |  | 	$("#selectedEquipmentInstructionManualCard .card-header").toggleClass("fixed-top"); | 
					
						
							|  |  |  |  | 	$("#selectedEquipmentInstructionManualCard .card-body").toggleClass("mt-5"); | 
					
						
							| 
									
										
										
										
											2018-10-13 09:18:16 +02:00
										 |  |  |  | 	$("body").toggleClass("fullscreen-card"); | 
					
						
							| 
									
										
										
										
											2018-10-03 19:05:00 +02:00
										 |  |  |  | 	ResizeResponsiveEmbeds(true); | 
					
						
							| 
									
										
										
										
											2018-10-03 16:40:40 +02:00
										 |  |  |  | }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | $("#selectedEquipmentDescriptionToggleFullscreenButton").on('click', function(e) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	$("#selectedEquipmentDescriptionCard").toggleClass("fullscreen"); | 
					
						
							|  |  |  |  | 	$("#selectedEquipmentDescriptionCard .card-header").toggleClass("fixed-top"); | 
					
						
							|  |  |  |  | 	$("#selectedEquipmentDescriptionCard .card-body").toggleClass("mt-5"); | 
					
						
							| 
									
										
										
										
											2019-09-26 13:14:24 +02:00
										 |  |  |  | 	$("body").toggleClass("fullscreen-card"); | 
					
						
							| 
									
										
										
										
											2018-10-03 16:40:40 +02:00
										 |  |  |  | }); |