visualfail: less duplicate HTML IDs

... and a lot less unneeded IDs, reducing the amount of data to be
transferred to the client.

Change-Id: I071920fd4d8039d2f3d1f5d8c41c2c3ddd639617
This commit is contained in:
Horst Schirmeier
2015-01-08 12:05:01 +01:00
parent 874e5881b7
commit d536cc72aa
3 changed files with 15 additions and 9 deletions

View File

@ -165,7 +165,7 @@ function asmCode()
$content = $content; $content = $content;
while ($row = mysql_fetch_object($ergebnis)) { while ($row = mysql_fetch_object($ergebnis)) {
$content .= '<span id="' . dechex($row->instr_address) . '">' . dechex($row->instr_address) . ' ' . htmlspecialchars($row->disassemble) . '</span><br>'; $content .= dechex($row->instr_address) . '<br>';
} }
echo json_encode($content); echo json_encode($content);
} }
@ -185,6 +185,7 @@ function getAsmCode()
//$fehlerdaten = askDBFehler($_GET['variant_id'], $resulttypes, $_GET['version']); //$fehlerdaten = askDBFehler($_GET['variant_id'], $resulttypes, $_GET['version']);
//print_r($fehlerdaten); //print_r($fehlerdaten);
// FIXME id not unique
$content = '<div id="maxFehler" '; $content = '<div id="maxFehler" ';
foreach ($resulttypes as $value) { foreach ($resulttypes as $value) {
$temp = $value . '="' . $fehlerdaten['max'][$value] . '" '; $temp = $value . '="' . $fehlerdaten['max'][$value] . '" ';
@ -193,7 +194,7 @@ function getAsmCode()
$content .= ' >'; $content .= ' >';
while ($row = mysql_fetch_object($asmcode)) { while ($row = mysql_fetch_object($asmcode)) {
if (array_key_exists($row->instr_address,$fehlerdaten['Daten'])) { if (array_key_exists($row->instr_address,$fehlerdaten['Daten'])) {
$content .= '<span id="' . dechex($row->instr_address) . '" class="hasFehler" '; $content .= '<span data-address="' . dechex($row->instr_address) . '" class="hasFehler" ';
foreach ($resulttypes as $value) { foreach ($resulttypes as $value) {
$content .= $value . '="' . $fehlerdaten['Daten'][$row->instr_address][$value] . '" '; $content .= $value . '="' . $fehlerdaten['Daten'][$row->instr_address][$value] . '" ';
@ -201,7 +202,7 @@ function getAsmCode()
$content .= ' style="cursor: pointer;">' . dechex($row->instr_address) . ' ' . htmlspecialchars($row->disassemble) . '</span>'; $content .= ' style="cursor: pointer;">' . dechex($row->instr_address) . ' ' . htmlspecialchars($row->disassemble) . '</span>';
} else { } else {
$content .= '<span id="' . dechex($row->instr_address) . '">' . dechex($row->instr_address) . ' ' . htmlspecialchars($row->disassemble) . '</span>'; $content .= dechex($row->instr_address) . ' ' . htmlspecialchars($row->disassemble);
} }
$content .= '<br>'; $content .= '<br>';
} }
@ -261,7 +262,7 @@ function getHighlevelCode()
while ($row = mysql_fetch_object($mappingErgebnis)) { while ($row = mysql_fetch_object($mappingErgebnis)) {
if (array_key_exists($row->instr_address,$fehlerdaten['Daten'])) { if (array_key_exists($row->instr_address,$fehlerdaten['Daten'])) {
$newline .= '<span id="' . dechex($row->instr_address) . '" class="hasFehler" '; $newline .= '<span data-address="' . dechex($row->instr_address) . '" class="hasFehler" ';
foreach ($resulttypes as $value) { foreach ($resulttypes as $value) {
$newline .= $value . '="' . $fehlerdaten['Daten'][$row->instr_address][$value] . '" '; $newline .= $value . '="' . $fehlerdaten['Daten'][$row->instr_address][$value] . '" ';
@ -270,7 +271,7 @@ function getHighlevelCode()
$newline .= ' style="cursor: pointer;">' . dechex($row->instr_address) . ' ' . htmlspecialchars($row->disassemble) . '</span>'; $newline .= ' style="cursor: pointer;">' . dechex($row->instr_address) . ' ' . htmlspecialchars($row->disassemble) . '</span>';
} else { } else {
$newline = '<span id="' . dechex($row->instr_address) . '">' . dechex($row->instr_address) . ' ' . htmlspecialchars($row->disassemble) . '</span>'; $newline = dechex($row->instr_address) . ' ' . htmlspecialchars($row->disassemble);
} }
$newline .= '<br>'; $newline .= '<br>';
$mapping[$lineNumber] [] = $newline; $mapping[$lineNumber] [] = $newline;
@ -282,9 +283,10 @@ function getHighlevelCode()
} }
while ($row = mysql_fetch_object($highlevelCode)) { while ($row = mysql_fetch_object($highlevelCode)) {
$content .= '<span id="' . $row->linenumber . '">' . $row->linenumber . ' : ' . $row->line . '</span><br>'; // FIXME id unique?
$content .= '<span data-line="' . $row->linenumber . '" class="sourcecode">' . $row->linenumber . ' : ' . $row->line . '</span><br>';
if (array_key_exists($row->linenumber, $mapping)) { if (array_key_exists($row->linenumber, $mapping)) {
$content .= '<div id="mapping">'; $content .= '<div class="mapping">';
foreach ($mapping[$row->linenumber] as $index => $span) { foreach ($mapping[$row->linenumber] as $index => $span) {
$content .= $span; $content .= $span;
} }

View File

@ -14,6 +14,10 @@ body {
padding: 0 0 0 30px; padding: 0 0 0 30px;
} }
.sourcecode {
font-weight: bold;
}
#analyse { #analyse {
margin: 20px 0 0 0; margin: 20px 0 0 0;
} }

View File

@ -47,7 +47,7 @@ function calcColor(fehler, maxFehler) {
$('body').popover({ $('body').popover({
selector: ".hasFehler", selector: ".hasFehler",
html: true, html: true,
title: function() { return $(this).attr("id"); }, title: function() { return '0x' + $(this).attr("data-address"); },
content: function() { content: function() {
var ausgabe = ''; var ausgabe = '';
var caller = $(this); var caller = $(this);