about summary refs log tree commit diff stats
path: root/wiki/lib/scripts/toolbar.js
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/lib/scripts/toolbar.js')
-rw-r--r--wiki/lib/scripts/toolbar.js282
1 files changed, 0 insertions, 282 deletions
diff --git a/wiki/lib/scripts/toolbar.js b/wiki/lib/scripts/toolbar.js
deleted file mode 100644
index b766f8b..0000000
--- a/wiki/lib/scripts/toolbar.js
+++ /dev/null
@@ -1,282 +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
- * @param  bool   allowblock Allow buttons creating multiline content
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function initToolbar(tbid,edid,tb, allowblock){
-    var $toolbar, $edit;
-    if (typeof tbid == 'string') {
-        $toolbar = jQuery('#' + tbid);
-    } else {
-        $toolbar = jQuery(tbid);
-    }
-
-    $edit = jQuery('#' + edid);
-
-    if ($toolbar.length == 0 || $edit.length == 0 || $edit.attr('readOnly')) {
-        return;
-    }
-
-    if (typeof allowblock === 'undefined') {
-        allowblock = true;
-    }
-
-    //empty the toolbar area:
-    $toolbar.html('');
-
-    jQuery.each(tb, function (k, val) {
-        if (!tb.hasOwnProperty(k) || (!allowblock && val.block === true)) {
-            return;
-        }
-        var actionFunc, $btn;
-
-        // create new button (jQuery object)
-        $btn = jQuery(createToolButton(val.icon, val.title, val.key, val.id,
-                                       val['class']));
-
-        // type is a tb function -> assign it as onclick
-        actionFunc = 'tb_'+val.type;
-        if( jQuery.isFunction(window[actionFunc]) ){
-            $btn.on('click', bind(window[actionFunc],$btn,val,edid) );
-            $toolbar.append($btn);
-            return;
-        }
-
-        // type is a init function -> execute it
-        actionFunc = 'addBtnAction'+val.type.charAt(0).toUpperCase()+val.type.substring(1);
-        if( jQuery.isFunction(window[actionFunc]) ){
-            var pickerid = window[actionFunc]($btn, val, edid);
-            if(pickerid !== ''){
-                $toolbar.append($btn);
-                $btn.attr('aria-controls', pickerid);
-                if (actionFunc === 'addBtnActionPicker') {
-                    $btn.attr('aria-haspopup', 'true');
-                }
-            }
-            return;
-        }
-
-        alert('unknown toolbar type: '+val.type+'  '+actionFunc);
-    });
-}
-
-/**
- * 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.sample || props.title;
-    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.sample || props.title,
-        opts,
-        selection = DWgetSelection(jQuery('#'+edid)[0]);
-
-    sample = fixtxt(sample);
-    props.open  = fixtxt(props.open);
-    props.close = fixtxt(props.close);
-
-    // is something selected?
-    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)+'&edid='+encodeURIComponent(edid),
-        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),
-        tags;
-
-    // determine new level
-    lvl += props.mod;
-    if(lvl < 1) lvl = 1;
-    if(lvl > 5) lvl = 5;
-
-    tags = (new Array(8 - lvl)).join('=');
-    insertTags(edid, tags+' ', ' '+tags+"\n", props.text);
-    pickerClose();
-    return false;
-}
-
-
-/**
- * Add button action for picker buttons and create picker element
- *
- * @param  jQuery      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++);
-    var picker = createPicker(pickerid, props, edid);
-    jQuery(picker).attr('aria-hidden', 'true');
-
-    $btn.click(
-        function(e) {
-            pickerToggle(pickerid,$btn);
-            e.preventDefault();
-            return '';
-        }
-    );
-
-    return pickerid;
-}
-
-/**
- * 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) {
-    dw_linkwiz.init(jQuery('#'+edid));
-    jQuery($btn).click(function(e){
-        dw_linkwiz.val = props;
-        dw_linkwiz.toggle();
-        e.preventDefault();
-        return '';
-    });
-    return 'link__wiz';
-}
-
-
-/**
- * Show/Hide a previously created picker window
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function pickerToggle(pickerid,$btn){
-    var $picker = jQuery('#' + pickerid),
-        pos = $btn.offset();
-    if ($picker.hasClass('a11y')) {
-        $picker.removeClass('a11y').attr('aria-hidden', 'false');
-    } else {
-        $picker.addClass('a11y').attr('aria-hidden', 'true');
-    }
-    var picker_left = pos.left + 3,
-        picker_width = $picker.width(),
-        window_width = jQuery(window).width();
-    if (picker_width > 300) {
-        $picker.css("max-width", "300");
-        picker_width = 300;
-    }
-    if ((picker_left + picker_width + 40) > window_width) {
-        picker_left = window_width - picker_width - 40;
-    }
-    if (picker_left < 0) {
-        picker_left = 0;
-    }
-    $picker.offset({left: picker_left, top: pos.top+$btn[0].offsetHeight+3});
-}
-
-/**
- * Close all open pickers
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function pickerClose(){
-    jQuery('.picker').addClass('a11y');
-}
-
-
-/**
- * Replaces \n with linebreaks
- */
-function fixtxt(str){
-    return str.replace(/\\n/g,"\n");
-}
-
-jQuery(function () {
-    initToolbar('tool__bar','wiki__text',toolbar);
-    jQuery('#tool__bar').attr('role', 'toolbar');
-});