fixing editor bootstrap configuration
[redakcja.git] / apps / wiki / templates / wiki / bootstrap.html
1 {% load staticfiles %}
2 {% load i18n %}
3
4 <!DOCTYPE html>
5 <html>
6     <head>
7
8         <script src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
9         <script src="http://cdnjs.cloudflare.com/ajax/libs/ace/1.1.01/ace.js" type="text/javascript" charset="utf-8"></script>
10         
11         {% if DEBUG %}
12             <link rel="stylesheet/less" type="text/css" href="{% static 'wiki/editor/src/editor/styles/main.less' %}"/>
13             <script type="text/javascript">less = {relativeUrls: true};</script>
14             <script src="{% static 'wiki/editor/libs/less-1.3.3.min.js' %}"></script>
15             <script src="{% static 'wiki/editor/libs/require.js' %}" data-main="{% static 'wiki/editor/src/editor/entrypoint.js' %}" ></script>
16         {% else %}
17             <link href="{% static 'wiki/build/rng.css' %}" rel="stylesheet">
18             <script src="{% static 'wiki/build/rng.js' %}"></script>
19         {% endif %}
20     </head>
21     <body>
22         <script type="text/javascript">
23
24             var config = {
25                 rootSelector: '#editor_root',
26                 jsonifySentPayload: false,
27                 
28                 documentSaveUrl: function(id) { return '/editor/text/' + id + '/'; },
29                 documentHistoryUrl: function(id) { return '/editor/history/' + id + '/'},
30                 documentDiffUrl: function(id) { return '/editor/diff/' + id + '/'; },
31                 documentRestoreUrl: function(id) { return '/editor/revert/' + id + '/'},
32
33                 documentSaveForm: {
34                     fields: [
35                         {label: '{{forms.text_save.comment.label}}', name: '{{forms.text_save.comment.html_name}}', type: 'textarea'},
36                         {label: '{{forms.text_save.stage_completed.label}}', name: '{{forms.text_save.stage_completed.html_name}}', type: 'select', options: [
37                             {% for value,text in tags %}
38                                 {value:'{{value|default:''}}', text:'{{text}}'} {% if not forloop.last %}, {% endif %}
39                             {% endfor %}
40                         ], description: '{{forms.text_save.stage_completed.help_text}}'},
41                     ],
42                     content_field_name: '{{forms.text_save.text.html_name}}',
43                     version_field_name: '{{forms.text_save.parent_revision.html_name}}'
44                 },
45
46                 documentRestoreForm: {
47                     fields: [
48                         {label: '{{forms.text_revert.comment.label}}', name: '{{forms.text_revert.comment.html_name}}', type: 'textarea'}
49                     ],
50                     version_field_name: '{{forms.text_revert.revision.html_name}}'
51                 }
52             };
53
54             {% if can_pubmark %}
55                 config.documentSaveForm.fields.push(
56                     {label: '{{forms.text_save.publishable.label}}', name: '{{forms.text_save.publishable.html_name}}', type: 'checkbox', description: '{{forms.text_save.publishable.help_text}}'}
57                 );
58             {% endif %}
59
60             {% if not request.user.is_authenticated %}
61                 config.documentSaveForm.fields.push(
62                     {label: '{{forms.text_save.author_name.label}}', name: '{{forms.text_save.author_name.html_name}}', type: 'input', description: '{{forms.text_save.author_name.help_text}}'},
63                     {label: '{{forms.text_save.author_email.label}}', name: '{{forms.text_save.author_email.html_name}}', type: 'input', description: '{{forms.text_save.author_email.help_text}}'}
64                 );
65
66                 config.documentRestoreForm.fields.push(
67                     {label: '{{forms.text_revert.author_name.label}}', name: '{{forms.text_revert.author_name.html_name}}', type: 'input', description: '{{forms.text_revert.author_name.help_text}}'},
68                     {label: '{{forms.text_revert.author_email.label}}', name: '{{forms.text_revert.author_email.html_name}}', type: 'input', description: '{{forms.text_revert.author_email.help_text}}'}
69                 );
70             {% endif %}
71
72             {% autoescape off%}
73             var data = {{serialized_document_data}},
74                 templates = {{serialized_templates}}
75             {%endautoescape%}
76
77             var editor_init = function(Editor) {            
78                 Editor.setBootstrappedData('data', data);
79                 Editor.setBootstrappedData('documentToolbar', templates);
80                 Editor.start(config);
81             };
82         </script>
83         <div id="editor_root"></div>
84     </body>
85 </html>