Kamel:J*/Javascript-Spielwüste.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 70: Zeile 70:
function mk_opts( element, t )
function mk_opts( element, t )
{
{
var out = imgklick[element].opts[t.value].info + " ";
out = create_opts( element, t.value );
for ( i = 0; i<imgklick[element].opts[t.value].args.length; i++ )
document.getElementById(imgklick[element].name+"_opt").innerHTML = out;
return true;
};
 
function create_opts( element, val )
{
{
arg = imgklick[element].opts[t.value].args[i];
var out = imgklick[element].opts[val].info + " ";
for ( i = 0; i<imgklick[element].opts[val].args.length; i++ )
{
arg = imgklick[element].opts[val].args[i];
if ( arg.type == "textarea" )
if ( arg.type == "textarea" )
out += arg.info + " <textarea>"+arg.pre+"</textarea>";
out += arg.info + " <textarea>"+arg.pre+"</textarea>";
Zeile 79: Zeile 86:
out += arg.info + " <input type='" + arg.type + "' value='"+arg.pre+"' id='"+imgklick[element].name+"_arg_" + i + "'/>";
out += arg.info + " <input type='" + arg.type + "' value='"+arg.pre+"' id='"+imgklick[element].name+"_arg_" + i + "'/>";
}
}
document.getElementById(imgklick[element].name+"_opt").innerHTML = out;
return out;
return true;
}
};


function mk_add( element )
function mk_add( element )
Zeile 111: Zeile 117:
}
}
out += "</select>";
out += "</select>";
out += " <span id='" + imgklick[e].name + "_opt'>"+imgklick[e].opts[0].info+"</span> <input type='button' value='Hinzufügen' onclick='mk_add("+e+");'>";
out += " <span id='" + imgklick[e].name + "_opt'>"+create_opts( e, 0 )+"</span> <input type='button' value='Hinzufügen' onclick='mk_add("+e+");'>";
out += "</form>";
out += "</form>";
out += "</div>";
out += "</div>";

Version vom 7. April 2008, 23:13 Uhr

/* Los geht's */

var imgklick = 
[
	{
		name: "Bildtechnik",
		prefix: "Bildtechnik",
		opts: 
		[
			{
				name: "Unbekannt",
				info: "Es wurde kein Bildtyp angegeben.",
				vorlage: "Unbekannt",
				args: { /* keine */ }
			},
			{
				name: "Foto",
				info: "Das Bild wurde fotographiert",
				vorlage:"Foto",
				args: { /* keine */ }
			},
			{	
				name: "was anderes",
				info: "",
				vorlage: "?",
				args:
				[ 
					{ arg: "1", type: "text", info: "Das Bild wurde ... ", pre: ""}
				]
			}
		]
	},
	{
		name: "Quellen",
		prefix: "Bildquelle",
		opts:
		[
			{
				name: "Wikipedia",
				info: "Das Bild stammt aus der Wikipedia.",
				vorlage: "Wiki",
				args:
				[
					{ arg: "1", type: "text", info: "Bildname:", pre: "Bild:" }
				]

			},
			{
				name: "Stupidedia",
				info: "Das Bild stammt aus der Stupidedia.",
				vorlage: "Stupi",
				args:
				[
					{ arg: "1", type: "text", info: "Bildname:", pre: "Bild:" }
				]
			},
			{
				name: "Selbst",
				info: "Das Bild wurde komplett selbst erzeugt.",
				vorlage: "Selbst",
				args:
				[ /* keine */ ]
			}

		]
	}

];

function mk_opts( element, t )
{
out = create_opts( element, t.value );
document.getElementById(imgklick[element].name+"_opt").innerHTML = out;
return true;
};

function create_opts( element, val )
{
var out = imgklick[element].opts[val].info + " ";
for ( i = 0; i<imgklick[element].opts[val].args.length; i++ )
{
	arg = imgklick[element].opts[val].args[i];
	if ( arg.type == "textarea" )
		out += arg.info + " <textarea>"+arg.pre+"</textarea>";
	else
		out += arg.info + " <input type='" + arg.type + "' value='"+arg.pre+"' id='"+imgklick[element].name+"_arg_" + i + "'/>";
}
return out;
}

