Mercurial > laserkard
diff Laserkard.pm @ 79:343dc947f999 laserkard
read JavaSctipt: the good parts
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sun, 25 Jul 2010 01:33:22 -0400 |
parents | 8324f195ef36 |
children |
line wrap: on
line diff
1.1 --- a/Laserkard.pm Thu Jul 22 09:56:12 2010 -0400 1.2 +++ b/Laserkard.pm Sun Jul 25 01:33:22 2010 -0400 1.3 @@ -24,63 +24,57 @@ 1.4 1.5 1.6 1.7 -sub cardType 1.8 +sub cardType { return $_[0];} 1.9 + 1.10 +sub updateForm 1.11 { 1.12 + ################### 1.13 + $key = shift; 1.14 + $value = shift; 1.15 + $hashString = shift; 1.16 + ################### 1.17 1.18 -return $_[0]; 1.19 - 1.20 + $perl_hash = decode_json($hashString); 1.21 + 1.22 + %fieldHash = %$perl_hash; 1.23 + 1.24 + $fieldHash{$key} = $value; 1.25 + $ref = \%fieldHash; 1.26 + 1.27 + $utf8_encoded_json_text = encode_json($ref); 1.28 + return $utf8_encoded_json_text; 1.29 } 1.30 1.31 - 1.32 1.33 -sub updateForm 1.34 1.35 + 1.36 +sub material 1.37 { 1.38 - 1.39 - 1.40 - $key = shift; 1.41 - $value = shift; 1.42 - $hashString = shift; 1.43 - 1.44 - $perl_hash = decode_json $hashString; 1.45 - 1.46 - %fieldHash = %$perl_hash; 1.47 - 1.48 - 1.49 - $fieldHash{$key} = $value; 1.50 - $ref = \%fieldHash; 1.51 - 1.52 - $utf8_encoded_json_text = encode_json $ref ; 1.53 - return $utf8_encoded_json_text; 1.54 - 1.55 -} 1.56 - 1.57 - 1.58 - 1.59 - 1.60 -sub material{ 1.61 - 1.62 - $newvar = shift; 1.63 - 1.64 - my $t = $newvar; 1.65 - 1.66 - $newvar =~ m/([^_]*)_/; 1.67 - $newvar = $1; 1.68 - 1.69 - #return (($t =~ m/_acrylic_green/) ? 'CHECKED' : 'notchecked'); 1.70 - 1.71 - #$y = "$t<br>".(($t =~ m/_acrylic_green/) ? 'CHECKED' : 'notchecked')." 1.72 - 1.73 - { 1.74 - local( $/, *FH ) ; 1.75 - open( FH, "<./buy_pieces/materials2.html" ) or die "sudden flaming death\n"; 1.76 - $y = <FH>; 1.77 - } 1.78 - 1.79 - @symbols = qw(PERL::ACRYLIC_CLEAR PERL::ACRYLIC_BLUE PERL::ACRYLIC_GREEN PERL::ALUMINUM_RED PERL::ALUMINUM_BLUE PERL::ALUMINUM_GREEN PERL::ALUMINUM_BLACK); 1.80 - 1.81 - for (@symbols) 1.82 - { 1.83 + ################## 1.84 + $newvar = shift; 1.85 + ################## 1.86 + my $t = $newvar; 1.87 + 1.88 + $newvar =~ m/([^_]*)_/; 1.89 + $newvar = $1; 1.90 + 1.91 + #return (($t =~ m/_acrylic_green/) ? 'CHECKED' : 'notchecked'); 1.92 + 1.93 + #$y = "$t<br>".(($t =~ m/_acrylic_green/) ? 'CHECKED' : 'notchecked')." 1.94 + 1.95 + { 1.96 + local( $/, *FH ) ; 1.97 + open( FH, "<./buy_pieces/materials2.html" ) 1.98 + or die "sudden flaming death\n"; 1.99 + $y = <FH>; 1.100 + } 1.101 + 1.102 + @symbols = qw (PERL::ACRYLIC_CLEAR PERL::ACRYLIC_BLUE PERL::ACRYLIC_GREEN 1.103 + PERL::ALUMINUM_RED PERL::ALUMINUM_BLUE 1.104 + PERL::ALUMINUM_GREEN PERL::ALUMINUM_BLACK); 1.105 + 1.106 + for (@symbols) 1.107 + { 1.108 $c = $_; 1.109 $c =~ s/PERL:://; 1.110 $c =~ tr/[A-Z]/[a-z]/; 1.111 @@ -88,52 +82,48 @@ 1.112 1.113 $b = '"'.$newvar.$c.'"'.(($t =~ m/$c/) ? ' CHECKED ' : ''); 1.114 $y =~ s/$_/$b/; 1.115 - } 1.116 + } 1.117 1.118 - 1.119 $first = shift; 1.120 if ($first){ $y =~ s/display[^;]*;//g; } 1.121 - 1.122 - 1.123 - 1.124 return $y; 1.125 - 1.126 - 1.127 } 1.128 1.129 1.130 1.131 sub template 1.132 { 1.133 - 1.134 -$all = shift; 1.135 -$all =~ m/([^_]*)_(.*)/; 1.136 - 1.137 -$materialcolor = $2; 1.138 -$style = $1; 1.139 + 1.140 + $all = shift; 1.141 + $all =~ m/([^_]*)_(.*)/; 1.142 + 1.143 + $materialcolor = $2; 1.144 + $style = $1; 1.145 #here is where we handle important drawing commands relating to the cards. 1.146 - 1.147 - 1.148 - 1.149 -$r = <<HERE; 1.150 -<div id = "i_templates"><div class = 'ttyl'> <titletron>Select Style.</titletron></div> 1.151 -<div id = 'stupid'> 1.152 - 1.153 - 1.154 -<input TYPE="image" src = "./images/templates/big_$materialcolor.jpg" 1.155 -onmouseover="pokedex('big_$materialcolor');" 1.156 -onmouseout = "pokedex(document.getElementById('currentSpec').innerHTML);" 1.157 - 1.158 - 1.159 - 1.160 -onclick= 1.161 -"display(['template2'], ['display']); 1.162 -inputbox(['template2', 'formValues'], ['inputbox']); 1.163 -material(['template2'], ['materials']); 1.164 -cardType(['template2'], ['currentSpec']); 1.165 -redraw('bold');" 1.166 -ID="template2" NAME="template2" VALUE="big_$materialcolor"> 1.167 -<br> 1.168 + 1.169 + 1.170 + 1.171 + $r = <<HERE; 1.172 + <div id = "i_templates"> 1.173 + <div class = 'ttyl'> <titletron>Select Style.</titletron></div> 1.174 + <div id = 'stupid'> 1.175 + <input 1.176 + TYPE="image" 1.177 + src = "./images/templates/big_$materialcolor.jpg" 1.178 + onmouseover="pokedex('big_$materialcolor');" 1.179 + onmouseout = 1.180 + "pokedex(document.getElementById('currentSpec').innerHTML);" 1.181 + 1.182 + onclick= 1.183 + "display(['template2'], ['display']); 1.184 + inputbox(['template2', 'formValues'], ['inputbox']); 1.185 + material(['template2'], ['materials']); 1.186 + cardType(['template2'], ['currentSpec']); 1.187 + redraw('bold');" 1.188 + ID="template2" 1.189 + NAME="template2" 1.190 + VALUE="big_$materialcolor"> 1.191 + <br> 1.192 1.193 1.194 1.195 @@ -194,11 +184,6 @@ 1.196 1.197 1.198 1.199 -#$r =~ s/inputbox\(\['$target'\], \['inputbox'\]\)\;//; 1.200 - 1.201 - 1.202 - 1.203 - 1.204 1.205 return $r; 1.206 }