ionic-angular-acoreyj
Version:
A powerful framework for building mobile and progressive web apps with JavaScript and Angular
90 lines • 2.64 kB
JavaScript
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/
*/
var Option = (function () {
function Option(_elementRef) {
this._elementRef = _elementRef;
this._selected = false;
this._disabled = false;
/**
* @output {any} Event to evaluate when option is selected.
*/
this.ionSelect = new EventEmitter();
}
Object.defineProperty(Option.prototype, "disabled", {
/**
* @input {boolean} If true, the user cannot interact with this element.
*/
get: function () {
return this._disabled;
},
set: function (val) {
this._disabled = isTrueProperty(val);
},
enumerable: true,
configurable: true
});
Object.defineProperty(Option.prototype, "selected", {
/**
* @input {boolean} If true, the element is selected.
*/
get: function () {
return this._selected;
},
set: function (val) {
this._selected = isTrueProperty(val);
},
enumerable: true,
configurable: true
});
Object.defineProperty(Option.prototype, "value", {
/**
* @input {any} The value of the option.
*/
get: function () {
if (isPresent(this._value)) {
return this._value;
}
return this.text;
},
set: function (val) {
this._value = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Option.prototype, "text", {
/**
* @hidden
*/
get: function () {
return this._elementRef.nativeElement.textContent;
},
enumerable: true,
configurable: true
});
Option.decorators = [
{ type: Directive, args: [{
selector: 'ion-option'
},] },
];
/** @nocollapse */
Option.ctorParameters = function () { return [
{ type: ElementRef, },
]; };
Option.propDecorators = {
'disabled': [{ type: Input },],
'selected': [{ type: Input },],
'value': [{ type: Input },],
'ionSelect': [{ type: Output },],
};
return Option;
}());
export { Option };
//# sourceMappingURL=option.js.map