/// // namespace namespace cf { // interface // class export class RadioButton extends Button { public get type():string{ return "RadioButton"; } public get checked():boolean{ const _checked: boolean = this.el.hasAttribute("checked") && this.el.getAttribute("checked") == "checked"; return _checked; } public set checked(value: boolean){ if(!value){ this.el.removeAttribute("checked"); this.referenceTag.domElement.removeAttribute("checked"); ( this.referenceTag.domElement).checked = false; }else{ this.el.setAttribute("checked", "checked"); this.referenceTag.domElement.setAttribute("checked", "checked"); ( this.referenceTag.domElement).checked = true; } } protected onClick(event: MouseEvent){ this.checked = true;// checked always true like native radio buttons super.onClick(event); } // override public getTemplate () : string { const isChecked: boolean = ( this.referenceTag.domElement).checked || this.referenceTag.domElement.hasAttribute("checked"); return `
` + this.referenceTag.label + `
`; } } }