( function( $ ) {
$( function() {
// Link to delete page
$( '.awr-delete-page' ).live( 'click' , function() {
var pageToDelete ,
dataAwrTarget = $( this ).attr( 'data-awr-target' );
if ( ! dataAwrTarget ) {
dataAwrTarget = $( this ).data( 'awr-target' );
}
pageToDelete = $( '#' + dataAwrTarget );
pageToDelete.css( 'display' , 'none' )
.val( '' );
$( this ).css( 'display' , 'none' );
return false;
} );
// Link to create new page
$( '.awr-new-page' ).on( 'click' , function() {
var setElementBeforeNewButton , setNewPageNumber ,
setIdNewPageInput , setNewPageInput , setNewPageDeleteButton ,
$elementBeforeNewButton , newPageNumber , idNewPageInput ,
$newPageInput , $newPageDeleteButton , createNewPageFields ,
insertFieldsIntoPage ,
$awrPages = $( '.awr-page-input' ) ,
$lastPageInput = $awrPages.last() ,
$breakTags = $( '' );
setElementBeforeNewButton = function() {
if ( $lastPageInput.length === 0 ) {
$elementBeforeNewButton = $( '.awr-options-form .form-table td' );
}
else {
$elementBeforeNewButton = $lastPageInput.next();
}
};
setNewPageNumber = function() {
var lastPageId , lastPageNumber ;
if ( $lastPageInput.length === 0 ) {
newPageNumber = 1;
} else {
lastPageId = $lastPageInput.attr( 'id' );
lastPageNumber = Number( lastPageId.match( /awr-page-([\d]*)/ )[ 1 ] );
newPageNumber = lastPageNumber + 1;
}
};
setIdNewPageInput = function() {
idNewPageInput = 'awr-page-' + newPageNumber;
};
setNewPageInput = function() {
$newPageInput = $( '' ).attr( {
type : 'text' ,
id : idNewPageInput ,
class : 'awr-page-input' ,
value : '' ,
name : 'map_awr_index_to_page_title[' + newPageNumber + ']'
} );
};
setNewPageDeleteButton = function() {
$newPageDeleteButton = $( '' )
.attr( {
href : '#' ,
class : 'button-secondary awr-delete-page' ,
}
)
.data( 'awr-target' , idNewPageInput )
.html( 'Delete' );
};
createNewPageFields = function() {
setElementBeforeNewButton();
setNewPageNumber();
setIdNewPageInput();
setNewPageInput();
setNewPageDeleteButton();
};
insertFieldsIntoPage = function() {
[ $newPageDeleteButton , $newPageInput , $breakTags ].map( function( element , index ) {
element.insertAfter( $elementBeforeNewButton );
} );
};
createNewPageFields();
insertFieldsIntoPage();
return false;
} ); /* End $( '.awr-new-page' ).on( 'click' */
} );
} )( jQuery );