equal
deleted
inserted
replaced
1 attachHook('editor_gui_toolbar', 'guied_insert_toolbar(ta_wrapper, response.toolbar_templates);'); |
1 attachHook('editor_gui_toolbar', 'guied_insert_toolbar(ta_wrapper, textarea, response.toolbar_templates);'); |
2 |
2 |
3 function guied_insert_toolbar(ta_wrapper, toolbar_templates) |
3 function guied_insert_toolbar(ta_wrapper, textarea, toolbar_templates) |
4 { |
4 { |
5 // Init toolbar |
5 // Init toolbar |
6 var toolbar = ''; |
6 var toolbar = ''; |
7 var head = new templateParser(toolbar_templates.toolbar_start); |
7 var head = new templateParser(toolbar_templates.toolbar_start); |
8 var button = new templateParser(toolbar_templates.toolbar_button); |
8 var button = new templateParser(toolbar_templates.toolbar_button); |
55 } |
55 } |
56 button.assign_vars({ |
56 button.assign_vars({ |
57 TITLE: $lang.get('guied_btn_' + buttons[i]), |
57 TITLE: $lang.get('guied_btn_' + buttons[i]), |
58 // FIXME: indexOf is error prone here |
58 // FIXME: indexOf is error prone here |
59 SPRITE: gen_sprite_html(cdnPath + '/plugins/guieditor/icons/sprite.png', 16, 16, 0, spritelist.indexOf(buttons[i]) * 16), |
59 SPRITE: gen_sprite_html(cdnPath + '/plugins/guieditor/icons/sprite.png', 16, 16, 0, spritelist.indexOf(buttons[i]) * 16), |
60 FLAGS: 'href="#" onclick="guied_act(\'' + buttons[i] + '\'); return false;"' |
60 FLAGS: 'href="#" onclick="guied_act(\'' + buttons[i] + '\', this); return false;"' |
61 }); |
61 }); |
62 toolbar += button.run(); |
62 toolbar += button.run(); |
63 if ( hide_label ) |
63 if ( hide_label ) |
64 { |
64 { |
65 button.assign_bool({ show_title: true }); |
65 button.assign_bool({ show_title: true }); |
71 // End of toolbar |
71 // End of toolbar |
72 toolbar += tail.run(); |
72 toolbar += tail.run(); |
73 |
73 |
74 var wrapperdiv = document.createElement('div'); |
74 var wrapperdiv = document.createElement('div'); |
75 wrapperdiv.innerHTML = toolbar; |
75 wrapperdiv.innerHTML = toolbar; |
76 wrapperdiv.className = 'hide-with-mce'; |
76 wrapperdiv.className = 'guieditor hide-with-mce'; |
|
77 wrapperdiv.target_ta = textarea; |
77 ta_wrapper.appendChild(wrapperdiv); |
78 ta_wrapper.appendChild(wrapperdiv); |
78 } |
79 } |
79 |
80 |
80 function guied_act(action) |
81 function guied_act(action, obj) |
81 { |
82 { |
82 var textarea = document.getElementById('ajaxEditArea'); |
83 var textarea = guied_self(obj).target_ta; |
|
84 if ( !textarea ) |
|
85 { |
|
86 console.error('Could not get textarea'); |
|
87 console.debug(obj, guied_self(obj)); |
|
88 return null; |
|
89 } |
83 var af_class = typeof(autofill_schemas.floodlight) == 'object' ? 'guied_floodlight' : 'page'; |
90 var af_class = typeof(autofill_schemas.floodlight) == 'object' ? 'guied_floodlight' : 'page'; |
84 switch(action) |
91 switch(action) |
85 { |
92 { |
86 case 'bold': |
93 case 'bold': |
87 guied_insert_wikitext_tag(textarea, "'''", "'''", $lang.get('guied_sample_bold')); |
94 guied_insert_wikitext_tag(textarea, "'''", "'''", $lang.get('guied_sample_bold')); |
95 case 'intlink': |
102 case 'intlink': |
96 load_component('autofill'); |
103 load_component('autofill'); |
97 var selection = guied_get_selection(textarea); |
104 var selection = guied_get_selection(textarea); |
98 var il_mp = miniPrompt(function(div) |
105 var il_mp = miniPrompt(function(div) |
99 { |
106 { |
|
107 console.debug(div.parentNode); |
|
108 |
100 div.innerHTML += '<h3>' + $lang.get('guied_intlink_title') + '</h3>'; |
109 div.innerHTML += '<h3>' + $lang.get('guied_intlink_title') + '</h3>'; |
101 div.innerHTML += '<table border="0" cellspacing="5" cellpadding="0" style="width: 100%;"> \ |
110 div.innerHTML += '<table border="0" cellspacing="5" cellpadding="0" style="width: 100%;"> \ |
102 <tr> \ |
111 <tr> \ |
103 <td valign="top" style="white-space: nowrap;"> \ |
112 <td valign="top" style="white-space: nowrap;"> \ |
104 ' + $lang.get('guied_intlink_lbl_page') + ' \ |
113 ' + $lang.get('guied_intlink_lbl_page') + ' \ |
311 } |
320 } |
312 } |
321 } |
313 |
322 |
314 function guied_register_heading(select) |
323 function guied_register_heading(select) |
315 { |
324 { |
316 var textarea = document.getElementById('ajaxEditArea'); |
325 var textarea = guied_self(select).target_ta; |
317 var n = Number($(select).val()); |
326 var n = Number($(select).val()); |
318 if ( n < 1 || n > 6 ) |
327 if ( n < 1 || n > 6 ) |
319 return; |
328 return; |
320 $(select).val('0'); |
329 $(select).val('0'); |
321 var tag = ''; |
330 var tag = ''; |
548 return myText; |
557 return myText; |
549 } |
558 } |
550 return sampleText; |
559 return sampleText; |
551 } |
560 } |
552 |
561 |
|
562 function guied_self(elem) |
|
563 { |
|
564 while ( elem.tagName != 'BODY' ) |
|
565 { |
|
566 elem = elem.parentNode; |
|
567 if ( $(elem).hasClass('guieditor') ) |
|
568 return elem; |
|
569 } |
|
570 return null; |
|
571 } |
|
572 |
553 // |
573 // |
554 // Autofill schema for images |
574 // Autofill schema for images |
555 // |
575 // |
556 |
576 |
557 var autofill_schemas = autofill_schemas || {}; |
577 var autofill_schemas = autofill_schemas || {}; |