ASong2U_Web/wp-content/plugins/buddypress/bp-xprofile/admin/js/admin.dev.js

218 lines
6.2 KiB
JavaScript

function add_option(forWhat) {
var holder = document.getElementById(forWhat + "_more");
var theId = document.getElementById(forWhat + '_option_number').value;
var newDiv = document.createElement('p');
newDiv.setAttribute('id', forWhat + '_div' + theId);
var newOption = document.createElement('input');
newOption.setAttribute('type', 'text');
newOption.setAttribute('name', forWhat + '_option[' + theId + ']');
newOption.setAttribute('id', forWhat + '_option' + theId);
var label = document.createElement('label');
label.setAttribute('for', forWhat + '_option' + theId);
var txt = document.createTextNode("Option " + theId + ": ");
label.appendChild(txt);
var isDefault = document.createElement('input');
if(forWhat == 'checkbox' || forWhat == 'multiselectbox') {
isDefault.setAttribute('type', 'checkbox');
isDefault.setAttribute('name', 'isDefault_' + forWhat + '_option[' + theId + ']');
} else {
isDefault.setAttribute('type', 'radio');
isDefault.setAttribute('name', 'isDefault_' + forWhat + '_option');
}
isDefault.setAttribute('value', theId);
var label1 = document.createElement('label');
var txt1 = document.createTextNode(" Default Value ");
label1.appendChild(txt1);
label1.setAttribute('for', 'isDefault_' + forWhat + '_option[]');
toDelete = document.createElement('a');
toDeleteText = document.createTextNode('[x]');
toDelete.setAttribute('href',"javascript:hide('" + forWhat + '_div' + theId + "')");
toDelete.setAttribute('class','delete');
toDelete.appendChild(toDeleteText);
newDiv.appendChild(label);
newDiv.appendChild(newOption);
newDiv.appendChild(document.createTextNode(" "));
newDiv.appendChild(isDefault);
newDiv.appendChild(label1);
newDiv.appendChild(toDelete);
holder.appendChild(newDiv);
theId++
document.getElementById(forWhat + "_option_number").value = theId;
}
function show_options(forWhat) {
document.getElementById("radio").style.display = "none";
document.getElementById("selectbox").style.display = "none";
document.getElementById("multiselectbox").style.display = "none";
document.getElementById("checkbox").style.display = "none";
if(forWhat == "radio")
document.getElementById("radio").style.display = "";
if(forWhat == "selectbox")
document.getElementById("selectbox").style.display = "";
if(forWhat == "multiselectbox")
document.getElementById("multiselectbox").style.display = "";
if(forWhat == "checkbox")
document.getElementById("checkbox").style.display = "";
}
function hide(id) {
if ( !document.getElementById(id) ) return false;
document.getElementById(id).style.display = "none";
document.getElementById(id).value = '';
}
// Set up deleting options ajax
jQuery(document).ready( function() {
jQuery("a.ajax-option-delete").click(
function() {
var theId = this.id.split('-');
theId = theId[1];
jQuery.post( ajaxurl, {
action: 'xprofile_delete_option',
'cookie': encodeURIComponent(document.cookie),
'_wpnonce': jQuery("input#_wpnonce").val(),
'option_id': theId
},
function(response)
{});
}
);
});
var fixHelper = function(e, ui) {
ui.children().each(function() {
jQuery(this).width( jQuery(this).width() );
});
return ui;
};
// Main XProfile behavior layer
jQuery(document).ready( function() {
/* Show object if JS is enabled */
jQuery( "ul#field-group-tabs" ).show();
/* Allow reordering of field group tabs */
jQuery( "ul#field-group-tabs" ).sortable( {
cursor: 'move',
axis: 'x',
opacity: 0.6,
items: 'li',
tolerance: 'pointer',
update: function() {
jQuery.post( ajaxurl, {
action: 'xprofile_reorder_groups',
'cookie': encodeURIComponent(document.cookie),
'_wpnonce_reorder_groups': jQuery( "input#_wpnonce_reorder_groups" ).val(),
'group_order': jQuery(this).sortable( 'serialize' )
},
function(response){});
}
}).disableSelection();
/* Allow reordering of fields within groups */
jQuery( "fieldset.field-group" ).sortable({
cursor: 'move',
opacity: 0.3,
items: 'fieldset',
tolerance: 'pointer',
update: function() {
jQuery.post( ajaxurl, {
action: 'xprofile_reorder_fields',
'cookie': encodeURIComponent(document.cookie),
'_wpnonce_reorder_fields': jQuery( "input#_wpnonce_reorder_fields" ).val(),
'field_order': jQuery(this).sortable( 'serialize' ),
'field_group_id': jQuery(this).attr( 'id' )
},
function(response)
{});
}
})
/* Disallow text selection */
.disableSelection()
/* Change cursor to move if JS is enabled */
.css( 'cursor', 'move' );
/* tabs init with a custom tab template and an "add" callback filling in the content */
var $tab_items;
var $tabs = jQuery( "#tabs" ).tabs();
set_tab_items( $tabs );
function set_tab_items( $tabs ) {
$tab_items = jQuery( "ul:first li", $tabs ).droppable({
accept: ".connectedSortable fieldset",
hoverClass: "ui-state-hover",
activeClass: "ui-state-acceptable",
touch: "pointer",
tolerance: "pointer",
/* When field is dropped on tab */
drop: function( ev, ui ) {
/* The tab */
var $item = jQuery(this);
/* The tab body */
var $list = jQuery( $item.find( 'a' ).attr( 'href' ) ).find( '.connectedSortable' );
/* Remove helper class */
jQuery($item).removeClass( 'drop-candidate' );
/* Hide field, change selected tab, and show new placement */
ui.draggable.hide( 'slow', function() {
/* Select new tab as current */
$tabs.tabs( 'select', $tab_items.index( $item ) );
/* Show new placement */
jQuery(this).appendTo($list).show( 'slow' ).animate( {opacity: "1"}, 500 );
/* Refresh $list variable */
$list = jQuery( $item.find( 'a' ).attr( 'href' ) ).find( '.connectedSortable' );
jQuery($list).find( 'p.nofields' ).hide( 'slow' );
/* Ajax update field locations and orders */
jQuery.post( ajaxurl, {
action: 'xprofile_reorder_fields',
'cookie': encodeURIComponent(document.cookie),
'_wpnonce_reorder_fields': jQuery( "input#_wpnonce_reorder_fields" ).val(),
'field_order': jQuery( $list ).sortable( 'serialize' ),
'field_group_id': jQuery( $list ).attr( 'id' )
},
function(response){});
});
},
over: function( event, ui ) {
jQuery(this).addClass( 'drop-candidate' );
},
out: function( event, ui ) {
jQuery(this).removeClass( 'drop-candidate' );
}
});
}
});