2014-06-18 23:27:05 +02:00
ace . define ( "ace/ext/keybinding_menu" , [ "require" , "exports" , "module" , "ace/editor" , "ace/ext/menu_tools/overlay_page" , "ace/ext/menu_tools/get_editor_keyboard_shortcuts" ] , function ( e , t , n ) { function i ( t ) { if ( ! document . getElementById ( "kbshortcutmenu" ) ) { var n = e ( "./menu_tools/overlay_page" ) . overlayPage , r = e ( "./menu_tools/get_editor_keyboard_shortcuts" ) . getEditorKeybordShortcuts , i = r ( t ) , s = document . createElement ( "div" ) , o = i . reduce ( function ( e , t ) { return e + '<div class="ace_optionsMenuEntry"><span class="ace_optionsMenuCommand">' + t . command + "</span> : " + '<span class="ace_optionsMenuKey">' + t . key + "</span></div>" } , "" ) ; s . id = "kbshortcutmenu" , s . innerHTML = "<h1>Keyboard Shortcuts</h1>" + o + "</div>" , n ( t , s , "0" , "0" , "0" , null ) } } var r = e ( "ace/editor" ) . Editor ; n . exports . init = function ( e ) { r . prototype . showKeyboardShortcuts = function ( ) { i ( this ) } , e . commands . addCommands ( [ { name : "showKeyboardShortcuts" , bindKey : { win : "Ctrl-Alt-h" , mac : "Command-Alt-h" } , exec : function ( e , t ) { e . showKeyboardShortcuts ( ) } } ] ) } } ) , ace . define ( "ace/ext/menu_tools/overlay_page" , [ "require" , "exports" , "module" , "ace/lib/dom" ] , function ( e , t , n ) { var r = e ( "../../lib/dom" ) , i = "#ace_settingsmenu, #kbshortcutmenu {background-color: #F7F7F7;color: black;box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);padding: 1em 0.5em 2em 1em;overflow: auto;position: absolute;margin: 0;bottom: 0;right: 0;top: 0;z-index: 9991;cursor: default;}.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);background-color: rgba(255, 255, 255, 0.6);color: black;}.ace_optionsMenuEntry:hover {background-color: rgba(100, 100, 100, 0.1);-webkit-transition: all 0.5s;transition: all 0.3s}.ace_closeButton {background: rgba(245, 146, 146, 0.5);border: 1px solid #F48A8A;border-radius: 50%;padding: 7px;position: absolute;right: -8px;top: -8px;z-index: 1000;}.ace_closeButton{background: rgba(245, 146, 146, 0.9);}.ace_optionsMenuKey {color: darkslateblue;font-weight: bold;}.ace_optionsMenuCommand {color: darkcyan;font-weight: normal;}" ; r . importCssString ( i ) , n . exports . overlayPage = function ( t , n , i , s , o , u ) { function l ( e ) { e . keyCode === 27 && a . click ( ) } i = i ? "top: " + i + ";" : "" , o = o ? "bottom: " + o + ";" : "" , s = s ? "right: " + s + ";" : "" , u = u ? "left: " + u + ";" : "" ; var a = document . createElement ( "div" ) , f = document . createElement ( "div" ) ; a . style . cssText = "margin: 0; padding: 0; position: fixed; top:0; bottom:0; left:0; right:0;z-index: 9990; background-color: rgba(0, 0, 0, 0.3);" , a . addEventListener ( "click" , function ( ) { document . removeEventListener ( "keydown" , l ) , a . parentNode . removeChild ( a ) , t . focus ( ) , a = null } ) , document . addEventListener ( "keydown" , l ) , f . style . cssText = i + s + o + u , f . addEventListener ( "click" , function ( e ) { e . stopPropagation ( ) } ) ; var c = r . createElement ( "div" ) ; c . style . position = "relative" ; var h = r . createElement ( "div" ) ; h . className = "ace_closeButton" , h . addEventListener ( "click" , function ( ) { a . click ( ) } ) , c . appendChild ( h ) , f . appendChild ( c ) , f . appendChild ( n ) , a . appendChild ( f ) , document . body . appendChild ( a ) , t . blur ( ) } } ) , ace . define ( "ace/ext/menu_tools/get_editor_keyboard_shortcuts" , [ "require" , "exports" , "module" , "ace/lib/keys" ] , function ( e , t , n ) { var r = e ( "../../lib/keys" ) ; n . exports . getEditorKeybordShortcuts = function ( e ) { var t = r . KEY _MODS , n = [ ] , i = { } ; return e . keyBinding . $handlers . forEach ( function ( e ) { var r = e . commandKeyBinding ; for ( var s in r ) { var o = parseInt ( s ) ; o == - 1 ? o = "" : isNaN ( o ) ? o = s : o = "" + ( o & t . command ? "Cmd-" : "" ) + ( o & t . ctrl ? "Ctrl-" : "" ) + ( o & t . alt ? "Alt-" : "" ) + ( o & t . shift ? "Shift-" : "" ) ; for ( var u in r [ s ] ) { var a = r [ s ] [ u ] ; typeof a != "string" && ( a = a . name ) , i [ a ] ? i [ a ] . key += "|" + o + u : ( i [ a ] = { key : o + u , command : a } , n . push ( i [ a ] ) ) } } } ) , n } } ) , function ( ) { ace . require ( [ "ace/ext/keybinding_menu" ] , function ( ) { } ) } ( )