Historie des PreStudenten in PreStudent-Tab

+ Zugangscode in Detail-Tab
This commit is contained in:
Manfred Kindl
2019-12-20 16:47:07 +01:00
parent 827860e9cc
commit 84393825c7
6 changed files with 284 additions and 18 deletions
+77 -4
View File
@@ -69,6 +69,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<row> <row>
<label value="Person ID" control="student-detail-textbox-person_id"/> <label value="Person ID" control="student-detail-textbox-person_id"/>
<hbox><textbox id="student-detail-textbox-person_id" readonly="true" maxlength="16" size="16"/></hbox> <hbox><textbox id="student-detail-textbox-person_id" readonly="true" maxlength="16" size="16"/></hbox>
<label value="Zugangscode" control="student-detail-zugangscode"/>
<label id="label-student-detail-link_bewerbungstool" hidden="true" value=""></label>
<label class="text-link" href="#" id="label-student-detail-zugangscode" value="" onclick="window.open(document.getElementById('label-student-detail-link_bewerbungstool').value)"/>
</row> </row>
<row> <row>
<label value="Anrede" control="student-detail-textbox-anrede"/> <label value="Anrede" control="student-detail-textbox-anrede"/>
@@ -492,6 +496,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</rows> </rows>
</grid> </grid>
</groupbox> </groupbox>
<hbox>
<spacer flex="1" />
<button id="student-prestudent-button-save" label="Speichern" oncommand="StudentPrestudentSave();" disabled="true"/>
</hbox>
<groupbox id="student-detail-groupbox-rollen"> <groupbox id="student-detail-groupbox-rollen">
<caption label="Status" /> <caption label="Status" />
<tree id="student-prestudent-tree-rolle" seltype="single" hidecolumnpicker="false" flex="1" <tree id="student-prestudent-tree-rolle" seltype="single" hidecolumnpicker="false" flex="1"
@@ -587,10 +595,75 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</template> </template>
</tree> </tree>
</groupbox> </groupbox>
<hbox> <groupbox id="student-detail-groupbox-historie">
<spacer flex="1" /> <caption label="Gesamthistorie" />
<button id="student-prestudent-button-save" label="Speichern" oncommand="StudentPrestudentSave();" disabled="true"/> <vbox flex="1">
</hbox> <tree id="historie-tree" seltype="single" hidecolumnpicker="true" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/prestudenthistorie/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100px"
persist="hidden, height"
context="historie-tree-popup"
>
<treecols>
<treecol id="historie-treecol-studiensemester_kurzbz" label="Studiensemester" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#studiensemester_kurzbz" onclick="historieTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="historie-treecol-prioritaet" label="Priorität" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#prioritaet" onclick="historieTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="historie-treecol-studiengang" label="Studiengang" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#studiengang" onclick="historieTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="historie-treecol-orgform_kurzbz" label="Organisationsform" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#orgform_kurzbz" onclick="historieTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="historie-treecol-studienplan_bezeichnung" label="Studienplan" flex="3" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#studienplan_bezeichnung" onclick="historieTreeSort()"/>
<splitter class="tree-splitter"/>
<!--<treecol id="historie-treecol-reihung_absolviert" label="Reihung absolviert" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#reihung_absolviert" onclick="historieTreeSort()"/>
<splitter class="tree-splitter"/>-->
<treecol id="historie-treecol-uid" label="UID" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#uid" onclick="historieTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="historie-treecol-status" label="Status" flex="4" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#status" onclick="historieTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="historie-treecol-prestudent_id" label="PrestudentID" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#prestudent_id" onclick="historieTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#aktiv rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#bold" label="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#studiensemester_kurzbz" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#aktiv rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#bold" label="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#prioritaet" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#aktiv rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#bold" label="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#studiengang" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#aktiv rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#bold" label="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#orgform_kurzbz" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#aktiv rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#bold" label="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#studienplan_bezeichnung" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#aktiv rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#bold" label="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#uid" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#aktiv rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#bold" label="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#status" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#aktiv rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#bold" label="rdf:http://www.technikum-wien.at/prestudenthistorie/rdf#prestudent_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</vbox>
</groupbox>
</vbox> </vbox>
</overlay> </overlay>
+20
View File
@@ -1055,6 +1055,8 @@ function StudentAuswahl()
status=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#status" )); status=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#status" ));
alias=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#alias" )); alias=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#alias" ));
matr_nr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#matr_nr" )); matr_nr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#matr_nr" ));
zugangscode=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zugangscode" ));
link_bewerbungstool=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#link_bewerbungstool" ));
//Bei Incoming wird das Menue zur Statusaenderung deaktiviert //Bei Incoming wird das Menue zur Statusaenderung deaktiviert
if(status=='Incoming') if(status=='Incoming')
@@ -1099,6 +1101,8 @@ function StudentAuswahl()
document.getElementById('student-detail-textbox-person_id').value = person_id; document.getElementById('student-detail-textbox-person_id').value = person_id;
document.getElementById('student-detail-textbox-alias').value=alias; document.getElementById('student-detail-textbox-alias').value=alias;
document.getElementById('student-detail-textbox-matr_nr').value=matr_nr; document.getElementById('student-detail-textbox-matr_nr').value=matr_nr;
document.getElementById('label-student-detail-zugangscode').value=zugangscode;
document.getElementById('label-student-detail-link_bewerbungstool').value=link_bewerbungstool;
//PreStudent Daten holen //PreStudent Daten holen
@@ -1187,6 +1191,22 @@ function StudentAuswahl()
rollentree.database.AddDataSource(StudentDetailRolleTreeDatasource); rollentree.database.AddDataSource(StudentDetailRolleTreeDatasource);
StudentDetailRolleTreeDatasource.addXMLSinkObserver(StudentDetailRolleTreeSinkObserver); StudentDetailRolleTreeDatasource.addXMLSinkObserver(StudentDetailRolleTreeSinkObserver);
var historietree = document.getElementById('historie-tree');
url_historie='<?php echo APP_ROOT;?>rdf/prestudenthistorie.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasourcesHistorie = historietree.database.GetDataSources();
while(oldDatasourcesHistorie.hasMoreElements())
{
historietree.database.RemoveDataSource(oldDatasourcesHistorie.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
historietree.builder.rebuild();
var HistorieTreeDatasource = rdfService.GetDataSource(url_historie);
HistorieTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
historietree.database.AddDataSource(HistorieTreeDatasource);
if(uid=='') if(uid=='')
{ {
//PRESTUDENT //PRESTUDENT
+166
View File
@@ -0,0 +1,166 @@
<?php
/* Copyright (C) 2006 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
require_once('../config/vilesci.config.inc.php');
require_once('../include/person.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/datum.class.php');
require_once('../include/statusgrund.class.php');
require_once('../include/studiengang.class.php');
$rdf_url='http://www.technikum-wien.at/prestudenthistorie';
$datum = new datum();
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ROLLE="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
if(isset($_GET['prestudent_id']) && is_numeric($_GET['prestudent_id']))
$prestudent_id = $_GET['prestudent_id'];
else
die('Prestudent_id muss angegeben werden');
$studiengang = new studiengang();
$studiengang->getAll('typ, kurzbz', false);
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$prestudent = new prestudent($prestudent_id);
$prestudent->getLastStatus($prestudent_id);
$prestudentGET_studiengang = $prestudent->studiengang_kz;
$prestudentGET_orgform_kurzbz = $prestudent->orgform_kurzbz;
$prestudent->getPrestudenten($prestudent->person_id);
foreach ($prestudent->result as $row)
{
$prestudentLastStatus = new prestudent();
$prestudentLastStatus->getLastStatus($row->prestudent_id);
$row->studiensemester_kurzbz = $prestudentLastStatus->studiensemester_kurzbz;
$row->ausbildungssemester = $prestudentLastStatus->ausbildungssemester;
$row->datum = $prestudentLastStatus->datum;
$row->orgform_kurzbz = $prestudentLastStatus->orgform_kurzbz;
$row->studienplan_bezeichnung = $prestudentLastStatus->studienplan_bezeichnung;
$row->status_kurzbz = $prestudentLastStatus->status_kurzbz;
if ($prestudentLastStatus->statusgrund_id != '')
{
$statusgrund = new statusgrund($prestudentLastStatus->statusgrund_id);
$row->statusgrund = $statusgrund->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];
}
else
{
$row->statusgrund = '';
}
}
// Sortiert PreStudenten nach Studiensemester
function sortPrestudents($a, $b)
{
$c = substr($b->studiensemester_kurzbz, 2) - substr($a->studiensemester_kurzbz, 2);
$c .= strcmp(substr($b->studiensemester_kurzbz, 0, 2), substr($a->studiensemester_kurzbz, 0, 2));
$c .= $a->priorisierung - $b->priorisierung;
return $c;
}
usort($prestudent->result, "sortPrestudents");
$studiensemester_kurzbz = '';
$stdsem = '';
foreach ($prestudent->result as $row)
{
// Allfällige Studentendaten laden
$uid = '';
$gruppe = '';
$status = '';
$aktiv = 'true';
$bold = '';
if ($row->status_kurzbz == 'Abgewiesener' || $row->status_kurzbz == 'Abbrecher' || $row->status_kurzbz == 'Absolvent' )
{
$aktiv = 'false';
}
$qry ="SELECT * FROM public.tbl_student WHERE prestudent_id='$row->prestudent_id'";
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>1)
{
$uid ='ACHTUNG: Mehrere Studenteneinträge vorhanden!';
}
else
{
if($row_std = $db->db_fetch_object($result))
{
$uid = $row_std->student_uid;
$gruppe = $row_std->semester.$row_std->verband.$row_std->gruppe;
}
}
}
$status = $row->status_kurzbz;
if ($row->ausbildungssemester != '')
{
$status .= ' ('.$row->ausbildungssemester.'. Semester)';
}
if ($row->statusgrund != '')
{
$status .= ' - '.$row->statusgrund;
}
if ($row->studiengang_kz == $prestudentGET_studiengang && $row->orgform_kurzbz == $prestudentGET_orgform_kurzbz)
{
$bold = 'bold';
}
echo '
<RDF:li>
<RDF:Description id="'.$row->prestudent_id.'" about="'.$rdf_url.'/'.$row->prestudent_id.'" >
<ROLLE:prestudent_id><![CDATA['.$row->prestudent_id.']]></ROLLE:prestudent_id>
<ROLLE:studiensemester_kurzbz><![CDATA['.$row->studiensemester_kurzbz.']]></ROLLE:studiensemester_kurzbz>
<ROLLE:prioritaet><![CDATA['.$row->priorisierung.']]></ROLLE:prioritaet>
<ROLLE:studiengang><![CDATA['.$studiengang->kuerzel_arr[$row->studiengang_kz].']]></ROLLE:studiengang>
<ROLLE:orgform_kurzbz><![CDATA['.$row->orgform_kurzbz.']]></ROLLE:orgform_kurzbz>
<ROLLE:studienplan_bezeichnung><![CDATA['.$row->studienplan_bezeichnung.']]></ROLLE:studienplan_bezeichnung>
<ROLLE:reihung_absolviert><![CDATA[???]]></ROLLE:reihung_absolviert>
<ROLLE:uid><![CDATA['.$uid.']]></ROLLE:uid>
<ROLLE:status><![CDATA['.$status.']]></ROLLE:status>
<ROLLE:aktiv><![CDATA['.$aktiv.']]></ROLLE:aktiv>
<ROLLE:bold><![CDATA['.$bold.']]></ROLLE:bold>
</RDF:Description>
</RDF:li>
';
}
?>
</RDF:Seq>
</RDF:RDF>
+6 -3
View File
@@ -180,6 +180,7 @@ function draw_content_liste($row)
<STUDENT:status_bestaetigung><![CDATA['.($prestudent->bestaetigtam!=''?$datum_obj->formatDatum($prestudent->bestaetigtam,'d.m.Y'):'-').']]></STUDENT:status_bestaetigung> <STUDENT:status_bestaetigung><![CDATA['.($prestudent->bestaetigtam!=''?$datum_obj->formatDatum($prestudent->bestaetigtam,'d.m.Y'):'-').']]></STUDENT:status_bestaetigung>
<STUDENT:status_datum_iso><![CDATA['.$datum_obj->formatDatum($prestudent->datum,'Y-m-d').']]></STUDENT:status_datum_iso> <STUDENT:status_datum_iso><![CDATA['.$datum_obj->formatDatum($prestudent->datum,'Y-m-d').']]></STUDENT:status_datum_iso>
<STUDENT:status_bestaetigung_iso><![CDATA['.($prestudent->bestaetigtam!=''?$datum_obj->formatDatum($prestudent->bestaetigtam,'Y-m-d'):'-').']]></STUDENT:status_bestaetigung_iso> <STUDENT:status_bestaetigung_iso><![CDATA['.($prestudent->bestaetigtam!=''?$datum_obj->formatDatum($prestudent->bestaetigtam,'Y-m-d'):'-').']]></STUDENT:status_bestaetigung_iso>
<STUDENT:zugangscode><![CDATA['.$row->zugangscode.']]></STUDENT:zugangscode>
<STUDENT:anmerkungen>'.($row->anmerkungen==''?'&#xA0;':'<![CDATA['.$row->anmerkungen.']]>').'</STUDENT:anmerkungen> <STUDENT:anmerkungen>'.($row->anmerkungen==''?'&#xA0;':'<![CDATA['.$row->anmerkungen.']]>').'</STUDENT:anmerkungen>
<STUDENT:anmerkungpre>'.($row->anmerkung==''?'&#xA0;':'<![CDATA['.$row->anmerkung.']]>').'</STUDENT:anmerkungpre> <STUDENT:anmerkungpre>'.($row->anmerkung==''?'&#xA0;':'<![CDATA['.$row->anmerkung.']]>').'</STUDENT:anmerkungpre>
@@ -222,10 +223,10 @@ function draw_content($row)
{ {
switch($row->bnaktiv) switch($row->bnaktiv)
{ {
case "t": case true:
$aktiv = "true"; $aktiv = "true";
break; break;
case "f": case false:
$aktiv = "false"; $aktiv = "false";
break; break;
default: default:
@@ -294,6 +295,8 @@ function draw_content($row)
<STUDENT:studienplan_id><![CDATA['.$prestudent->studienplan_id.']]></STUDENT:studienplan_id> <STUDENT:studienplan_id><![CDATA['.$prestudent->studienplan_id.']]></STUDENT:studienplan_id>
<STUDENT:mail_privat><![CDATA['.$mail_privat.']]></STUDENT:mail_privat> <STUDENT:mail_privat><![CDATA['.$mail_privat.']]></STUDENT:mail_privat>
<STUDENT:mail_intern><![CDATA['.(isset($row->uid)?$row->uid.'@'.DOMAIN:'').']]></STUDENT:mail_intern> <STUDENT:mail_intern><![CDATA['.(isset($row->uid)?$row->uid.'@'.DOMAIN:'').']]></STUDENT:mail_intern>
<STUDENT:zugangscode><![CDATA['.$row->zugangscode.']]></STUDENT:zugangscode>
<STUDENT:link_bewerbungstool><![CDATA['.CIS_ROOT.'addons/bewerbung/cis/registration.php?code='.$row->zugangscode.'&emailAdresse='.$mail_privat.']]></STUDENT:link_bewerbungstool>
<STUDENT:aktiv><![CDATA['.$aktiv.']]></STUDENT:aktiv> <STUDENT:aktiv><![CDATA['.$aktiv.']]></STUDENT:aktiv>
<STUDENT:uid><![CDATA['.(isset($row->uid)?$row->uid:'').']]></STUDENT:uid> <STUDENT:uid><![CDATA['.(isset($row->uid)?$row->uid:'').']]></STUDENT:uid>
@@ -475,7 +478,7 @@ if($xmlformat=='rdf')
AS email_privat, AS email_privat,
(SELECT rt_gesamtpunkte as punkte FROM public.tbl_prestudent WHERE prestudent_id=tbl_student.prestudent_id) as punkte, (SELECT rt_gesamtpunkte as punkte FROM public.tbl_prestudent WHERE prestudent_id=tbl_student.prestudent_id) as punkte,
tbl_prestudent.dual as dual, tbl_prestudent.reihungstest_id, tbl_prestudent.anmeldungreihungstest, p.matr_nr, tbl_prestudent.dual as dual, tbl_prestudent.reihungstest_id, tbl_prestudent.anmeldungreihungstest, p.matr_nr,
tbl_prestudent.gsstudientyp_kurzbz, tbl_prestudent.aufnahmegruppe_kurzbz, tbl_prestudent.priorisierung tbl_prestudent.gsstudientyp_kurzbz, tbl_prestudent.aufnahmegruppe_kurzbz, tbl_prestudent.priorisierung, p.zugangscode
FROM FROM
public.tbl_student public.tbl_student
JOIN public.tbl_benutzer ON (student_uid=uid) JOIN public.tbl_benutzer ON (student_uid=uid)
+4
View File
@@ -205,6 +205,10 @@ treechildren::-moz-tree-cell-text(Aktiv_false)
{ {
color: grey; color: grey;
} }
treechildren::-moz-tree-cell-text(bold)
{
font-weight: bold;
}
treechildren::-moz-tree-cell(Lektor_inaktiv) treechildren::-moz-tree-cell(Lektor_inaktiv)
{ {
color: grey; color: grey;
+11 -11
View File
@@ -616,18 +616,18 @@
} }
$("#farbe").ColorPicker( $("#farbe").ColorPicker(
{
onSubmit: function(hsb, hex, rgb, el)
{ {
onSubmit: function(hsb, hex, rgb, el) $(el).val(hex);
{ $(el).ColorPickerHide();
$(el).val(hex); document.getElementById("farbevorschau").style.backgroundColor=hex;
$(el).ColorPickerHide(); },
document.getElementById("farbevorschau").style.backgroundColor=hex; onBeforeShow: function ()
}, {
onBeforeShow: function () $(this).ColorPickerSetColor(this.value);
{ }
$(this).ColorPickerSetColor(this.value); })
}
})
.bind("keyup", function() .bind("keyup", function()
{ {
$(this).ColorPickerSetColor(this.value); $(this).ColorPickerSetColor(this.value);