richtext.pt 1.55 KB
<div tal:define="delayed_load delayed_load|field.widget.delayed_load;
                 tinymce_options tinymce_options|field.widget.tinymce_options;
                 oid oid|field.oid;
                 name name|field.name;"
    xmlns:i18n="http://xml.zope.org/namespaces/i18n" 
    i18n:domain="deform"
    tal:omit-tag="">

    <style type="text/css">
      .deform .tinymce-preload{
          border: 1px solid #CCC;
          height: 240px;
          display: block;
      }
    </style>  
  <textarea id="${oid}" name="${name}" 
            class='tinymce form-control' tal:content="structure cstruct" />
  <span id="${oid}-preload" class="tinymce-preload" 
        tal:content="structure cstruct" />
  <script type="text/javascript">
    (function($){
      deform.addCallback('${oid}', function(oid) {
        var jqoid = $('#' + oid);
        var jqoid_preload = $('#' + oid + '-preload');
        jqoid.hide();
        jqoid_preload.click(function(){
          jqoid.show();
          jqoid_preload.remove();
          tinyMCE.init({
            language: '<tal:block i18n:translate="language-code">en</tal:block>',
            body_class: 'form-control',
            <tal:block condition="tinymce_options">${tinymce_options},</tal:block>
            elements: oid
          });
          jqoid_preload.unbind('click');
        });
        if (!${str(bool(delayed_load)).lower()}) {
          jqoid_preload.click();
        }
      });
      $().bind('form.pre.serialize', function(event, $form, options) {
        tinyMCE.triggerSave();
      });
    })(jQuery);
  </script>
</div>