muck-contents 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.6
1
+ 0.2.7
@@ -44,6 +44,13 @@ class Muck::TinyMceController < ApplicationController
44
44
  end
45
45
  end
46
46
 
47
+ def links_for_content
48
+ @contents = Content.by_alpha
49
+ respond_to do |format|
50
+ format.json { render :json => autocomplete_urls_json(@contents) }
51
+ end
52
+ end
53
+
47
54
  protected
48
55
  def make_json(uploads)
49
56
  return [] if uploads.blank?
@@ -53,5 +60,13 @@ class Muck::TinyMceController < ApplicationController
53
60
  def json_options
54
61
  { :only => [:id], :methods => [:icon, :thumb, :file_name] }
55
62
  end
56
-
63
+
64
+ def autocomplete_urls_json(items)
65
+ return '' if items.blank?
66
+ ActiveRecord::Base.include_root_in_json = false
67
+ json = items.collect{|item| item.as_json(:only => [:title], :methods => [:uri]) }
68
+ ActiveRecord::Base.include_root_in_json = true
69
+ json
70
+ end
71
+
57
72
  end
@@ -18,11 +18,30 @@ module TinymceHelper
18
18
  <input id="tiny_mce_images_path" type="hidden" value="#{tiny_mce_images_path}">
19
19
  <input id="tiny_mce_images_width" type="hidden" value="#{options[:tiny_mce_images_width] || 675}">
20
20
  <input id="tiny_mce_images_height" type="hidden" value="#{options[:tiny_mce_images_height] || 560}">
21
- <input id="tiny_mce_links_path" type="hidden" value="#{tiny_mce_links_path}">}
21
+ <input id="tiny_mce_links_path" type="hidden" value="#{tiny_mce_links_path}">
22
+ <input id="tiny_mce_links_width" type="hidden" value="#{options[:tiny_mce_images_width] || 480}">
23
+ <input id="tiny_mce_links_height" type="hidden" value="#{options[:tiny_mce_images_height] || 480}">}
22
24
  end
23
25
 
24
- def tiny_mce_upload_form(parent)
25
- upload_form(parent, true, '', :upload_url =>new_upload_path_with_session_information(parent, 'json'))
26
+ # Output a form capable of uploading files to the server.
27
+ # This method is a wrapper for the upload_form found in the uploader gem.
28
+ # parent: The object to which the uploads will be attached
29
+ # display_upload_indicators: Indicates whether or not to show the upload progress
30
+ # container_prefix: Prefixes each id in the html with the specified text. Useful if there is to be more than one form on a page.
31
+ # options: Options to pass to the swf javascript for setting up the swfupload object:
32
+ # upload_url: Url to upload to. Default is '<%= new_upload_path_with_session_information(parent) %>'
33
+ # file_size_limit: Largest allowable file size. Default is '100 MB'
34
+ # file_types: Allowed file types. Default is "*.*"
35
+ # file_types_description: Description for file types. Default is "All Files"
36
+ # file_upload_limit: Maximum number of files per upload. Default is 100
37
+ # button_image_url: Url of button image to use for swf upload. Default is "/images/SWFUploadButton.png"
38
+ # button_width: Width of the image button being used. Default is 61
39
+ # button_height: Height of the button being used. Default is 22
40
+ # transparent: Turns the swfupload transparent so you can use the html behind it for the upload button.
41
+ # This will override any settings provided for button_image_url
42
+ # transparent_html: If transparent is true this html will be rendered under the transparent swfupload button.
43
+ def tiny_mce_upload_form(parent, display_upload_indicators = true, container_prefix = '', options = {})
44
+ upload_form(parent, display_upload_indicators, container_prefix, {:upload_url =>new_upload_path_with_session_information(parent, 'json')}.merge(options))
26
45
  end
27
46
 
28
47
  # Renders script required for a single tinymce editor on a page. This script will enable
@@ -15,9 +15,10 @@ message_id = "#{content.dom_id}_message"
15
15
  <div id="<%= "#{content.dom_id}" %>" class="content_editor">
16
16
  <% custom_form_for(content, :url => get_content_form_url(@parent, @content), :html => html.merge(:id => form_id, :class => 'content_form') ) do |f| -%>
