Вход Регистрация
Файл: wysiwyg/live/scripts/common/codemirror/lib/util/simple-hint.js
Строк: 103
<?php
(function() {
  
CodeMirror.simpleHint = function(editorgetHints) {
    
// We want a single cursor position.
    
if (editor.somethingSelected()) return;
    var 
result getHints(editor);
    if (!
result || !result.list.length) return;
    var 
completions result.list;
    function 
insert(str) {
      
editor.replaceRange(strresult.fromresult.to);
    }
    
// When there is only one completion, use it directly.
    
if (completions.length == 1) {insert(completions[0]); return true;}

    
// Build the select widget
    
var complete document.createElement("div");
    
complete.className "CodeMirror-completions";
    var 
sel complete.appendChild(document.createElement("select"));
    
// Opera doesn't move the selection when pressing up/down in a
    // multi-select, but it does properly support the size property on
    // single-selects, so no multi-select is necessary.
    
if (!window.operasel.multiple true;
    for (var 
0completions.length; ++i) {
      var 
opt sel.appendChild(document.createElement("option"));
      
opt.appendChild(document.createTextNode(completions[i]));
    }
    
sel.firstChild.selected true;
    
sel.size Math.min(10completions.length);
    var 
pos editor.cursorCoords();
    
complete.style.left pos."px";
    
complete.style.top pos.yBot "px";
    
document.body.appendChild(complete);
    
// Hack to hide the scrollbar.
    
if (completions.length <= 10)
      
complete.style.width = (sel.clientWidth 1) + "px";

    var 
done false;
    function 
close() {
      if (
done) return;
      
done true;
      
complete.parentNode.removeChild(complete);
    }
    function 
pick() {
      
insert(completions[sel.selectedIndex]);
      
close();
      
setTimeout(function(){editor.focus();}, 50);
    }
    
CodeMirror.connect(sel"blur"close);
    
CodeMirror.connect(sel"keydown", function(event) {
      var 
code event.keyCode;
      
// Enter
      
if (code == 13) {CodeMirror.e_stop(event); pick();}
      
// Escape
      
else if (code == 27) {CodeMirror.e_stop(event); close(); editor.focus();}
      else if (
code != 38 && code != 40) {
        
close(); editor.focus();
        
setTimeout(function(){CodeMirror.simpleHint(editorgetHints);}, 50);
      }
    });
    
CodeMirror.connect(sel"dblclick"pick);

    
sel.focus();
    
// Opera sometimes ignores focusing a freshly created node
    
if (window.operasetTimeout(function(){if (!donesel.focus();}, 100);
    return 
true;
  };
})();
?>
Онлайн: 0
Реклама