mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00
rename src to ionic
This commit is contained in:
60
ionic/components/switch/switch.js
Normal file
60
ionic/components/switch/switch.js
Normal file
@ -0,0 +1,60 @@
|
||||
import {Component, Template, NgElement, PropertySetter} from 'angular2/angular2'
|
||||
import {IonicComponent} from 'ionic2/config/component'
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'ion-switch',
|
||||
bind: {
|
||||
checked: 'checked'
|
||||
},
|
||||
events: {
|
||||
'click': 'onClick()'
|
||||
}
|
||||
})
|
||||
@Template({
|
||||
inline: `
|
||||
<div class="item-content">
|
||||
|
||||
<div class="item-title">
|
||||
<content></content>
|
||||
</div>
|
||||
|
||||
<div class="item-media media-switch">
|
||||
<div class="switch-toggle"></div>
|
||||
</div>
|
||||
|
||||
</div>`
|
||||
})
|
||||
export class Switch {
|
||||
constructor(
|
||||
element: NgElement,
|
||||
@PropertySetter('attr.role') setAriaRole: Function,
|
||||
@PropertySetter('attr.aria-checked') setChecked: Function,
|
||||
@PropertySetter('attr.aria-invalid') setInvalid: Function,
|
||||
@PropertySetter('attr.aria-disabled') setDisabled: Function
|
||||
) {
|
||||
this.domElement = element.domElement
|
||||
this.config = Switch.config.invoke(this)
|
||||
|
||||
this.domElement.classList.add('item')
|
||||
|
||||
setAriaRole('checkbox')
|
||||
setInvalid('false')
|
||||
setDisabled('false')
|
||||
|
||||
this.setChecked = setChecked
|
||||
}
|
||||
|
||||
set checked(checked) {
|
||||
this._checked = checked
|
||||
this.setChecked(checked)
|
||||
}
|
||||
get checked() {
|
||||
return this._checked
|
||||
}
|
||||
onClick() {
|
||||
this.checked = !this.checked;
|
||||
}
|
||||
}
|
||||
|
||||
new IonicComponent(Switch, {})
|
Reference in New Issue
Block a user