@ -8,7 +8,7 @@ define([
'/customize/pad.js'
'/customize/pad.js'
var $ = window . jQuery ;
var $ = window . jQuery ;
var ifrw = $ ( '#pad-iframe' ) [ 0 ] . contentWindow ;
var ifrw = $ ( '#pad-iframe' ) [ 0 ] . contentWindow ;
var CMeditor = ifrw . CodeMirror ;
var CMeditor ;
$ ( function ( ) {
$ ( function ( ) {
$ ( window ) . on ( 'hashchange' , function ( ) {
$ ( window ) . on ( 'hashchange' , function ( ) {
@ -18,32 +18,50 @@ define([
window . location . href = window . location . href + '#' + Crypto . genKey ( ) ;
window . location . href = window . location . href + '#' + Crypto . genKey ( ) ;
return ;
return ;
}
}
var key = Crypto . parseKey ( window . location . hash . substring ( 1 ) ) ;
var editor = CMeditor . fromTextArea ( $ ( '#pad-iframe' ) . contents ( ) . find ( '#editor1' ) [ 0 ] , {
lineNumbers : true ,
lineWrapping : true ,
autoCloseBrackets : true ,
matchBrackets : true ,
showTrailingSpace : true ,
styleActiveLine : true ,
search : true ,
highlightSelectionMatches : { showToken : /\w+/ } ,
extraKeys : { "Ctrl-Q" : function ( cm ) { cm . foldCode ( cm . getCursor ( ) ) ; } } ,
foldGutter : true ,
gutters : [ "CodeMirror-linenumbers" , "CodeMirror-foldgutter" ] ,
mode : "javascript"
} ) ;
editor . setValue ( Messages . codeInitialState ) ;
var rtw =
var andThen = function ( ) {
RTWiki . start ( ifrw ,
var key = Crypto . parseKey ( window . location . hash . substring ( 1 ) ) ;
Config . websocketURL ,
var editor = CMeditor . fromTextArea ( $ ( '#pad-iframe' ) . contents ( ) . find ( '#editor1' ) [ 0 ] , {
Crypto . rand64 ( 8 ) ,
lineNumbers : true ,
key . channel ,
lineWrapping : true ,
key . cryptKey ) ;
autoCloseBrackets : true ,
editor . on ( 'change' , function ( ) {
matchBrackets : true ,
editor . save ( ) ;
showTrailingSpace : true ,
rtw . onEvent ( ) ;
styleActiveLine : true ,
} ) ;
search : true ,
highlightSelectionMatches : { showToken : /\w+/ } ,
extraKeys : { "Ctrl-Q" : function ( cm ) { cm . foldCode ( cm . getCursor ( ) ) ; } } ,
foldGutter : true ,
gutters : [ "CodeMirror-linenumbers" , "CodeMirror-foldgutter" ] ,
mode : "javascript"
} ) ;
editor . setValue ( Messages . codeInitialState ) ;
var rtw =
RTWiki . start ( ifrw ,
Config . websocketURL ,
Crypto . rand64 ( 8 ) ,
key . channel ,
key . cryptKey ) ;
editor . on ( 'change' , function ( ) {
editor . save ( ) ;
rtw . onEvent ( ) ;
} ) ;
} ;
var interval = 100 ;
var first = function ( ) {
if ( CMeditor = ifrw . CodeMirror ) {
// it exists, call your continuation
andThen ( ) ;
} else {
console . log ( "CMeditor was not defined. Trying again in %sms" , interval ) ;
// try again in 'interval' ms
setTimeout ( first , interval ) ;
}
} ;
first ( ) ;
} ) ;
} ) ;
} ) ;
} ) ;