-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathindexViewModel.ts
51 lines (46 loc) · 1.24 KB
/
indexViewModel.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/// <reference path="knockout.d.ts" />
/// <reference path="jquery.d.ts" />
module my
{
class IndexViewModel
{
mainEditorText: KnockoutObservable<string> = ko.observable( '' );
constructor ( editorText?: string )
{
if ( editorText !== null )
this.mainEditorText( editorText );
else
this.mainEditorText( '// start coding' );
}
evalCode ()
{
let code = this.mainEditorText();
try
{
eval( code );
}
catch ( error )
{
console.log( error );
}
}
}
$( () =>
{
let defaultJavascript = [
'// default javascript and example use of monaco-editor and knockout',
'',
'let testVar = "n/a";',
'var testVar2 = "n/a";',
'',
'function print( message ){',
' alert( message );',
'}',
'',
'print( testVar );',
'print( testVar2 );',
''
].join( '\n' );
ko.applyBindings( new IndexViewModel( defaultJavascript ) );
} );
}