width: 32em;
}
-form > ul li > p input {
+input:not([type]) {
box-sizing: border-box;
width: 100%;
padding: .4rem;
font-family: monospace;
}
+select {
+ padding: .3rem .2rem; /* TODO: input */
+}
form > ul li img {
max-width: 300px;
}
source => 'Image URL',
thumb => 'Convert options',
prio => 'Level',
+ cover => undef, # included with prio
ref => 'Reference',
);
+my @prioenum = qw( essential basic common distinctive rare invisible );
my ($find) = map {{id => $_}} $fields{id} || $Request || ();
my $row;
my $thumbpath = "data/word/eng/$row->{form}.jpg";
if ($imgpath) {
if (-e $imgpath) {
+ my $xyres = $row->{cover} ? '600x400' : '300x200';
my @cmds = @{ $row->{thumb} // [] };
@cmds = (
'convert',
-delete => '1--1', -background => 'white',
-gravity => @cmds ? 'northwest' : 'center',
@cmds,
- -resize => '300x200^', -extent => '300x200',
+ -resize => "$xyres^", -extent => $xyres,
'-strip', -quality => '60%', -interlace => 'plane',
$imgpath => $thumbpath
);
<ul>
<:
-for my $col (pairs @wordcols) {
- my $val = $row->{$col->key} // '';
+for my $colinfo (pairs @wordcols) {
+ my ($col, $title) = @{$colinfo};
+ defined $title or next;
+ my $val = $row->{$col} // '';
$val = '{'.join(',', map {s/,/\\,/gr} @{$val}).'}' if ref $val eq 'ARRAY';
- printf '<li><label for="%s">%s</label><p><span class=inline>'
- . '<input id="%1$s" name="%1$s" value="%s" />',
- $col->key, $col->value, Entity($val);
- -e and printf '<img src="/%s" alt="%s" />', $_, $row->{form} for
- $col->key eq 'source' ? "data/word/org/$row->{id}.jpg" :
- $col->key eq 'thumb' ? "data/word/eng/$row->{form}.jpg" :
- ();
- say '</span></p></li>';
+ printf '<li><label for="%s">%s</label><p>', $col, $title;
+ printf '<span class=inline>';
+ if ($col eq 'prio') {
+ printf '<select id="%s" name="%1$s">', $col;
+ printf('<option value="%s"%s>%s</option>',
+ $_, $row->{$col} eq $_ && ' selected', $prioenum[$_]
+ ) for 0 .. $#prioenum;
+ print '</select>';
+ printf(
+ join('',
+ '<label>',
+ '<input id="%1$s" name="%1$s" value="0" type="hidden" />',
+ '<input id="%s" name="%1$s" value="1" type="checkbox"%s>',
+ ' %s</label>',
+ ),
+ 'cover', !!$row->{cover} && ' checked', 'Highlighted'
+ );
+ }
+ else {
+ printf '<input id="%s" name="%1$s" value="%s" />', $col, Entity($val);
+ -e and printf '<img src="/%s" alt="%s" />', $_, $row->{form} for
+ $col eq 'source' ? "data/word/org/$row->{id}.jpg" :
+ $col eq 'thumb' ? "data/word/eng/$row->{form}.jpg" :
+ ();
+ }
+ print '</span>';
+ say '</p></li>';
}
:>
</ul>