Skip to content

Commit f0e8b1f

Browse files
committed
allow searching for a code
1 parent 4f77033 commit f0e8b1f

5 files changed

Lines changed: 53 additions & 22 deletions

File tree

html/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
<title>Pokemon Emerald 0x611 ACE generator</title>
77
<link rel="stylesheet" href="style.css">
88
<link rel="stylesheet" href="autocomplete.css">
9+
<link href="https://cdn.jsdelivr.net/npm/tom-select@2.4.3/dist/css/tom-select.min.css" rel="stylesheet">
10+
<script src="https://cdn.jsdelivr.net/npm/tom-select@2.4.3/dist/js/tom-select.complete.min.js"></script>
911
<script src="ace_js.bc.js?2"></script>
1012
<script src="config.js"></script>
1113
<script src="scripts.js"></script>
@@ -40,9 +42,7 @@ <h2><a class="tablinks-active">Main code</a> /
4042
<option value="bootstraps">ACE bootstraps</option>
4143
<option value="misc">Misc</option>
4244
</select>
43-
<select id="select" class="right grow">
44-
<option value='' selected>----------</option>
45-
</select>
45+
<select id="select" class="right grow"></select>
4646
</div>
4747
<div class="container grow" id="container">
4848
<textarea id="main" spellcheck="false"></textarea>

html/index_frlg.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
<title>Pokemon FRLG ACE generator</title>
77
<link rel="stylesheet" href="style.css">
88
<link rel="stylesheet" href="autocomplete.css">
9+
<link href="https://cdn.jsdelivr.net/npm/tom-select@2.4.3/dist/css/tom-select.min.css" rel="stylesheet">
10+
<script src="https://cdn.jsdelivr.net/npm/tom-select@2.4.3/dist/js/tom-select.complete.min.js"></script>
911
<script src="ace_js.bc.js?2"></script>
1012
<script src="config.js"></script>
1113
<script src="scripts.js"></script>
@@ -44,9 +46,7 @@ <h2><a class="tablinks-active">Main code</a> /
4446
<select style="display:none;" id="cat" class="middle">
4547
<option value="">All categories</option>
4648
</select>
47-
<select id="select" class="right grow">
48-
<option value='' selected>----------</option>
49-
</select>
49+
<select id="select" class="right grow"></select>
5050
</div>
5151
<div class="container grow" id="container">
5252
<textarea id="main" spellcheck="false"></textarea>

html/index_rs.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
<title>Pokemon Ruby/Sapphire ACE generator</title>
77
<link rel="stylesheet" href="style.css">
88
<link rel="stylesheet" href="autocomplete.css">
9+
<link href="https://cdn.jsdelivr.net/npm/tom-select@2.4.3/dist/css/tom-select.min.css" rel="stylesheet">
10+
<script src="https://cdn.jsdelivr.net/npm/tom-select@2.4.3/dist/js/tom-select.complete.min.js"></script>
911
<script src="ace_js.bc.js?2"></script>
1012
<script src="config.js"></script>
1113
<script src="scripts.js"></script>
@@ -43,9 +45,7 @@ <h2><a class="tablinks-active">Main code</a> /
4345
<select style="display:none;" id="cat" class="middle">
4446
<option value="">All categories</option>
4547
</select>
46-
<select id="select" class="right grow">
47-
<option value='' selected>----------</option>
48-
</select>
48+
<select id="select" class="right grow"></select>
4949
</div>
5050
<div class="container grow" id="container">
5151
<textarea id="main" spellcheck="false"></textarea>

html/scripts.js

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ window.addEventListener ("load", () => {
1212
let cat = document.getElementById ("cat");
1313
let game = document.getElementById ("game");
1414

15+
let ts = new TomSelect(select, {
16+
create: false,
17+
maxOptions: null,
18+
placeholder: '----------',
19+
wrapperClass: 'ts-wrapper right grow',
20+
sortField: { field: '$order', direction: 'asc' },
21+
});
22+
1523
let lock = false;
1624
let examples = null;
1725
let last_selected_example = "";
@@ -71,24 +79,22 @@ window.addEventListener ("load", () => {
7179
let language = lang.value;
7280
let gam = game.value;
7381
let category = cat.value;
74-
//last_selected_example = select.value;
75-
let newSelectedIndex = 0;
76-
77-
let arrOptions = ["<option value='' selected>----------</option>"];
78-
let i = 1;
82+
let options = [];
83+
let newSelectedValue = '';
7984
examples.forEach((element,index) => {
8085
if (language in element
8186
&& (category == "" || ("cat" in element && element["cat"].includes(category)))
8287
&& (gam == "" || ("game" in element && element["game"].includes(gam)))) {
8388
let val = index.toString();
84-
if (val == last_selected_example) newSelectedIndex = i;
85-
arrOptions.push("<option value='"+val+"'>"+element["name"]+"</option>");
86-
i += 1;
89+
if (val == last_selected_example) newSelectedValue = val;
90+
options.push({ value: val, text: element["name"] });
8791
}
8892
});
8993

90-
select.innerHTML = arrOptions.join("\n");
91-
select.selectedIndex = newSelectedIndex;
94+
ts.clear(true);
95+
ts.clearOptions();
96+
options.forEach(o => ts.addOption(o));
97+
ts.setValue(newSelectedValue, true);
9298

9399
updateCode();
94100
}
@@ -119,8 +125,8 @@ window.addEventListener ("load", () => {
119125
if (gameval)
120126
game.value = gameval;
121127

122-
select.addEventListener ("change", () => {
123-
last_selected_example = select.value;
128+
ts.on('change', (value) => {
129+
last_selected_example = value;
124130
updateCode();
125131
});
126132

html/style.css

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ a {
99
}
1010

1111
select {
12-
height: 20px;
12+
background-color: #fff;
13+
border: 1px solid #d0d0d0;
14+
border-radius: 3px;
15+
padding: 1px 6px;
16+
height: unset;
1317
}
1418

1519
@font-face {
@@ -102,6 +106,27 @@ textarea {
102106
display: none;
103107
}
104108

109+
/* Tom Select */
110+
111+
.ts-wrapper {
112+
align-self: center;
113+
}
114+
115+
.ts-control {
116+
min-height: unset !important;
117+
padding: 1px 6px !important;
118+
font-size: inherit;
119+
flex-wrap: nowrap !important;
120+
}
121+
122+
.ts-dropdown {
123+
font-size: inherit;
124+
}
125+
126+
.ts-dropdown .ts-dropdown-content {
127+
max-height: 400px;
128+
}
129+
105130
/* Other scripts */
106131

107132
#enter {

0 commit comments

Comments
 (0)