editor.html 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. {% macro editor(field, submit_button, placeholder=None, rows=4, hide_links=False, hide_images=False, hide_hr=False, extra=None) %}
  2. <div class="editor">
  3. {% if field.errors %}
  4. <div class="editor-error">
  5. {% for error in field.errors %}
  6. <p class="help-block">{{ error }}</p>
  7. {% endfor %}
  8. </div>
  9. {% endif %}
  10. {% set context = field.field.widget.get_context(field.html_name, field.value()) %}
  11. <div class="editor-input">
  12. <div>
  13. <textarea name="{{ context.name }}" id="id_{{ context.name }}" rows="{{ rows }}"{% if placeholder %} placeholder="{{ placeholder }}"{% endif %}>{% if 'value' in context %}{{ context.value }}{% endif %}</textarea>
  14. </div>
  15. </div>
  16. <div class="editor-actions">
  17. <ul class="editor-tools unstyled pull-left">
  18. <li><a href="#" class="tooltip-top btn editor-bold" title="{% trans %}Bold{% endtrans %}"><i class="icon-bold"></i></a></li>
  19. <li><a href="#" class="tooltip-top btn editor-emphasis" title="{% trans %}Emphasis{% endtrans %}"><i class="icon-italic"></i></a></li>
  20. {% if not hide_links %}<li class="divider"><a href="#" class="tooltip-top btn editor-link" title="{% trans %}Insert Link{% endtrans %}"><i class="icon-share-alt"></i></a></li>{% endif %}
  21. {% if not hide_images %}<li{% if hide_links %} class="divider"{% endif %}><a href="#" class="tooltip-top btn editor-image" title="{% trans %}Insert Image{% endtrans %}"><i class="icon-picture"></i></a></li>{% endif %}
  22. {% if not hide_hr %}<li class="divider"><a href="#" class="tooltip-top btn editor-hr" title="{% trans %}Insert Horizontal Line{% endtrans %}"><i class="icon-minus"></i></a></li>{% endif %}
  23. </ul>
  24. <button name="save" type="submit" class="btn btn-primary pull-right">{{ submit_button }}</button>
  25. {% if extra %}{{ extra }}{% endif %}
  26. </div>
  27. </div>
  28. {% endmacro %}
  29. {% macro js() %}
  30. <script type="text/javascript">
  31. $(function () {
  32. ed_lang_enter_link_url = "{% trans %}Enter link address{% endtrans %}";
  33. ed_lang_enter_link_label = "{% trans %}Enter link label (optional){% endtrans %}";
  34. ed_lang_enter_image_url = "{% trans %}Enter image address{% endtrans %}";
  35. ed_lang_enter_image_label = "{% trans %}Enter image label{% endtrans %}";
  36. ed_emojis = ['{{ ("', '".join(emojis))|safe }}'];
  37. ed_emoji_tpl = "<li data-value='${key}'><img src='{{ STATIC_URL }}emojis/${name}.png' height='20' width='20'/> ${name} </li>";
  38. ed_emojis_list = $.map(ed_emojis, function(value, i) {
  39. return {'id':i, 'key':value+":", 'name':value};
  40. });
  41. });
  42. </script>
  43. <script src="{{ STATIC_URL }}cranefly/js/jquery.caret.js"></script>
  44. <script src="{{ STATIC_URL }}cranefly/js/jquery.atwho.js"></script>
  45. <script src="{{ STATIC_URL }}cranefly/js/editor.js"></script>
  46. {% endmacro %}