Fix multi keys

This commit is contained in:
Daniel Bulant 2020-04-14 19:13:58 +02:00
parent 6bbf56202c
commit 09da31a265

View file

@ -135,6 +135,49 @@
</g>
</g>
</svg>`;
}
function multikey() {
return `<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="22.000000pt" height="24.000000pt" viewBox="0 0 1113.000000 1280.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,1280.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<title>Multi key</title>
<path d="M3130 12789 c-1268 -111 -2354 -895 -2856 -2061 -328 -763 -361
-1656 -90 -2445 377 -1097 1288 -1932 2415 -2213 146 -37 372 -76 491 -85 140
-10 128 3 114 -122 -97 -823 340 -1627 1086 -1999 266 -132 520 -196 840 -211
l145 -6 113 -146 c62 -80 188 -237 280 -348 l167 -202 50 -6 c190 -26 347
-142 400 -295 39 -110 39 -273 1 -417 l-14 -51 47 -7 c243 -34 450 -220 517
-466 23 -83 23 -269 1 -359 -8 -36 -15 -66 -14 -66 1 -1 45 -16 97 -34 132
-43 213 -91 296 -174 124 -125 170 -252 161 -452 l-5 -121 242 -151 c320 -200
580 -354 583 -345 12 39 98 449 117 560 l25 142 -110 243 c-105 230 -455 1008
-796 1768 -191 425 -623 1377 -690 1521 l-50 105 73 97 c134 178 234 369 304
580 18 54 34 96 36 94 3 -2 -7 -41 -21 -87 -15 -45 -24 -84 -21 -87 3 -4 53 6
110 21 l105 27 173 -119 c95 -66 261 -177 367 -246 182 -118 197 -126 230
-119 20 4 74 7 121 7 186 -1 326 -87 404 -249 42 -86 65 -179 73 -291 5 -73 8
-84 22 -78 32 13 183 16 244 4 34 -6 98 -29 142 -49 215 -101 341 -287 376
-554 l12 -94 121 -6 c210 -10 343 -63 457 -185 69 -74 132 -196 150 -292 19
-106 14 -101 130 -131 412 -107 823 -209 826 -205 9 8 -18 420 -37 572 -17
136 -22 161 -43 183 -141 153 -741 829 -1763 1987 -243 274 -532 600 -643 724
-123 138 -200 231 -197 240 3 8 22 65 44 125 226 626 105 1343 -316 1884 -182
233 -441 439 -722 573 -158 75 -403 146 -593 173 -48 6 -49 7 -43 38 31 179
41 617 18 822 -70 615 -281 1173 -630 1660 -542 757 -1386 1271 -2297 1399
-249 35 -549 45 -775 25z m516 -559 c490 -39 946 -195 1354 -464 913 -602
1398 -1656 1264 -2746 -26 -210 -12 -187 -139 -220 -479 -122 -894 -417 -1168
-829 -62 -94 -197 -353 -197 -378 0 -5 -39 -20 -86 -31 -185 -47 -410 -148
-579 -259 -282 -186 -487 -412 -670 -737 l-27 -49 -122 7 c-579 33 -1110 227
-1581 580 -147 110 -420 381 -526 521 -336 443 -528 922 -584 1457 -136 1303
625 2523 1859 2982 366 137 804 197 1202 166z m2326 -4146 c7 -7 -67 -142
-139 -254 -46 -71 -182 -260 -187 -260 -16 0 -199 40 -203 44 -4 3 -1 38 6 77
34 185 171 334 354 384 52 14 159 20 169 9z m438 -466 c0 -72 -24 -167 -59
-236 -52 -101 -49 -99 -109 -62 -29 17 -52 34 -52 36 0 2 24 37 53 77 29 41
75 111 102 155 28 45 53 82 57 82 5 0 8 -24 8 -52z m-1507 -623 c26 -9 47 -20
47 -24 0 -8 -163 -103 -260 -151 -103 -52 -217 -99 -323 -136 -113 -38 -111
-41 -56 73 54 113 176 210 310 248 68 19 215 14 282 -10z m313 -562 c-4 -21
-22 -70 -41 -109 -58 -119 -189 -224 -316 -253 -105 -25 -266 -7 -341 37 -28
17 -37 32 -17 32 47 0 495 203 639 289 36 22 69 40 74 40 4 1 5 -16 2 -36z"/>
</g>
</svg>`;
}
const app = document.getElementById("app");
@ -223,8 +266,11 @@
`);
tableEl.appendChild(head);
app.appendChild(tableEl);
for (var column of data.columns) {
var el = document.createElement("tr");
el.id = "column_" + table + "_" + column.Field;
for (var field in column) {
if (fieldsIgnored.includes(field.toLowerCase())) continue;
var td = document.createElement("td");
@ -246,52 +292,15 @@
case "PRI":
column[field] = htmlToElement(key("Primary key", "#f39c12", "#f1c40f", "#f39c12"));
break;
case "MUL":
column[field] = htmlToElement(`<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="22.000000pt" height="24.000000pt" viewBox="0 0 1113.000000 1280.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,1280.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<title>Multi key</title>
<path d="M3130 12789 c-1268 -111 -2354 -895 -2856 -2061 -328 -763 -361
-1656 -90 -2445 377 -1097 1288 -1932 2415 -2213 146 -37 372 -76 491 -85 140
-10 128 3 114 -122 -97 -823 340 -1627 1086 -1999 266 -132 520 -196 840 -211
l145 -6 113 -146 c62 -80 188 -237 280 -348 l167 -202 50 -6 c190 -26 347
-142 400 -295 39 -110 39 -273 1 -417 l-14 -51 47 -7 c243 -34 450 -220 517
-466 23 -83 23 -269 1 -359 -8 -36 -15 -66 -14 -66 1 -1 45 -16 97 -34 132
-43 213 -91 296 -174 124 -125 170 -252 161 -452 l-5 -121 242 -151 c320 -200
580 -354 583 -345 12 39 98 449 117 560 l25 142 -110 243 c-105 230 -455 1008
-796 1768 -191 425 -623 1377 -690 1521 l-50 105 73 97 c134 178 234 369 304
580 18 54 34 96 36 94 3 -2 -7 -41 -21 -87 -15 -45 -24 -84 -21 -87 3 -4 53 6
110 21 l105 27 173 -119 c95 -66 261 -177 367 -246 182 -118 197 -126 230
-119 20 4 74 7 121 7 186 -1 326 -87 404 -249 42 -86 65 -179 73 -291 5 -73 8
-84 22 -78 32 13 183 16 244 4 34 -6 98 -29 142 -49 215 -101 341 -287 376
-554 l12 -94 121 -6 c210 -10 343 -63 457 -185 69 -74 132 -196 150 -292 19
-106 14 -101 130 -131 412 -107 823 -209 826 -205 9 8 -18 420 -37 572 -17
136 -22 161 -43 183 -141 153 -741 829 -1763 1987 -243 274 -532 600 -643 724
-123 138 -200 231 -197 240 3 8 22 65 44 125 226 626 105 1343 -316 1884 -182
233 -441 439 -722 573 -158 75 -403 146 -593 173 -48 6 -49 7 -43 38 31 179
41 617 18 822 -70 615 -281 1173 -630 1660 -542 757 -1386 1271 -2297 1399
-249 35 -549 45 -775 25z m516 -559 c490 -39 946 -195 1354 -464 913 -602
1398 -1656 1264 -2746 -26 -210 -12 -187 -139 -220 -479 -122 -894 -417 -1168
-829 -62 -94 -197 -353 -197 -378 0 -5 -39 -20 -86 -31 -185 -47 -410 -148
-579 -259 -282 -186 -487 -412 -670 -737 l-27 -49 -122 7 c-579 33 -1110 227
-1581 580 -147 110 -420 381 -526 521 -336 443 -528 922 -584 1457 -136 1303
625 2523 1859 2982 366 137 804 197 1202 166z m2326 -4146 c7 -7 -67 -142
-139 -254 -46 -71 -182 -260 -187 -260 -16 0 -199 40 -203 44 -4 3 -1 38 6 77
34 185 171 334 354 384 52 14 159 20 169 9z m438 -466 c0 -72 -24 -167 -59
-236 -52 -101 -49 -99 -109 -62 -29 17 -52 34 -52 36 0 2 24 37 53 77 29 41
75 111 102 155 28 45 53 82 57 82 5 0 8 -24 8 -52z m-1507 -623 c26 -9 47 -20
47 -24 0 -8 -163 -103 -260 -151 -103 -52 -217 -99 -323 -136 -113 -38 -111
-41 -56 73 54 113 176 210 310 248 68 19 215 14 282 -10z m313 -562 c-4 -21
-22 -70 -41 -109 -58 -119 -189 -224 -316 -253 -105 -25 -266 -7 -341 37 -28
17 -37 32 -17 32 47 0 495 203 639 289 36 22 69 40 74 40 4 1 5 -16 2 -36z"/>
</g>
</svg>`);
break;
case "UNI":
column[field] = htmlToElement(key("Unique key", "#bfbfbf", "#dbdbdb", "#808080"));
break;
case "MUL":
column[field] = "";
break;
case "": break;
default:
console.error("Unknown key:", column[field]);
}
case "extra":
if (column[field] === "auto_increment") {
@ -314,9 +323,13 @@ l145 -6 113 -146 c62 -80 188 -237 280 -348 l167 -202 50 -6 c190 -26 347
}
tableEl.appendChild(el);
let t = document.querySelector(`#${el.id} > .key`);
var d = data.indexes.filter(e => e.Column_name === column.Field);
if(d[0] && !t.childElementCount)
t.appendChild(htmlToElement(multikey()));
}
app.appendChild(tableEl);
}
var d = new Date();