135 lines
3.2 KiB
JavaScript
135 lines
3.2 KiB
JavaScript
/************************************************/
|
|
/* IPB3 Javascript */
|
|
/* -------------------------------------------- */
|
|
/* acp.forums.js - Forum javascript */
|
|
/* (c) IPS, Inc 2008 */
|
|
/* -------------------------------------------- */
|
|
/* Author: Brandon Farber */
|
|
/************************************************/
|
|
|
|
ACPForums = {
|
|
showModForm: 0,
|
|
|
|
/*------------------------------*/
|
|
/* Constructor */
|
|
init: function()
|
|
{
|
|
Debug.write("Initializing acp.forums.js");
|
|
|
|
document.observe("dom:loaded", function(){
|
|
if( $('modUserName') )
|
|
{
|
|
ACPForums.autoComplete = new ipb.Autocomplete( $('modUserName'), { multibox: false, url: acp.autocompleteUrl, templates: { wrap: acp.autocompleteWrap, item: acp.autocompleteItem } } );
|
|
}
|
|
|
|
if ( jQuery('[data-form-type=forum]').length )
|
|
{
|
|
jQuery('[data-form-type=forum]').on( 'submit', ACPForums.formSubmit );
|
|
}
|
|
|
|
ipb.delegate.register(".toggle", ACPForums.toggleCat);
|
|
|
|
});
|
|
},
|
|
|
|
formSubmit: function()
|
|
{
|
|
var parent = jQuery('#parent_id').val();
|
|
var forumType = jQuery('input[name=forum_type]:checked').val();
|
|
|
|
if ( parent == '-1' && forumType == 'standard' )
|
|
{
|
|
jQuery('#parent_id').parents('tr').addClass('_red');
|
|
|
|
alert( ipb.lang['forum_not_root_and_standard'] );
|
|
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
},
|
|
|
|
toggleModOptions: function()
|
|
{
|
|
$$('.moddiv').each( function(div){
|
|
if( ACPForums.showModForm )
|
|
{
|
|
div.hide();
|
|
}
|
|
else
|
|
{
|
|
div.show();
|
|
}
|
|
});
|
|
|
|
$( 'togglemod' ).innerHTML = ACPForums.showModForm ? ipb.lang['forums_showmod'] : ipb.lang['forums_hidemod'];
|
|
ACPForums.showModForm = ACPForums.showModForm == 1 ? 0 : 1;
|
|
return false;
|
|
},
|
|
|
|
submitModForm: function()
|
|
{
|
|
var submitValue = '';
|
|
|
|
$$('input').each( function(cb){
|
|
if( cb.type == 'checkbox' && cb.checked == true )
|
|
{
|
|
var mainname = cb.id.replace( /^(.+?)_.+?$/ , "$1" );
|
|
var idname = cb.id.replace( /^(.+?)_(.+?)$/, "$2" );
|
|
|
|
if ( mainname == 'id' )
|
|
{
|
|
submitValue += ',' + idname;
|
|
}
|
|
}
|
|
});
|
|
|
|
$('modforumids').value = submitValue;
|
|
return true;
|
|
},
|
|
|
|
/**
|
|
* @todo: not used anymore it seems, we need to remove it at some point
|
|
*/
|
|
convert: function()
|
|
{
|
|
$('convert').value = 1;
|
|
$('adminform').submit();
|
|
},
|
|
|
|
/**
|
|
* Show/hide a category
|
|
*
|
|
* @var {event} e The event
|
|
*/
|
|
toggleCat: function(e, elem)
|
|
{
|
|
if( ACPForums.animating ){ return false; }
|
|
|
|
var remove = $A();
|
|
var catname = $( elem ).up('.parentCat');
|
|
var wrapper = $( catname ).down('.item_wrap');
|
|
$( wrapper ).identify(); // IE8 fix
|
|
|
|
ACPForums.animating = true;
|
|
|
|
Effect.toggle( wrapper, 'blind', {duration: 0.4, afterFinish: function(){ ACPForums.animating = false; } } );
|
|
Effect.toggle( wrapper, 'appear', {duration: 0.3});
|
|
|
|
if( catname.hasClassName('collapsed') )
|
|
{
|
|
catname.removeClassName('collapsed');
|
|
}
|
|
else
|
|
{
|
|
new Effect.Morph( $(catname), {style: 'collapsed', duration: 0.4, afterFinish: function(){
|
|
$( catname ).addClassName('collapsed');
|
|
ACPForums.animating = false;
|
|
} });
|
|
}
|
|
|
|
Event.stop( e );
|
|
}
|
|
};
|
|
|
|
ACPForums.init(); |