Specs: define registerElement() a little differently, so that the code

that uses it looks nicer; this moves the complexity to places that
register elements without using 'class' (e.g. the internals of
frameworks that create elements for defining elements)

Review URL: https://codereview.chromium.org/699083005
This commit is contained in:
Hixie 2014-11-04 12:16:49 -08:00
parent 01f3d8fa67
commit 61f4494e25

View file

@ -16,7 +16,7 @@ SKY MODULE - radio button and radio button group
module.exports.RadioElement = module.registerElement({
tagName: 'radio',
shadow: true,
prototype: (class extends Element {
constructor: class extends Element {
constructor (module) {
super(module);
this.addEventListener('click', (event) => this.checked = true);
@ -42,7 +42,7 @@ SKY MODULE - radio button and radio button group
if (this.parentNode instanceof module.exports.RadioGroupElement)
this.parentNode.setChecked(this);
}
}).prototype,
},
});
</script>
@ -53,10 +53,10 @@ SKY MODULE - radio button and radio button group
</style>
</template>
<script>
module.exports.RadioGroupElement = module.registerElement({
module.exports.RadioGroupElement = module.registerElement{
tagName: 'radiogroup',
shadow: true,
prototype: (class extends Element {
constructor: (class extends Element {
constructor (module) {
super(module);
this.shadowRoot.appendChild(module.document.findId('radiogroup-shadow').content.cloneNode(true));
@ -85,6 +85,6 @@ SKY MODULE - radio button and radio button group
if (child != radio)
child.checked = false;
}
}).prototype,
},
});
</script>