Hopp til innhold

MediaWiki:IndexForm.js

Fra Wikikilden

Merk: Etter publisering vil det kanskje være nødvendig å slette mellomlageret i nettleseren din for å se endringene.

  • Firefox / Safari: Hold Shift mens du klikker på Oppdater, eller trykk enten Ctrl+F5 eller Ctrl+R (⌘+R på Mac)
  • Google Chrome: Trykk Ctrl+Shift+R (⌘+Shift+R på Mac)
  • Edge: Hold Ctrl mens du trykker på Oppdater eller trykk Ctrl+F5
/********************************
  enhanced form for index pages
*********************************/


function set_index_field(name,value,on_book,on_collection,on_journal,on_phdthesis, on_dictionary){
	f = document.getElementsByName(pr_msg(name))[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

	var m_author     = { 'en':'Author', 'fr':'Auteur', 'no':'Forfatter' }
        var m_translator = { 'en':'Translator', 'fr':'Traducteur','no':'Oversetter' }
        var m_editor     = { 'en':'Editor', 'fr':'Éditeur scientifique','no':'Utgiver' }
        var m_publisher  = { 'en':'Publisher', 'fr':'Éditeur','no':'Forlag' }
        var m_place      = { 'en':'Place', 'fr':'Lieu','no':'Sted' }
        var m_volume     = { 'en':'Volume', 'fr':'Volume','no':'Bind' }
        var m_school     = { 'en':'School', 'fr':'School','no':'Institusjon' }

	set_index_field(m_author,    value, 1, 1, 0, 1, 0);
	set_index_field(m_translator,value, 1, 1, 0, 0, 0);
	set_index_field(m_editor,    value, 1, 1, 1, 0, 1);
	set_index_field(m_place,     value, 1, 1, 1, 0, 1);
	set_index_field(m_editor,    value, 1, 1, 1, 0, 1);
	set_index_field(m_volume,    value, 1, 1, 1, 0, 1);
	set_index_field(m_school,    value, 0, 0, 0, 1, 0);
}


function index_choices(){
	if(mw.config.get('wgCanonicalNamespace')=="Livre"||mw.config.get('wgCanonicalNamespace')=="Index"||mw.config.get('wgCanonicalNamespace')=="Indeks") {
		var f = document.editform;
		if(f) {
			var a = f.Type;
			if(a) {
                                var m_book       = { 'en':'Book', 'fr':'Livre', 'no':'Bok' }
                                var m_collection = { 'en':'Collection', 'fr':'Recueil', 'no':'Samling' }
                                var m_journal    = { 'en':'Journal or magazine', 'fr':'Journal ou magazine', 'no':'Tidsskrift eller blad' }
                                var m_phdthesis  = { 'en':'Thesis, report', 'fr':'Thèse, rapport', 'no':'Avhandling, rapport' }
                                var m_dictionary = { 'en':'Dictionary', 'fr':'Dictionnaire, encyclopédie, ouvrage de référence', 'no':'Oppslagsverk' }

				value = a.value;
				a.parentNode.innerHTML="<select onchange=\"type_changed(this.form,this.options[this.selectedIndex].value);\" name=\"Type\">"
+"<option value=\"book\" selected=true>" + pr_msg(m_book) + "</option>"
+"<option value=\"collection\">" + pr_msg(m_collection) + "</option>"
+"<option value=\"journal\">" + pr_msg(m_journal) + "</option>"
+"<option value=\"phdthesis\">" + pr_msg(m_phdthesis) + "</option>"
+"<option value=\"dictionary\">" + pr_msg(m_dictionary) + "</option>" 
+"</select>";
				a = f.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 suffix = mw.config.get('wgPageName').substring(mw.config.get('wgPageName').length-4,mw.config.get('wgPageName').length).toLowerCase();
			if( suffix=='djvu' || suffix=='.pdf') {
				var m_source     = { 'en':'Source', 'fr':'Source', 'no':'Kilde' }
				set_index_field(m_source,    value, 0, 0, 0, 0, 0);
				if( suffix=='djvu' ) f.Kilde.value='djvu';
				if( suffix=='.pdf' ) f.Kilde.value='pdf';
				if(f.Bilde.value=="") f.Bilde.value="1";
                                if(f.Sider.value=="") f.Sider.value="<pagelist />";
			}


			var m_T   = { 'en':'Done', 'fr':'Terminé', 'no':'Ferdig' }
                        var m_V   = { 'en':'To be validated', 'fr':'À valider', 'no':'Må valideres' }
                        var m_C   = { 'en':'To be proofread', 'fr':'À corriger', 'no':'Må korrekturleses' }
                        var m_MS  = { 'en':'Ready for Match & Split', 'fr':'Texte prêt à être découpé (match & split)', 'no':'Klar for klipp og lim' }
                        var m_OCR = { 'en':'Needs an OCR text layer', 'fr':'Ajouter une couche texte OCR', 'no':'Trenger OCR-tekst' }
                        var m_X   = { 'en':'Source file is an excerpt of a larger volume, or a mixture of several sources', 'fr':'Source incomplète (extrait) ou compilation de sources différentes', 'no':'Kildefilen er et utdrag av et større verk, eller en sammensetning fra flere kilder' }
                        var m_L   = { 'en':'Source file is incorrect (missing pages, unordered pages, etc)', 'fr':'Fichier défectueux (lacunes, pages dans le désordre, etc)', 'no':'Kildefilen er ufullstendig (manglende sider, feil rekkefølge o. l.' }
 
                        var m_progress   = pr_msg({ 'en':'Progress', 'fr':'Avancement', 'no':'Fremgang' })
			var a = document.getElementsByName(m_progress)[0];
			if(a) {
				value = a.value;
				a.parentNode.innerHTML="<select name=\""+ m_progress + "\">"
+"<option value=\"\" selected=true></option>"
+"<option value=\"T\">" + pr_msg(m_T) + "</option>"
+"<option value=\"V\">" + pr_msg(m_V) + "</option>"
+"<option value=\"C\">" + pr_msg(m_C) + "</option>"
+"<option value=\"MS\">"+ pr_msg(m_MS)+ "</option>"
+"<option value=\"OCR\">"+pr_msg(m_OCR)+"</option>"
+"<option value=\"X\">" + pr_msg(m_X) + "</option>"
+"<option value=\"L\">" + pr_msg(m_L) + "</option>"
+"</select>";
				a = document.getElementsByName(m_progress)[0];
				for (var i=0; i < a.length; i++) {
					if (a[i].value == value) a[i].selected = true;
				}
			}

                        var m_NB   = { 'no':'Bokmål/riksmål' }
                        var m_NN   = { 'no':'Nynorsk/landsmål' }

                        var m_language   = pr_msg({ 'no':'Målform' })
			var l = document.getElementsByName(m_language)[0];
                        if(l) {
				value = l.value;
				l.parentNode.innerHTML="<select name=\""+ m_language + "\">"
+"<option value=\"\" selected=true></option>"
+"<option value=\"NB\">" + pr_msg(m_NB) + "</option>"
+"<option value=\"NN\">" + pr_msg(m_NN) + "</option>"
+"</select>";
				l = document.getElementsByName(m_language)[0];
				for (var i=0; i < l.length; i++) {
					if (l[i].value == value) l[i].selected = true;
				}
                        }
		}
	}
}
hookEvent("load",index_choices);