< Summary

Class:UIComponents.Scripts.Components.RangeSlider.DropdownWithRangeSliderComponentView
Assembly:UIComponents
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/UIComponents/Scripts/Components/RangeSlider/DropdownWithRangeSliderComponentView.cs
Covered lines:34
Uncovered lines:15
Coverable lines:49
Total lines:106
Line coverage:69.3% (34 of 49)
Covered branches:0
Total branches:0
Covered methods:9
Total methods:15
Method coverage:60% (9 of 15)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Awake()0%110100%
Dispose()0%110100%
RefreshControl()0%110100%
Open()0%2100%
Close()0%110100%
SetTitle(...)0%330100%
SetLimits(...)0%2.062075%
SetWholeNumbers(...)0%2.062075%
SetValues(...)0%2.062075%
ToggleOptionsList()0%6200%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/UIComponents/Scripts/Components/RangeSlider/DropdownWithRangeSliderComponentView.cs

#LineLine coverage
 1using TMPro;
 2using UnityEngine;
 3using UnityEngine.UI;
 4
 5namespace UIComponents.Scripts.Components.RangeSlider
 6{
 7    public class DropdownWithRangeSliderComponentView : BaseComponentView<RangeSliderComponentModel>
 8    {
 9        [Header("Prefab References")]
 10        [SerializeField] public RangeSliderComponentView slider;
 11        [SerializeField] internal Button button;
 12        [SerializeField] internal TMP_Text title;
 13        [SerializeField] internal GameObject contentPanel;
 14        [SerializeField] internal UIHelper_ClickBlocker blocker;
 15
 016        public float MinValue => slider.MinValue;
 017        public float MaxValue => slider.MaxValue;
 018        public float LowValue => slider.LowValue;
 019        public float HighValue => slider.HighValue;
 15520        public RangeSlider.RangeSliderEvent OnValueChanged => slider.OnValueChanged;
 21
 22        private bool isOpen;
 23
 24        public override void Awake()
 25        {
 5126            base.Awake();
 27
 5128            RefreshControl();
 5129            Close();
 30
 5131            blocker.OnClicked += Close;
 5132            button.onClick.AddListener(() => ToggleOptionsList());
 5133        }
 34
 35        public override void Dispose()
 36        {
 5137            base.Dispose();
 38
 5139            blocker.OnClicked -= Close;
 5140            button.onClick.RemoveAllListeners();
 5141        }
 42
 43        public override void RefreshControl()
 44        {
 5145            SetTitle(model.text);
 5146            SetLimits(model.minValue, model.maxValue);
 5147            SetWholeNumbers(model.wholeNumbers);
 5148            SetValues(model.lowValue, model.highValue);
 5149        }
 50
 51        public void Open()
 52        {
 053            contentPanel.SetActive(true);
 054            isOpen = true;
 055            blocker.Activate();
 056        }
 57
 58        public void Close()
 59        {
 5160            contentPanel.SetActive(false);
 5161            isOpen = false;
 5162            blocker.Deactivate();
 5163        }
 64
 65        public void SetTitle(string newText)
 66        {
 10567            if (title != null)
 10568                title.text = newText;
 69
 10570            if (slider != null)
 10571                slider.SetText(newText);
 10572        }
 73
 74        public void SetLimits(float minValue, float maxValue)
 75        {
 5176            if (slider == null)
 077                return;
 78
 5179            slider.SetLimits(minValue, maxValue);
 5180        }
 81
 82        public void SetWholeNumbers(bool isWholeNumbers)
 83        {
 10584            if (slider == null)
 085                return;
 86
 10587            slider.SetWholeNumbers(isWholeNumbers);
 10588        }
 89
 90        public void SetValues(float lowValue, float highValue)
 91        {
 10592            if (slider == null)
 093                return;
 94
 10595            slider.SetValues(lowValue, highValue);
 10596        }
 97
 98        private void ToggleOptionsList()
 99        {
 0100            if (isOpen)
 0101                Close();
 102            else
 0103                Open();
 0104        }
 105    }
 106}