User:逆襲的天邪鬼/Twinkle-lzh/twinkleclose.js: Difference between revisions
User:逆襲的天邪鬼/Twinkle-lzh/twinkleclose.js (view source)
Revision as of 04:12, 31 May 2017
, 6 years agono edit summary
(Created page with "//<nowiki> // vim: set noet sts=0 sw=8: (function($){ /* **************************************** *** twinkleclose.js: XFD closing module ******************************...") |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 3:
(function ($) {
Line 16:
Twinkle.close = function twinkleclose() {
if ( !Morebits.userIsInGroup('sysop') ||
return;
}
Line 27:
};
// 把section序号直接标在h1、h2和h3上以免在用某些编辑器时不正常
$('h1:has(.mw-headline),h2:has(.mw-headline),h3:has(.mw-headline)', '#bodyContent').each(function (index, current) {
current.setAttribute('data-section', index + 1);
});
var selector = ':has(.mw-headline a:only-of-type):not(:has(+ div.
var titles = $('#bodyContent').find('h2' + selector + ':not(:has(+ p + h3)), h3' + selector); // really needs to work on
Line 38:
var delLink = document.createElement('a');
delLink.appendChild( spanTag( 'Black', '[' ) );
delLink.appendChild( spanTag( 'Red', '
delLink.appendChild( spanTag( 'Black', ']' ) );
delNode.appendChild(delLink);
Line 68:
// Keep this synchronized with {{delh}}
Twinkle.close.codes = {
'
'
label: '
action: 'keep'
},
'
label: '重
action: 'keep'
},
'
label: '
action: 'keep'
},
},
'
'
label: '
action: 'keep'
},
'
label: '
action: 'keep'
},
'
label: '
action: 'keep'
},
},
'
'
label: '
action: 'del',
selected: true
},
'
label: '
action: 'del'
},
},
'
},
'其他
'
label: '
action: 'noop'
},
'
label: '
action: 'noop'
},
'
label: '
action: 'noop'
},
'
label: '
action: 'noop'
},
'
label: '
action: 'keep'
}
Line 213 ⟶ 135:
Twinkle.close.callback = function twinklecloseCallback(title, section, noop) {
var Window = new Morebits.simpleWindow( 400, 150 );
Window.setTitle( "
Window.setScriptName( "Twinkle" );
var form = new Morebits.quickForm( Twinkle.close.callback.evaluate );
Line 221 ⟶ 142:
form.append( {
type: 'select',
label: '
name: 'sub_group',
event: Twinkle.close.callback.change_code
Line 229 ⟶ 150:
type: 'input',
name: 'remark',
label: '
} );
Line 236 ⟶ 157:
list: [
{
label: '只
value: 'noop',
name: 'noop',
Line 331 ⟶ 252:
break;
case 'keep':
var wikipedia_page = new Morebits.wiki.page( params.title, '移除
wikipedia_page.setCallbackParameters( params );
wikipedia_page.load( Twinkle.close.callbacks.keep );
break;
default:
alert("Twinkle.close:未定
return;
}
Line 346 ⟶ 267:
Morebits.wiki.addCheckpoint();
var page = new Morebits.wiki.page( params.title, "
page.setEditSummary( '
page.deletePage(function() {
page.getStatusElement().info("完成");
Line 359 ⟶ 280:
if (!pageobj.exists()) {
statelem.error( "
return;
}
Line 366 ⟶ 287:
var params = pageobj.getCallbackParameters();
var newtext = text.replace(/<noinclude>\s*\{\{(afd|議刪)\|[^{}]*?\}\}\s*<\/noinclude>\s*/gi, '');
newtext = newtext.replace(/\{\{(afd|議刪)\|[^{}]*?\}\}\s*/gi, '');
if (newtext === text) {
statelem.warn("未找到
Twinkle.close.callbacks.talkend( params );
return;
}
var editsummary = '
pageobj.setPageText(newtext);
Line 401 ⟶ 308:
talkend: function (params) {
var wikipedia_page = new Morebits.wiki.page(mw.config.get('wgPageName'), '
wikipedia_page.setCallbackParameters(params);
wikipedia_page.setPageSection(params.section);
Line 411 ⟶ 318:
var params = pageobj.getCallbackParameters();
if (text.indexOf('{{
statelem.error( "
return;
}
var
if (params.remark) {
text += ':' + params.remark;
} else {
text += '。';
}
text = text + '--~~~~}}\n' + split.slice(1).join('\n') + '\n{{結案-尾}}';
pageobj.setPageText(text);
Line 455 ⟶ 344:
$('strong a[href=#' + params.section + '] span').css('color', 'grey');
}
};
})(jQuery);
|