| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import { Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';
- import { isPresent, isTrueProperty } from '../../util/util';
- /**
- * @name Option
- * @description
- * `ion-option` is a child component of `ion-select`. Similar to the native option element, `ion-option` can take a value and a selected property.
- *
- * @demo /docs/demos/src/select/
- */
- export class Option {
- constructor(_elementRef) {
- this._elementRef = _elementRef;
- this._selected = false;
- this._disabled = false;
- /**
- * @output {any} Event to evaluate when option is selected.
- */
- this.ionSelect = new EventEmitter();
- }
- /**
- * @input {boolean} If true, the user cannot interact with this element.
- */
- get disabled() {
- return this._disabled;
- }
- set disabled(val) {
- this._disabled = isTrueProperty(val);
- }
- /**
- * @input {boolean} If true, the element is selected.
- */
- get selected() {
- return this._selected;
- }
- set selected(val) {
- this._selected = isTrueProperty(val);
- }
- /**
- * @input {any} The value of the option.
- */
- get value() {
- if (isPresent(this._value)) {
- return this._value;
- }
- return this.text;
- }
- set value(val) {
- this._value = val;
- }
- /**
- * @hidden
- */
- get text() {
- return this._elementRef.nativeElement.textContent;
- }
- }
- Option.decorators = [
- { type: Directive, args: [{
- selector: 'ion-option'
- },] },
- ];
- /** @nocollapse */
- Option.ctorParameters = () => [
- { type: ElementRef, },
- ];
- Option.propDecorators = {
- 'disabled': [{ type: Input },],
- 'selected': [{ type: Input },],
- 'value': [{ type: Input },],
- 'ionSelect': [{ type: Output },],
- };
- //# sourceMappingURL=option.js.map
|