ngx-bootstrap-treeview
Version:
Ngx Bootstrap Treeview - Simple library to visualize, search and interact with tree data
56 lines • 4.88 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
/**
* @template TreeSourceType, LeafSourceType
*/
export class NgxBootstrapTreeviewMapper {
/**
* @param {?} treeMap
* @param {?} leafMap
*/
constructor(treeMap, leafMap) {
this.treeMap = treeMap;
this.leafMap = leafMap;
}
/**
* @param {?} item
* @return {?}
*/
mapTree(item) {
const { value, label, children, leaves, data } = {
value: item[this.treeMap.value],
label: item[this.treeMap.label],
children: item[this.treeMap.children],
leaves: item[this.treeMap.leavesKey],
data: item
};
/** @type {?} */
const result = {
value,
label,
data,
children: [...children.map(child => this.mapTree(child)), ...leaves.map(leaf => this.mapLeaf(leaf))]
};
return result;
}
/**
* @param {?} item
* @return {?}
*/
mapLeaf(item) {
return {
value: item[this.leafMap.value],
label: item[this.leafMap.label],
data: item
};
}
}
if (false) {
/** @type {?} */
NgxBootstrapTreeviewMapper.prototype.treeMap;
/** @type {?} */
NgxBootstrapTreeviewMapper.prototype.leafMap;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWJvb3RzdHJhcC10cmVldmlldy1tYXBwZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYm9vdHN0cmFwLXRyZWV2aWV3LyIsInNvdXJjZXMiOlsidXRpbHMvbmd4LWJvb3RzdHJhcC10cmVldmlldy1tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUtBLE1BQU0sT0FBTywwQkFBMEI7Ozs7O0lBSW5DLFlBQVksT0FBZ0IsRUFBRSxPQUFnQjtRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDOzs7OztJQUVELE9BQU8sQ0FBQyxJQUFvQjtjQUNsQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRztZQUM3QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDL0IsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNyQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQ3BDLElBQUksRUFBRSxJQUFJO1NBQ2I7O2NBRUssTUFBTSxHQUFTO1lBQ2pCLEtBQUs7WUFDTCxLQUFLO1lBQ0wsSUFBSTtZQUNKLFFBQVEsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDdkc7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs7OztJQUVELE9BQU8sQ0FBQyxJQUFvQjtRQUN4QixPQUFPO1lBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQy9CLElBQUksRUFBRSxJQUFJO1NBQ2IsQ0FBQztJQUNOLENBQUM7Q0FDSjs7O0lBbENHLDZDQUFpQjs7SUFDakIsNkNBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJlZSB9IGZyb20gJy4uL21vZGVscy90cmVlLm1vZGVsJztcclxuaW1wb3J0IHsgTGVhZiB9IGZyb20gJy4uL21vZGVscy9sZWFmLm1vZGVsJztcclxuaW1wb3J0IHsgVHJlZU1hcCB9IGZyb20gJy4uL21vZGVscy90cmVlLW1hcC5tb2RlbCc7XHJcbmltcG9ydCB7IExlYWZNYXAgfSBmcm9tICcuLi9tb2RlbHMvbGVhZi1tYXAubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE5neEJvb3RzdHJhcFRyZWV2aWV3TWFwcGVyPFRyZWVTb3VyY2VUeXBlIGV4dGVuZHMgT2JqZWN0LCBMZWFmU291cmNlVHlwZSBleHRlbmRzIE9iamVjdD4ge1xyXG4gICAgdHJlZU1hcDogVHJlZU1hcDtcclxuICAgIGxlYWZNYXA6IExlYWZNYXA7XHJcblxyXG4gICAgY29uc3RydWN0b3IodHJlZU1hcDogVHJlZU1hcCwgbGVhZk1hcDogTGVhZk1hcCkge1xyXG4gICAgICAgIHRoaXMudHJlZU1hcCA9IHRyZWVNYXA7XHJcbiAgICAgICAgdGhpcy5sZWFmTWFwID0gbGVhZk1hcDtcclxuICAgIH1cclxuXHJcbiAgICBtYXBUcmVlKGl0ZW06IFRyZWVTb3VyY2VUeXBlKTogVHJlZSB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgbGFiZWwsIGNoaWxkcmVuLCBsZWF2ZXMsIGRhdGEgfSA9IHtcclxuICAgICAgICAgICAgdmFsdWU6IGl0ZW1bdGhpcy50cmVlTWFwLnZhbHVlXSxcclxuICAgICAgICAgICAgbGFiZWw6IGl0ZW1bdGhpcy50cmVlTWFwLmxhYmVsXSxcclxuICAgICAgICAgICAgY2hpbGRyZW46IGl0ZW1bdGhpcy50cmVlTWFwLmNoaWxkcmVuXSxcclxuICAgICAgICAgICAgbGVhdmVzOiBpdGVtW3RoaXMudHJlZU1hcC5sZWF2ZXNLZXldLFxyXG4gICAgICAgICAgICBkYXRhOiBpdGVtXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBUcmVlID0ge1xyXG4gICAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICAgICAgbGFiZWwsXHJcbiAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbLi4uY2hpbGRyZW4ubWFwKGNoaWxkID0+IHRoaXMubWFwVHJlZShjaGlsZCkpLCAuLi5sZWF2ZXMubWFwKGxlYWYgPT4gdGhpcy5tYXBMZWFmKGxlYWYpKV1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIG1hcExlYWYoaXRlbTogTGVhZlNvdXJjZVR5cGUpOiBMZWFmIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB2YWx1ZTogaXRlbVt0aGlzLmxlYWZNYXAudmFsdWVdLFxyXG4gICAgICAgICAgICBsYWJlbDogaXRlbVt0aGlzLmxlYWZNYXAubGFiZWxdLFxyXG4gICAgICAgICAgICBkYXRhOiBpdGVtXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=