“MediaWiki:Gadget-InPageEdit.js”的版本间的差异
来自小鱼君和他的朋友们
第1行: | 第1行: | ||
function InPageEdit() { | function InPageEdit() { | ||
+ | |||
+ | var origintext; | ||
+ | |||
new mw.Api().get({ | new mw.Api().get({ | ||
action: "parse", | action: "parse", | ||
第6行: | 第9行: | ||
format: "json" | format: "json" | ||
}).then(function(data) { | }).then(function(data) { | ||
− | + | origintext = data.parse.wikitext['*']; | |
− | + | ajaxArea() | |
− | + | }).fail(function() { | |
− | + | origintext = '<!-- 注意,ajax获取文章内容失败,若为新建页面请删除此行 -->'; | |
− | + | ajaxArea() | |
− | } | + | }); |
− | + | function ajaxArea() { | |
− | |||
− | |||
// Create area & hide article | // Create area & hide article | ||
$('#mw-content-text').hide(); | $('#mw-content-text').hide(); | ||
$('#mw-content-text').before('<div id="InPageEdit">' + '<textarea id="newcontent" style="width:100%;min-height:300px"></textarea>' + '<button id="preview-btn">预览</button><button id="cancle-btn">取消</button><br/><input id="reason" placeholder="原因"> <button id="submit-btn">提交</button>' + '<div id="preview-area"></div></div>'); | $('#mw-content-text').before('<div id="InPageEdit">' + '<textarea id="newcontent" style="width:100%;min-height:300px"></textarea>' + '<button id="preview-btn">预览</button><button id="cancle-btn">取消</button><br/><input id="reason" placeholder="原因"> <button id="submit-btn">提交</button>' + '<div id="preview-area"></div></div>'); | ||
$('#InPageEdit #newcontent').val(origintext); | $('#InPageEdit #newcontent').val(origintext); | ||
− | + | ||
// Cancle | // Cancle | ||
$('#InPageEdit #cancle-btn').click(function() { | $('#InPageEdit #cancle-btn').click(function() { | ||
第28行: | 第29行: | ||
} | } | ||
}); | }); | ||
− | + | ||
// Preview | // Preview | ||
$('#InPageEdit #preview-btn').click(function() { | $('#InPageEdit #preview-btn').click(function() { | ||
第37行: | 第38行: | ||
preview: true, | preview: true, | ||
format: "json" | format: "json" | ||
− | }).then(function(data){ | + | }).then(function(data) { |
var previewcontent = data.parse.text['*']; | var previewcontent = data.parse.text['*']; | ||
− | + | ||
$('#InPageEdit #preview-area').html(previewcontent); | $('#InPageEdit #preview-area').html(previewcontent); | ||
}); | }); | ||
}); | }); | ||
− | + | ||
// Submit | // Submit | ||
$('#InPageEdit #submit-btn').click(function() { | $('#InPageEdit #submit-btn').click(function() { | ||
第60行: | 第61行: | ||
} | } | ||
}); | }); | ||
− | } | + | }; |
} | } | ||
− | $(function(){ | + | // Add button |
− | $('.action-view #p-userpagetools ul').append( | + | $(function() { |
− | + | $('.action-view #p-userpagetools ul').append($('<li>').append($('<a>').attr('href', '#_InPageEdit').text('快速编辑').click(InPageEdit))); | |
− | |||
− | |||
− | |||
}); | }); |
2019年9月23日 (一) 21:46的版本
function InPageEdit() { var origintext; new mw.Api().get({ action: "parse", page: mw.config.get('wgPageName'), prop: "wikitext", format: "json" }).then(function(data) { origintext = data.parse.wikitext['*']; ajaxArea() }).fail(function() { origintext = '<!-- 注意,ajax获取文章内容失败,若为新建页面请删除此行 -->'; ajaxArea() }); function ajaxArea() { // Create area & hide article $('#mw-content-text').hide(); $('#mw-content-text').before('<div id="InPageEdit">' + '<textarea id="newcontent" style="width:100%;min-height:300px"></textarea>' + '<button id="preview-btn">预览</button><button id="cancle-btn">取消</button><br/><input id="reason" placeholder="原因"> <button id="submit-btn">提交</button>' + '<div id="preview-area"></div></div>'); $('#InPageEdit #newcontent').val(origintext); // Cancle $('#InPageEdit #cancle-btn').click(function() { var cancleconfirm = confirm('取消吗?'); if (cancleconfirm) { $('#InPageEdit').remove(); $('#mw-content-text').show(); } }); // Preview $('#InPageEdit #preview-btn').click(function() { new mw.Api().post({ action: "parse", text: $('#InPageEdit #newcontent').val(), prop: "text", preview: true, format: "json" }).then(function(data) { var previewcontent = data.parse.text['*']; $('#InPageEdit #preview-area').html(previewcontent); }); }); // Submit $('#InPageEdit #submit-btn').click(function() { var submitconfirm = confirm('提交吗?'); if (submitconfirm) { new mw.Api().post({ action: 'edit', text: $('#InPageEdit #newcontent').val(), title: mw.config.get('wgPageName'), summary: '[InPageEdit] ' + $('#InPageEdit #reason').val(), token: mw.user.tokens.get('editToken') }).done(function() { $('#InPageEdit').html('<center style="font-weight:bold;color:green;min-height: 300px;line-height: 300px;font-size: 48px;">已提交</center>'); window.location.reload(); }); } }); }; } // Add button $(function() { $('.action-view #p-userpagetools ul').append($('<li>').append($('<a>').attr('href', '#_InPageEdit').text('快速编辑').click(InPageEdit))); });