Sync plugins from current page
Signed-off-by: Adrian Nöthlich <git@promasu.tech>
This commit is contained in:
134
wp-content/plugins/scripts-n-styles/js/global-page.js
Normal file
134
wp-content/plugins/scripts-n-styles/js/global-page.js
Normal file
@@ -0,0 +1,134 @@
|
||||
// Options JavaScript
|
||||
|
||||
jQuery( document ).ready( function( $ ) {
|
||||
var compiled, source;
|
||||
var theme = _SnS_options.theme ? _SnS_options.theme: 'default';
|
||||
var lessMirror, lessOutput, errorLine, errorText, errors, loaded,
|
||||
coffeeMirror, coffeeOutput, coffee_errorLine, coffee_errorText, coffee_errors, coffee_loaded,
|
||||
lessMirrorConfig = { gutters: ["note-gutter", "CodeMirror-linenumbers"],
|
||||
lineNumbers: true, mode: "text/x-less", theme: theme, indentWithTabs: true },
|
||||
coffeeMirrorConfig = { lineNumbers: true, mode: "text/x-coffeescript", theme: theme };
|
||||
|
||||
var parser = new( less.Parser )({});
|
||||
$("#enqueue_scripts").data( 'placeholder', 'Enqueue Registered Scripts...' ).width(350).chosen();
|
||||
$(".chosen-container-multi .chosen-choices .search-field input").height('26px');
|
||||
$(".chosen-container .chosen-results").css( 'max-height', '176px');
|
||||
|
||||
//CodeMirror.commands.save = saveLessMirror;
|
||||
|
||||
$( "textarea.js" ).not( '#coffee_compiled' ).each( function() {
|
||||
CodeMirror.fromTextArea( this, { lineNumbers: true, mode: "javascript", theme: theme } );
|
||||
});
|
||||
|
||||
$( "textarea.css" ).not( '#compiled' ).each( function() {
|
||||
CodeMirror.fromTextArea( this, { lineNumbers: true, mode: "css", theme: theme } );
|
||||
});
|
||||
|
||||
$( "textarea.html" ).each( function() {
|
||||
CodeMirror.fromTextArea( this, { lineNumbers: true, mode: "text/html", theme: theme } );
|
||||
});
|
||||
|
||||
lessOutput = CodeMirror.fromTextArea( $( '#compiled' ).get(0), { lineNumbers: true, mode: "css", theme: theme, readOnly: true } );
|
||||
coffeeOutput = CodeMirror.fromTextArea( $( '#coffee_compiled' ).get(0), { lineNumbers: true, mode: "javascript", theme: theme, readOnly: true } );
|
||||
|
||||
$( "textarea.less" ).each( function() {
|
||||
lessMirror = CodeMirror.fromTextArea( this, lessMirrorConfig );
|
||||
lessMirror.on( "change", compile );
|
||||
});
|
||||
$( "textarea.coffee" ).each( function() {
|
||||
coffeeMirror = CodeMirror.fromTextArea( this, coffeeMirrorConfig );
|
||||
coffeeMirror.on( "change", coffee_compile );
|
||||
});
|
||||
$('#coffee').parent().append('<label><input type="checkbox" id="coffee_spacing"> Double Spaced</label>');
|
||||
$('#coffee_spacing').change( coffee_compile );
|
||||
compile();
|
||||
coffee_compile();
|
||||
loaded = true;
|
||||
coffee_loaded = true;
|
||||
$( "#less" ).closest('form').submit( compile );
|
||||
$( "#coffee" ).closest('form').submit( coffee_compile );
|
||||
|
||||
//function saveLessMirror(){
|
||||
// Ajax Save.
|
||||
//}
|
||||
|
||||
function compile() {
|
||||
lessMirror.save();
|
||||
parser.parse( lessMirror.getValue(), function ( err, tree ) {
|
||||
if ( err ){
|
||||
doError( err );
|
||||
} else {
|
||||
try {
|
||||
$( '#compiled_error' ).hide();
|
||||
lessOutput.setValue( tree.toCSS() );
|
||||
lessOutput.save();
|
||||
$( '#compiled' ).next( '.CodeMirror' ).show();
|
||||
lessOutput.refresh();
|
||||
clearCompileError();
|
||||
}
|
||||
catch ( err ) {
|
||||
doError( err );
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
function coffee_compile() {
|
||||
coffeeMirror.save();
|
||||
try {
|
||||
$( '#coffee_compiled_error' ).hide();
|
||||
source = $('#coffee').val();
|
||||
if ( '' == source || ' ' == source ) {
|
||||
coffeeOutput.setValue( '' );
|
||||
} else {
|
||||
compiled = CoffeeScript.compile( source );
|
||||
trimmed = $('#coffee_spacing').is(':checked') ? compiled : compiled.replace(/(\n\n)/gm,"\n");
|
||||
coffeeOutput.setValue( trimmed );
|
||||
}
|
||||
coffeeOutput.save();
|
||||
|
||||
$( '#coffee_compiled' ).next( '.CodeMirror' ).show();
|
||||
}
|
||||
catch ( err ) {
|
||||
console.dir( err );
|
||||
$( '#coffee_compiled' ).next( '.CodeMirror' ).hide();
|
||||
if ( coffee_loaded ) {
|
||||
$( '#coffee_compiled_error' ).removeClass( 'error' ).addClass( 'updated' );
|
||||
$( '#coffee_compiled_error' ).show().html( "<p><strong>Warning: </strong>" + err.message + "</p>" );
|
||||
} else {
|
||||
$( '#coffee_compiled_error' ).show().html( "<p><strong>Error: </strong>" + err.message + "</p>" );
|
||||
}
|
||||
}
|
||||
}
|
||||
function doError( err ) {
|
||||
//console.dir( err );
|
||||
$( '#compiled' ).next( '.CodeMirror' ).hide();
|
||||
if ( loaded ) {
|
||||
$( '#compiled_error' ).removeClass( 'error' ).addClass( 'updated' );
|
||||
$( '#compiled_error' ).show().html( "<p><strong>Warning: </strong>" + err.message + "</p>" );
|
||||
} else {
|
||||
$( '#compiled_error' ).show().html( "<p><strong>Error: </strong>" + err.message + "</p>" );
|
||||
}
|
||||
clearCompileError();
|
||||
|
||||
errorLine = lessMirror.setGutterMarker( err.line - 1, 'note-gutter', document.createTextNode("*") );
|
||||
//lessMirror.setLineClass( errorLine, "cm-error");
|
||||
|
||||
var pos = lessMirror.posFromIndex( err.index + 1 );
|
||||
var token = lessMirror.getTokenAt( pos );
|
||||
var start = lessMirror.posFromIndex( err.index );
|
||||
var end = lessMirror.posFromIndex( err.index + token.string.length )
|
||||
errorText = lessMirror.markText( start, end, { className: "cm-error" } );
|
||||
|
||||
lessOutput.setValue( "" );
|
||||
lessOutput.save();
|
||||
}
|
||||
function clearCompileError() {
|
||||
if ( errorLine ) {
|
||||
lessMirror.clearGutter( 'note-gutter' );
|
||||
//lessMirror.setLineClass( errorLine, null );
|
||||
errorLine = false;
|
||||
}
|
||||
if ( errorText ) errorText.clear();
|
||||
errorText = false;
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user