com.phloxui
Version:
PhloxUI Ng2+ Framework
120 lines (119 loc) • 11.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { AbstractSelectItems } from './AbstractSelectItems';
/**
* @abstract
*/
export class AbstractSelectOneItem extends AbstractSelectItems {
/**
* @param {?} elementRef
* @param {?} needFocusService
*/
constructor(elementRef, needFocusService) {
super(elementRef, needFocusService);
}
/**
* @return {?}
*/
ngOnInit() {
super.ngOnInit();
}
/**
* @param {?} items
* @return {?}
*/
parseData(items) {
//in absSelectItems return any as one item;
let /** @type {?} */ result = super.parseData(items);
if (result !== null && typeof result !== 'undefined') {
if (result.length > 0) {
return result[0];
}
}
return null;
}
/**
* @return {?}
*/
getSelectedValue() {
let /** @type {?} */ sItem = this.getSelectedItem();
if (sItem !== null && typeof sItem !== 'undefined') {
return sItem.getValue();
}
return null;
}
/**
* @return {?}
*/
getSelectedItem() {
if (this.selectedItems !== null && typeof this.selectedItems !== 'undefined' && Array.isArray(this.selectedItems)) {
if (this.selectedItems.length > 0) {
return this.selectedItems[0];
}
}
return null;
}
/**
* @return {?}
*/
getSelectedIndex() {
let /** @type {?} */ sItem = this.getSelectedItem();
if (sItem !== null && typeof sItem !== 'undefined' && this.items !== null && typeof this.items !== 'undefined') {
let /** @type {?} */ sIndex = this.items.indexOf(sItem);
return sIndex;
}
return -1;
}
/**
* @param {?} item
* @param {?=} $event
* @param {?=} fireEvent
* @param {?=} fireChangeEvent
* @return {?}
*/
setSelectedItem(item, $event, fireEvent, fireChangeEvent) {
this.setSelectedIndex(this.getItemIndex(item), $event, fireEvent, fireChangeEvent);
}
/**
* @param {?} index
* @param {?=} $event
* @param {?=} fireEvent
* @param {?=} fireChangeEvent
* @return {?}
*/
setSelectedIndex(index, $event, fireEvent, fireChangeEvent) {
if (index === null || typeof index !== 'number') {
index = -1;
}
if (fireEvent === null || fireEvent === undefined) {
fireEvent = true;
}
let /** @type {?} */ indices = [];
if (index >= 0 && index < this.items.length) {
indices.push(index);
}
else {
index = -1;
}
super.setSelectedIndexes(indices, $event, fireEvent, fireChangeEvent);
}
/**
* @param {?} inputVal
* @param {?=} $event
* @param {?=} fireEvent
* @param {?=} fireChangeEvent
* @return {?}
*/
setInputValue(inputVal, $event, fireEvent, fireChangeEvent) {
let /** @type {?} */ index = this.getItemIndexFromValue(inputVal);
if (index >= 0) {
this.setSelectedIndex(index, $event, fireEvent, fireChangeEvent);
}
if (!this.isMappingEnable() && this._preloadData === undefined) {
this._preloadData = inputVal;
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RTZWxlY3RPbmVJdGVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L2RhdGF2aWV3L2lucHV0L0Fic3RyYWN0U2VsZWN0T25lSXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFXNUQsTUFBTSw0QkFBc0MsU0FBUSxtQkFBbUI7Ozs7O0lBRXJFLFlBQVksVUFBc0IsRUFBRSxnQkFBa0M7UUFDcEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3JDOzs7O0lBRU0sUUFBUTtRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7Ozs7O0lBR1QsU0FBUyxDQUFDLEtBQXlCOztRQUUzQyxxQkFBSSxNQUFNLEdBQVUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDckQsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2xCO1NBQ0Y7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDO0tBQ2I7Ozs7SUFFTSxnQkFBZ0I7UUFDckIscUJBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNuQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN6QjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUM7Ozs7O0lBR1As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RXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFNlbGVjdEl0ZW1zIH0gZnJvbSAnLi9BYnN0cmFjdFNlbGVjdEl0ZW1zJztcbmltcG9ydCB7IElTZWxlY3RJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9JU2VsZWN0SXRlbU1vZGVsJztcbmltcG9ydCB7IENIQU5HRV9FVkVOVCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlL0N1c3RvbUV2ZW50VHlwZSc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XG5pbXBvcnQgeyBOZWVkRm9jdXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9OZWVkRm9jdXNTZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQkVGT1JFX1NIT1dfRVZFTlQsIFNIT1dfRVZFTlQsIEJFRk9SRV9ISURFX0VWRU5ULCBISURFX0VWRU5ULCBCRUZPUkVfQ0xJQ0tfRVZFTlQsIENMSUNLX0VWRU5ULFxuICBCRUZPUkVfU0VMRUNUX0VWRU5ULCBTRUxFQ1RfRVZFTlRcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmUvQ3VzdG9tRXZlbnRUeXBlJztcbmltcG9ydCB7IEV2ZW50VXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZS91dGlscy9FdmVudFV0aWxzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0U2VsZWN0T25lSXRlbSBleHRlbmRzIEFic3RyYWN0U2VsZWN0SXRlbXMgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG5lZWRGb2N1c1NlcnZpY2U6IE5lZWRGb2N1c1NlcnZpY2UpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBuZWVkRm9jdXNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlRGF0YShpdGVtczogSVNlbGVjdEl0ZW1Nb2RlbFtdKTogYW55IHtcbiAgICAvL2luIGFic1NlbGVjdEl0ZW1zIHJldHVybiBhbnkgYXMgb25lIGl0ZW07XG4gICAgbGV0IHJlc3VsdDogYW55W10gPSBzdXBlci5wYXJzZURhdGEoaXRlbXMpO1xuICAgIGlmIChyZXN1bHQgIT09IG51bGwgJiYgdHlwZW9mIHJlc3VsdCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0WzBdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkVmFsdWUoKTogYW55IHtcbiAgICBsZXQgc0l0ZW0gPSB0aGlzLmdldFNlbGVjdGVkSXRlbSgpO1xuICAgIGlmIChzSXRlbSAhPT0gbnVsbCAmJiB0eXBlb2Ygc0l0ZW0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gc0l0ZW0uZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZEl0ZW0oKTogSVNlbGVjdEl0ZW1Nb2RlbCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcyAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5zZWxlY3RlZEl0ZW1zICE9PSAndW5kZWZpbmVkJyAmJiBBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0ZWRJdGVtcykpIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zWzBdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZEluZGV4KCk6IG51bWJlciB7XG4gICAgbGV0IHNJdGVtID0gdGhpcy5nZXRTZWxlY3RlZEl0ZW0oKTtcblxuICAgIGlmIChzSXRlbSAhPT0gbnVsbCAmJiB0eXBlb2Ygc0l0ZW0gIT09ICd1bmRlZmluZWQnICYmIHRoaXMuaXRlbXMgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuaXRlbXMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsZXQgc0luZGV4ID0gdGhpcy5pdGVtcy5pbmRleE9mKHNJdGVtKTtcblxuICAgICAgcmV0dXJuIHNJbmRleDtcbiAgICB9XG5cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBwdWJsaWMgc2V0U2VsZWN0ZWRJdGVtKGl0ZW06IElTZWxlY3RJdGVtTW9kZWwsICRldmVudD86IEV2ZW50LCBmaXJlRXZlbnQ/OiBib29sZWFuLCBmaXJlQ2hhbmdlRXZlbnQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTZWxlY3RlZEluZGV4KHRoaXMuZ2V0SXRlbUluZGV4KGl0ZW0pLCAkZXZlbnQsIGZpcmVFdmVudCwgZmlyZUNoYW5nZUV2ZW50KTtcbiAgfVxuXG4gIC8vIERlc2VsZWN0IGFsbCBpZiBpbmRleCBvdXQgb2YgYm91bmRcbiAgcHVibGljIHNldFNlbGVjdGVkSW5kZXgoaW5kZXg6IG51bWJlciwgJGV2ZW50PzogRXZlbnQsIGZpcmVFdmVudD86IGJvb2xlYW4sIGZpcmVDaGFuZ2VFdmVudD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaW5kZXggPT09IG51bGwgfHwgdHlwZW9mIGluZGV4ICE9PSAnbnVtYmVyJykge1xuICAgICAgaW5kZXggPSAtMTtcbiAgICB9XG4gICAgaWYgKGZpcmVFdmVudCA9PT0gbnVsbCB8fCBmaXJlRXZlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZmlyZUV2ZW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBsZXQgaW5kaWNlcyA9IFtdO1xuXG4gICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgaW5kaWNlcy5wdXNoKGluZGV4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5kZXggPSAtMTtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRTZWxlY3RlZEluZGV4ZXMoaW5kaWNlcywgJGV2ZW50LCBmaXJlRXZlbnQsIGZpcmVDaGFuZ2VFdmVudCk7XG4gIH1cblxuICAvLyBvdmVyaWRlIHNldCB2YWx1ZVxuICBwdWJsaWMgc2V0SW5wdXRWYWx1ZShpbnB1dFZhbDogYW55LCAkZXZlbnQ/OiBFdmVudCwgZmlyZUV2ZW50PzogYm9vbGVhbiwgZmlyZUNoYW5nZUV2ZW50PzogYm9vbGVhbik6IHZvaWQge1xuICAgIGxldCBpbmRleCA9IHRoaXMuZ2V0SXRlbUluZGV4RnJvbVZhbHVlKGlucHV0VmFsKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZEluZGV4KGluZGV4LCAkZXZlbnQsIGZpcmVFdmVudCwgZmlyZUNoYW5nZUV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNNYXBwaW5nRW5hYmxlKCkgJiYgdGhpcy5fcHJlbG9hZERhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fcHJlbG9hZERhdGEgPSBpbnB1dFZhbDtcbiAgICB9XG4gIH1cblxufVxuIl19