/kai/templates/snippets/add.mako

https://bitbucket.org/bbangert/kai/ · Mako · 54 lines · 51 code · 3 blank · 0 comment · 3 complexity · ab9caed52b1e9bbe76ebc7eb4d80ccbe MD5 · raw file

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