1- var m = require ( "mithril" )
2- var Explain = require ( "./Explain" )
3- var Analysis = require ( "./Analysis" )
4- var ErrorMessage = require ( "./ErrorMessage" )
1+ var m = require ( "mithril" ) ;
2+ var Explain = require ( "./Explain" ) ;
3+ var Analysis = require ( "./Analysis" ) ;
4+ var ErrorMessage = require ( "./ErrorMessage" ) ;
55
66var App = {
7- oninit : function ( vnode ) {
7+ oninit : function ( vnode ) {
88 var planID = m . route . param ( "key" ) ;
99 vnode . state . explain = new Explain ( ) ;
1010 if ( planID ) {
1111 vnode . state . loading = true ;
12- Explain . load ( vnode . state . explain , planID ) . then ( function ( ) {
13- Explain . parse ( vnode . state . explain ) ;
14- vnode . state . analysis = new Analysis ( vnode . state . explain ) ;
15- vnode . state . loading = false ;
16- vnode . state . initialFieldData = JSON . stringify ( vnode . state . explain . data , null , " " ) ;
17- vnode . state . fieldData = vnode . state . initialFieldData ;
18- } ) . catch ( function ( e ) {
19- vnode . state . loading = false ;
20- vnode . state . loadError = e ;
21- } )
22- console . log ( "fetching plan" , planID )
12+ Explain . load ( vnode . state . explain , planID )
13+ . then ( function ( ) {
14+ Explain . parse ( vnode . state . explain ) ;
15+ vnode . state . analysis = new Analysis ( vnode . state . explain ) ;
16+ vnode . state . loading = false ;
17+ vnode . state . initialFieldData = JSON . stringify (
18+ vnode . state . explain . data ,
19+ null ,
20+ " "
21+ ) ;
22+ vnode . state . fieldData = vnode . state . initialFieldData ;
23+ } )
24+ . catch ( function ( e ) {
25+ vnode . state . loading = false ;
26+ vnode . state . loadError = e ;
27+ } ) ;
28+ console . log ( "fetching plan" , planID ) ;
2329 }
2430 vnode . state . analysis = "div" ;
2531
26- vnode . state . save = function ( ) {
27- var explain = this . explain ;
28- Explain . save ( explain ) . then ( function ( ) {
29- m . route . set ( "/explain/" + explain . id )
30- } )
31- return false ;
32- } . bind ( vnode . state ) ;
33-
34- vnode . state . analyze = function ( ) {
32+ vnode . state . analyze = function ( ) {
3533 try {
3634 var data = JSON . parse ( this . fieldData ) ;
3735 this . explain . data = data ;
3836 Explain . parse ( this . explain ) ;
3937 this . analysis = new Analysis ( this . explain ) ;
4038 vnode . state . unanalyzedChanges = false ;
41- } catch ( e ) {
42- this . analysis = new ErrorMessage ( "Error parsing explain JSON" , "" + e )
39+ } catch ( e ) {
40+ this . analysis = new ErrorMessage ( "Error parsing explain JSON" , "" + e ) ;
4341 }
4442 return false ;
4543 } . bind ( vnode . state ) ;
4644 } ,
47- view : function ( vnode ) {
45+ view : function ( vnode ) {
4846 if ( vnode . state . loading ) {
4947 return m ( "div" , "Loading..." ) ;
5048 }
@@ -54,42 +52,43 @@ var App = {
5452 var explainTextareaParams = {
5553 className : "explain-input pure-input-2-3" ,
5654 placeholder : "MySQL JSON Explain { . . . }" ,
57- oninput : function ( ) {
55+ oninput : function ( ) {
5856 vnode . state . initialFieldData = null ;
5957 vnode . state . fieldData = this . value ;
6058 vnode . state . unanalyzedChanges = true ;
61- }
62- }
59+ } ,
60+ } ;
6361 if ( vnode . state . initialFieldData ) {
6462 explainTextareaParams . value = vnode . state . initialFieldData ;
6563 }
6664 return m ( "div" , [
67- m ( "form" ,
65+ m (
66+ "form" ,
6867 {
6968 className : "pure-form pure-form-stacked" ,
7069 } ,
71- m ( "fieldset.pure-group" ,
72- m ( "textarea" ,
73- explainTextareaParams
74- ) ,
75- m ( "span" , {
76- class : "pure-form-message mea-explain-input-message"
77- } , "Paste the output of EXPLAIN FORMAT=JSON ..." )
70+ m (
71+ "fieldset.pure-group" ,
72+ m ( "textarea" , explainTextareaParams ) ,
73+ m (
74+ "span" ,
75+ {
76+ class : "pure-form-message mea-explain-input-message" ,
77+ } ,
78+ "Paste the output of EXPLAIN FORMAT=JSON ..."
79+ )
7880 ) ,
79- m ( "fieldset.pure-group" ,
80- m ( "button.pure-button" , { onclick : vnode . state . analyze } , "Analyze" ) ,
81- " " ,
82- m ( "button.pure-button" , { onclick : vnode . state . save , disabled : vnode . state . unanalyzedChanges == true } , "Save" )
81+ m (
82+ "fieldset.pure-group" ,
83+ m ( "button.pure-button" , { onclick : vnode . state . analyze } , "Analyze" )
8384 )
8485 ) ,
85- m ( "div" , [
86- m ( vnode . state . analysis )
87- ] )
88- ] )
89- }
90- }
86+ m ( "div" , [ m ( vnode . state . analysis ) ] ) ,
87+ ] ) ;
88+ } ,
89+ } ;
9190
9291m . route ( document . getElementById ( "app" ) , "/explain/" , {
9392 "/explain/" : App ,
94- "/explain/:key" : App
95- } )
93+ "/explain/:key" : App ,
94+ } ) ;
0 commit comments