diff --git a/app/assets/styles/app.css b/app/assets/styles/app.css
index 396d745..4fabffe 100755
--- a/app/assets/styles/app.css
+++ b/app/assets/styles/app.css
@@ -333,6 +333,15 @@ menu[eicmenu] [menuitem] i[class^="icon-"] {
}
article[eiccard] > header h1{ text-align: center; }
+input{
+ width: 100%;
+ border-radius: 1em;
+ padding-left: 1em;
+ box-sizing: border-box;
+ height: 2em;
+ background-color: #6B5;
+ border: none;
+}
/* Customizations to buildoz*/
bz-select > button{
@@ -349,4 +358,5 @@ bz-select option:hover{
}
bz-toggler div.toggle-switch span.toggle-bar { background-color: #473; }
-bz-toggler div.toggle-switch span.toggle-thumb { background-color:#9D8; }
\ No newline at end of file
+bz-toggler div.toggle-switch span.toggle-thumb { background-color:#9D8; }
+
diff --git a/app/thirdparty/buildoz/buildoz.js b/app/thirdparty/buildoz/buildoz.js
index a145260..37b02c4 100644
--- a/app/thirdparty/buildoz/buildoz.js
+++ b/app/thirdparty/buildoz/buildoz.js
@@ -40,6 +40,7 @@ class Buildoz extends HTMLElement {
class BZselect extends Buildoz {
#value
+ #fillFromMarkup = true
constructor(){
super()
@@ -58,9 +59,12 @@ class BZselect extends Buildoz {
this.prepend(this.button)
this.button.addEventListener('click', this.toggle.bind(this))
this.options = this.querySelectorAll('option')
- for(const opt of this.options){
- opt.addEventListener('click', this.onClick.bind(this))
- if(opt.getAttribute('selected') !== null) this.onOption(opt.value, true)
+ if(this.#fillFromMarkup){ //can only do it once and only if fillOptions was not already called !!
+ for(const opt of this.options){
+ opt.addEventListener('click', this.onClick.bind(this))
+ if(opt.getAttribute('selected') !== null) this.onOption(opt.value, true)
+ }
+ this.#fillFromMarkup = false
}
}
@@ -88,7 +92,7 @@ class BZselect extends Buildoz {
}
}
- toggle(){
+ toggle(){
for(const opt of this.options){
if(this.open) opt.classList.remove('open')
else opt.classList.add('open')
@@ -96,7 +100,7 @@ class BZselect extends Buildoz {
this.open = !this.open
}
- onClick(evt){
+ onClick(evt){
const opt = evt.target.closest('option')
if(opt && opt.value) this.onOption(opt.value)
}
@@ -108,17 +112,20 @@ class BZselect extends Buildoz {
}
addOption(value, markup){
+ // Caution: you can count on connectedCallback to have run already, because one might fill before adding to the DOM
const opt = document.createElement('option')
opt.setAttribute('value', value)
opt.innerHTML = markup
opt.addEventListener('click',this.onClick.bind(this))
this.append(opt)
this.options = this.querySelectorAll('option')
+ this.#fillFromMarkup = false
}
fillOptions(opts, erase = true){
+ // Caution: you can count on connectedCallback to have run already, because one might fill before adding to the DOM
if(erase){
- //this.options = this.querySelectorAll('option')
+ this.options = this.querySelectorAll('option')
this.options.forEach(node => { node.remove() })
this.options = this.querySelectorAll('option')
this.onOption('', true) // unselect last
diff --git a/app/views/editors/KeyframeView.html b/app/views/editors/KeyframeView.html
index 3d98b40..89d2ea8 100644
--- a/app/views/editors/KeyframeView.html
+++ b/app/views/editors/KeyframeView.html
@@ -18,7 +18,6 @@
Agent properties
Agent properties