17
17
  <%= f.text_field :title, {:class => 'title', :tip => t('muck.contents.title_help'), :label => t('muck.contents.title_label') } %>
18
- <%= f.text_area :body_raw, {:label => t('muck.contents.content_label'), :class => 'mceEditor', :id => mce_id, :tip_key => mce_id, :tip => t('muck.contents.content_help') } %>
19
- <%= capture(f, &block) %>
18
+ <%= f.text_field :tag_list, {:class => 'tags', :tip => t('muck.contents.tags_help'), :label => t('muck.contents.tags_label') } %>
20
19
  <%= f.muck_select(:layout, :value, :name, t('muck.contents.choose_layout'), @content_layouts, {:tip => t('muck.contents.choose_layout_help')}) %>
20
+ <%= capture(f, &block) %>
21
+ <%= f.text_area :body_raw, {:label => t('muck.contents.content_label'), :class => 'mceEditor', :id => mce_id, :tip_key => mce_id, :tip => t('muck.contents.content_help') } %>
21
22
  <div class="button form-row">
22
23
  <%= f.submit t('muck.contents.submit_content_button'), :class => "button share-submit", :id => "content_submit_#{content.dom_id}" %>
23
24
  <%= f.hidden_field :uri_path unless content.uri_path.blank? %>
@@ -1,7 +1,7 @@
1
1
  <div id="image-upload">
2
2
  <fieldset>
3
3
  <legend>Upload New Image</legend>
4
- <%= tiny_mce_upload_form(@parent) %>
4
+ <%= tiny_mce_upload_form(@parent, true, '', :file_types => '*.jpg;*.gif;*.jpeg,*.tif;*.tiff;*.png') %>
5
5
  </fieldset>
6
6
  </div>
7
7
  <br />
