Utilisateur:Phe/IndexForm.js

La bibliothèque libre.

Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
/********************************
  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('author'),     value, 1, 1, 0, 1, 0);
	set_index_field( ws_msg('translator'), value, 1, 1, 0, 0, 0);
	set_index_field( ws_msg('editor'),     value, 1, 1, 1, 0, 1);
	set_index_field( ws_msg('place'),      value, 1, 1, 1, 0, 1);
	set_index_field( ws_msg('publisher'),     value, 1, 1, 1, 0, 1);
	set_index_field( ws_msg('volume'),     value, 1, 1, 1, 0, 1);
	set_index_field( ws_msg('school'),     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);