app/soc/views/helper/widgets.py
changeset 345 27c3c63da9ac
parent 335 9c1a6e02ebec
child 408 7cd6bdfbf95c
equal deleted inserted replaced
344:d135c8c09967 345:27c3c63da9ac
    59     {% block scripts %}
    59     {% block scripts %}
    60   	  <script type="text/javascript" src="/tiny_mce/tiny_mce_src.js"></script>
    60   	  <script type="text/javascript" src="/tiny_mce/tiny_mce_src.js"></script>
    61     {% endblock %}
    61     {% endblock %}
    62   """ 
    62   """ 
    63 
    63 
    64   mce_settings = {'mode': "exact",
    64   DEF_MCE_SETTINGS = {'mode': "exact",
    65                   'theme': "simple",
    65                       'theme': "simple",
    66                   'theme_advanced_toolbar_location': "top",
    66                       'theme_advanced_toolbar_location': "top",
    67                   'theme_advanced_toolbar_align': "center"}
    67                       'theme_advanced_toolbar_align': "center"}
    68 
    68 
    69   TINY_MCE_HTML_FMT = u'''\
    69   TINY_MCE_HTML_FMT = u'''\
    70 <textarea %(attrs)s>%(value)s</textarea>
    70 <textarea %(attrs)s>%(value)s</textarea>
    71 <script type="text/javascript">
    71 <script type="text/javascript">
    72 tinyMCE.init(%(settings_json)s)
    72 tinyMCE.init(%(settings_json)s)
    79       mce_settings: dict with TinyMCE widget settings
    79       mce_settings: dict with TinyMCE widget settings
    80       *args, **kwargs:  passed through to parent __init__() constructor
    80       *args, **kwargs:  passed through to parent __init__() constructor
    81     """
    81     """
    82     super(forms.widgets.Textarea, self).__init__(*args, **kwargs)
    82     super(forms.widgets.Textarea, self).__init__(*args, **kwargs)
    83     
    83     
       
    84     # copy the class defaults to an instance data member
       
    85     self.mce_settings = copy.deepcopy(self.DEF_MCE_SETTINGS)
       
    86     
    84     if mce_settings:
    87     if mce_settings:
       
    88       # modify the per-instance settings if called supplied customizations
    85       self.mce_settings.update(mce_settings)
    89       self.mce_settings.update(mce_settings)
    86   
    90   
    87   def render(self, name, value, attrs=None):
    91   def render(self, name, value, attrs=None):
    88     """Render TinyMCE widget as HTML.
    92     """Render TinyMCE widget as HTML.
    89     """
    93     """