function mk_add( element )
{
	obj = imgklick[element].opts[document.getElementById(imgklick[element].name+"_select").value];
	var args = "";
	for( i=0; i<obj.args.length; i++ )
	{
		args += "|" + obj.args[i].arg + "=" + document.getElementById(imgklick[element].name+"_arg_"+i).value;
	}
	document.getElementById("wpUploadDescription").value += "{{"+imgklick[element].prefix+"/"+obj.vorlage+args+"}}";
};

addOnloadHook(mkALL);

function mkALL()
{
	mk_my_page();
	var out = "";
	for ( e=0; e<imgklick.length; e++ )
	{

		out += "<div style='border: 1px red dotted; margin: 5px;'>";
		out += "<form><h4>"+imgklick[e].name+" hinzufügen</h4>";
		out += "<select name='" + e + "' id='" + imgklick[e].name + "_select' size='1' onchange='mk_opts( "+e+", this );'>";
		for ( i = 0; i<imgklick[e].opts.length; i++ )
		{
			out += "<option value='" + i + "'>" + imgklick[e].opts[i].name + "</option>";
		}
		out += "</select>";
		out += " <span id='" + imgklick[e].name + "_opt'>"+create_opts( e, 0 )+"</span> <input type='button' value='Hinzufügen' onclick='mk_add("+e+");'>";
		out += "</form>";
		out += "</div>";

	}
	document.getElementById("klicktag").innerHTML = out;
};

/* Wir simulieren eine Hochladeseite */
function mk_my_page() {
document.getElementById("J_FRAME").innerHTML =  
'<form id="upload" method="post" enctype="multipart/form-data" action="#">'+
'		<table border="0">'+
'		<tbody><tr>'+
'	  '+
'			<td align="right" valign="top"><label for="wpUploadFile">Datei:</label></td>'+
'			<td align="left">'+
'				<input tabindex="1" name="wpUploadFile" id="wpUploadFile" onchange=\'fillDestFilename("wpUploadFile")\' size="40" type="file"><input name="wpSourceType" value="file" type="hidden">'+

'			</td>'+
'		</tr>'+
'		<tr>'+
'			<td align="right"><label for="wpDestFile">Dateiname:</label></td>'+
'			<td align="left">'+
'				<input tabindex="2" name="wpDestFile" id="wpDestFile" size="40" value="" onkeyup="wgUploadWarningObj.keypress();" type="text">'+
'			</td>'+
'		</tr>'+
'		<tr>'+
'			<td align="right"><label for="wpUploadDescription">Beschreibung:<br>'+
'<span style="color: rgb(192, 0, 0); font-weight: bold; text-decoration: underline; background-color: rgb(255, 255, 64);">(Quelle angeben!)</span></label></td>'+
'			<td align="left">'+
'				<textarea tabindex="3" name="wpUploadDescription" id="wpUploadDescription" rows="6" cols="80"></textarea>'+
'			</td>'+
'		</tr>'+
'		<tr>'+
'		<td></td>'+
'		<td>'+
'			<input tabindex="7" name="wpWatchthis" id="wpWatchthis" value="true" type="checkbox">'+
'			<label for="wpWatchthis">Diese Seite beobachten</label>'+
'			<input tabindex="8" name="wpIgnoreWarning" id="wpIgnoreWarning" value="true" type="checkbox">'+
'			<label for="wpIgnoreWarning">Warnungen ignorieren</label>'+
'		</td>'+
'	</tr>'+
''+
'	<tr><td colspan="2" id="wpDestFile-warning">&nbsp;</td></tr>'+
'	<tr>'+
'		<td></td>'+
'		<td align="left"><input tabindex="9" name="wpUpload" value="Datei hochladen" title="Hochladen starten [s]" accesskey="s" type="submit"></td>'+
'	</tr>'+
'	<tr>'+
'		<td></td>'+
'		<td align="left">'+
'		<div style="color: rgb(45, 100, 161); font-size: smaller;">Zum Vermeiden unnötiger Artikelversionen bitte den <b>Vorschau-Button</b> benutzen!</div>'+
''+
'		</td>'+
'	</tr>'+
''+
'	</tbody></table>'+
'	<input name="wpDestFileWarningAck" id="wpDestFileWarningAck" value="" type="hidden">'+
	'</form>';
};