UNPKG

tree-ngx

Version:

A highly customizable Angular Tree Component, usable with minimal implementation.

29 lines 4.23 kB
import { NodeSelectedState } from '../model/node-selected-state'; import { TreeMode } from '../model/tree-mode'; export class TreeUtil { static initState(parent, nodeItem, options) { const nodeState = { parent: parent, children: [], filteredChildren: [], hasFilteredChildren: false, nodeItem: nodeItem, expanded: nodeItem.expanded === false ? false : true, disabled: nodeItem.disabled === true ? true : false, markSelected: this.getMarkSelected(nodeItem, options), selectedState: NodeSelectedState.unChecked, selected: false, showCheckBox: options.checkboxes }; return nodeState; } static getMarkSelected(nodeItem, options) { if (((!nodeItem.children || nodeItem.children.length === 0) || options.mode === TreeMode.SingleSelect) && !options.checkboxes) { return true; } else { return false; } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy90cmVlLW5neC9zcmMvdXRpbC91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxNQUFNLE9BQU8sUUFBUTtJQUVaLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBaUIsRUFBRSxRQUF1QixFQUFFLE9BQW9CO1FBRXRGLE1BQU0sU0FBUyxHQUFjO1lBQzNCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLEVBQUU7WUFDWixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDcEQsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDbkQsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQztZQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsU0FBUztZQUMxQyxRQUFRLEVBQUUsS0FBSztZQUNmLFlBQVksRUFBRSxPQUFPLENBQUMsVUFBVTtTQUNqQyxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBdUIsRUFBRSxPQUFvQjtRQUN6RSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQzdILE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlSXRlbSB9IGZyb20gJy4uL21vZGVsL25vZGUtaXRlbSc7XHJcbmltcG9ydCB7IE5vZGVTdGF0ZSB9IGZyb20gJy4uL21vZGVsL25vZGUtc3RhdGUnO1xyXG5pbXBvcnQgeyBOb2RlU2VsZWN0ZWRTdGF0ZSB9IGZyb20gJy4uL21vZGVsL25vZGUtc2VsZWN0ZWQtc3RhdGUnO1xyXG5pbXBvcnQgeyBUcmVlT3B0aW9ucyB9IGZyb20gJy4uL21vZGVsL3RyZWUtb3B0aW9ucyc7XHJcbmltcG9ydCB7IFRyZWVNb2RlIH0gZnJvbSAnLi4vbW9kZWwvdHJlZS1tb2RlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcmVlVXRpbCB7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaW5pdFN0YXRlKHBhcmVudDogTm9kZVN0YXRlLCBub2RlSXRlbTogTm9kZUl0ZW08YW55Piwgb3B0aW9uczogVHJlZU9wdGlvbnMpOiBOb2RlU3RhdGUge1xyXG5cclxuICAgIGNvbnN0IG5vZGVTdGF0ZTogTm9kZVN0YXRlID0ge1xyXG4gICAgICBwYXJlbnQ6IHBhcmVudCxcclxuICAgICAgY2hpbGRyZW46IFtdLFxyXG4gICAgICBmaWx0ZXJlZENoaWxkcmVuOiBbXSxcclxuICAgICAgaGFzRmlsdGVyZWRDaGlsZHJlbjogZmFsc2UsXHJcbiAgICAgIG5vZGVJdGVtOiBub2RlSXRlbSxcclxuICAgICAgZXhwYW5kZWQ6IG5vZGVJdGVtLmV4cGFuZGVkID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcclxuICAgICAgZGlzYWJsZWQ6IG5vZGVJdGVtLmRpc2FibGVkID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICBtYXJrU2VsZWN0ZWQ6IHRoaXMuZ2V0TWFya1NlbGVjdGVkKG5vZGVJdGVtLCBvcHRpb25zKSxcclxuICAgICAgc2VsZWN0ZWRTdGF0ZTogTm9kZVNlbGVjdGVkU3RhdGUudW5DaGVja2VkLFxyXG4gICAgICBzZWxlY3RlZDogZmFsc2UsXHJcbiAgICAgIHNob3dDaGVja0JveDogb3B0aW9ucy5jaGVja2JveGVzXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBub2RlU3RhdGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldE1hcmtTZWxlY3RlZChub2RlSXRlbTogTm9kZUl0ZW08YW55Piwgb3B0aW9uczogVHJlZU9wdGlvbnMpOiBib29sZWFuIHtcclxuICAgIGlmICgoKCFub2RlSXRlbS5jaGlsZHJlbiB8fCBub2RlSXRlbS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHx8IG9wdGlvbnMubW9kZSA9PT0gVHJlZU1vZGUuU2luZ2xlU2VsZWN0KSAmJiAhb3B0aW9ucy5jaGVja2JveGVzKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=