/** * Add/remove the selected class after selecting * and update the hidden config field */ function webling_update_sorted_member_fields() { var fieldConfig = []; // find and update selected fields jQuery("#sortable > li").each(function (index, element) { if (jQuery(element).children('input').is(':checked')) { fieldConfig.push(jQuery(element).data('field')); jQuery(element).addClass('selected'); } else { jQuery(element).removeClass('selected'); } }); // update hidden config field jQuery("#fields").val(JSON.stringify(fieldConfig)); } /** * Show/hide the group selector or savedsearch selector in the memberlist editor */ function webling_memberlist_type_changed() { var type = jQuery("#memberlist_type").val(); // hide all selectors jQuery("#groupselector").hide(); jQuery("#savedsearchselector").hide(); // show correct selector if (type === 'GROUPS') { jQuery("#groupselector").show(); } if (type === 'SAVEDSEARCH') { jQuery("#savedsearchselector").show(); } } /** * Change the design view after changing the radio input */ function webling_memberlist_design_updated() { var design = jQuery('input[name="design"]:checked').val(); if (design === 'CUSTOM') { jQuery("#webling_design_custom").show(); jQuery("#webling_design_list").hide(); } else { jQuery("#webling_design_custom").hide(); jQuery("#webling_design_list").show(); } } /** * Show/hide the confirmation email settings form editor settings */ function webling_toggle_confirmation_settings() { if (jQuery("#confirmation_email_enabled").is(':checked')) { jQuery("#webling_form_emails .webling_confirmation_settings").show(); } else { jQuery("#webling_form_emails .webling_confirmation_settings").hide(); } } /** * Activate a form editor tab and toggle contents * @param tabname */ function webling_change_form_tab(tabname) { jQuery(".webling-tabs a").removeClass('nav-tab-active'); jQuery(".webling-tabs #webling_form_tab_" + tabname).addClass('nav-tab-active'); jQuery(".webling-tabs-body > div").hide(); jQuery(".webling-tabs-body #webling_form_" + tabname).show(); if (tabname == 'fields') { jQuery("#webling_fields_div").show(); } else { jQuery("#webling_fields_div").hide(); } } /** * Open and close detailed form field config * @param id string the id of the field */ function webling_toggle_field(id) { var node = jQuery('#webling-field-' + id); var is_in_sidebar = jQuery(node).parent().attr('id') == 'sortable_side'; if (node.hasClass('open') || is_in_sidebar) { node.removeClass('open'); jQuery('#webling-field-' + id + ' .widget-inside').hide(); } else { node.addClass('open'); jQuery('#webling-field-' + id + ' .widget-inside').show(); } return false; } /** * updates the hidden order field */ function webling_update_sorted_form_fields() { // set order of active fields var order = 1; jQuery("#sortable_main > li input.order").each(function (index, element) { jQuery(element).val(order); order++; }); // set order of items in sidebar to 0 (= not shown) jQuery("#sortable_side > li input.order").each(function (index, element) { jQuery(element).val(0); }); webling_update_email_field_selector(); } /** * updates the field selector to only show available fields. * The selected value is stored in `preselected_confirmation_email_webling_field` * because the options are completly redrawn and the selected state is lost */ function webling_update_email_field_selector() { var select = jQuery("#confirmation_email_webling_field"); select.html(''); var count = 0; jQuery("#sortable_main > li[data-webling-type='email']").each(function (index, element) { var id = jQuery(element).find('input.fieldid').val(); select.append(jQuery('