< Summary

Class:UIComponents.CollapsableSortedList.CollapsableListToggleButton
Assembly:UIComponents
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/UIComponents/Scripts/Components/CollapsableSortedList/CollapsableListToggleButton.cs
Covered lines:11
Uncovered lines:5
Coverable lines:16
Total lines:45
Line coverage:68.7% (11 of 16)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Awake()0%2.032080%
RefreshControl()0%2100%
Toggle(...)0%220100%
Toggle()0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/UIComponents/Scripts/Components/CollapsableSortedList/CollapsableListToggleButton.cs

#LineLine coverage
 1using DCL.Helpers;
 2using UnityEngine;
 3using UnityEngine.UI;
 4
 5namespace UIComponents.CollapsableSortedList
 6{
 7    public class CollapsableListToggleButton : BaseComponentView
 8    {
 9        [SerializeField] private bool toggleOnAwake;
 10        [SerializeField] private Button toggleButton;
 11        [SerializeField] private Transform toggleButtonIcon;
 12        [SerializeField] private RectTransform containerRectTransform;
 13        [SerializeField] private CollapsableListToggleButtonModel model;
 14
 15        public override void Awake()
 16        {
 3617            base.Awake();
 18
 3619            toggleButton.onClick.AddListener(Toggle);
 20
 3621            if (toggleOnAwake)
 022                Toggle();
 3623        }
 24
 25        public override void RefreshControl()
 26        {
 027            Toggle(model.isToggled);
 028        }
 29
 30        public void Toggle(bool toggled)
 31        {
 4832            containerRectTransform.gameObject.SetActive(toggled);
 4833            var absScale = Mathf.Abs(toggleButtonIcon.localScale.y);
 4834            var scale = toggled ? absScale : -absScale;
 4835            toggleButtonIcon.localScale = new Vector3(toggleButtonIcon.localScale.x, scale, 1f);
 4836            Utils.ForceRebuildLayoutImmediate(containerRectTransform);
 4837            model.isToggled = toggled;
 4838        }
 39
 40        private void Toggle()
 41        {
 042            Toggle(!containerRectTransform.gameObject.activeSelf);
 043        }
 44    }
 45}