mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 20:33:32 +08:00
checkbox extends IonInputContainer
This commit is contained in:
@ -9,6 +9,7 @@ export * from 'ionic/components/item/item'
|
||||
export * from 'ionic/components/item/item-group'
|
||||
export * from 'ionic/components/form/form'
|
||||
export * from 'ionic/components/form/text-input'
|
||||
export * from 'ionic/components/form/tap-input'
|
||||
export * from 'ionic/components/form/label'
|
||||
export * from 'ionic/components/list/list'
|
||||
export * from 'ionic/components/modal/modal'
|
||||
|
@ -8,6 +8,7 @@ import {
|
||||
} from 'angular2/angular2';
|
||||
|
||||
import {Ion} from '../ion';
|
||||
import {IonInputContainer} from '../form/form';
|
||||
import {IonicConfig} from '../../config/config';
|
||||
import {IonicComponent, IonicView} from '../../config/annotations';
|
||||
import {Icon} from '../icon/icon';
|
||||
@ -34,7 +35,7 @@ import {Icon} from '../icon/icon';
|
||||
'<content></content>' +
|
||||
'</div>'
|
||||
})
|
||||
export class Checkbox extends Ion {
|
||||
export class Checkbox extends IonInputContainer {
|
||||
|
||||
_checkbox: CheckboxInput;
|
||||
|
||||
@ -52,7 +53,7 @@ export class Checkbox extends Ion {
|
||||
}
|
||||
}
|
||||
|
||||
registerCheckbox(checkboxDir) {
|
||||
registerInput(checkboxDir) {
|
||||
if (this._checkbox != null) {
|
||||
throw 'Only one <input type="checkbox"> is allowed per <ion-checkbox>'
|
||||
}
|
||||
@ -73,17 +74,15 @@ export class Checkbox extends Ion {
|
||||
}
|
||||
}
|
||||
|
||||
@Directive({
|
||||
selector: 'input[type=checkbox]'
|
||||
})
|
||||
export class CheckboxInput {
|
||||
constructor(
|
||||
elementRef: ElementRef,
|
||||
@Optional() @Parent() container: Checkbox,
|
||||
@Optional() control: NgControl
|
||||
) {
|
||||
this.elementRef = elementRef;
|
||||
this.control = control ? control : null;
|
||||
container && container.registerCheckbox(this);
|
||||
}
|
||||
}
|
||||
|
||||
// export class CheckboxInput {
|
||||
// constructor(
|
||||
// elementRef: ElementRef,
|
||||
// @Optional() @Parent() container: Checkbox,
|
||||
// @Optional() control: NgControl
|
||||
// ) {
|
||||
// this.elementRef = elementRef;
|
||||
// this.control = control ? control : null;
|
||||
// container && container.registerCheckbox(this);
|
||||
// }
|
||||
// }
|
||||
|
@ -1,13 +1,16 @@
|
||||
import {Parent, Ancestor, Optional, ElementRef, Attribute} from 'angular2/angular2';
|
||||
import {Parent, Ancestor, Optional, ElementRef, Attribute, Directive} from 'angular2/angular2';
|
||||
|
||||
import {IonInput} from './form';
|
||||
import {IonicApp} from '../app/app';
|
||||
import {Content} from '../content/content';
|
||||
import {Checkbox} from '../checkbox/checkbox';
|
||||
|
||||
|
||||
@Directive({
|
||||
selector: 'input[type=checkbox],input[type=radio]'
|
||||
})
|
||||
export class TapInput extends IonInput {
|
||||
constructor(
|
||||
@Optional() @Parent() container: Input,
|
||||
@Optional() @Parent() container: Checkbox, //TODO have this be either Checkbox or Radio
|
||||
@Optional() @Ancestor() scrollView: Content,
|
||||
@Attribute('type') type: string,
|
||||
elementRef: ElementRef,
|
||||
|
@ -11,7 +11,7 @@ import {
|
||||
List, Item, ItemGroup, ItemGroupTitle,
|
||||
Toolbar,
|
||||
Icon,
|
||||
Checkbox, CheckboxInput, Switch,
|
||||
Checkbox, TapInput, Switch,
|
||||
Input, TextInput, Label,
|
||||
Segment, SegmentButton, SegmentControlValueAccessor,
|
||||
RadioGroup, RadioButton, SearchBar,
|
||||
@ -56,13 +56,13 @@ export const IonicDirectives = [
|
||||
forwardRef(() => SegmentButton),
|
||||
forwardRef(() => SegmentControlValueAccessor),
|
||||
forwardRef(() => Checkbox),
|
||||
forwardRef(() => CheckboxInput),
|
||||
//Checkbox, Switch
|
||||
//RadioGroup, RadioButton, SearchBar,
|
||||
|
||||
// Input
|
||||
forwardRef(() => Input),
|
||||
forwardRef(() => TextInput),
|
||||
forwardRef(() => TapInput),
|
||||
forwardRef(() => Label),
|
||||
|
||||
// Nav
|
||||
|
Reference in New Issue
Block a user