مدیاویکی:IndexForm.js
ظاهر
نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- Edge: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
/********************************
enhanced form for index pages
*********************************/
function set_index_field(name,value,on_book,on_collection,on_journal,on_phdthesis, on_dictionary){
var f = document.getElementsByName('wpprpindex-' + name)[0];
if(!f) return;
f = f[0];
if(f) {
if( (value=="book" && on_book) || (value=="journal" && on_journal) || (value=="collection" && on_collection) || (value=="phdthesis" && on_phdthesis) || value=="dictionary" && on_dictionary ) {
f.disabled=false;
f.parentNode.parentNode.style.display="";
} else {
f.disabled=true;
f.parentNode.parentNode.style.display="none";
}
}
}
function type_changed(f,value) {
//see http://www.easybib.com/reference/guide/apa/dictionary
set_index_field( ws_msg('نویسنده'), value, 1, 1, 0, 1, 0);
set_index_field( ws_msg('مترجم'), value, 1, 1, 0, 0, 0);
set_index_field( ws_msg('ویراستار'), value, 1, 1, 1, 0, 1);
set_index_field( ws_msg('جای ناشر'), value, 1, 1, 1, 0, 1);
set_index_field( ws_msg('ناشر'), value, 1, 1, 1, 0, 1);
set_index_field( ws_msg('جلد'), value, 1, 1, 1, 0, 1);
set_index_field( ws_msg('مدرسه'), value, 0, 0, 0, 1, 0);
}
function progress_select_value() {
var select;
if (!self.ws_messages || !self.ws_messages['progress_select']) {
select = "<option value='' selected=true></option>" +
"<option value='T'>" + ws_msg('progress_T') + "</option>" +
"<option value='V'>" + ws_msg('progress_V') + "</option>" +
"<option value='C'>" + ws_msg('progress_C') + "</option>" +
"<option value='MS'>"+ ws_msg('progress_MS')+ "</option>" +
"<option value='OCR'>"+ws_msg('progress_OCR')+"</option>" +
"<option value='X'>" + ws_msg('progress_X') + "</option>" +
"<option value='L'>" + ws_msg('progress_L') + "</option>";
} else {
select = self.ws_messages['progress_select'];
}
return select;
}
function index_choices(){
if( mw.config.get( 'wgCanonicalNamespace' ) == "Index" ) {
var f = document.editform;
var value = "book";
if(f) {
var a = f['wpprpindex-Type'];
if(a) {
value = a.value;
a.parentNode.innerHTML="<select onchange=\"type_changed(this.form,this.options[this.selectedIndex].value);\" name=\"wpprpindex-Type\">"
+"<option value=\"book\" selected=true>" + ws_msg('book') + "</option>"
+"<option value=\"collection\">" + ws_msg('collection') + "</option>"
+"<option value=\"journal\">" + ws_msg('journal') + "</option>"
+"<option value=\"phdthesis\">" + ws_msg('phdthesis') + "</option>"
+"<option value=\"dictionary\">" + ws_msg('dictionary') + "</option>"
+"</select>";
a = f['wpprpindex-Type'];
for (var i=0; i < a.length; i++) {
if (a[i].value == value) a[i].selected = true;
}
if(value=="") value="book";
type_changed(f,value);
}
var page = mw.config.get( 'wgPageName' );
var suffix = page.substring( 'page.length-4', 'page.length' ).toLowerCase();
if( suffix=='djvu' || suffix=='.pdf' ) {
var m_source = 'wpprpindex-' + ws_msg('Source');
set_index_field( m_source, value, 0, 0, 0, 0, 0);
f = document.getElementsByName(m_source)[0];
if(f) {
if( suffix=='djvu' ) f.value='djvu';
if( suffix=='.pdf' ) f.value='pdf';
}
f = document.getElementsByName( 'wpprpindex-' + ws_msg('Image'))[0];
if(f && f.value=="") f.value="1";
f = document.getElementsByName( 'wpprpindex-' + ws_msg('Pages'))[0];
if(f && f.value=="") f.value="<pagelist />";
}
var a = document.getElementsByName('wpprpindex-' + ws_msg('progress'))[0];
if(a) {
value = a.value;
a.parentNode.innerHTML= "<select name='"+ 'wpprpindex-' + ws_msg('progress') + "'>" +
progress_select_value() +
"</select>";
a = document.getElementsByName('wpprpindex-' + ws_msg('progress'))[0];
for (var i=0; i < a.length; i++) {
if (a[i].value == value) a[i].selected = true;
}
}
}
}
}
$(index_choices);