Commit bcb84129 authored by Hixie's avatar Hixie

Specs: Simplify the platform by only having one shadow tree per element.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/694613002
parent 4f47cb92
...@@ -11,11 +11,14 @@ SKY MODULE - radio button and radio button group ...@@ -11,11 +11,14 @@ SKY MODULE - radio button and radio button group
</template> </template>
<script> <script>
module.exports = {}; module.exports = {};
module.exports.RadioElement = sky.registerElement('radio', class extends Element { module.exports.RadioElement = sky.registerElement({
tagName: 'radio',
shadow: true,
prototype: class extends Element {
constructor () { constructor () {
super(); super();
this.addEventListener('click', (event) => this.checked = true); this.addEventListener('click', (event) => this.checked = true);
this.addShadowRoot(new sky.ShadowRoot(module.document.findId('radio-shadow').content.cloneNode(true))); this.shadowRoot.appendChild(module.document.findId('radio-shadow').content.cloneNode(true));
} }
get checked () { get checked () {
return this.hasAttribute('checked'); return this.hasAttribute('checked');
...@@ -37,6 +40,7 @@ SKY MODULE - radio button and radio button group ...@@ -37,6 +40,7 @@ SKY MODULE - radio button and radio button group
if (this.parentNode instanceof module.exports.RadioGroupElement) if (this.parentNode instanceof module.exports.RadioGroupElement)
this.parentNode.setChecked(this); this.parentNode.setChecked(this);
} }
},
}); });
</script> </script>
...@@ -47,10 +51,13 @@ SKY MODULE - radio button and radio button group ...@@ -47,10 +51,13 @@ SKY MODULE - radio button and radio button group
</style> </style>
</template> </template>
<script> <script>
module.exports.RadioGroupElement = sky.registerElement('radiogroup', class extends Element { module.exports.RadioGroupElement = sky.registerElement({
tagName: 'radiogroup',
shadow: true,
prototype: class extends Element {
constructor () { constructor () {
super(); super();
this.addShadowRoot(new sky.ShadowRoot(module.document.findId('radiogroup-shadow').content.cloneNode(true))); this.shadowRoot.appendChild(module.document.findId('radiogroup-shadow').content.cloneNode(true));
} }
get value () { get value () {
let children = this.getChildNodes(); let children = this.getChildNodes();
...@@ -76,5 +83,6 @@ SKY MODULE - radio button and radio button group ...@@ -76,5 +83,6 @@ SKY MODULE - radio button and radio button group
if (child != radio) if (child != radio)
child.checked = false; child.checked = false;
} }
},
}); });
</script> </script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment