src/editor/CodeHintList.js
function CodeHintList(editor, insertHintOnTab, maxResults) {

        /**
         * The list of hints to display
         *
         * @type {Array.<string|jQueryObject>}
         */
        this.hints = [];

        /**
         * The selected position in the list; otherwise -1.
         *
         * @type {number}
         */
        this.selectedIndex = -1;

        /**
         * The maximum number of hints to display. Can be overriden via maxCodeHints pref
         *
         * @type {number}
         */
        this.maxResults = ValidationUtils.isIntegerInRange(maxResults, 1, 1000) ? maxResults : 50;

        /**
         * Is the list currently open?
         *
         * @type {boolean}
         */
        this.opened = false;

        /**
         * The editor context
         *
         * @type {Editor}
         */
        this.editor = editor;

        /**
         * Whether the currently selected hint should be inserted on a tab key event
         *
         * @type {boolean}
         */
        this.insertHintOnTab = insertHintOnTab;

        /**
         * Pending text insertion
         *
         * @type {string}
         */
        this.pendingText = "";

        /**
         * The hint selection callback function
         *
         * @type {Function}
         */
        this.handleSelect = null;

        /**
         * The hint list closure callback function
         *
         * @type {Function}
         */
        this.handleClose = null;

        /**
         * The hint list menu object
         *
         * @type {jQuery.Object}
         */
        this.$hintMenu =
            $("<li class='dropdown codehint-menu'></li>")
                .append($("<a href='#' class='dropdown-toggle' data-toggle='dropdown'></a>")
                        .hide())
                .append("<ul class='dropdown-menu'></ul>");

        this._keydownHook = this._keydownHook.bind(this);
    }
function CodeHintList(editor, insertHintOnTab, maxResults) {

        /**
         * The list of hints to display
         *
         * @type {Array.<string|jQueryObject>}
         */
        this.hints = [];

        /**
         * The selected position in the list; otherwise -1.
         *
         * @type {number}
         */
        this.selectedIndex = -1;

        /**
         * The maximum number of hints to display. Can be overriden via maxCodeHints pref
         *
         * @type {number}
         */
        this.maxResults = ValidationUtils.isIntegerInRange(maxResults, 1, 1000) ? maxResults : 50;

        /**
         * Is the list currently open?
         *
         * @type {boolean}
         */
        this.opened = false;

        /**
         * The editor context
         *
         * @type {Editor}
         */
        this.editor = editor;

        /**
         * Whether the currently selected hint should be inserted on a tab key event
         *
         * @type {boolean}
         */
        this.insertHintOnTab = insertHintOnTab;

        /**
         * Pending text insertion
         *
         * @type {string}
         */
        this.pendingText = "";

        /**
         * The hint selection callback function
         *
         * @type {Function}
         */
        this.handleSelect = null;

        /**
         * The hint list closure callback function
         *
         * @type {Function}
         */
        this.handleClose = null;

        /**
         * The hint list menu object
         *
         * @type {jQuery.Object}
         */
        this.$hintMenu =
            $("<li class='dropdown codehint-menu'></li>")
                .append($("<a href='#' class='dropdown-toggle' data-toggle='dropdown'></a>")
                        .hide())
                .append("<ul class='dropdown-menu'></ul>");

        this._keydownHook = this._keydownHook.bind(this);
    }
function CodeHintList ( editor , insertHintOnTab , maxResults ) { /**
         * The list of hints to display
         *
         * @type {Array.<string|jQueryObject>}
         */ this . hints = [ ] ; /**
         * The selected position in the list; otherwise -1.
         *
         * @type {number}
         */ this . selectedIndex = - 1 ; /**
         * The maximum number of hints to display. Can be overriden via maxCodeHints pref
         *
         * @type {number}
         */ this . maxResults = ValidationUtils . isIntegerInRange ( maxResults , 1 , 1000 ) ? maxResults : 50 ; /**
         * Is the list currently open?
         *
         * @type {boolean}
         */ this . opened = false ; /**
         * The editor context
         *
         * @type {Editor}
         */ this . editor = editor ; /**
         * Whether the currently selected hint should be inserted on a tab key event
         *
         * @type {boolean}
         */ this . insertHintOnTab = insertHintOnTab ; /**
         * Pending text insertion
         *
         * @type {string}
         */ this . pendingText = "" ; /**
         * The hint selection callback function
         *
         * @type {Function}
         */ this . handleSelect = null ; /**
         * The hint list closure callback function
         *
         * @type {Function}
         */ this . handleClose = null ; /**
         * The hint list menu object
         *
         * @type {jQuery.Object}
         */ this . $hintMenu = $ ( "<li class='dropdown codehint-menu'></li>" ) . append ( $ ( "<a href='#' class='dropdown-toggle' data-toggle='dropdown'></a>" ) . hide ( ) ) . append ( "<ul class='dropdown-menu'></ul>" ) ; this . _keydownHook = this . _keydownHook . bind ( this ) ; }
Displays a popup list of hints for a given editor context.

@constructor
@param {Editor} editor
@param {boolean} insertHintOnTab Whether pressing tab inserts the selected hint
@param {number} maxResults Maximum hints displayed at once. Defaults to 50
Displays a popup list of hints for a given editor context .