2014-06-18 23:27:05 +02:00
ace . define ( "ace/ext/settings_menu" , [ "require" , "exports" , "module" , "ace/ext/menu_tools/generate_settings_menu" , "ace/ext/menu_tools/overlay_page" , "ace/editor" ] , function ( e , t , n ) { function s ( e ) { var t = document . getElementById ( "ace_settingsmenu" ) ; t || i ( e , r ( e ) , "0" , "0" , "0" ) } var r = e ( "./menu_tools/generate_settings_menu" ) . generateSettingsMenu , i = e ( "./menu_tools/overlay_page" ) . overlayPage ; n . exports . init = function ( t ) { var n = e ( "ace/editor" ) . Editor ; n . prototype . showSettingsMenu = function ( ) { s ( this ) } } } ) , ace . define ( "ace/ext/menu_tools/generate_settings_menu" , [ "require" , "exports" , "module" , "ace/ext/menu_tools/element_generator" , "ace/ext/menu_tools/add_editor_menu_options" , "ace/ext/menu_tools/get_set_functions" ] , function ( e , t , n ) { var r = e ( "./element_generator" ) , i = e ( "./add_editor_menu_options" ) . addEditorMenuOptions , s = e ( "./get_set_functions" ) . getSetFunctions ; n . exports . generateSettingsMenu = function ( t ) { function o ( ) { n . sort ( function ( e , t ) { var n = e . getAttribute ( "contains" ) , r = t . getAttribute ( "contains" ) ; return n . localeCompare ( r ) } ) } function u ( ) { var e = document . createElement ( "div" ) ; return e . setAttribute ( "id" , "ace_settingsmenu" ) , n . forEach ( function ( t ) { e . appendChild ( t ) } ) , e } function a ( e , n , i , s ) { var o , u = document . createElement ( "div" ) ; return u . setAttribute ( "contains" , i ) , u . setAttribute ( "class" , "ace_optionsMenuEntry" ) , u . setAttribute ( "style" , "clear: both;" ) , u . appendChild ( r . createLabel ( i . replace ( /^set/ , "" ) . replace ( /([A-Z])/g , " $1" ) . trim ( ) , i ) ) , Array . isArray ( s ) ? ( o = r . createSelection ( i , s , n ) , o . addEventListener ( "change" , function ( n ) { try { t . menuOptions [ n . target . id ] . forEach ( function ( e ) { e . textContent !== n . target . textContent && delete e . selected } ) , e [ n . target . id ] ( n . target . value ) } catch ( r ) { throw new Error ( r ) } } ) ) : typeof s == "boolean" ? ( o = r . createCheckbox ( i , s , n ) , o . addEventListener ( "change" , function ( t ) { try { e [ t . target . id ] ( ! ! t . target . checked ) } catch ( n ) { throw new Error ( n ) } } ) ) : ( o = r . createInput ( i , s , n ) , o . addEventListener ( "change" , function ( t ) { try { t . target . value === "true" ? e [ t . target . id ] ( ! 0 ) : t . target . value === "false" ? e [ t . target . id ] ( ! 1 ) : e [ t . target . id ] ( t . target . value ) } catch ( n ) { throw new Error ( n ) } } ) ) , o . style . cssText = "float:right;" , u . appendChild ( o ) , u } function f ( e , n , r , i ) { var s = t . menuOptions [ e ] , o = n [ i ] ( ) ; return typeof o == "object" && ( o = o . $id ) , s . forEach ( function ( e ) { e . value === o && ( e . selected = "selected" ) } ) , a ( n , r , e , s ) } function l ( e ) { var r = e . functionName , i = e . parentObj , s = e . parentName , o , u = r . replace ( /^set/ , "get" ) ; if ( t . menuOptions [ r ] !== undefined ) n . push ( f ( r , i , s , u ) ) ; else if ( typeof i [ u ] == "function" ) try { o = i [ u ] ( ) , typeof o == "object" && ( o = o . $id ) , n . push ( a ( i , s , r , o ) ) } catch ( l ) { } } var n = [ ] ; return i ( t ) , s ( t ) . forEach ( function ( e ) { l ( e ) } ) , o ( ) , u ( ) } } ) , ace . define ( "ace/ext/menu_tools/element_generator" , [ "require" , "exports" , "module" ] , function ( e , t , n ) { n . exports . createOption = function ( t ) { var n , r = document . createElement ( "option" ) ; for ( n in t ) t . hasOwnProperty ( n ) && ( n === "selected" ? r . setAttribute ( n , t [ n ] ) : r [ n ] = t [ n ] ) ; return r } , n . exports . createCheckbox = function ( t , n , r ) { var i = document . createElement ( "input" ) ; return i . setAttribute ( "type" , "checkbox" ) , i . setAttribute ( "id" , t ) , i . setAttribute ( "name" , t ) , i . setAttribute ( "value" , n ) , i . setAttribute ( "class" , r ) , n && i . setAttribute ( "checked" , "checked" ) , i } , n . exports . createInput = function ( t , n , r ) { var i = document . createElement ( "input" ) ; return i . setAttribute ( "type" , "text" ) , i . setAttribute ( "id" , t ) , i . setAttribute ( "name" , t ) , i . setAttribute ( "value" , n ) , i . setAttribute ( "class" , r ) , i } , n . exports . createLabel = function ( t , n ) { var r = document . createElement ( "label" ) ; return r . setAttribute ( "for" , n ) , r . textContent = t , r } , n . exports . createSelection = function ( t , r , i ) { var s = document . createElement ( "select" ) ; return s . setAttribute ( "id" , t ) , s . setAttribute ( "name" , t ) , s . setAttribute ( "class" , i ) , r . forEach ( function ( e ) { s . appendChild ( n . exports . createOption ( e ) ) } ) , s } } ) , ace . define ( "ace/ext/menu_tools/add_editor_menu_options" , [ "require" , "exports" , "module" , "ace/ext/modelist" , "ace/ext/themelist" ] , function ( e , t , n ) { n . exports . addEditorMenuOptions = function ( n ) { var r = e ( "../modelist" ) , i = e ( "../themelist" ) ; n . menuOptions = { setNewLineMode : [ { textContent : "unix" , value : "unix" } , { textContent : "windows" , value : "windows" } , { textContent : "auto" , value : "auto" } ] , setTheme : [ ] , setMode : [ ] , setKeyboardHandler : [ { textContent : "ace" , va