Table of Contents
OpenLaszlo provides capabilities for setting HTML text attributes using the
                           <rte> component.
            
The <rte> component uses the dijit.Editor from the dojo
                        toolkit. For more information about the dijit.Editor, see dijit.Editor. For detailed information about the component, see the Reference.
            
The simplest way to use the RTE is with the defaults:
Example 22.1. <rte> component
<canvas width="100%" height="400">
  <include href="extensions/rte.lzx"/>
  <rte width="600" height="400">Initial contents of the component.</rte>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
  * Copyright 2010 Laszlo Systems, Inc.  All Rights Reserved.                   *
  * Use is subject to license terms.                                            *
  * X_LZ_COPYRIGHT_END ****************************************************** -->
                  The following example shows the RTE with limited toolbar plugins. The list of toolbar plugins is a comma-separated list. A '|' puts a seaparator between groups of similar options. A '||' will force a linebreak in the toolbar.
Example 22.2. Limiting <rte> plugins
<canvas width="100%" height="450">
  <include href="extensions/rte.lzx"/>
  <rte width="600" height="400" scrollbars="false" toolbar_order="bold,italic,underline">rte with
    limited toolbar options</rte>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
  * Copyright 2010 Laszlo Systems, Inc.  All Rights Reserved.                   *
  * Use is subject to license terms.                                            *
  * X_LZ_COPYRIGHT_END ****************************************************** -->
                  You can add custom buttons to the rte component. Custom buttons are placed above the
                        editor. The first argument to addButton() is the list of properties to
                        set in a HTML <input> element.
            
Example 22.3. Adding custom buttons to the <rte> component
<canvas width="100%" height="400">
  <include href="extensions/rte.lzx"/>
  <rte width="600" height="400">Initial contents of the component. 
    <method name="rte_bold_callback" args="txt"><![CDATA[
      
            // Turn all the text bold
            this.setAttribute ('text', '<b>' + txt + '</b>');
            
    ]]></method>
    <method name="rte_bold" args="ignore">
      
            this.getText(new LzDelegate(this, 'rte_bold_callback'));
          
    </method>
    <handler name="oneditorready"> 
      this.addButton ({type: 'image', src:'./resources/logo.png',
      width:'44', height:'44', alt:'All Bold', title:'All Bold'}, new LzDelegate(this, 'rte_bold'));
    </handler>
  </rte>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
  * Copyright 2010 Laszlo Systems, Inc.  All Rights Reserved.                   *
  * Use is subject to license terms.                                            *
  * X_LZ_COPYRIGHT_END ****************************************************** -->
                  The following example shows how you can add a custom image button to the rte component. This demonstrates how you can use an image button instead of text.
Example 22.4. Adding a custom image to the <rte> component
<canvas width="100%" height="400">
  <include href="extensions/rte.lzx"/>
  
  <rte width="600" height="400">Initial contents of the component.
    <method name="rte_bold_callback" args="txt"><![CDATA[  
            // Turn all the text bold
            this.setAttribute ('text', '<b>' + txt + '</b>');
            
    ]]></method>
    <method name="rte_bold" args="ignore"> 
            this.getText(new LzDelegate(this, 'rte_bold_callback'));
          
    </method>
    <handler name="oneditorready">
      this.addButton ({value:'All Bold'}, new LzDelegate(this, 'rte_bold'));
    </handler>
  </rte>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
  * Copyright 2010 Laszlo Systems, Inc.  All Rights Reserved.                   *
  * Use is subject to license terms.                                            *
  * X_LZ_COPYRIGHT_END ****************************************************** -->
                  The following example shows how you can add a custom wrapper file.
Example 22.5. Using a custom wrapper with the <rte> component
<canvas width="100%" height="450">
    <include href="extensions/rte.lzx"/>
    <rte width="600" height="400" wrapperfile="wrapper-5.html">Initial contents of the component.
    </rte>
  </canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
  * Copyright 2010 Laszlo Systems, Inc.  All Rights Reserved.                   *
  * Use is subject to license terms.                                            *
  * X_LZ_COPYRIGHT_END ****************************************************** -->
                  The following example shows how you can emulate pluggins.
Example 22.6. Emulating plugins with the <rte> component
<canvas width="100%" height="450">
  <include href="extensions/rte.lzx"/>
  <rte width="600" height="400">Initial contents of the component. 
    <method name="rte_togglestyles" args="ignore">
      
            this.execCommand ('bold');
            this.execCommand ('italic');
            this.execCommand ('underline');
            
    </method>
    <handler name="oneditorready"> this.addButton ({value:'Toggle Styles'}, new LzDelegate(this,
      'rte_togglestyles')); 
    </handler>
  </rte>
</canvas>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
  * Copyright 2010 Laszlo Systems, Inc.  All Rights Reserved.                   *
  * Use is subject to license terms.                                            *
  * X_LZ_COPYRIGHT_END ****************************************************** -->
                  Copyright © 2002-2010 Laszlo Systems, Inc. All Rights Reserved. Unauthorized use, duplication or distribution is strictly prohibited. This is the proprietary information of Laszlo Systems, Inc. Use is subject to license terms.