code: function() {
        // DIV element to wrap the Field "default value"
        this.fieldValueWrapper = inputEx.cn('div', {className: "inputEx-TypeField-FieldValueWrapper"});
        this.fieldContainer.appendChild( this.fieldValueWrapper );
        
        // Render the popup that will contain the property form
        this.propertyPanel = inputEx.cn('div', {className: "inputEx-TypeField-PropertiesPanel"}, {display: 'none'});
        
        // The list of all inputEx declared types to be used in the "type" selector
        var selectOptions = [];
        for(var key in inputEx.typeClasses) {
           if(inputEx.typeClasses.hasOwnProperty(key)) {
              selectOptions.push( { value : key } );
           }
        }
        this.typeSelect = new inputEx.SelectField({label: "Type", choices: selectOptions, parentEl: this.propertyPanel});
  
        // DIV element to wrap the options group
        this.groupOptionsWrapper = inputEx.cn('div');
        this.propertyPanel.appendChild( this.groupOptionsWrapper );
        
        // Button to switch the panel
        this.button = inputEx.cn('div', {className: "inputEx-TypeField-EditButton"});
        this.button.appendChild(this.propertyPanel);
        this.fieldContainer.appendChild(this.button);
        
        // Build the groupOptions
        this.rebuildGroupOptions();
     }
docs: Render the TypeField: create a button with a property panel that contains the field options