/kai/templates/snippets/edit.mako

https://bitbucket.org/bbangert/kai/ · Mako · 53 lines · 50 code · 3 blank · 0 comment · 3 complexity · 3de0f74e438d3cbaab0a7944d107730e MD5 · raw file

  1. <%!
  2. from kai.model.forms import snippet_form
  3. %>
  4. <h1>${_('Edit Snippet')}</h1>
  5. ${snippet_form.display(dict(title=c.snippet.title, description=c.snippet.description,
  6. content=c.snippet.content, tags=', '.join(c.snippet.tags or [])
  7. ), action=url('snippet', id=c.id, _method='PUT')) | n}
  8. <div style="display: none; border: 2px solid #444; padding: 4px;" id="snippet_preview">&nbsp;</div>
  9. <%def name="title()">${parent.title()} - ${_('Edit Snippet')}</%def>
  10. <%def name="javascript()">
  11. ${parent.javascript()}
  12. <script src="http://yui.yahooapis.com/2.6.0/build/yuiloader/yuiloader-min.js" ></script>
  13. <script src="/javascripts/rst_helpers.js" charset="utf-8"></script>
  14. <script>
  15. $(document).ready(function() {
  16. var loader = new YAHOO.util.YUILoader({
  17. require: ["autocomplete"],
  18. loadOptional: true,
  19. onSuccess: function() {
  20. make_tagger = function(tag_field, tag_box, datafield) {
  21. var data_source = new YAHOO.widget.DS_JSArray(datafield);
  22. var myAutoComp = new YAHOO.widget.AutoComplete(tag_field, tag_box, data_source);
  23. myAutoComp.typeAhead = true;
  24. myAutoComp.queryDelay = 0;
  25. myAutoComp.minQueryLength = 2;
  26. myAutoComp.delimChar = [" ", ","];
  27. return true;
  28. };
  29. var tags = [${','.join(["\"%s\"" % tag for tag in c.tags]) | n}];
  30. make_tagger('snippet_form_tags', 'snippet_form_tags_autocomplete', tags);
  31. }
  32. });
  33. loader.insert();
  34. $('input#snippet_form_preview').click(function() {
  35. var content = $('#snippet_form_content')[0].value;
  36. var preview_url = '${url('preview_snippet')}';
  37. $.ajax({
  38. data: {content:content},
  39. type: "POST",
  40. url: preview_url,
  41. success: function(data, textStatus) {
  42. $('#snippet_preview').html(data).slideDown();
  43. }
  44. });
  45. return false;
  46. });
  47. })
  48. </script>
  49. </%def>
  50. <%inherit file="layout.mako" />