aboutsummaryrefslogtreecommitdiff
path: root/vendors/dokuwiki/lib/scripts/toolbar.js
diff options
context:
space:
mode:
Diffstat (limited to 'vendors/dokuwiki/lib/scripts/toolbar.js')
-rw-r--r--vendors/dokuwiki/lib/scripts/toolbar.js252
1 files changed, 0 insertions, 252 deletions
diff --git a/vendors/dokuwiki/lib/scripts/toolbar.js b/vendors/dokuwiki/lib/scripts/toolbar.js
deleted file mode 100644
index d9633ef2d..000000000
--- a/vendors/dokuwiki/lib/scripts/toolbar.js
+++ /dev/null
@@ -1,252 +0,0 @@
-
-// used to identify pickers
-var pickercounter=0;
-
-/**
- * Create a toolbar
- *
- * @param string tbid ID of the element where to insert the toolbar
- * @param string edid ID of the editor textarea
- * @param array tb Associative array defining the buttons
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function initToolbar(tbid,edid,tb){
- var toolbar = DOKUid(tbid);
- if(!toolbar) return;
- var edit = DOKUid(edid);
- if(!edit) return;
- if(edit.readOnly) return;
-
- //empty the toolbar area:
- toolbar.innerHTML='';
-
- var cnt = tb.length;
- for(var i=0; i<cnt; i++){
- var actionFunc;
-
- // create new button
- var btn = createToolButton(tb[i]['icon'],
- tb[i]['title'],
- tb[i]['key']);
-
-
- // type is a tb function -> assign it as onclick
- actionFunc = 'tb_'+tb[i]['type'];
- if( isFunction(window[actionFunc]) ){
- addEvent(btn,'click', bind(window[actionFunc],btn,tb[i],edid));
- toolbar.appendChild(btn);
- continue;
- }
-
- // type is a init function -> execute it
- actionFunc = 'addBtnAction'+tb[i]['type'].charAt(0).toUpperCase()+tb[i]['type'].substring(1);
- if( isFunction(window[actionFunc]) ){
- if(window[actionFunc](btn, tb[i], edid)){
- toolbar.appendChild(btn);
- }
- continue;
- }
-
- alert('unknown toolbar type: '+tb[i]['type']+' '+actionFunc);
- } // end for
-
-}
-
-/**
- * Button action for format buttons
- *
- * @param DOMElement btn Button element to add the action to
- * @param array props Associative array of button properties
- * @param string edid ID of the editor textarea
- * @author Gabriel Birke <birke@d-scribe.de>
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function tb_format(btn, props, edid) {
- var sample = props['title'];
- if(props['sample']){
- sample = props['sample'];
- }
- insertTags(edid,
- fixtxt(props['open']),
- fixtxt(props['close']),
- fixtxt(sample));
- pickerClose();
- return false;
-}
-
-/**
- * Button action for format buttons
- *
- * This works exactly as tb_format() except that, if multiple lines
- * are selected, each line will be formatted seperately
- *
- * @param DOMElement btn Button element to add the action to
- * @param array props Associative array of button properties
- * @param string edid ID of the editor textarea
- * @author Gabriel Birke <birke@d-scribe.de>
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function tb_formatln(btn, props, edid) {
- var sample = props['title'];
- if(props['sample']){
- sample = props['sample'];
- }
- sample = fixtxt(sample);
-
- props['open'] = fixtxt(props['open']);
- props['close'] = fixtxt(props['close']);
-
- // is something selected?
- var opts;
- var selection = getSelection(DOKUid(edid));
- if(selection.getLength()){
- sample = selection.getText();
- opts = {nosel: true};
- }else{
- opts = {
- startofs: props['open'].length,
- endofs: props['close'].length
- };
- }
-
- sample = sample.split("\n").join(props['close']+"\n"+props['open']);
- sample = props['open']+sample+props['close'];
-
- pasteText(selection,sample,opts);
-
- pickerClose();
- return false;
-}
-
-/**
- * Button action for insert buttons
- *
- * @param DOMElement btn Button element to add the action to
- * @param array props Associative array of button properties
- * @param string edid ID of the editor textarea
- * @author Gabriel Birke <birke@d-scribe.de>
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function tb_insert(btn, props, edid) {
- insertAtCarret(edid,fixtxt(props['insert']));
- pickerClose();
- return false;
-}
-
-/**
- * Button action for the media popup
- *
- * @param DOMElement btn Button element to add the action to
- * @param array props Associative array of button properties
- * @param string edid ID of the editor textarea
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function tb_mediapopup(btn, props, edid) {
- window.open(
- DOKU_BASE+props['url']+encodeURIComponent(NS),
- props['name'],
- props['options']);
- return false;
-}
-
-/**
- * Button action for automatic headlines
- *
- * Insert a new headline based on the current section level
- *
- * @param DOMElement btn Button element to add the action to
- * @param array props Associative array of button properties
- * @param string edid ID of the editor textarea
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function tb_autohead(btn, props, edid){
- var lvl = currentHeadlineLevel(edid);
-
- // determine new level
- lvl += props['mod'];
- if(lvl < 1) lvl = 1;
- if(lvl > 5) lvl = 5;
-
- var tags = '=';
- for(var i=0; i<=5-lvl; i++) tags += '=';
- insertTags(edid, tags+' ', ' '+tags+"\n", props['text']);
- pickerClose();
- return false;
-}
-
-
-/**
- * Add button action for picker buttons and create picker element
- *
- * @param DOMElement btn Button element to add the action to
- * @param array props Associative array of button properties
- * @param string edid ID of the editor textarea
- * @return boolean If button should be appended
- * @author Gabriel Birke <birke@d-scribe.de>
- */
-function addBtnActionPicker(btn, props, edid) {
- var pickerid = 'picker'+(pickercounter++);
- createPicker(pickerid, props, edid);
- addEvent(btn,'click',function(){
- pickerToggle(pickerid,btn);
- return false;
- });
- return true;
-}
-
-/**
- * Add button action for the link wizard button
- *
- * @param DOMElement btn Button element to add the action to
- * @param array props Associative array of button properties
- * @param string edid ID of the editor textarea
- * @return boolean If button should be appended
- * @author Andreas Gohr <gohr@cosmocode.de>
- */
-function addBtnActionLinkwiz(btn, props, edid) {
- linkwiz.init(DOKUid(edid));
- addEvent(btn,'click',function(){
- linkwiz.toggle();
- return false;
- });
- return true;
-}
-
-/**
- * Show/Hide a previosly created picker window
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function pickerToggle(pickerid,btn){
- var picker = DOKUid(pickerid);
- if(picker.style.marginLeft == '-10000px'){
- var x = findPosX(btn);
- var y = findPosY(btn);
- picker.style.left = (x+3)+'px';
- picker.style.top = (y+btn.offsetHeight+3)+'px';
- picker.style.marginLeft = '0px';
- }else{
- picker.style.marginLeft = '-10000px';
- }
-}
-
-/**
- * Close all open pickers
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function pickerClose(){
- var pobjs = getElementsByClass('picker');
- for(var i=0; i<pobjs.length; i++){
- pobjs[i].style.marginLeft = '-10000px';
- }
-}
-
-
-/**
- * Replaces \n with linebreaks
- */
-function fixtxt(str){
- return str.replace(/\\n/g,"\n");
-}
-