-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathgeocode.admin.js
33 lines (29 loc) · 1.22 KB
/
geocode.admin.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
jQuery(document).ready(function(){
geocode_admin_handler_filter();
});
function geocode_admin_handler_filter() {
var field = jQuery('#edit-instance-widget-settings-geocode-field').val();
var field_type = Drupal.settings.geocode_widget_settings.types[field];
var valid_handlers = Drupal.settings.geocode_widget_settings.handlers[field_type];
// Filter the options list to ones that are valid for this field
jQuery('#edit-instance-widget-settings-geocode-handler option').each(function() {
handler_type = jQuery(this).val();
if (geocode_admin_handler_in_array(handler_type,valid_handlers)) {
jQuery(this).css('display','inline');
}
else {
jQuery(this).css('display','none');
}
});
// If the currently selected handler is not valid, set it to the first valid handler
if (!geocode_admin_handler_in_array(jQuery('#edit-instance-widget-settings-geocode-handler').val(),valid_handlers)) {
jQuery('#edit-instance-widget-settings-geocode-handler').val(valid_handlers[0]);
}
}
function geocode_admin_handler_in_array(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] == needle) return true;
}
return false;
}