@@ -1,328 +1,320 @@
1
- <script type="text/javascript" src="js/advlink.js"></script>
2
-
3
- <body id="advlink" style="display: none">
4
- <form onsubmit="insertAction();return false;" action="#">
5
- <div class="tabs">
6
- <ul>
7
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advlink_dlg.general_tab}</a></span></li>
8
- <li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{#advlink_dlg.popup_tab}</a></span></li>
9
- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#advlink_dlg.events_tab}</a></span></li>
10
- <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#advlink_dlg.advanced_tab}</a></span></li>
11
- </ul>
12
- </div>
13
-
14
- <div class="panel_wrapper">
15
- <div id="general_panel" class="panel current">
16
- <fieldset>
17
- <legend>{#advlink_dlg.general_props}</legend>
18
- <table border="0" cellpadding="4" cellspacing="0">
19
- <tr>
20
- <td nowrap="nowrap"><label id="hreflabel" for="href">{#advlink_dlg.url}</label></td>
21
- <td><table border="0" cellspacing="0" cellpadding="0">
22
- <tr>
23
- <td><input id="href" name="href" type="text" class="mceFocus" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
24
- <td id="hrefbrowsercontainer">&nbsp;</td>
25
- </tr>
26
- </table></td>
27
- </tr>
28
- <tr id="linklisthrefrow">
29
- <td class="column1"><label for="linklisthref">{#advlink_dlg.list}</label></td>
30
- <td colspan="2" id="linklisthrefcontainer">&nbsp;</td>
31
- </tr>
32
- <tr>
33
- <td class="column1"><label for="anchorlist">{#advlink_dlg.anchor_names}</label></td>
34
- <td colspan="2" id="anchorlistcontainer">&nbsp;</td>
35
- </tr>
36
- <tr>
37
- <td><label id="targetlistlabel" for="targetlist">{#advlink_dlg.target}</label></td>
38
- <td id="targetlistcontainer">&nbsp;</td>
39
- </tr>
40
- <tr>
41
- <td nowrap="nowrap"><label id="titlelabel" for="title">{#advlink_dlg.titlefield}</label></td>
42
- <td><input id="title" name="title" type="text" value="" /></td>
43
- </tr>
44
- <tr>
45
- <td><label id="classlabel" for="classlist">{#class_name}</label></td>
46
- <td>
47
- <select id="classlist" name="classlist" onchange="changeClass();">
48
- <option value="" selected>{#not_set}</option>
49
- </select>
50
- </td>
51
- </tr>
52
- </table>
53
- </fieldset>
54
- </div>
55
-
56
- <div id="popup_panel" class="panel">
57
- <fieldset>
58
- <legend>{#advlink_dlg.popup_props}</legend>
59
-
60
- <input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
61
- <label id="ispopuplabel" for="ispopup">{#advlink_dlg.popup}</label>
62
-
63
- <table border="0" cellpadding="0" cellspacing="4">
64
- <tr>
65
- <td nowrap="nowrap"><label for="popupurl">{#advlink_dlg.popup_url}</label>&nbsp;</td>
66
- <td>
67
- <table border="0" cellspacing="0" cellpadding="0">
68
- <tr>
69
- <td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td>
70
- <td id="popupurlbrowsercontainer">&nbsp;</td>
71
- </tr>
72
- </table>
73
- </td>
74
- </tr>
75
- <tr>
76
- <td nowrap="nowrap"><label for="popupname">{#advlink_dlg.popup_name}</label>&nbsp;</td>
77
- <td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
78
- </tr>
79
- <tr>
80
- <td nowrap="nowrap"><label>{#advlink_dlg.popup_size}</label>&nbsp;</td>
81
- <td nowrap="nowrap">
82
- <input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
83
- <input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
84
- </td>
85
- </tr>
86
- <tr>
87
- <td nowrap="nowrap" id="labelleft"><label>{#advlink_dlg.popup_position}</label>&nbsp;</td>
88
- <td nowrap="nowrap">
89
- <input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /
90
- <input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
91
- </td>
92
- </tr>
93
- </table>
94
-
95
- <fieldset>
96
- <legend>{#advlink_dlg.popup_opts}</legend>
97
-
98
- <table border="0" cellpadding="0" cellspacing="4">
99
- <tr>
100
- <td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
101
- <td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{#advlink_dlg.popup_location}</label></td>
102
- <td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
103
- <td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{#advlink_dlg.popup_scrollbars}</label></td>
104
- </tr>
105
- <tr>
106
- <td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
107
- <td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{#advlink_dlg.popup_menubar}</label></td>
108
- <td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
109
- <td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{#advlink_dlg.popup_resizable}</label></td>
110
- </tr>
111
- <tr>
112
- <td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
113
- <td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{#advlink_dlg.popup_toolbar}</label></td>
114
- <td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
115
- <td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{#advlink_dlg.popup_dependent}</label></td>
116
- </tr>
117
- <tr>
118
- <td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
119
- <td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{#advlink_dlg.popup_statusbar}</label></td>
120
- <td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
121
- <td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{#advlink_dlg.popup_return}</label></td>
122
- </tr>
123
- </table>
124
- </fieldset>
125
- </fieldset>
126
- </div>
127
-
128
- <div id="advanced_panel" class="panel">
129
- <fieldset>
130
- <legend>{#advlink_dlg.advanced_props}</legend>
131
-
132
- <table border="0" cellpadding="0" cellspacing="4">
133
- <tr>
134
- <td class="column1"><label id="idlabel" for="id">{#advlink_dlg.id}</label></td>
135
- <td><input id="id" name="id" type="text" value="" /></td>
136
- </tr>
137
-
138
- <tr>
139
- <td><label id="stylelabel" for="style">{#advlink_dlg.style}</label></td>
140
- <td><input type="text" id="style" name="style" value="" /></td>
141
- </tr>
142
-
143
- <tr>
144
- <td><label id="classeslabel" for="classes">{#advlink_dlg.classes}</label></td>
145
- <td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
146
- </tr>
147
-
148
- <tr>
149
- <td><label id="targetlabel" for="target">{#advlink_dlg.target_name}</label></td>
150
- <td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
151
- </tr>
152
-
153
- <tr>
154
- <td class="column1"><label id="dirlabel" for="dir">{#advlink_dlg.langdir}</label></td>
155
- <td>
156
- <select id="dir" name="dir">
157
- <option value="">{#not_set}</option>
158
- <option value="ltr">{#advlink_dlg.ltr}</option>
159
- <option value="rtl">{#advlink_dlg.rtl}</option>
160
- </select>
161
- </td>
162
- </tr>
163
-
164
- <tr>
165
- <td><label id="hreflanglabel" for="hreflang">{#advlink_dlg.target_langcode}</label></td>
166
- <td><input type="text" id="hreflang" name="hreflang" value="" /></td>
167
- </tr>
168
-
169
- <tr>
170
- <td class="column1"><label id="langlabel" for="lang">{#advlink_dlg.langcode}</label></td>
171
- <td>
172
- <input id="lang" name="lang" type="text" value="" />
173
- </td>
174
- </tr>
175
-
176
- <tr>
177
- <td><label id="charsetlabel" for="charset">{#advlink_dlg.encoding}</label></td>
178
- <td><input type="text" id="charset" name="charset" value="" /></td>
179
- </tr>
180
-
181
- <tr>
182
- <td><label id="typelabel" for="type">{#advlink_dlg.mime}</label></td>
183
- <td><input type="text" id="type" name="type" value="" /></td>
184
- </tr>
185
-
186
- <tr>
187
- <td><label id="rellabel" for="rel">{#advlink_dlg.rel}</label></td>
188
- <td><select id="rel" name="rel">
189
- <option value="">{#not_set}</option>
190
- <option value="lightbox">Lightbox</option>
191
- <option value="alternate">Alternate</option>
192
- <option value="designates">Designates</option>
193
- <option value="stylesheet">Stylesheet</option>
194
- <option value="start">Start</option>
195
- <option value="next">Next</option>
196
- <option value="prev">Prev</option>
197
- <option value="contents">Contents</option>
198
- <option value="index">Index</option>
199
- <option value="glossary">Glossary</option>
200
- <option value="copyright">Copyright</option>
201
- <option value="chapter">Chapter</option>
202
- <option value="subsection">Subsection</option>
203
- <option value="appendix">Appendix</option>
204
- <option value="help">Help</option>
205
- <option value="bookmark">Bookmark</option>
206
- <option value="nofollow">No Follow</option>
207
- <option value="tag">Tag</option>
208
- </select>
209
- </td>
210
- </tr>
211
-
212
- <tr>
213
- <td><label id="revlabel" for="rev">{#advlink_dlg.rev}</label></td>
214
- <td><select id="rev" name="rev">
215
- <option value="">{#not_set}</option>
216
- <option value="alternate">Alternate</option>
217
- <option value="designates">Designates</option>
218
- <option value="stylesheet">Stylesheet</option>
219
- <option value="start">Start</option>
220
- <option value="next">Next</option>
221
- <option value="prev">Prev</option>
222
- <option value="contents">Contents</option>
223
- <option value="index">Index</option>
224
- <option value="glossary">Glossary</option>
225
- <option value="copyright">Copyright</option>
226
- <option value="chapter">Chapter</option>
227
- <option value="subsection">Subsection</option>
228
- <option value="appendix">Appendix</option>
229
- <option value="help">Help</option>
230
- <option value="bookmark">Bookmark</option>
231
- </select>
232
- </td>
233
- </tr>
234
-
235
- <tr>
236
- <td><label id="tabindexlabel" for="tabindex">{#advlink_dlg.tabindex}</label></td>
237
- <td><input type="text" id="tabindex" name="tabindex" value="" /></td>
238
- </tr>
239
-
240
- <tr>
241
- <td><label id="accesskeylabel" for="accesskey">{#advlink_dlg.accesskey}</label></td>
242
- <td><input type="text" id="accesskey" name="accesskey" value="" /></td>
243
- </tr>
244
- </table>
245
- </fieldset>
246
- </div>
247
-
248
- <div id="events_panel" class="panel">
249
- <fieldset>
250
- <legend>{#advlink_dlg.event_props}</legend>
251
-
252
- <table border="0" cellpadding="0" cellspacing="4">
253
- <tr>
254
- <td class="column1"><label for="onfocus">onfocus</label></td>
255
- <td><input id="onfocus" name="onfocus" type="text" value="" /></td>
256
- </tr>
257
-
258
- <tr>
259
- <td class="column1"><label for="onblur">onblur</label></td>
260
- <td><input id="onblur" name="onblur" type="text" value="" /></td>
261
- </tr>
262
-
263
- <tr>
264
- <td class="column1"><label for="onclick">onclick</label></td>
265
- <td><input id="onclick" name="onclick" type="text" value="" /></td>
266
- </tr>
267
-
268
- <tr>
269
- <td class="column1"><label for="ondblclick">ondblclick</label></td>
270
- <td><input id="ondblclick" name="ondblclick" type="text" value="" /></td>
271
- </tr>
272
-
273
- <tr>
274
- <td class="column1"><label for="onmousedown">onmousedown</label></td>
275
- <td><input id="onmousedown" name="onmousedown" type="text" value="" /></td>
276
- </tr>
277
-
278
- <tr>
279
- <td class="column1"><label for="onmouseup">onmouseup</label></td>
280
- <td><input id="onmouseup" name="onmouseup" type="text" value="" /></td>
281
- </tr>
282
-
283
- <tr>
284
- <td class="column1"><label for="onmouseover">onmouseover</label></td>
285
- <td><input id="onmouseover" name="onmouseover" type="text" value="" /></td>
286
- </tr>
287
-
288
- <tr>
289
- <td class="column1"><label for="onmousemove">onmousemove</label></td>
290
- <td><input id="onmousemove" name="onmousemove" type="text" value="" /></td>
291
- </tr>
292
-
293
- <tr>
294
- <td class="column1"><label for="onmouseout">onmouseout</label></td>
295
- <td><input id="onmouseout" name="onmouseout" type="text" value="" /></td>
296
- </tr>
297
-
298
- <tr>
299
- <td class="column1"><label for="onkeypress">onkeypress</label></td>
300
- <td><input id="onkeypress" name="onkeypress" type="text" value="" /></td>
301
- </tr>
302
-
303
- <tr>
304
- <td class="column1"><label for="onkeydown">onkeydown</label></td>
305
- <td><input id="onkeydown" name="onkeydown" type="text" value="" /></td>
306
- </tr>
307
-
308
- <tr>
309
- <td class="column1"><label for="onkeyup">onkeyup</label></td>
310
- <td><input id="onkeyup" name="onkeyup" type="text" value="" /></td>
311
- </tr>
312
- </table>
313
- </fieldset>
314
- </div>
315
- </div>
316
-
317
- <div class="mceActionPanel">
318
- <div style="float: left">
319
- <input type="submit" id="insert" name="insert" value="{#insert}" />
320
- </div>
321
-
322
- <div style="float: right">
323
- <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
324
- </div>
325
- </div>
326
- </form>
327
- </body>
328
- </html>
1
+ <form onsubmit="insertAction();return false;" action="#">
2
+ <div class="tabs">
3
+ <ul>
4
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advlink_dlg.general_tab}</a></span></li>
5
+ <li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{#advlink_dlg.popup_tab}</a></span></li>
6
+ <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#advlink_dlg.events_tab}</a></span></li>
7
+ <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#advlink_dlg.advanced_tab}</a></span></li>
8
+ </ul>
9
+ </div>
10
+
11
+ <div class="panel_wrapper">
12
+ <div id="general_panel" class="panel current">
13
+ <fieldset>
14
+ <legend>{#advlink_dlg.general_props}</legend>
15
+ <table border="0" cellpadding="4" cellspacing="0">
16
+ <tr>
17
+ <td nowrap="nowrap"><label id="hreflabel" for="href">{#advlink_dlg.url}</label></td>
18
+ <td><table border="0" cellspacing="0" cellpadding="0">
19
+ <tr>
20
+ <td><input id="href" name="href" type="text" class="mceFocus" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
21
+ <td id="hrefbrowsercontainer">&nbsp;</td>
22
+ </tr>
23
+ </table></td>
24
+ </tr>
25
+ <tr id="linklisthrefrow">
26
+ <td class="column1"><label for="linklisthref">{#advlink_dlg.list}</label></td>
27
+ <td colspan="2" id="linklisthrefcontainer">&nbsp;</td>
28
+ </tr>
29
+ <tr>
30
+ <td class="column1"><label for="anchorlist">{#advlink_dlg.anchor_names}</label></td>
31
+ <td colspan="2" id="anchorlistcontainer">&nbsp;</td>
32
+ </tr>
33
+ <tr>
34
+ <td><label id="targetlistlabel" for="targetlist">{#advlink_dlg.target}</label></td>
35
+ <td id="targetlistcontainer">&nbsp;</td>
36
+ </tr>
37
+ <tr>
38
+ <td nowrap="nowrap"><label id="titlelabel" for="title">{#advlink_dlg.titlefield}</label></td>
39
+ <td><input id="title" name="title" type="text" value="" /></td>
40
+ </tr>
41
+ <tr>
42
+ <td><label id="classlabel" for="classlist">{#class_name}</label></td>
43
+ <td>
44
+ <select id="classlist" name="classlist" onchange="changeClass();">
45
+ <option value="" selected>{#not_set}</option>
46
+ </select>
47
+ </td>
48
+ </tr>
49
+ </table>
50
+ </fieldset>
51
+ </div>
52
+
53
+ <div id="popup_panel" class="panel">
54
+ <fieldset>
55
+ <legend>{#advlink_dlg.popup_props}</legend>
56
+ <input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
57
+ <label id="ispopuplabel" for="ispopup">{#advlink_dlg.popup}</label>
58
+ <table border="0" cellpadding="0" cellspacing="4">
59
+ <tr>
60
+ <td nowrap="nowrap"><label for="popupurl">{#advlink_dlg.popup_url}</label>&nbsp;</td>
61
+ <td>
62
+ <table border="0" cellspacing="0" cellpadding="0">
63
+ <tr>
64
+ <td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td>
65
+ <td id="popupurlbrowsercontainer">&nbsp;</td>
66
+ </tr>
67
+ </table>
68
+ </td>
69
+ </tr>
70
+ <tr>
71
+ <td nowrap="nowrap"><label for="popupname">{#advlink_dlg.popup_name}</label>&nbsp;</td>
72
+ <td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
73
+ </tr>
74
+ <tr>
75
+ <td nowrap="nowrap"><label>{#advlink_dlg.popup_size}</label>&nbsp;</td>
76
+ <td nowrap="nowrap">
77
+ <input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
78
+ <input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
79
+ </td>
80
+ </tr>
81
+ <tr>
82
+ <td nowrap="nowrap" id="labelleft"><label>{#advlink_dlg.popup_position}</label>&nbsp;</td>
83
+ <td nowrap="nowrap">
84
+ <input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /
85
+ <input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
86
+ </td>
87
+ </tr>
88
+ </table>
89
+ <fieldset>
90
+ <legend>{#advlink_dlg.popup_opts}</legend>
91
+ <table border="0" cellpadding="0" cellspacing="4">
92
+ <tr>
93
+ <td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
94
+ <td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{#advlink_dlg.popup_location}</label></td>
95
+ <td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
96
+ <td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{#advlink_dlg.popup_scrollbars}</label></td>
97
+ </tr>
98
+ <tr>
99
+ <td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
100
+ <td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{#advlink_dlg.popup_menubar}</label></td>
101
+ <td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
102
+ <td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{#advlink_dlg.popup_resizable}</label></td>
103
+ </tr>
104
+ <tr>
105
+ <td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
106
+ <td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{#advlink_dlg.popup_toolbar}</label></td>
107
+ <td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
108
+ <td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{#advlink_dlg.popup_dependent}</label></td>
109
+ </tr>
110
+ <tr>
111
+ <td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
112
+ <td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{#advlink_dlg.popup_statusbar}</label></td>
113
+ <td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
114
+ <td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{#advlink_dlg.popup_return}</label></td>
115
+ </tr>
116
+ </table>
117
+ </fieldset>
118
+ </fieldset>
119
+ </div>
120
+
121
+ <div id="advanced_panel" class="panel">
122
+ <fieldset>
123
+ <legend>{#advlink_dlg.advanced_props}</legend>
124
+ <table border="0" cellpadding="0" cellspacing="4">
125
+ <tr>
126
+ <td class="column1"><label id="idlabel" for="id">{#advlink_dlg.id}</label></td>
127
+ <td><input id="id" name="id" type="text" value="" /></td>
128
+ </tr>
129
+ <tr>
130
+ <td><label id="stylelabel" for="style">{#advlink_dlg.style}</label></td>
131
+ <td><input type="text" id="style" name="style" value="" /></td>
132
+ </tr>
133
+ <tr>
134
+ <td><label id="classeslabel" for="classes">{#advlink_dlg.classes}</label></td>
135
+ <td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
136
+ </tr>
137
+ <tr>
138
+ <td><label id="targetlabel" for="target">{#advlink_dlg.target_name}</label></td>
139
+ <td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
140
+ </tr>
141
+ <tr>
142
+ <td class="column1"><label id="dirlabel" for="dir">{#advlink_dlg.langdir}</label></td>
143
+ <td>
144
+ <select id="dir" name="dir">
145
+ <option value="">{#not_set}</option>
146
+ <option value="ltr">{#advlink_dlg.ltr}</option>
147
+ <option value="rtl">{#advlink_dlg.rtl}</option>
148
+ </select>
149
+ </td>
150
+ </tr>
151
+ <tr>
152
+ <td><label id="hreflanglabel" for="hreflang">{#advlink_dlg.target_langcode}</label></td>
153
+ <td><input type="text" id="hreflang" name="hreflang" value="" /></td>
154
+ </tr>
155
+ <tr>
156
+ <td class="column1"><label id="langlabel" for="lang">{#advlink_dlg.langcode}</label></td>
157
+ <td>
158
+ <input id="lang" name="lang" type="text" value="" />
159
+ </td>
160
+ </tr>
161
+ <tr>
162
+ <td><label id="charsetlabel" for="charset">{#advlink_dlg.encoding}</label></td>
163
+ <td><input type="text" id="charset" name="charset" value="" /></td>
164
+ </tr>
165
+ <tr>
166
+ <td><label id="typelabel" for="type">{#advlink_dlg.mime}</label></td>
167
+ <td><input type="text" id="type" name="type" value="" /></td>
168
+ </tr>
169
+ <tr>
170
+ <td><label id="rellabel" for="rel">{#advlink_dlg.rel}</label></td>
171
+ <td><select id="rel" name="rel">
172
+ <option value="">{#not_set}</option>
173
+ <option value="lightbox">Lightbox</option>
174
+ <option value="alternate">Alternate</option>
175
+ <option value="designates">Designates</option>
176
+ <option value="stylesheet">Stylesheet</option>
177
+ <option value="start">Start</option>
178
+ <option value="next">Next</option>
179
+ <option value="prev">Prev</option>
180
+ <option value="contents">Contents</option>
181
+ <option value="index">Index</option>
182
+ <option value="glossary">Glossary</option>
183
+ <option value="copyright">Copyright</option>
184
+ <option value="chapter">Chapter</option>
185
+ <option value="subsection">Subsection</option>
186
+ <option value="appendix">Appendix</option>
187
+ <option value="help">Help</option>
188
+ <option value="bookmark">Bookmark</option>
189
+ <option value="nofollow">No Follow</option>
190
+ <option value="tag">Tag</option>
191
+ </select>
192
+ </td>
193
+ </tr>
194
+ <tr>
195
+ <td><label id="revlabel" for="rev">{#advlink_dlg.rev}</label></td>
196
+ <td><select id="rev" name="rev">
197
+ <option value="">{#not_set}</option>
198
+ <option value="alternate">Alternate</option>
199
+ <option value="designates">Designates</option>
200
+ <option value="stylesheet">Stylesheet</option>
201
+ <option value="start">Start</option>
202
+ <option value="next">Next</option>
203
+ <option value="prev">Prev</option>
204
+ <option value="contents">Contents</option>
205
+ <option value="index">Index</option>
206
+ <option value="glossary">Glossary</option>
207
+ <option value="copyright">Copyright</option>
208
+ <option value="chapter">Chapter</option>
209
+ <option value="subsection">Subsection</option>
210
+ <option value="appendix">Appendix</option>
211
+ <option value="help">Help</option>
212
+ <option value="bookmark">Bookmark</option>
213
+ </select>
214
+ </td>
215
+ </tr>
216
+ <tr>
217
+ <td><label id="tabindexlabel" for="tabindex">{#advlink_dlg.tabindex}</label></td>
218
+ <td><input type="text" id="tabindex" name="tabindex" value="" /></td>
219
+ </tr>
220
+ <tr>
221
+ <td><label id="accesskeylabel" for="accesskey">{#advlink_dlg.accesskey}</label></td>
222
+ <td><input type="text" id="accesskey" name="accesskey" value="" /></td>
223
+ </tr>
224
+ </table>
225
+ </fieldset>
226
+ </div>
227
+
228
+ <div id="events_panel" class="panel">
229
+ <fieldset>
230
+ <legend>{#advlink_dlg.event_props}</legend>
231
+ <table border="0" cellpadding="0" cellspacing="4">
232
+ <tr>
233
+ <td class="column1"><label for="onfocus">onfocus</label></td>
234
+ <td><input id="onfocus" name="onfocus" type="text" value="" /></td>
235
+ </tr>
236
+ <tr>
237
+ <td class="column1"><label for="onblur">onblur</label></td>
238
+ <td><input id="onblur" name="onblur" type="text" value="" /></td>
239
+ </tr>
240
+ <tr>
241
+ <td class="column1"><label for="onclick">onclick</label></td>
242
+ <td><input id="onclick" name="onclick" type="text" value="" /></td>
243
+ </tr>
244
+ <tr>
245
+ <td class="column1"><label for="ondblclick">ondblclick</label></td>
246
+ <td><input id="ondblclick" name="ondblclick" type="text" value="" /></td>
247
+ </tr>
248
+ <tr>
249
+ <td class="column1"><label for="onmousedown">onmousedown</label></td>
250
+ <td><input id="onmousedown" name="onmousedown" type="text" value="" /></td>
251
+ </tr>
252
+ <tr>
253
+ <td class="column1"><label for="onmouseup">onmouseup</label></td>
254
+ <td><input id="onmouseup" name="onmouseup" type="text" value="" /></td>
255
+ </tr>
256
+ <tr>
257
+ <td class="column1"><label for="onmouseover">onmouseover</label></td>
258
+ <td><input id="onmouseover" name="onmouseover" type="text" value="" /></td>
259
+ </tr>
260
+ <tr>
261
+ <td class="column1"><label for="onmousemove">onmousemove</label></td>
262
+ <td><input id="onmousemove" name="onmousemove" type="text" value="" /></td>
263
+ </tr>
264
+ <tr>
265
+ <td class="column1"><label for="onmouseout">onmouseout</label></td>
266
+ <td><input id="onmouseout" name="onmouseout" type="text" value="" /></td>
267
+ </tr>
268
+ <tr>
269
+ <td class="column1"><label for="onkeypress">onkeypress</label></td>
270
+ <td><input id="onkeypress" name="onkeypress" type="text" value="" /></td>
271
+ </tr>
272
+ <tr>
273
+ <td class="column1"><label for="onkeydown">onkeydown</label></td>
274
+ <td><input id="onkeydown" name="onkeydown" type="text" value="" /></td>
275
+ </tr>
276
+ <tr>
277
+ <td class="column1"><label for="onkeyup">onkeyup</label></td>
278
+ <td><input id="onkeyup" name="onkeyup" type="text" value="" /></td>
279
+ </tr>
280
+ </table>
281
+ </fieldset>
282
+ </div>
283
+ </div>
284
+
285
+ <div class="mceActionPanel">
286
+ <div style="float: left">
287
+ <input type="submit" id="insert" name="insert" value="{#insert}" />
288
+ </div>
289
+ <div style="float: right">
290
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
291
+ </div>
292
+ </div>
293
+ </form>
294
+
295
+ <% content_for :head do -%>
296
+ <%= javascript_include_tag 'tiny_mce/plugins/advlinktoo/js/functions.js' -%>
297
+ <% end -%>
298
+ <script language="javascript" type="text/javascript">
299
+ jQuery(document).ready(function() {
300
+ var path = '<%=links_for_content_path%>';
301
+ jQuery.getJSON(path, function(json){
302
+ if (json.length > 0){
303
+ var url_array = json;
304
+ jQuery("#href").autocomplete(url_array, {
305
+ minChars: 0,
306
+ matchContains: true,
307
+ autoFill: true,
308
+ mustMatch: false,
309
+ matchCase: false,
310
+ formatItem: function(item){
311
+ return item.title;
312
+ },
313
+ formatResult: function(item){
314
+ return item.uri;
315
+ }
316
+ });
317
+ }
318
+ });
319
+ });
320
+ </script>