MediaWiki:DRN-wizard.js
外观
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
// <nowiki>
// 2020-03-09 - 「deconverted from Gadget」只在一個頁面上使用,現在直接從 [[Wikipedia:爭議解決布告板/請求]] 進行呼叫。
mw.loader.using( 'ext.gadget.HanAssist' ).then( ( require ) => {
const { conv, convByVar } = require( 'ext.gadget.HanAssist' );
/**
* This is the main object that holds the state for everything
*/
function drw() {
//Keep track of what step we are on
this.wizard_step = 0;
//Has the admin attempted to resolve this on the talk page
this.talkpage = false;
//Title of Article
this.article_title = '';
//Description of dispute
this.dispute_description = '';
//Involved users
this.involved_users = [mw.config.get( 'wgUserName' )];
//Previous forums
this.previous_forums = '';
//Desired Outcome
this.desired_outcome = '';
//Page where the report will be posted
this.post_link = '';
// Draw text box
this.drawTitleInput = function() {
//Appends to $( '#drwContent1' )
$( '#drwContent1' ).append( '<h3>' + conv( { hant: '發生編輯爭議的頁面', hans: '发生编辑争议的页面' } ) + '</h3>' );
$( '#drwContent1' ).append( '<p>'
+ conv( {
hant: '請提供發生編輯爭議的條目或頁面的名稱。',
hans: '请提供发生编辑争议的条目或页面的名称。'
} ) + '<br>'
+ conv( {
hant: '例如,如果爭議在「<nowiki>澳大利亚</nowiki>」條目,則請輸入「<b><nowiki>澳大利亚</nowiki></b>」,而非<nowiki>[[澳大利亚]]</nowiki>或「<nowiki/>https://zh.wikipedia.org/wiki/澳大利亚<nowiki/>」。請注意標題繁簡。',
hans: '例如,如果争议在「<nowiki>澳大利亚</nowiki>」条目,则请输入「<b><nowiki>澳大利亚</nowiki></b>」,而非<nowiki>[[澳大利亚]]</nowiki>或「<nowiki/>https://zh.wikipedia.org/wiki/澳大利亚<nowiki/>」。请注意标题简繁。'
} ) + '</p>'
);
var inputbox = $( document.createElement( 'input' ) );
inputbox.attr( {
type: 'text',
name: 'article_title',
value: this.article_title
} );
inputbox.change( function() {
gDRW.article_title = this.value.replace( 'https://', 'http://' ).replace( 'http://zh.wikipedia.org/wiki/', '' ).replace( '_', ' ' ).replace( '[[', '' ).replace( ']]', '' );
} );
$( '#drwContent1' ).append( inputbox );
};
// Draw description textarea
this.drawDescriptionInput = function() {
//Appends to $( '#drwContent1' )
$( '#drwContent1' ).append( '<h3>' + conv( { hant: '爭議概況', hans: '争议概况' } ) + '</h3>' );
$( '#drwContent1' ).append( '<p>'
+ conv( {
hant: '是什麼爭議需要協助調解?請略述爭議的情況(包括緣由及各方的編輯行為)。',
hans: '是什么争议需要协助调解?请略述争议的情况(包括缘由及各方的编辑行为)。'
} ) + '</p>' );
var desc = $( document.createElement( 'textarea' ) );
desc.attr( {
rows: 6,
cols: 60,
maxlength: 500
} );
desc.text( this.dispute_description );
desc.change( function() {
gDRW.dispute_description = this.value;
} );
desc.on( 'keyup', function() {
$( '#taCount' ).text( '' + this.value.length + ' / 500' );
} );
$( '#drwContent1' ).append( desc );
$( '#drwContent1' ).append( $( '<p id="taCount">' + this.dispute_description.length + ' / 500</p>' ) );
};
// Involved users
this.drawUserInput = function() {
//Appends to $( '#drwContent1' )
$( '#drwContent1' ).append( '<h3>' + conv( { hk: '涉事用戶', tw: '涉事使用者', hans: '涉事用户' } ) + '</h3>' );
$( '#drwContent1' ).append( '<p>'
+ conv( {
hk: '這次爭議還涉及哪些用戶?請在下方鍵入用戶名(不帶「User:」前綴),並以半形逗號(,)分列。請謹記通知他們參與此討論。',
tw: '這次爭議還涉及哪些使用者?請在下方鍵入使用者名稱(不帶「User:」前綴),並以半形逗號(,)分列。請謹記通知他們參與此討論。',
hans: '这次争议还涉及哪些用户?请在下方键入用户名(不带「User:」前缀),并以半形逗号(,)分列。请谨记通知他们参与此讨论。'
} ) + '</p>' );
var inputbox = $( document.createElement( 'input' ) );
inputbox.attr( {
type: 'text',
name: 'involved_users',
value: this.involved_users.join( ', ' )
} );
inputbox.change( function() {
gDRW.involved_users = this.value.split( /,,/g ).map( function ( involved_user ) { return involved_user.trim(); } );
} );
$( '#drwContent1' ).append( inputbox );
};
// Draw previous forums
this.drawPreviousInput = function() {
//Appends to $( '#drwContent1' )
$( '#drwContent1' ).append( '<h3>' + conv( { hant: '解決爭議', hans: '解决争议' } ) + '</h3>' );
$( '#drwContent1' ).append( '<p>' + conv( {
hant: '到目前為止,您已經嘗試過哪些途徑解決這次爭議?請提供這些討論的連結,使用逗號或換行分隔。例如:',
hans: '到目前为止,您已经尝试过哪些途径解决这次争议?请提供这些讨论的链接,使用逗号或换行分隔。例如:'
} ) + '<br>' );
$( '#drwContent1' ).append('<ul>' +
'<li style="font-family:monospace;"><nowiki>[[Talk:澳大利亞#從資訊框移除高等法院院長]]</li>' +
'<li style="font-family:monospace;"><nowiki>[https://zh.wikipedia.org/wiki/Talk:澳大利亞#從資訊框移除高等法院院長 Talk:澳大利亞]</li>' +
'</ul>' );+
$( '#drwContent1' ).append(
'<u>' + conv( {
hant: '您近期至少應在相關條目的討論頁上充分嘗試討論。',
hans: '您近期至少应在相关条目的讨论页上充分尝试讨论。'
} ) + '</u>' +
'<br><b style="color:red">' + conv( {
hant: '注意:</b>如果未提供合適的討論連結,您的請求可能會被自動關閉。',
hans: '注意:</b>如果未提供合适的讨论链接,您的请求可能会被自动关闭。'
} ) + '</b></font></p>'
);
var desc = $( document.createElement( 'textarea' ) );
desc.attr( {
rows: 3,
cols: 60,
maxlength: 500
} );
desc.text( this.previous_forums );
desc.change( function() {
gDRW.previous_forums = this.value;
} );
desc.on( 'keyup', function() {
$( '#pcCount' ).text( '' + this.value.length + ' / 500' );
} );
$( '#drwContent1' ).append( desc );
$( '#drwContent1' ).append( $( '<p id="pcCount">' + this.previous_forums.length + ' / 500</p>' ) );
};
// Draw outcome textarea
this.drawOutcomeInput = function() {
//Appends to $( '#drwContent1' )
$( '#drwContent1' ).append( '<p>' + conv( { hant: '您希望我們如何協助您解決這次爭議?', hans: '您希望我们如何协助您解决这次争议?' } ) + '</p>' );
var desc = $( document.createElement( 'textarea' ) );
desc.attr( {
rows: 5,
cols: 60,
maxlength: 500
} );
desc.text( this.desired_outcome );
desc.change( function() {
gDRW.desired_outcome = this.value;
} );
desc.on( 'keyup', function() {
$( '#ocCount' ).text( '' + this.value.length + ' / 500' );
} );
$( '#drwContent1' ).append( desc );
$( '#drwContent1' ).append( $( '<p id="ocCount">' + this.desired_outcome.length + ' / 500</p>' ) );
};
// Draw the summary content
this.drawDRWSummary = function() {
//Appends to $( '#drwContent1' )
//$( '#drwContent1' ).append( list );
//Article Title
$( '#drwContent1' ).append( '<h3>' + conv( { hant: '發生編輯爭議的頁面', hans: '发生编辑争议的页面' } ) + '</h3>' );
$( '#drwContent1' ).append( $( '<p></p>' ).text( this.article_title ) );
//Dispute Description
$( '#drwContent1' ).append( '<h3>' + conv( { hant: '爭議概況', hans: '争议概况' } ) + '</h3>' );
$( '#drwContent1' ).append( $( '<p></p>' ).text( this.dispute_description ) );
//Users involved
$( '#drwContent1' ).append( '<h3>' + conv( { hk: '涉事用戶', tw: '涉事使用者', hans: '涉事用户' } ) + '</h3>' );
$( '#drwContent1' ).append( $( '<p></p>' ).text( this.involved_users.join(', ') ) );
//Previous forums
$( '#drwContent1' ).append( '<h3>' + conv( { hant: '解決爭議', hans: '解决争议' } ) + '</h3>' );
$( '#drwContent1' ).append( '<h4>' + conv( { hant: '嘗試過的爭議解決途徑', hans: '尝试过的争议解决途径' } ) + '</h4>' );
$( '#drwContent1' ).append( $( '<p></p>' ).text( this.previous_forums ) );
//Desired Outcome
$( '#drwContent1' ).append( '<h4>' + conv( { hant: '您希望我們如何協助您解決這次爭議?', hans: '您希望我们如何协助您解决这次争议?' } ) + '</h4>' );
$( '#drwContent1' ).append( $( '<p></p>' ).text( this.desired_outcome ) );
};
// Generate a WikiText string, representing the report.
// Returns a string of wikitext
this.getWikitextReport = function() {
//Returns string of wikitext for submission to DR page
var report = "{{DR case status}}\n{{subst:DNAU|28}}<!-- REMEMBER TO REMOVE THE PREVIOUS COMMENT WHEN CLOSING THIS THREAD! -->\n{{drn filing editor|{{subst:REVISIONUSER}}|~~~~~}}\n\n";
//On Talk Page
report += "<span style=\"font-size:110%\">'''您是否已在討論頁上針對這個問題進行過討論?'''</span>\n";
report += '\n' + ( ( this.talkpage ) ? '是的,我已經在討論頁上討論過了。' : '還沒。' ) + '\n\n';
//Article Title
report += "<span style=\"font-size:110%\">'''爭議發生地點'''</span>\n";
var articleArray = this.article_title.split( ',' );
for ( var articleIndex = 0; articleIndex < articleArray.length; articleIndex++ )
{
report += '* {{pagelinks|' + articleArray[ articleIndex ] + '}}\n';
}
//Involved users
report += "<span style=\"font-size:110%\">'''涉事用戶'''</span>\n";
var userIndex;
for ( userIndex = 0; userIndex < this.involved_users.length; userIndex++ )
{
var user = this.involved_users[ userIndex ];
user = user.trim();
if ( user ) {
report += '* {{User|' + user + '}}\n';
}
}
//Dispute Description
report += "<span style=\"font-size:110%\">'''爭議概述'''</span>\n";
report += '\n'+ this.dispute_description + '\n\n';
//Previous forums
report += "<span style=\"font-size:110%\">'''在提交到這裡之前,您嘗試過哪些方式來解決這個爭議?'''</span>\n";
report += '\n'+ this.previous_forums + '\n\n';
//Desired Outcome
report += "<span style=\"font-size:110%\">'''您覺得我們要如何協助您解決這個爭議?'''</span>\n";
report += '\n' + this.desired_outcome + '\n\n';
//User statements
var currentUser = mw.config.get( 'wgUserName' );
for ( userIndex = 0; userIndex < this.involved_users.length; userIndex++ ) {
var user = this.involved_users[ userIndex ];
if ( user != currentUser ) {
report += '====' + user + "的爭議摘要 ====\n<div style=\"font-size:smaller\">請將表述控制在500字以內。</div>\n\n";
}
}
//Discussion
report += '=== ' + this.article_title + "的條目討論 ===\n<div style=\"font-size:smaller\">在志工正式開啟案件前,請盡量減少討論。如果有需要,請在條目討論頁繼續進行討論。</div>";
return report;
};
// Returns an html string, representing the progress bar, based on the
// objects state.
this.getProgressBar = function() {
var s1_active = ( this.wizard_step == 1 ) ? ' pr-active' : '';
var s2_active = ( this.wizard_step == 2 ) ? ' pr-active' : '';
var s3_active = ( this.wizard_step == 3 ) ? ' pr-active' : '';
var s4_active = ( this.wizard_step == 4 ) ? ' pr-active' : '';
var signupbox = '<ul id="signuptopbox">';
signupbox += '<li class="s1' + s1_active + '"><span class="pr-number">1</span><span>' + conv( { hant: '介紹', hans: '介绍' } ) + '</span></li>';
signupbox += '<li class="pr-spacer' + s1_active + '"><div></div></li>';
signupbox += '<li class="s2' + s2_active + '"><span class="pr-number">2</span><span>' + conv( { hant: '爭議類型', hans: '争议类型' } ) + '</span></li>';
signupbox += '<li class="pr-spacer' + s2_active + '"><div></div></li>';
signupbox += '<li class="s2' + s3_active + '"><span class="pr-number">3</span><span>描述</span></li>';
signupbox += '<li class="pr-spacer' + s3_active + '"><div></div></li>';
signupbox += '<li class="s4' + s4_active + '"><span class="pr-number">4</span><span>' + conv( { hant: '預覽請求', hans: '预览请求' } ) + '</span></li>';
signupbox += '<li class="pr-spacer' + s4_active + '"><div></div></li>';
signupbox += '</ul>';
return signupbox;
};
this.getArticleTitle = function() {
return this.article_title;
};
this.getDisputeDescription = function() {
return this.dispute_description;
};
}
/**
* The various "show...()" functions display each of the 'screens' in the wizard
*/
function showStep1() {
gDRW.wizard_step = 1;
$( '#drwProgressBar' ).html( gDRW.getProgressBar() );
$( '#drwContent1' ).html(
'<h2>' + conv( {
hant: '尋求解決爭議',
hans: '寻求解决争议'
} ) + '</h2>' +
'<p>' +
conv( {
tw: '若您與其他編者編輯條目時未能<a href="https://zh.wikipedia.org/wiki/WP:CONSENSUS>商定</a>內容如何撰寫,並願意通過討論冷靜協商解決問題,即可使用本表格將爭端事宜提交到<a href="https://zh.wikipedia.org/wiki/WP:DRN">爭議解決布告板</a>,由<a href="https://zh.wikipedia.org/wiki/WP:DRVOLUNTEERS">志工編輯者</a>協助分析問題並化解爭端。',
hk: '若您與其他編者編輯條目時未能<a href="https://zh.wikipedia.org/wiki/WP:CONSENSUS>商定</a>內容如何撰寫,並願意透過討論冷靜協商解決問題,即可使用本表格將爭端事宜提交到<a href="https://zh.wikipedia.org/wiki/WP:DRN">爭議解決佈告板</a>,由<a href="https://zh.wikipedia.org/wiki/WP:DRVOLUNTEERS">義務編輯者</a>協助分析問題並化解爭端。',
cn: '若您与其他编者编辑条目时未能<a href="https://zh.wikipedia.org/wiki/WP:CONSENSUS>商定</a>内容如何撰写,并愿意透过讨论冷静协商解决问题,即可使用本表格将争端事宜提交到<a href="https://zh.wikipedia.org/wiki/WP:DRN">争议解决布告板</a>,由<a href="https://zh.wikipedia.org/wiki/WP:DRVOLUNTEERS">志愿编辑者</a>协助分析问题并化解争端。'
} ) +
'<h3>' + conv( {
tw: '志工編輯者可以:',
hk: '義務編輯者可以:',
cn: '志愿编辑者可以:'
} ) + '</h3>' +
'<ul>' +
'<li>' + conv( {
hant: '提供內容建議;',
hans: '提供内容建议;'
} ) + '</li>' +
'<li>' + conv( {
hant: '提供有關方針和指引的指導;',
hans: '提供有关方针和指引的指导;'
} ) + '</li>' +
'<li>' + conv( {
hant: '調解爭端,助編輯者產生<a href="https://zh.wikipedia.org/wiki/WP:CONSENSUS">共識</a>;及',
hans: '调解争端,助编辑者产生<a href="https://zh.wikipedia.org/wiki/WP:CONSENSUS">共识</a>;及'
} ) + '</li>' +
'<li>' + conv( {
hant: '確保討論環境健康,讓編輯者體現合作精神。',
hans: '确保讨论环境健康,让编辑者体现合作精神。'
} ) + '</li>' +
'</ul>' +
'<h3>' + conv( {
hant: '爭議解決<span style="color:green;">不會</span>:',
hans: '争议解决<span style="color:green;">不会</span>:'
} ) + '</h3>' +
'<ul>' +
'<li>' + conv( {
tw: '禁止其他使用者編輯',
hk: '禁止其他用戶編輯;',
hans: '禁止其他用户编辑;'
} ) + '</li>' +
'<li>' + conv( {
hant: '僅因您不喜歡而移除條目內容;',
hans: '仅因您不喜欢而移除条目内容;'
} ) + '</li>' +
'<li>' + conv( {
hant: '強迫其他編輯者執行某項操作;',
hans: '强迫其他编辑者执行某项操作;'
} ) + '</li>' +
'<li>' + conv( {
hant: '處理編輯者未自行嘗試協商的問題;',
hans: '处理编辑者未自行尝试协商的问题;'
} ) + '</li>' +
'<li>' + conv( {
hant: '處理用戶行為問題;及',
hans: '处理用户行为问题;及'
} ) + '</li>' +
'<li>' + conv( {
hant: '處理正在其他場合討論的爭議(如<a href="https:/zh.wikipedia.org/wiki/WP:RFC">徵求意見</a>或<a href="https://zh.wikipedia.org/wiki/WP:RFAR">仲裁</a>)。',
hans: '处理正在其他场合讨论的争议議(如<a href="https:/zh.wikipedia.org/wiki/WP:RFC">征求意见</a>或<a href="https://zh.wikipedia.org/wiki/WP:RFAR">仲裁</a>)。'
} ) + '</li>' +
'</ul></p>' +
'<p>' + conv( {
hant: '您是否已充分嘗試與其他編輯者在條目討論頁商討條目內容問題?',
hans: '您是否已充分尝试与其他编辑者在条目讨论页商讨条目内容问题?'
} ) + '</p>'
);
var buttons = '<a href="#top" class="button1" id="yesContentClickButton">' + conv( {
hant: '是,已經嘗試討論一段時間了',
hans: '是,已经尝试讨论一段时间了'
} ) + '</a>';
buttons += ' <a href="#top" class="button1" id="showCancelButton">' + conv( {
hant: '還沒',
hans: '还没'
} ) + '</a>';
$( '#drwButtons' ).html( buttons );
$( '#yesContentClickButton' ).click( yesContentClick );
$( '#showCancelButton' ).click( showCancel );
}
function showStep2() {
gDRW.wizard_step = 2;
$( '#drwProgressBar' ).html( gDRW.getProgressBar() );
$( '#drwContent1' ).html(
'<h2>爭議類型</h2>' +
'<p>' + conv( {
hant: '本板專門處理與條目內容相關的問題,無法處理有關其他編輯者行為的問題。這個問題是否僅涉及其他編輯者的行為?',
hans: '本板专门处理与条目内容相关的问题,无法处理有关其他编辑者行为的问题。这个问题是否仅涉及其他编辑者的行为?'
} ) + '</p>'
);
var buttons = '<a href="#top" class="button1" id="yesConductClickButton">' + conv( {
hant: '是,這是關於另一位用戶的行為問題',
hans: '是,这是关于另一位用户的行为问题'
} ) + '</a>';
buttons += ' <a href="#top" class="button1" id="showContentDisputeForm">不是</a>';
$( '#drwButtons' ).html( buttons );
$( '#yesConductClickButton' ).click( showConductCancel );
$( '#showContentDisputeForm' ).click( showStep3 );
}
function showStep3( errorMsg ) {
gDRW.wizard_step = 3;
$( '#drwProgressBar' ).html( gDRW.getProgressBar() );
var intro = '';
if ( typeof errorMsg === 'string' ) {
intro = '<p class="warning">' + errorMsg + '</p>';
}
intro +=
'<p>' +
conv( {
hant: '請填寫以下表格,讓其他編輯者瞭解爭議情況。',
hans: '请填写以下表格,让其他编辑者了解争议情况。'
} ) +
'</p><p>' +
conv( {
hant: '為確保討論精要,請注意字數限制。',
hans: '为确保讨论精要,请注意字数限制。'
} )+
'</p>';
$( '#drwContent1' ).html( intro );
gDRW.drawTitleInput();
gDRW.drawDescriptionInput();
gDRW.drawUserInput();
gDRW.drawPreviousInput();
gDRW.drawOutcomeInput();
var buttons = '<a href="#top" class="button1" id="showStep1Button">上一步</a>';
buttons += ' <a href="#top" class="button1" id="showCancelButton">取消</a>';
buttons += ' <a href="#top" class="button1" id="showStep4Button">下一步</a>';
$( '#drwButtons' ).html( buttons );
$( '#showStep1Button' ).click( showStep1 );
$( '#showCancelButton' ).click( showCancel );
$( '#showStep4Button' ).click( showStep4 );
}
function showStep4() {
var inputErrors = [];
//Check that vars were filled
if ( gDRW.article_title === '' ) {
inputErrors.push( conv( { hant: '發生編輯爭議的頁面', hans: '发生编辑争议的页面' } ) );
}
if ( gDRW.dispute_description === '' ) {
inputErrors.push( conv( { hant: '爭議概況', hans: '争议概况' } ) );
}
if ( gDRW.previous_forums === '' ) {
inputErrors.push( conv( { hant: '嘗試過的爭議解決途徑', hans: '尝试过的争议解决途径' } ) );
}
if ( gDRW.desired_outcome === '' ) {
inputErrors.push( conv( { hant: '預期成果', hans: '预期成果' } ) );
}
if ( inputErrors.length > 0 ) {
return showStep3( conv( { hant: '所有欄位都需要填寫。尚未填寫的值:', hans: '所有栏位都需要填写。尚未填写的值:' } ) + inputErrors.join( '、' ) );
}
gDRW.wizard_step = 4;
$( '#drwProgressBar' ).html( gDRW.getProgressBar() );
$( '#drwContent1' ).html( '<p>' + conv( { hant: '以下是您提供的內容摘要。請檢查是否正確再點選提交。', hans: '以下是您提供的内容摘要。请检查是否正确在点选提交。' } ) + '</p>' );
gDRW.drawDRWSummary();
var buttons = '<a href="#top" class="button1" id="showStep3Button">' + conv( {
hant: '編輯',
hans: '编辑'
} ) + '</a>';
buttons += ' <a href="#top" class="button1" id="showCancelButton">取消</a>';
buttons += ' <a href="#top" class="button1" id="doSubmitButton">保存</a>';
$( '#drwButtons' ).html( buttons );
$( '#showStep3Button' ).click( showStep3 );
$( '#showCancelButton' ).click( showCancel );
$( '#doSubmitButton' ).click( doSubmit );
}
function showResult( status ) {
$( '#drwProgressBar' ).text( '' );
if ( status == 'ok' ) {
//Show thankyou
$( '#drwContent1' ).html( '<h3>提交成功!</h3>' );
$( '#drwContent1' ).append( $( '<a>' + conv( {
hant: '點此閱覽您的請求。',
hans: '点此阅览您的请求。'
} ) + '請點選這裡來閱覽您的請求。</a>' ).attr( { href: mw.config.get( 'wgArticlePath' ).replace( '$1', gDRW.post_link ) } ) );
$( '#drwButtons' ).html( '' );
} else if ( status == 'error' ) {
//Show error
$( '#drwContent1' ).html( '<h2>' + conv( {
hant: '出現錯誤',
hans: '出现错误'
} ) + '</h2><p>' + conv( {
hant: '請重新嘗試提交。',
hans: '请重新尝试提交。'
} ) + '</p>' );
$( '#drwButtons' ).html( '<a href="#top" class="button1" id="showStep4Button">返回摘要</a>' );
$( '#showStep4Button' ).click( showStep4 );
} else {
$( '#drwContent1' ).html( '<h2>錯誤</p><p>發生了一些錯誤!</p>' );
$( '#drwButtons' ).html( '' );
}
}
function showCancel() {
gDRW.wizard_step = 0;
$( '#drwProgressBar' ).html( gDRW.getProgressBar() );
$( '#drwContent1' ).html(
'<p>' +
conv( { hant: '尋求第三方爭議解決前,請先在條目討論頁上與其他編輯者討論問題。您可以在<a href="https://zh.wikipedia.org/wiki/WP:DISCUSSIT">這個頁面</a>找到相關指導,或者您也可以在<a href="https://zh.wikipedia.org/wiki/Special:MyTalk">您的個人討論頁</a>上放置<tt>{{helpme}}</tt>模板尋求其他編輯者的協助。', hans: '寻求第三方争议解决前,请先在条目讨论页上与其他编辑者讨论问题。您可以在<a href="https://zh.wikipedia.org/wiki/WP:DISCUSSIT">这个页面</a>找到相关指导,或者您也可以在<a href="https://zh.wikipedia.org/wiki/Special:MyTalk">您的个人讨论页</a>上放置<tt>{{helpme}}</tt>模板寻求其他编辑者的协助。' } ) +
'</p>'
);
$( '#drwButtons' ).html( '<a href="#top" class="button1" id="showStep1Button">' + conv( { hant: '從頭開始', hans: '从头开始' } ) + '</a>' );
$( '#showStep1Button' ).click( showStep1 );
}
function showConductCancel() {
gDRW.wizard_step = 0;
$( '#drwProgressBar' ).html( gDRW.getProgressBar() );
$( '#drwContent1' ).html(
'<p>' +
conv( { hant: '此處只協助處理內容爭端。如果您對其他編輯者的行為有疑慮,請將問題提交至<a href="https://zh.wikipedia.org/wiki/WP:AN">管理員布告板</a>。', hans: '此处只协助处理内容争端。如果您对其他编辑者的行为有疑虑,请将问题提交至<a href="https://zh.wikipedia.org/wiki/WP:AN">管理员布告板</a>。' } ) +
'</p>'
);
$( '#drwButtons' ).html( '<a href="#top" class="button1" id="showStep1Button"></a>' );
$( '#showStep1Button' ).click( showStep1 );
}
/**
* Do the final step of the DRW and post the report to the appropriate page
*/
function doSubmit() {
//Notify user that we are doing the update
$( '#drwProgressBar' ).html( '<div style="text-align: center"><img alt="saving report" src="https://upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif"></img></div>' );
$( '#drwContent1' ).html( '<p>' + conv( { hant: '正在送出請求', hans: '正在送出请求' } ) + '......</p>' );
//Decide on the page to update
var DRPage = 'Wikipedia:爭議解決布告板'; //The default page to post this
/**
* Decide where to post this dispute resolution report. In the end, DRPage needs to hold
* the title of the page where we post the report.
*
* gDRW.dispute_type is set the short name (index) of the user-selected dispute type
* gDRW.previous_forums[ 'xxx' ] will be true if the use ticked the 'xxx' checkbox in the previous forums
*/
//Set the post-page on the DRW object
gDRW.post_link = DRPage + '#' + gDRW.article_title.replace( ' ', '_' );
//Compose Report
var report = gDRW.getWikitextReport();
//Add new section to designated page
var edittoken = mw.user.tokens.get( 'csrfToken' );
var date = new Date();
var dateString = date.toLocaleDateString();
var summary = gDRW.article_title;
addNewSection( DRPage, summary, report, edittoken );
}
/**
* Event handler functions
*/
function setDisputeForum( box ) {
//alert( 'Setting ' + gDRW.forum_labels[ box.value ] + ' to true' );
gDRW.previous_forums[ box.value ] = box.checked;
var linkboxid = 'link_' + box.value;
if ( box.checked ) {
$( '#' + linkboxid ).show();
} else {
$( '#' + linkboxid ).hide();
}
}
function updateLink( box ) {
gDRW.forum_links[ box.name ] = box.value;
}
function yesContentClick() {
gDRW.talkpage = true;
showStep2();
}
/**
* Taken almost verbatim from https://www.mediawiki.org/wiki/API:Edit
*/
function addNewSection( pagetitle, summary, content, editToken ) {
$.ajax( {
url: mw.util.wikiScript( 'api' ),
data: {
format: 'json',
action: 'edit',
title: pagetitle,
section: 'new',
summary: summary,
text: content,
token: editToken
},
dataType: 'json',
type: 'POST',
success: function( data ) {
if ( data && data.edit && data.edit.result == 'Success' ) {
//window.location.reload(); // reload page if edit was successful
showResult( 'ok' );
} else if ( data && data.error ) {
alert( 'Error: API returned error code "' + data.error.code + '": ' + data.error.info );
showResult( 'error' );
} else {
alert( 'Error: Unknown result from API.' );
showResult( 'error2' );
}
},
error: function( xhr ) {
alert( 'Error: Request failed.' );
}
} );
}
/**
* Initialization function. Test if we should place the DRW on the current page.
* Looks for a <div id="myDRW"></div> on the page.
*/
function runDRW() {
if ( $( '#myDRW' ).length ){
//importStylesheet( 'MediaWiki:Gadget-DRN-wizard.css' ); //CSS Styles for the DRW
//Setup the App's workspace
$( '#myDRW' ).html( '' );
$( '#myDRW' ).append( $( '<div id="drw_main" style="height: 100%; border : 2px black solid;"></div>' ) );
$( '#drw_main' ).append( '<div id="drwProgressBar" style="min-width: 550px; padding: 20px 25px; height: 30px; text-align: center"></div>' );
$( '#drw_main' ).append( '<div id="drwContent1" style="min-width: 500px; padding: 25px 50px"></div>' );
$( '#drw_main' ).append( '<div id="drwButtons" style="min-width: 500px; padding: 10px 50px; text-align: center"></div>' );
showStep1(); //Show the first page
}
}
var gDRW = new drw();
$( document ).ready( runDRW );
// JavaScript Document
// </nowiki>
} );