105 lines
2.6 KiB
JavaScript
105 lines
2.6 KiB
JavaScript
// Options JavaScript
|
|
|
|
jQuery( document ).ready( function( $ ) { "use strict"
|
|
var collection = []
|
|
, context = "#sns-shortcodes"
|
|
, theme = _SnS_options.theme ? _SnS_options.theme: 'default'
|
|
, $form
|
|
, config;
|
|
|
|
config = {
|
|
mode: "text/html",
|
|
theme: theme,
|
|
lineNumbers: true,
|
|
tabMode: "shift",
|
|
indentUnit: 4,
|
|
indentWithTabs: true,
|
|
enterMode: "keep",
|
|
matchBrackets: true
|
|
};
|
|
|
|
CodeMirror.commands.save = function() {
|
|
$form.submit();
|
|
};
|
|
|
|
// Each "IDE"
|
|
$( ".sns-less-ide", context ).each( function() {
|
|
var $text = $('.code',this);
|
|
var ide = {
|
|
data : $text.val(),
|
|
name : $text.data('sns-shortcode-key'),
|
|
$text : $text,
|
|
cm : CodeMirror.fromTextArea( $text.get(0), config )
|
|
};
|
|
if ( $text.parent().hasClass( 'sns-collapsed' ) )
|
|
ide.cm.toTextArea();
|
|
collection.push( ide );
|
|
});
|
|
|
|
// Collapsable
|
|
$( context ).on( "click", '.sns-collapsed-btn, .sns-collapsed-btn + label', function( event ){
|
|
var $this = $( this )
|
|
, collapsed
|
|
, fileName
|
|
, thisIDE;
|
|
$this.parent().toggleClass( 'sns-collapsed' );
|
|
fileName = $this.siblings( '.code' ).data( 'sns-shortcode-key' );
|
|
collapsed = $this.parent().hasClass( 'sns-collapsed' );
|
|
$(collection).each(function(index, element) {
|
|
if ( element.name == fileName )
|
|
thisIDE = element;
|
|
});
|
|
if ( collapsed ) {
|
|
thisIDE.cm.toTextArea();
|
|
} else {
|
|
thisIDE.cm = CodeMirror.fromTextArea( thisIDE.$text.get(0), config );
|
|
}
|
|
});
|
|
$( '.sns-ajax-loading' ).hide();
|
|
/*
|
|
$form = $( context ).closest( 'form' );
|
|
$form.submit( function( event ){
|
|
event.preventDefault();
|
|
$.ajax({
|
|
type: "POST",
|
|
url: window.location,
|
|
data: $(this).serialize()+'&ajaxsubmit=1',
|
|
cache: false,
|
|
success: saved
|
|
});
|
|
});
|
|
// Save
|
|
$( context ).on( "click", ".sns-ajax-save", function( event ){
|
|
event.preventDefault();
|
|
$( this ).nextAll( '.sns-ajax-loading' ).show();
|
|
$form.submit();
|
|
});*/
|
|
/*
|
|
function saved( data ) {
|
|
$(data).insertAfter( '#icon-sns + h2' ).delay(3000).fadeOut();
|
|
$( '.sns-ajax-loading' ).hide();
|
|
}
|
|
|
|
* Expects return data.
|
|
$('#sns-ajax-add-shortcode').click(function( event ){
|
|
event.preventDefault();
|
|
$(this).next().show();
|
|
$(collection).each(function (){ this.save(); });
|
|
|
|
var args = { _ajax_nonce: nonce };
|
|
|
|
args.action = 'sns_hoops';
|
|
args.subaction = 'add';
|
|
args.name = $( '#SnS_shortcodes' ).val();
|
|
args.shortcode = $( '#SnS_shortcodes_new' ).val();
|
|
|
|
$.post( ajaxurl, args, function( data ) { refreshShortcodes( data ); } );
|
|
});
|
|
$('#SnS_shortcodes').keypress(function( event ) {
|
|
if ( event.which == 13 ) {
|
|
event.preventDefault();
|
|
$("#sns-ajax-add-shortcode").click();
|
|
}
|
|
});
|
|
*/
|
|
}); |