• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgniteUI / igniteui-angular / 13331632524

14 Feb 2025 02:51PM CUT coverage: 22.015% (-69.6%) from 91.622%
13331632524

Pull #15372

github

web-flow
Merge d52d57714 into bcb78ae0a
Pull Request #15372: chore(*): test ci passing

1990 of 15592 branches covered (12.76%)

431 of 964 new or added lines in 18 files covered. (44.71%)

19956 existing lines in 307 files now uncovered.

6452 of 29307 relevant lines covered (22.02%)

249.17 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

22.73
/projects/igniteui-angular/src/lib/tree/tree.service.ts
1
import { Injectable } from '@angular/core';
2
import { IgxTree, IgxTreeNode } from './common';
3

4
/** @hidden @internal */
5
@Injectable()
6
export class IgxTreeService {
2✔
7
    public expandedNodes: Set<IgxTreeNode<any>> = new Set<IgxTreeNode<any>>();
4✔
8
    public collapsingNodes: Set<IgxTreeNode<any>> = new Set<IgxTreeNode<any>>();
4✔
9
    private tree: IgxTree;
10

11
    /**
12
     * Adds the node to the `expandedNodes` set and fires the nodes change event
13
     *
14
     * @param node target node
15
     * @param uiTrigger is the event triggered by a ui interraction (so we know if we should animate)
16
     * @returns void
17
     */
18
    public expand(node: IgxTreeNode<any>, uiTrigger?: boolean): void {
UNCOV
19
        this.collapsingNodes.delete(node);
×
UNCOV
20
        if (!this.expandedNodes.has(node)) {
×
UNCOV
21
            node.expandedChange.emit(true);
×
22
        } else {
UNCOV
23
            return;
×
24
        }
UNCOV
25
        this.expandedNodes.add(node);
×
UNCOV
26
        if (this.tree.singleBranchExpand) {
×
UNCOV
27
            this.tree.findNodes(node, this.siblingComparer)?.forEach(e => {
×
UNCOV
28
                if (uiTrigger) {
×
UNCOV
29
                    e.collapse();
×
30
                } else {
UNCOV
31
                    e.expanded = false;
×
32
                }
33
            });
34
        }
35
    }
36

37
    /**
38
     * Adds a node to the `collapsing` collection
39
     *
40
     * @param node target node
41
     */
42
    public collapsing(node: IgxTreeNode<any>): void {
UNCOV
43
        this.collapsingNodes.add(node);
×
44
    }
45

46
    /**
47
     * Removes the node from the 'expandedNodes' set and emits the node's change event
48
     *
49
     * @param node target node
50
     * @returns void
51
     */
52
    public collapse(node: IgxTreeNode<any>): void {
UNCOV
53
        if (this.expandedNodes.has(node)) {
×
UNCOV
54
            node.expandedChange.emit(false);
×
55
        }
UNCOV
56
        this.collapsingNodes.delete(node);
×
UNCOV
57
        this.expandedNodes.delete(node);
×
58
    }
59

60
    public isExpanded(node: IgxTreeNode<any>): boolean {
UNCOV
61
        return this.expandedNodes.has(node);
×
62
    }
63

64
    public register(tree: IgxTree) {
65
        this.tree = tree;
2✔
66
    }
67

68
    private siblingComparer:
4✔
69
    (data: IgxTreeNode<any>, node: IgxTreeNode<any>) => boolean =
70
    (data: IgxTreeNode<any>, node: IgxTreeNode<any>) => node !== data && node.level === data.level;
×
71
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc