| {{ define "formattedText" }} |
| <div class="grapheme invisible missing"> |
| {{ range $text := .FormattedMissingGraphemes }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| <div class="grapheme invisible extra"> |
| {{ range $text := .FormattedExtraGraphemes }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| |
| <div class="softBreak invisible missing"> |
| {{ range $text := .FormattedMissingSoftBreaks }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| <div class="softBreak invisible extra"> |
| {{ range $text := .FormattedExtraSoftBreaks }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| |
| <div class="hardBreak invisible missing"> |
| {{ range $text := .FormattedMissingHardBreaks }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| <div class="hardBreak invisible extra"> |
| {{ range $text := .FormattedExtraHardBreaks }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| |
| <div class="word invisible missing"> |
| {{ range $text := .FormattedMissingWords }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| <div class="word invisible extra"> |
| {{ range $text := .FormattedExtraWords }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| |
| <div class="whitespace invisible missing"> |
| {{ range $text := .FormattedMissingWhitespaces }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| <div class="whitespace invisible extra"> |
| {{ range $text := .FormattedExtraWhitespaces }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| |
| <div class="control invisible missing"> |
| {{ range $text := .FormattedMissingControls }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| <div class="control invisible extra"> |
| {{ range $text := .FormattedExtraControls }} |
| <span class="{{ .Classes }} {{ .Indexes.Type }}">{{ .Text }}</span> |
| {{ end }} |
| </div> |
| |
| {{ end }} |
| {{ define "rows" }} |
| {{ range $child := . }} |
| {{ if $child.IsImplementation }} |
| <tr class="{{ .Level }}" id="{{ .Id }}"> |
| {{ if .HasChildren }} |
| <td><a href="#{{ .Id }}">+</a>{{ .Name }}</td> |
| {{/* |
| <td>{{ printf "%.6f" .Delta.Memory }}</td> |
| <td>{{ printf "%.6f" .Delta.Disk }}</td> |
| */}} |
| <td></td> |
| <td></td> |
| <td>{{ .Delta.Performance.Percents }}</td> |
| <td>{{ .Delta.Graphemes.Divide }}</td> |
| <td>{{ .Delta.SoftBreaks.Divide }}</td> |
| <td>{{ .Delta.HardBreaks.Divide }}</td> |
| <td>{{ .Delta.Whitespaces.Divide }}</td> |
| <td>{{ .Delta.Words.Divide }}</td> |
| <td>{{ .Delta.Controls.Divide }}</td> |
| {{ else }} |
| <td>{{ .Name }}</td> |
| <td></td> |
| <td></td> |
| <td></td> |
| <td></td> |
| <td></td> |
| <td></td> |
| <td></td> |
| <td></td> |
| <td></td> |
| {{ end }} |
| </tr> |
| {{ else if $child.IsFile }} |
| {{ if $child.HasNoDifferences }} |
| {{ else }} |
| <tr class="{{ .Level }} {{ .ParentId }}"> |
| <td> {{ .Name }} </td> |
| <td colspan="3"></td> |
| |
| {{ if .HasNoGraphemes }} |
| <td>{{ .Delta.Graphemes.Divide }}</td> |
| {{ else }} |
| <td class="one_line"> |
| {{ if .HasMissingGraphemes }} |
| <input type="button" class="grapheme inactive" id='grapheme_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'grapheme', 'missing')" value="-{{ .MissingGraphemeNum }}"/> |
| {{ end }} |
| {{ if .HasExtraGraphemes }} |
| <input type="button" class="grapheme inactive" id='grapheme_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'grapheme', 'extra')" value="+{{ .ExtraGraphemeNum }}"/> |
| {{ end }} |
| </td> |
| {{ end }} |
| |
| {{ if .HasNoSoftBreaks }} |
| <td>{{ .Delta.SoftBreaks.Divide }}</td> |
| {{ else }} |
| <td class="one_line"> |
| {{ if .HasMissingSoftBreaks }} |
| <input type="button" class="softBreak inactive" id='softBreak_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'softBreak', 'missing')" value="-{{ .MissingSoftBreakNum }}"/> |
| {{ end }} |
| {{ if .HasExtraSoftBreaks }} |
| <input type="button" class="softBreak inactive" id='softBreak_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'softBreak', 'extra')" value="+{{ .ExtraSoftBreakNum }}"/> |
| {{ end }} |
| </td> |
| {{ end }} |
| |
| {{ if .HasNoHardBreaks }} |
| <td>{{ .Delta.HardBreaks.Divide }}</td> |
| {{ else }} |
| <td class="one_line"> |
| {{ if .HasMissingHardBreaks }} |
| <input type="button" class="hardBreak inactive" id='hardBreak_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'hardBreak', 'missing')" value="+{{ .MissingHardBreakNum }}"/> |
| {{ end }} |
| {{ if .HasExtraHardBreaks }} |
| <input type="button" class="hardBreak inactive" id='hardBreak_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'hardBreak', 'extra')" value="-{{ .ExtraHardBreakNum }}"/> |
| {{ end }} |
| </td> |
| {{ end }} |
| |
| {{ if .HasNoWhitespaces }} |
| <td>{{ .Delta.Whitespaces.Divide }}</td> |
| {{ else }} |
| <td class="one_line"> |
| {{ if .HasMissingWhitespaces }} |
| <input type="button" class="whitespace inactive" id='whitespace_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'whitespace', 'missing')" value="-{{ .MissingWhitespaceNum }}"/> |
| {{ end }} |
| {{ if .HasExtraWhitespaces }} |
| <input type="button" class="whitespace inactive" id='whitespace_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'whitespace')" value="+{{ .ExtraWhitespaceNum }}"/> |
| {{ end }} |
| </td> |
| {{ end }} |
| |
| {{ if .HasNoWords }} |
| <td>{{ .Delta.Words.Divide }}</td> |
| {{ else }} |
| <td class="one_line"> |
| {{ if .HasMissingWords }} |
| <input type="button" class="word inactive" id='word_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'word', 'missing')" value="-{{ .MissingWordNum }}"/> |
| {{ end }} |
| {{ if .HasExtraWords }} |
| <input type="button" class="word inactive" id='word_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'word', 'extra')" value="+{{ .ExtraWordNum }}"/> |
| {{ end }} |
| </td> |
| {{ end }} |
| |
| {{ if .HasNoControls }} |
| <td>{{ .Delta.Controls.Divide }}</td> |
| {{ else }} |
| <td class="one_line"> |
| {{ if .HasMissingControls }} |
| <input type="button" class="control inactive" id='control_missing{{ .Num }}' onClick="showDiff('{{ .Num }}', 'control', 'missing')" value="-{{ .MissingControlNum }}"/> |
| {{ end }} |
| {{ if .HasExtraControls }} |
| <input type="button" class="control inactive" id='control_extra{{ .Num }}' onClick="showDiff('{{ .Num }}', 'control', 'extra')" value="+{{ .ExtraControlNum }}"/> |
| {{ end }} |
| </td> |
| {{ end }} |
| </tr> |
| <tr class="{{ .Level }} {{ .ParentId }}" id="{{ .Id }}"> |
| <td class="results results1">{{ .Implementation }} results</td> |
| <td colspan="9" class="results1"> |
| {{ template "formattedText" . }} |
| </td> |
| </tr> |
| <tr class="{{ .Level }} {{ .ParentId }}" id="{{ .Id }}a"> |
| <td class="results results2">Chrome results</td> |
| <td colspan="9" class="results2"> |
| <div> |
| <span>{{ .Text }}</span> |
| </div> |
| </td> |
| </tr> |
| {{ end }} |
| {{ else }} |
| <tr class="{{ .Level }} {{ .ParentId }}" id="{{ .Id }}"> |
| {{ if .HasChildren }} |
| <td><a href="#{{ .Id }}">+</a> {{ .Name }} </td> |
| <td></td> |
| <td></td> |
| <td>{{ .Delta.Performance.Percents }}</td> |
| <td>{{ .Delta.Graphemes.Divide }}</td> |
| <td>{{ .Delta.SoftBreaks.Divide }}</td> |
| <td>{{ .Delta.HardBreaks.Divide }}</td> |
| <td>{{ .Delta.Whitespaces.Divide }}</td> |
| <td>{{ .Delta.Words.Divide }}</td> |
| <td>{{ .Delta.Controls.Divide }}</td> |
| {{ else }} |
| <td>{{ .Name }} </td> |
| <td></td> |
| <td></td> |
| <td>{{ .Delta.Performance.Percents }}</td> |
| <td></td> |
| <td></td> |
| <td></td> |
| <td></td> |
| <td></td> |
| <td></td> |
| {{ end }} |
| </tr> |
| {{ end}} |
| {{ template "rows" $child.Children }} |
| {{ end }} |
| {{ end }} |