| 
									
										
										
										
											2024-05-30 21:28:01 +08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * Initializes the DataTable and handles the logic for showing/hiding states based on the selected DXCC ID. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2022-01-20 22:44:32 +08:00
										 |  |  | $(document).ready( function () { | 
					
						
							| 
									
										
										
										
											2023-06-15 20:14:10 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-30 21:28:01 +08:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Initializes the DataTable with state saving enabled and custom language settings. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @type {DataTable} | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2022-11-16 00:07:58 +08:00
										 |  |  |     $('#station_locations_table').DataTable({ | 
					
						
							| 
									
										
										
										
											2024-01-04 11:03:11 +08:00
										 |  |  |         "stateSave": true, | 
					
						
							|  |  |  |         "language": { | 
					
						
							| 
									
										
										
										
											2024-01-04 11:18:20 +08:00
										 |  |  |             url: getDataTablesLanguageUrl(), | 
					
						
							| 
									
										
										
										
											2024-01-04 11:03:11 +08:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2022-11-16 00:07:58 +08:00
										 |  |  |     }); | 
					
						
							| 
									
										
										
										
											2023-06-15 20:14:10 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-30 21:28:01 +08:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Maps DXCC IDs to their corresponding state IDs. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @type {Object} | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2024-05-23 21:52:41 +08:00
										 |  |  |     var stateMap = { | 
					
						
							|  |  |  |         '1': 'canada_state', | 
					
						
							|  |  |  |         '5': 'aland_state', | 
					
						
							|  |  |  |         '15': 'asiatic_russia_state', | 
					
						
							|  |  |  |         '27': 'belarus_state', | 
					
						
							|  |  |  |         '50': 'mexico_state', | 
					
						
							|  |  |  |         '54': 'eu_russia_state', | 
					
						
							|  |  |  |         '100': 'argentina_state', | 
					
						
							|  |  |  |         '108': 'brazil_state', | 
					
						
							| 
									
										
										
										
											2024-05-23 21:56:03 +08:00
										 |  |  |         '112': 'chile_state', | 
					
						
							| 
									
										
										
										
											2024-05-23 21:57:45 +08:00
										 |  |  |         '132': 'paraguay_state', | 
					
						
							|  |  |  |         '137': 'korea_state', | 
					
						
							| 
									
										
										
										
											2024-05-29 22:42:56 +08:00
										 |  |  |         '144': 'uruguay_state', | 
					
						
							| 
									
										
										
										
											2024-05-29 22:56:46 +08:00
										 |  |  |         '291': 'us_state', | 
					
						
							| 
									
										
										
										
											2024-06-05 22:03:39 +08:00
										 |  |  |         '148': 'venezuela_state',  | 
					
						
							| 
									
										
										
										
											2024-06-05 22:05:28 +08:00
										 |  |  |         '150': 'australia_state', | 
					
						
							| 
									
										
										
										
											2024-06-05 22:08:34 +08:00
										 |  |  |         '163': 'png_state', | 
					
						
							| 
									
										
										
										
											2024-05-29 22:56:46 +08:00
										 |  |  |         '6': 'us_state' // Alaska
 | 
					
						
							| 
									
										
										
										
											2024-05-23 21:52:41 +08:00
										 |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Hide all states initially
 | 
					
						
							| 
									
										
										
										
											2024-06-05 22:08:34 +08:00
										 |  |  |     $("#canada_state, #aland_state, #asiatic_russia_state, #belarus_state, #mexico_state, #eu_russia_state, #argentina_state, #brazil_state, #chile_state, #us_state, #paraguay_state, #korea_state, #uruguay_state, #venezuela_state, #australia_state, #png_state").hide(); | 
					
						
							| 
									
										
										
										
											2023-06-15 20:14:10 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-30 21:28:01 +08:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Gets the selected DXCC ID and shows the corresponding state. | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-06-15 20:14:10 +08:00
										 |  |  |     var selectedDXCCID = $('#dxcc_select').find(":selected").val(); | 
					
						
							| 
									
										
										
										
											2024-05-23 21:52:41 +08:00
										 |  |  |     var stateToShow = stateMap[selectedDXCCID]; | 
					
						
							| 
									
										
										
										
											2023-06-15 20:14:10 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-23 21:52:41 +08:00
										 |  |  |     if (stateToShow) { | 
					
						
							|  |  |  |         // Show the selected state
 | 
					
						
							|  |  |  |         $("#" + stateToShow).show(); | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |         // If no state matches the selected value, show 'us_state' by default
 | 
					
						
							|  |  |  |         $("#us_state").show(); | 
					
						
							| 
									
										
										
										
											2024-05-22 20:51:38 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-30 21:28:01 +08:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Handles the change event of the DXCC select element. | 
					
						
							|  |  |  |      * Shows the corresponding state based on the selected DXCC ID. | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-06-15 20:14:10 +08:00
										 |  |  |     $('#dxcc_select').change(function(){ | 
					
						
							| 
									
										
										
										
											2024-05-23 21:52:41 +08:00
										 |  |  |         var selectedValue = $(this).val(); | 
					
						
							|  |  |  |         var stateToShow = stateMap[selectedValue] || stateMap['default']; | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |         // Hide all states
 | 
					
						
							| 
									
										
										
										
											2024-06-05 22:08:34 +08:00
										 |  |  |         $("#mexico_state, #belarus_state, #asiatic_russia_state, #aland_state, #canada_state, #us_state, #eu_russia_state, #argentina_state, #brazil_state, #chile_state, #paraguay_state, #korea_state, #uruguay_state, #venezuela_state, #australia_state, #png_state").hide(); | 
					
						
							| 
									
										
										
										
											2024-05-23 21:52:41 +08:00
										 |  |  |      | 
					
						
							|  |  |  |         // Show the selected state
 | 
					
						
							|  |  |  |         $("#" + stateToShow).show(); | 
					
						
							| 
									
										
										
										
											2023-06-15 20:14:10 +08:00
										 |  |  |     }); | 
					
						
							| 
									
										
										
										
											2022-11-16 00:07:58 +08:00
										 |  |  | } ); |