source: trunk/skins/lemill/kupu_wysiwyg_support.html @ 1773

Revision 1773, 31.1 KB checked in by gabor, 13 years ago (diff)

fixed #1342 spent 5h

Line 
1
2<html xmlns="http://www.w3.org/1999/xhtml" xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:domain="kupu">
3
4    <!--$Id: include.kupu 11657 2005-04-30 17:19:15Z guido $-->
5    <!--$Id: wire.kupu 12162 2005-05-10 15:53:10Z guido $-->
6    <!--$Id: html.kupu 13336 2005-06-13 11:03:58Z gotcha $-->
7    <!--$Id: head.kupu 16467 2005-08-25 11:08:10Z guido $-->
8    <!--$Id: body.kupu 9779 2005-03-15 11:34:47Z duncan $-->
9    <!--$Id: xmlconfig.kupu 12162 2005-05-10 15:53:10Z guido $-->
10    <!--$Id: saveonpart.kupu 9520 2005-02-26 16:30:23Z duncan $-->
11    <!--$Id: sourceedit.kupu 25249 2006-04-03 12:22:25Z fschulze $-->
12    <!--$Id: sourceedit.kupu 9779 2005-03-15 11:34:47Z duncan $-->
13    <!--$Id: contextmenu.kupu 9520 2005-02-26 16:30:23Z duncan $-->
14    <!--$Id: toolbar.kupu 27291 2006-05-16 17:15:27Z fschulze $-->
15    <!--$Id: toolboxes.kupu 16467 2005-08-25 11:08:10Z guido $-->
16    <!--$Id: colorchooser.kupu 9520 2005-02-26 16:30:23Z duncan $-->
17    <!--$Id: save.kupu 9520 2005-02-26 16:30:23Z duncan $-->
18    <!--$Id: drawers.kupu 25249 2006-04-03 12:22:25Z fschulze $-->
19    <!--$Id: include.kupu 9520 2005-02-26 16:30:23Z duncan $-->
20    <!--$Id: wire.kupu 23401 2006-02-16 13:47:33Z limi $-->
21    <!--$Id: head.kupu 25040 2006-03-27 14:49:21Z fschulze $-->
22    <!--$Id: xmlconfig.kupu 18097 2005-10-03 09:51:28Z duncan $-->
23    <!--$Id: body.kupu 27713 2006-05-26 10:32:29Z duncan $-->
24    <!--$Id: toolbar.kupu 25249 2006-04-03 12:22:25Z fschulze $-->
25    <!--$Id: drawers.kupu 14546 2005-07-12 14:35:55Z duncan $-->
26    <!--$Id: beforeunload.kupu 14546 2005-07-12 14:35:55Z duncan $-->
27    <!--$Id: sourceedit.kupu 14546 2005-07-12 14:35:55Z duncan $-->
28    <!--$Id: wysiwyg_support.kupu 27713 2006-05-26 10:32:29Z duncan $-->
29
30
31    <div xmlns:metal="http://xml.zope.org/namespaces/metal" xmlns:tal="http://xml.zope.org/namespaces/tal" metal:define-macro="wysiwygEditorBox" id="kupu-editor" tal:define="name fieldName|inputname;                 editorid string:kupu-editor-${name}" tal:attributes="id editorid">
32        <tal:usekupu define="fname fieldName|inputname|nothing;                   usekupu python:here.contentUsesKupu(fname);">
33        <div tal:condition="not:usekupu">
34            <div i18n:translate="allowed_xhtml_tags" i18n:domain="lemill" class="translatedText">
35                Allowed tags: &lt;h2&gt;, &lt;p&gt;, &lt;br /&gt;, &lt;pre&gt;, &lt;ul&gt;, &lt;ol&gt;, &lt;li&gt;, &lt;a&gt;, &lt;i&gt;, &lt;b&gt;
36            </div>
37        </div>
38        <div tal:condition="usekupu">
39
40            <div style="display: none;">
41                <xml id="kupuconfig" class="kupuconfig">
42                <kupuconfig>
43
44                <dst>fulldoc.html</dst>
45                <use_css>0</use_css>
46                <reload_after_save>0</reload_after_save>
47                <strict_output>1</strict_output>
48                <content_type>application/xhtml+xml</content_type>
49                <compatible_singletons>1</compatible_singletons>
50
51                <tal:block define="table_classnames here/get_table_classnames|here/kupu_library_tool/getTableClassnames|nothing">
52                <table_classes tal:condition="table_classnames">
53                <tal:loop repeat="klass table_classnames">
54                <class tal:define="parts python:klass.split('|', 1)*2;" tal:condition="python:parts[0].strip()">
55                <xcaption i18n:translate="" tal:content="python:parts[1]"/>
56                <classname tal:content="python:parts[0]"/>
57                </class>
58                </tal:loop>
59                </table_classes>
60                </tal:block>
61
62                <tal:block define="excludes here/kupu_library_tool/getHtmlExclusions">
63                <htmlfilter tal:condition="excludes">
64                <tal:block repeat="exclude excludes"><tal:block define="tags python:exclude[0]; attributes python:exclude[1];"><c tal:omit-tag="not:python:tags and attributes"><a tal:repeat="attr attributes" tal:content="attr">
65                </a><t tal:repeat="tag tags" tal:content="tag"/></c></tal:block></tal:block>
66                <xstyle tal:repeat="st here/kupu_library_tool/getStyleWhitelist" tal:content="st"/>
67                <class tal:repeat="cl here/kupu_library_tool/getClassBlacklist" tal:content="cl"/>
68                </htmlfilter>
69                </tal:block>
70
71                <tal:var define="field field|nothing;         usecaptions python:field and field.default_output_type=='text/x-html-captioned'">
72                <captions tal:condition="usecaptions">1</captions>
73                </tal:var>
74                <image_xsl_uri tal:content="string:${portal_url}/kupudrawers/drawer.xsl"/>
75                <link_xsl_uri tal:content="string:${portal_url}/kupudrawers/drawer.xsl"/>
76                <tal:var define="         base kupu_base_override|here/absolute_url;         posfactory python:base.find('/portal_factory/');         base python:posfactory &gt; 0 and base[:posfactory] or base;         lib_prefix    string:${base}/kupulibraries.xml?resource_type=;         search_prefix string:${portal_url}/kupusearch.xml?resource_type=;">
77                <image_libraries_uri tal:content="string:${lib_prefix}mediaobject"/>
78                <link_libraries_uri tal:content="string:${lib_prefix}linkable"/>
79                <search_images_uri tal:content="string:${search_prefix}mediaobject"/>
80                <search_links_uri tal:content="string:${search_prefix}linkable"/>
81                </tal:var>
82
83                </kupuconfig>
84                </xml>
85            </div>
86
87            <div class="kupu-fulleditor">
88
89                <tal:test condition="not:exists:portal/portal_css">
90                <link href="kupustyles.css" rel="stylesheet" type="text/css" tal:attributes="href string:${portal_url}/kupustyles.css"/>
91                <link href="kupuplone.css" rel="stylesheet" type="text/css" tal:attributes="href string:${portal_url}/kupuplone.css"/>
92                <link href="kupudrawerstyles.css" rel="stylesheet" type="text/css" tal:attributes="href string:${portal_url}/kupudrawerstyles.css"/>
93                </tal:test>
94
95
96                <tal:test condition="not:exists:portal/portal_javascripts">
97                <script type="text/javascript" tal:attributes="src string:${portal_url}/kupunoi18n.js"> </script>
98                <script type="text/javascript" tal:attributes="src string:${portal_url}/sarissa.js"> </script>
99                <script type="text/javascript" tal:attributes="src string:${portal_url}/sarissa_ieemu_xpath.js"> </script>
100                <script type="text/javascript" tal:attributes="src string:${portal_url}/kupuhelpers.js"> </script>
101                <script type="text/javascript" tal:attributes="src string:${portal_url}/kupueditor.js"> </script>
102                <script type="text/javascript" tal:attributes="src string:${portal_url}/kupubasetools.js"> </script>
103                <script type="text/javascript" tal:attributes="src string:${portal_url}/kupuloggers.js"> </script>
104                <script type="text/javascript" tal:attributes="src string:${portal_url}/kupucontentfilters.js"> </script>
105                <script type="text/javascript" tal:attributes="src string:${portal_url}/kupucontextmenu.js"> </script>
106
107                <script type="text/javascript" tal:attributes="src string:${portal_url}/kupuploneeditor.js"> </script>
108                <script type="text/javascript" tal:attributes="src string:${portal_url}/kupuploneui.js"> </script>
109
110                <script type="text/javascript" src="kupusourceedit.js" tal:attributes="src string:${portal_url}/kupusourceedit.js"> </script>
111
112                <script type="text/javascript" src="kupudrawers.js" tal:attributes="src string:${portal_url}/kupudrawers.js"> </script>
113                <script type="text/javascript" src="kupuspellchecker.js" tal:attributes="src string:${portal_url}/kupuspellchecker.js"> </script>
114                </tal:test>
115
116                <tal:condition condition="python:here.kupu_library_tool.installBeforeUnload() and not path('haveBeforeUnload|nothing')">
117                <script tal:condition="not:exists:portal/portal_javascripts" type="text/javascript" src="kupubeforeunload.js" tal:attributes="src string:${portal_url}/kupubeforeunload.js" tal:define="global haveBeforeUnload python:True;"> </script>
118                </tal:condition>
119
120
121
122                <script tal:condition="not:exists:portal/portal_javascripts" type="text/javascript" src="kupuploneinit.js" tal:attributes="src string:${portal_url}/kupuploneinit.js"> </script>
123
124                <div class="kupu-tb" id="toolbar">
125
126                    <span id="kupu-tb-buttons" class="kupu-tb-buttons">
127                        <select class="kupu-tb-styles">
128                            <option value="p" i18n:translate="">Normal</option>
129                            <tal:block condition="here/kupu_library_tool/getParagraphStyles|nothing" repeat="style here/kupu_library_tool/getParagraphStyles">
130                            <option i18n:translate="" tal:define="parts python:style.split('|',1)+['','']" tal:attributes="value python:parts[1]" tal:content="python:parts[0]"/>
131                            </tal:block>
132                            <tal:block tal:condition="field/widget/parastyles|nothing">
133                            <option i18n:translate="" tal:condition="field/widget/parastyles" tal:repeat="style field/widget/parastyles" tal:attributes="value python:style[0]" tal:content="python:style[1]"/>
134                            </tal:block>
135                        </select>
136
137
138                        <span class="kupu-tb-buttongroup" id="kupu-bg-basicmarkup">
139                            <button type="button" class="kupu-bold" id="kupu-bold-button" title="Bold: Access key (Alt or Ctrl) + B" i18n:attributes="title" accesskey="b">&#160;</button>
140                            <button type="button" class="kupu-italic" id="kupu-italic-button" title="Italic: Access key (Alt or Ctrl) + I" i18n:attributes="title" accesskey="i">&#160;</button>
141                            <button type="button" class="kupu-subscript" id="kupu-subscript-button" title="Subscript: Access key (Alt or Ctrl) + -" i18n:attributes="title" accesskey="-">&#160;</button>
142                            <button type="button" class="kupu-superscript" id="kupu-superscript-button" title="Superscript: Access key (Alt or Ctrl) + +" i18n:attributes="title" accesskey="+">&#160;</button>
143                        </span>
144
145                        <span class="kupu-tb-buttongroup" id="kupu-bg-list">
146
147                            <button type="button" class="kupu-insertorderedlist" title="Numbered list: Access key (Alt or Ctrl) + #" id="kupu-list-ol-addbutton" i18n:attributes="title" accesskey="#">&#160;</button>
148                            <button type="button" class="kupu-insertunorderedlist" title="Unordered list: Access key (Alt or Ctrl) + *" id="kupu-list-ul-addbutton" i18n:attributes="title" accesskey="*">&#160;</button>
149                        </span>
150
151                        <span class="kupu-tb-buttongroup">
152                            <button type="button" class="kupu-exthyperlink" id="kupu-linkdrawer-button" title="Insert external link" i18n:attributes="title">&#160;</button>
153                            <button type="button" class="kupu-table" id="kupu-tabledrawer-button" title="Insert table" i18n:attributes="title">&#160;</button>
154                        </span>
155
156                        <span class="kupu-tb-buttongroup" id="kupu-bg-remove">
157                            <button type="button" class="kupu-removeimage invisible" id="kupu-removeimage-button" title="Remove image" i18n:attributes="title">&#160;</button>
158                            <button type="button" class="kupu-removelink invisible" id="kupu-removelink-button" title="Remove link" i18n:attributes="title">&#160;</button>
159                        </span>
160
161                        <span class="kupu-tb-buttongroup kupu-spellchecker-span" id="kupu-spellchecker">
162                            <button type="button" class="kupu-spellchecker" id="kupu-spellchecker-button" title="Check spelling" i18n:attributes="title">&#160;</button>
163                        </span>
164
165                        <span class="kupu-tb-buttongroup kupu-source-span" id="kupu-source">
166                            <button type="button" class="kupu-source" id="kupu-source-button" title="Edit HTML code" i18n:attributes="title" accesskey="h">&#160;</button>
167                        </span>
168
169                    </span>
170
171                    <select id="kupu-ulstyles" class="kupu-ulstyles">
172                        <option value="disc" i18n:translate="list-disc">&#9679;</option>
173                        <option value="square" i18n:translate="list-square">&#9632;</option>
174                        <option value="circle" i18n:translate="list-circle">&#9675;</option>
175                        <option value="none" i18n:translate="list-nobullet">no bullet</option>
176                    </select>
177                    <select id="kupu-olstyles" class="kupu-olstyles">
178                        <option value="decimal" i18n:translate="list-decimal">1</option>
179                        <option value="upper-roman" i18n:translate="list-upperroman">I</option>
180                        <option value="lower-roman" i18n:translate="list-lowerroman">i</option>
181                        <option value="upper-alpha" i18n:translate="list-upperalpha">A</option>
182                        <option value="lower-alpha" i18n:translate="list-loweralpha">a</option>
183                    </select>
184
185
186                    <div style="display:block;" class="kupu-librarydrawer-parent">
187
188                    </div>
189
190                    <div id="kupu-linkdrawer" class="kupu-drawer kupu-linkdrawer">
191                        <h1 i18n:translate="">External Link</h1>
192
193                        <div id="kupu-linkdrawer-addlink" class="kupu-panels kupu-linkdrawer-addlink">
194                            <table cellspacing="0">
195                                <tr><td><div class="kupu-toolbox-label">
196
197                                            <span i18n:translate="">
198                                                Link the highlighted text to this URL:
199                                            </span>
200                                        </div>
201
202                                        <input class="kupu-toolbox-st kupu-linkdrawer-input" type="text" onkeypress="return HandleDrawerEnter(event, 'linkdrawer-preview');"/>
203                                    </td>
204                                    <td class="kupu-preview-button">
205                                        <!--button class="kupu-dialog-button" type="button" id="linkdrawer-preview" onclick="drawertool.current_drawer.preview()" i18n:translate="">Preview</button-->
206                                </td></tr>
207                                <tr><td colspan="2" align="center">
208                                        <iframe frameborder="0" scrolling="auto" width="0" height="0" class="kupu-linkdrawer-preview" src="kupublank.html">
209                                        </iframe>
210                                </td></tr>
211                            </table>
212
213                            <div class="kupu-dialogbuttons">
214                                <button class="kupu-dialog-button" type="button" onclick="drawertool.current_drawer.save()" i18n:translate="">Ok</button>
215                                <button class="kupu-dialog-button" type="button" onclick="drawertool.closeDrawer()" i18n:translate="">Cancel</button>
216                            </div>
217
218                        </div>
219                    </div>
220
221                    <div id="kupu-tabledrawer" class="kupu-drawer kupu-tabledrawer">
222                        <h1 i18n:translate="tabledrawer_title">Table</h1>
223                        <div class="kupu-panels">
224                            <table width="300">
225                                <tr class="kupu-panelsrow">
226                                    <td class="kupu-panel">
227
228                                        <div class="kupu-tabledrawer-addtable">
229                                            <table>
230                                                <tr style="display: none">
231                                                    <th i18n:translate="tabledrawer_class_label" class="kupu-toolbox-label">Table Class</th>
232                                                    <td>
233                                                        <select class="kupu-tabledrawer-addclasschooser">
234                                                            <option i18n:translate="" value="kupu_table_normal">Normal</option>
235                                                        </select>
236                                                    </td>
237                                                </tr>
238                                                <tr>
239                                                    <th i18n:translate="tabledrawer_rows_label" class="kupu-toolbox-label">Rows</th>
240                                                    <td><input type="text" class="kupu-tabledrawer-newrows" onkeypress="return HandleDrawerEnter(event);"/></td>
241                                                </tr>
242                                                <tr>
243                                                    <th i18n:translate="tabledrawer_columns_label" class="kupu-toolbox-label">Columns</th>
244                                                    <td><input type="text" class="kupu-tabledrawer-newcols" onkeypress="return HandleDrawerEnter(event);"/></td>
245                                                </tr>
246                                                <tr>
247                                                    <th class="kupu-toolbox-label"> </th>
248                                                    <td>
249                                                        <label><input class="kupu-tabledrawer-makeheader" type="checkbox" onkeypress="return HandleDrawerEnter(event);"/>
250                                                            <span i18n:translate="tabledrawer_headings_label">Create Headings</span></label>
251                                                    </td>
252                                                </tr>
253                                                <tr>
254                                                    <th class="kupu-toolbox-label"> </th>
255                                                    <td>
256                                                        <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_add_table_button" onclick="drawertool.current_drawer.createTable()">Add Table</button>
257                                                        <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_fix_tables_button" onclick="drawertool.current_drawer.fixAllTables()">Fix All Tables</button>
258                                                    </td>
259                                                </tr>
260                                            </table>
261                                        </div>
262
263
264                                        <div class="kupu-tabledrawer-edittable">
265                                            <table>
266                                                <tr style="display: none">
267                                                    <th class="kupu-toolbox-label" i18n:translate="tabledrawer_class_label">Table Class</th>
268                                                    <td>
269                                                        <select class="kupu-tabledrawer-editclasschooser" onchange="drawertool.current_drawer.setTableClass(this.options[this.selectedIndex].value)">
270                                                            <option i18n:translate="" value="kupu_table_normal">Normal</option>
271                                                        </select>
272                                                    </td>
273                                                </tr>
274                                                <tr>
275                                                    <th class="kupu-toolbox-label" i18n:translate="tabledrawer_alignment_label">Current column alignment</th>
276                                                    <td>
277                                                        <select id="kupu-tabledrawer-alignchooser" class="kupu-tabledrawer-alignchooser" onchange="drawertool.current_drawer.tool.setColumnAlign(this.options[this.selectedIndex].value)">
278                                                            <option i18n:translate="tabledrawer_left_option" value="left">Left</option>
279                                                            <option i18n:translate="tabledrawer_center_option" value="center">Center</option>
280                                                            <option i18n:translate="tabledrawer_right_option" value="right">Right</option>
281                                                        </select>
282                                                    </td>
283                                                </tr>
284                                                <tr>
285                                                    <th class="kupu-toolbox-label" i18n:translate="tabledrawer_column_label">Column</th>
286                                                    <td>
287                                                        <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_add_button" onclick="drawertool.current_drawer.addTableColumn()">Add</button>
288                                                        <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_remove_button" onclick="drawertool.current_drawer.delTableColumn()">Remove</button>
289                                                    </td>
290                                                </tr>
291                                                <tr>
292                                                    <th class="kupu-toolbox-label" i18n:translate="tabledrawer_row_label">Row</th>
293                                                    <td>
294                                                        <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_add_button" onclick="drawertool.current_drawer.addTableRow()">Add</button>
295                                                        <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_remove_button" onclick="drawertool.current_drawer.delTableRow()">Remove</button>
296                                                    </td>
297                                                </tr>
298                                                <tr>
299                                                    <th class="kupu-toolbox-label" i18n:translate="tabledrawer_fix_table_label">Fix Table</th>
300                                                    <td>
301                                                        <button class="kupu-dialog-button" type="button" i18n:translate="tabledrawer_fix_button" onclick="drawertool.current_drawer.fixTable()">Fix</button>
302                                                    </td>
303                                                </tr>
304                                            </table>
305                                        </div>
306                                    </td>
307                                </tr>
308                            </table>
309                            <div class="kupu-dialogbuttons">
310                                <button class="kupu-dialog-button" type="button" onfocus="window.status='focus';" onmousedown="window.status ='onmousedown';" i18n:translate="tabledrawer_close_button" onclick="drawertool.closeDrawer(this)">Close</button>
311                            </div>
312                        </div>
313                    </div>
314
315
316
317                </div>
318                <script type="text/javascript">var focuscount = 0;</script>
319                <iframe class="kupu-editor-iframe" frameborder="0" src="emptypage" onfocus="this.contentWindow.focus();" tal:define="                 base here/absolute_url;                 posfactory python:base.find('/portal_factory/');                 base python:posfactory &gt; 0 and base[:posfactory+15] or base;                 base kupu_base_override|base;" tal:attributes="src string:${base}/emptypage;">
320                </iframe>
321                <input type="hidden" name="text_format:default" value="text/html" tal:define="fieldName fieldName|inputname|nothing;                 val python:fieldName and 'text/html' or 'html';                 fieldName python:test(fieldName, fieldName+'_', '') + 'text_format:default';" tal:attributes="name fieldName;value val;"/>
322                <tal:test condition="fieldName|nothing">
323                <textarea cols="80" rows="25" tabindex="" class="kupu-editor-textarea" name="description" tal:condition="fieldName|nothing" tal:define="global kupu_content python:here.convertContentForKupu(fieldName, inputvalue);" tal:content="kupu_content" tal:attributes="name inputname;                         onfocus onfocus|nothing;                         onblur onblur|nothing;                         tabindex tabindex|nothing;                         rows rows|default;                         cols cols|default;">
324                </textarea>
325                </tal:test>
326                <textarea cols="80" rows="25" tabindex="" class="kupu-editor-textarea" name="description" id="kupu-editor-textarea" tal:define="pss modules/Products/PythonScripts/standard;                 text_format python: getattr(here,'text_format','html');                 is_stx python:text_format=='structured-text';                 is_ptx python:text_format=='plain';" tal:condition="not:fieldName|nothing" tal:content="python:(is_stx and pss.structured_text(inputvalue))                                     or (is_ptx and pss.newline_to_br(inputvalue))                                     or inputvalue" tal:attributes="name inputname;                         onfocus onfocus|nothing;                         onblur onblur|nothing;                         tabindex tabindex|nothing;                         rows rows|default;                         cols cols|default;">
327                </textarea>
328
329                <div class="kupuoverride" tal:condition="python:exists('kupu_content') and len(kupu_content)==0" tal:define="floated widget/allow_file_upload | python:1;" tal:attributes="style python:test(floated, 'float:left;;', '');"><span class="discreet"><a class="forcekupu" href="#" i18n:translate="suppress-kupu" tal:attributes="href string:${request/URL0}?kupu.suppress=${fieldName};" title="reload current page without kupu">
330                            Edit without visual editor
331                    </a></span>
332                </div>
333
334            </div>
335
336            <script type="text/javascript" tal:content="string:       addEventHandler(window, 'load',  function() {           window.kupu = initPloneKupu('${editorid}');           window.kupuui = window.kupu.getTool('ui');           window.drawertool = window.kupu.getTool('drawertool');           window.kupu.initialize();}  , document);"/>
337
338            </div>
339
340            <div tal:condition="not:usekupu">
341
342            <tal:test condition="not:exists:portal/portal_css">
343            <link href="kupustyles.css" rel="stylesheet" type="text/css" tal:attributes="href string:${portal_url}/kupustyles.css"/>
344            <link href="kupuplone.css" rel="stylesheet" type="text/css" tal:attributes="href string:${portal_url}/kupuplone.css"/>
345            <link href="kupudrawerstyles.css" rel="stylesheet" type="text/css" tal:attributes="href string:${portal_url}/kupudrawerstyles.css"/>
346            </tal:test>
347
348            <textarea cols="80" rows="25" tabindex="" name="fieldName" tal:content="inputvalue" tal:attributes="name fieldName|inputname;                         id fieldName|inputname;                         onfocus onfocus|nothing;                         onblur onblur|nothing;                         tabindex tabindex|nothing;                         rows rows|default;                         cols cols|default;">
349            </textarea>
350
351            <tal:archetypes tal:condition="fieldName|nothing">
352            <div class="kupuoverride" tal:condition="python:path('widget/allow_format_edit|python:True') and not path('kupu_convert_message_generated|nothing')" tal:define="floated widget/allow_file_upload | python:1;" tal:attributes="style python:test(floated, 'float:left;;', '');">
353            <span class="discreet"><a class="forcekupu" href="#" i18n:translate="force-kupu" tal:condition="python:portal.kupu_library_tool.isKupuEnabled(REQUEST=context.REQUEST, context=context, fieldName=fieldName)" tal:attributes="href string:${request/URL0}?kupu.convert=${fieldName};" title="reload current page using kupu to edit this field">
354            Edit with visual editor
355            </a></span>
356            </div>
357            </tal:archetypes>
358
359            </div>
360            </tal:usekupu>
361            </div>
362
363
364            <div xmlns:metal="http://xml.zope.org/namespaces/metal" metal:define-macro="textFormatSelector" class="field">
365            <tal:usekupu xmlns:tal="http://xml.zope.org/namespaces/tal" define="fname fieldName|inputname|nothing;               usekupu python:here.contentUsesKupu(fname);">
366            <tal:editor tal:condition="usekupu">
367            <input type="hidden" name="text_format" value="text/html" tal:define="fieldName fieldName|inputname|nothing;                 val python:fieldName and 'text/html' or 'html';                 fieldName python:fieldName and fieldName+'_text_format' or 'text_format';" tal:attributes="name fieldName;value val;"/>
368            </tal:editor>                 
369            <tal:noeditor tal:condition="not:usekupu">
370            <tal:archetypes tal:condition="fieldName|nothing">
371            <div metal:use-macro="here/widgets/visual/macros/area_format"/>
372            <span tal:condition="python:portal.kupu_library_tool.isKupuEnabled(REQUEST=context.REQUEST, context=context, fieldName=fieldName)" tal:define="global kupu_convert_message_generated python:True">
373            <a href="#" tal:attributes="href string:${request/URL0}?kupu.convert=${fieldName};">Convert to HTML and edit with the visual editor</a></span>
374            </tal:archetypes>
375            <tal:nonat condition="not:fieldName|nothing">
376            <label for="text_format" i18n:translate="label_format">Format</label>
377
378            <div class="formHelp" i18n:translate="help_format">
379            If you are unsure of which format to use, just select Plain
380            Text and type the document as you usually do.
381            </div>
382
383            <input class="noborder" type="radio" name="text_format" value="structured-text" tabindex="" id="cb_structuredtext" tal:attributes="checked python:test(text_format=='structured-text', 1, None);                             tabindex tabindex;"/>
384            <label for="cb_structuredtext" i18n:translate="structured_text">Structured Text</label> <br/>
385
386            <input class="noborder" type="radio" name="text_format" value="html" tabindex="" id="cb_html" tal:attributes="checked python:test(text_format=='html', 1, None);                             tabindex tabindex;"/>
387            <label for="cb_html" i18n:translate="html">HTML</label> <br/>
388
389            <input class="noborder" type="radio" name="text_format" value="plain" tabindex="" id="cb_plain" tal:attributes="checked python:test(text_format=='plain', 1, None);                             tabindex tabindex;"/>
390            <label for="cb_plain" i18n:translate="plain_text">Plain Text</label>
391            </tal:nonat>
392            </tal:noeditor>
393            </tal:usekupu>
394            </div>
395
396
397
398            </html>
399
Note: See TracBrowser for help on using the repository browser.