code: function JavascriptField(type, options) {
    Field.call(this, type, options);
  
    this.onInputChange = this.onInputChange.bind(this);
    this.arg = new ScriptArgument('', '{ ', ' }');
  
    this.element = util.createElement(this.document, 'div');
  
    this.input = util.createElement(this.document, 'input');
    this.input.type = 'text';
    this.input.addEventListener('keyup', this.onInputChange, false);
    this.input.classList.add('gcli-field');
    this.input.classList.add('gcli-field-javascript');
    this.element.appendChild(this.input);
  
    this.menu = new Menu({
      document: this.document,
      field: true,
      type: type
    });
    this.element.appendChild(this.menu.element);
  
    var initial = new Conversion(undefined, new ScriptArgument(''),
                                 Status.INCOMPLETE, '');
    this.setConversion(initial);
  
    this.onFieldChange = util.createEvent('JavascriptField.onFieldChange');
  
    // i.e. Register this.onItemClick as the default action for a menu click
    this.menu.onItemClick.add(this.itemClicked, this);
  }
docs: A field that allows editing of javascript