air-lib
Version:
This is Air's angular component library
68 lines • 5.32 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export class SelectItem {
/**
* @param {?} source
*/
constructor(source) {
if (typeof source === 'string') {
this.id = this.text = source;
}
if (typeof source === 'object') {
this.id = source.id || source.text;
this.text = source.text;
if (source.children && source.text) {
this.children = source.children.map((c) => {
/** @type {?} */
let r = new SelectItem(c);
r.parent = this;
return r;
});
this.text = source.text;
}
}
}
/**
* @param {?} optionsMap
* @param {?} startIndex
* @return {?}
*/
fillChildrenHash(optionsMap, startIndex) {
/** @type {?} */
let i = startIndex;
this.children.map((child) => {
optionsMap.set(child.id, i++);
});
return i;
}
/**
* @return {?}
*/
hasChildren() {
return this.children && this.children.length > 0;
}
/**
* @return {?}
*/
getSimilar() {
/** @type {?} */
let r = new SelectItem(false);
r.id = this.id;
r.text = this.text;
r.parent = this.parent;
return r;
}
}
if (false) {
/** @type {?} */
SelectItem.prototype.id;
/** @type {?} */
SelectItem.prototype.text;
/** @type {?} */
SelectItem.prototype.children;
/** @type {?} */
SelectItem.prototype.parent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9haXItbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbmcyLXNlbGVjdC1jdXN0b20vc2VsZWN0L3NlbGVjdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNOzs7O0lBTUosWUFBbUIsTUFBVTtRQUMzQixJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUM5QixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3hCLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBSyxFQUFFLEVBQUU7O3dCQUN4QyxDQUFDLEdBQWMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUNwQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFDaEIsT0FBTyxDQUFDLENBQUM7Z0JBQ1gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO2FBQ3pCO1NBQ0Y7SUFDSCxDQUFDOzs7Ozs7SUFFTSxnQkFBZ0IsQ0FBQyxVQUE4QixFQUFFLFVBQWlCOztZQUNuRSxDQUFDLEdBQUcsVUFBVTtRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUNyQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7OztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7O0lBRU0sVUFBVTs7WUFDWCxDQUFDLEdBQWMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0Y7OztJQTFDQyx3QkFBaUI7O0lBQ2pCLDBCQUFtQjs7SUFDbkIsOEJBQWtDOztJQUNsQyw0QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU2VsZWN0SXRlbSB7XHJcbiAgcHVibGljIGlkOnN0cmluZztcclxuICBwdWJsaWMgdGV4dDpzdHJpbmc7XHJcbiAgcHVibGljIGNoaWxkcmVuOkFycmF5PFNlbGVjdEl0ZW0+O1xyXG4gIHB1YmxpYyBwYXJlbnQ6U2VsZWN0SXRlbTtcclxuXHJcbiAgcHVibGljIGNvbnN0cnVjdG9yKHNvdXJjZTphbnkpIHtcclxuICAgIGlmICh0eXBlb2Ygc291cmNlID09PSAnc3RyaW5nJykge1xyXG4gICAgICB0aGlzLmlkID0gdGhpcy50ZXh0ID0gc291cmNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIHRoaXMuaWQgPSBzb3VyY2UuaWQgfHwgc291cmNlLnRleHQ7XHJcbiAgICAgIHRoaXMudGV4dCA9IHNvdXJjZS50ZXh0O1xyXG4gICAgICBpZiAoc291cmNlLmNoaWxkcmVuICYmIHNvdXJjZS50ZXh0KSB7XHJcbiAgICAgICAgdGhpcy5jaGlsZHJlbiA9IHNvdXJjZS5jaGlsZHJlbi5tYXAoKGM6YW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgcjpTZWxlY3RJdGVtID0gbmV3IFNlbGVjdEl0ZW0oYyk7XHJcbiAgICAgICAgICByLnBhcmVudCA9IHRoaXM7XHJcbiAgICAgICAgICByZXR1cm4gcjtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnRleHQgPSBzb3VyY2UudGV4dDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbGxDaGlsZHJlbkhhc2gob3B0aW9uc01hcDpNYXA8c3RyaW5nLCBudW1iZXI+LCBzdGFydEluZGV4Om51bWJlcik6bnVtYmVyIHtcclxuICAgIGxldCBpID0gc3RhcnRJbmRleDtcclxuICAgIHRoaXMuY2hpbGRyZW4ubWFwKChjaGlsZDpTZWxlY3RJdGVtKSA9PiB7XHJcbiAgICAgIG9wdGlvbnNNYXAuc2V0KGNoaWxkLmlkLCBpKyspO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gaTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYXNDaGlsZHJlbigpOmJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4gJiYgdGhpcy5jaGlsZHJlbi5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFNpbWlsYXIoKTpTZWxlY3RJdGVtIHtcclxuICAgIGxldCByOlNlbGVjdEl0ZW0gPSBuZXcgU2VsZWN0SXRlbShmYWxzZSk7XHJcbiAgICByLmlkID0gdGhpcy5pZDtcclxuICAgIHIudGV4dCA9IHRoaXMudGV4dDtcclxuICAgIHIucGFyZW50ID0gdGhpcy5wYXJlbnQ7XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcbn1cclxuIl19