205 | | var text_element = $(element).parent().next("td").find("input:text")[0]; |
206 | | if (text_element == undefined) { |
207 | | text_element = $(element).parent().next("td").find("textarea")[0]; |
208 | | } |
| 190 | var text_element = $(element).parent("td").find("input:text")[0]; |
| 191 | if (text_element == undefined) |
| 192 | text_element = $(element).parent("td").find("textarea")[0]; |
| 193 | if (text_element == undefined) |
| 194 | text_element = $(element).parent("th").next("td").find("input:text")[0]; |
| 195 | if (text_element == undefined) |
| 196 | text_element = $(element).parent("th").next("td").find("textarea")[0]; |
216 | | function addToolbarButton(toolbar, id, title, click_fn) { |
217 | | var a = document.createElement("a"); |
218 | | a.href = "#"; |
219 | | a.id = id; |
220 | | a.title = title; |
221 | | a.onclick = function() { |
222 | | if ($(toolbar.target_textarea).prop("disabled") === false && |
223 | | $(toolbar.target_textarea).prop("readonly") === false) { |
224 | | try { click_fn() } catch (e) {} |
225 | | } |
226 | | return false; |
227 | | }; |
228 | | a.tabIndex = 400; |
229 | | toolbar.appendChild(a); |
230 | | } |
231 | | |
232 | | function encloseSelection(textarea, prefix, suffix) { |
233 | | textarea.focus(); |
234 | | var start, end, sel, scrollPos, subst; |
235 | | if (document.selection != undefined) { |
236 | | sel = document.selection.createRange().text; |
237 | | } else if (textarea.setSelectionRange != undefined) { |
238 | | start = textarea.selectionStart; |
239 | | end = textarea.selectionEnd; |
240 | | scrollPos = textarea.scrollTop; |
241 | | sel = textarea.value.substring(start, end); |
242 | | } |
243 | | if (sel.match(/ $/)) { |
244 | | sel = sel.substring(0, sel.length - 1); |
245 | | suffix = suffix + " "; |
246 | | } |
247 | | subst = prefix + sel + suffix; |
248 | | if (document.selection != undefined) { |
249 | | var range = document.selection.createRange().text = subst; |
250 | | textarea.caretPos -= suffix.length; |
251 | | } else if (textarea.setSelectionRange != undefined) { |
252 | | textarea.value = textarea.value.substring(0, start) + subst + textarea.value.substring(end); |
253 | | if (sel) { |
254 | | textarea.setSelectionRange(start + subst.length, start + subst.length); |
255 | | } else { |
256 | | textarea.setSelectionRange(start + prefix.length, start + prefix.length); |
257 | | } |
258 | | textarea.scrollTop = scrollPos; |
259 | | } |
260 | | } |
261 | | |
263 | | if ($(element).prev('div.textarea-toolbar').length == 0) { |
264 | | $(element).before('<div class="textarea-toolbar"></div>'); |
265 | | var toolbar = $(element).prev('div.textarea-toolbar').get(0); |
266 | | toolbar.target_textarea = element; |
267 | | addToolbarButton(toolbar, "strong", "插入 C 代码块", function() {encloseSelection(element, "\n{{{#!c\n", "\n}}}\n");}); |
268 | | addToolbarButton(toolbar, "em", "插入 C++ 代码块", function() {encloseSelection(element, "\n{{{#!cpp\n", "\n}}}\n");}); |
269 | | } |
| 205 | addWikiFormattingToolbar(element); |
| 206 | $(element).closest("fieldset").prepend('<span class="format-help">更多格式请参看<a target="_blank" href="wiki/WikiFormatting">Wiki格式</a></sapn>'); |
335 | | <tr title="问题描述" class="panel-row"> |
336 | | <th><label>问题描述 <span class="required-field-label">*</span>:</label></th> |
337 | | <td colspan="5"><textarea class="required-field toolbar"></textarea></td> |
338 | | </tr> |
339 | | <tr title="问题场景" class="panel-row"> |
340 | | <th><label>问题场景 <span class="required-field-label">*</span>:</label></th> |
341 | | <td colspan="5"><textarea class="required-field toolbar"></textarea></td> |
342 | | </tr> |
343 | | <tr title="复现步骤" class="panel-row"> |
344 | | <th><label>复现步骤 <span class="required-field-label">*</span>:</label></th> |
345 | | <td colspan="5"><textarea class="required-field toolbar"></textarea></td> |
346 | | </tr> |
347 | | <tr title="出错日志" class="panel-row"> |
348 | | <th><label>出错日志:</label></th> |
349 | | <td colspan="5"><textarea></textarea></td> |
350 | | </tr> |
351 | | <tr title="初步定位" class="panel-row"> |
352 | | <th><label>初步定位:</label></th> |
353 | | <td colspan="5"><textarea class="toolbar"></textarea></td> |
| 272 | <tr title="您的问题或疑问" class="panel-row"> |
| 273 | <th></th> |
| 274 | <td colspan="5"> |
| 275 | <label class="input-title">您的问题或疑问 <span class="required-field-label">*</span>:</label> |
| 276 | <fieldset><div><textarea class="required-field toolbar"></textarea></div></fieldset> |
| 277 | </td> |
| 278 | </tr> |
| 279 | <tr title="您期望的结果" class="panel-row"> |
| 280 | <th></th> |
| 281 | <td colspan="5"> |
| 282 | <label class="input-title">您期望的结果 <span class="required-field-label">*</span>:</label> |
| 283 | <fieldset><div><textarea class="required-field toolbar"></textarea></div></fieldset> |
| 284 | </td> |
| 285 | </tr> |
| 286 | <tr title="您想到的初步解决方案" class="panel-row"> |
| 287 | <th></th> |
| 288 | <td colspan="5"> |
| 289 | <label class="input-title">您想到的初步解决方案 <span class="required-field-label">*</span>:</label> |
| 290 | <fieldset><div><textarea class="required-field toolbar"></textarea></div></fieldset> |
| 291 | </td> |
| 292 | </tr> |
| 293 | <tr title="请告诉我们如何重现该问题" class="panel-row"> |
| 294 | <th></th> |
| 295 | <td colspan="5"> |
| 296 | <label class="input-title">请告诉我们如何重现该问题 <span class="required-field-label">*</span>:</label> |
| 297 | <fieldset><div><textarea class="required-field toolbar"></textarea></div></fieldset> |
| 298 | </td> |
| 299 | </tr> |
| 300 | <tr title="出错信息" class="panel-row"> |
| 301 | <th></th> |
| 302 | <td colspan="5"> |
| 303 | <label class="input-title">出错信息:</label> |
| 304 | <fieldset><div><textarea></textarea></div></fieldset> |
| 305 | </td> |
| 306 | </tr> |
| 307 | <tr title="请告诉我们有关您的环境的详细信息" class="panel-row"> |
| 308 | <th></th> |
| 309 | <td colspan="5"> |
| 310 | <label class="input-title">请告诉我们有关您的环境的详细信息 <span class="required-field-label">*</span>:</label> |
| 311 | <fieldset><div><textarea class="required-field toolbar"></textarea></div></fieldset> |
| 312 | </td> |