Участник:DonRumata/tablifikator.js

// Форматирует таблицу, скопированную из Excel, по правилам вики-разметки.
// Оригинальный код Участник:X-romix/tablifikator.js

function tablifikatorFunc()
{
	var focus = $( ':focus' );
	if (focus) {
		var oldText = focus.textSelection('getSelection');
		if (oldText) {
			var isFirstColumnHead = confirm('Вы хотите оформить первую колонку как заголовок?');
			newText = oldText.replace(/^\s+|\s+$/g, '');  // Обрезаем пробелы слева и справа
			var lines = newText.split("\n");
			newText = '\n{| class="standard"\n'; 
			for (var i=0; i < lines.length; i++) { 
				newText = newText + "|-\n";
				var line = lines[i];
				var cells = line.split("\t");
				for (var j=0; j < cells.length; j++) {
					var cell = cells[j];
					if ((isFirstColumnHead && (j === 0)) || (i === 0)) {
						newText = newText + "! " + cell + "\n";
					} else {
						newText = newText + "| " + cell + "\n";
					}  
				}  
			}  
			newText = newText + "|}";
			// replace text
			focus.textSelection( 'encapsulateSelection', {
				replace: true,
				peri: newText
			} );
		}
	}
}

var customizeToolbar = function() {
    $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'group': 'format',
        'tools': {
            'tablifikator': {
                label: 'Tablifikator', // or use labelMsg for a localized label, see above
                type: 'button',
                icon: '//upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Maket_icon.svg/20px-Maket_icon.svg.png',
                action: {
                    'type': 'callback',
                    'execute': tablifikatorFunc
                }
            }
        }
    } );
};

if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
    mw.loader.using( ['user.options', 'jquery.textSelection'], function () {
        if ( mw.user.options.get('usebetatoolbar') === 1 ) {
			$.when(
				mw.loader.using( 'ext.wikiEditor' ),
					$.ready
			).then( customizeToolbar );
		}
    } );
}

 

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia