Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
// Written by <nowiki>[[User:Shining-Armor]]
var ctt = window.ctt || {};
ctt.FormHTML = '\
<form method="" name="" class="WikiaForm "> \
<fieldset> \
<p>File delimiter: \
<input type="text" id="csv-2-table-delimiter" value="" /> \
</p> \
<p>Valid CSV document.</p> \
<textarea style="height: 20em; width: 80%;" id="csv-2-table-document"/> \
</fieldset> \
</form>';
ctt.startParse = function(doc, del) {
if (!doc) {
alert('You must enter a valid CSV document to be parsed.');
return;
} else if (!del) {
alert('You must enter a CSV delimiter.');
return;
}
var file = "{| class=\"wikitable\"\n";
var lines = doc.split("\n");
var headers = lines[0].split(del);
var keys = [];
for (var i = 0; i < headers.length; i++) {
file += "! " + headers[i] + "\n";
}
file += "|-\n";
lines.shift();
for (var i = 0; i < lines.length; i++) {
keys = lines[i].split(del);
for (var j = 0; j < keys.length; j++) {
if (j === 0) {
file += "| " + keys[j];
} else {
file += " || " + keys[j];
}
}
file += "\n|-\n";
}
file += "|}";
$('#csv-2-table-document').val(file);
};
ctt.closeModal = function() {
$('#form-csv2table').closeModal();
};
ctt.showModal = function() {
$.showCustomModal('CSV 2 Table', ctt.FormHTML, {
id: 'form-csv2table',
width: 500,
buttons: [{
id: 'start-button',
message: 'Convert',
defaultButton: true,
handler: function () {
var doc = $('#csv-2-table-document').val();
var del = $('#csv-2-table-delimiter').val();
ctt.startParse(doc, del);
}
}, {
message: 'Cancel',
handler: function() {
ctt.closeModal();
}
}]
});
};
ctt.init = function() {
if (mw.config.get('skin') === 'monobook') {
mw.util.addPortletLink('p-tb', '#', 'CSV 2 Table', 't-csv');
} else {
$('#my-tools-menu').prepend('<li class="custom"><a style="cursor:pointer" id="t-csv">CSV 2 Table</a></li>');
}
document.getElementById('t-csv').addEventListener('click', function() {
ctt.showModal()
});
};
$(document).ready(function() {
ctt.init();
});</nowiki>
importArticles({
<nowiki> </nowiki> type: 'script',
<nowiki> articles: [
</nowiki> 'u:dev:MediaWiki:PurgeButton/code.js',
<nowiki> ]
});</nowiki>