Files
XRLib/Assets/Scripts/UVC/UIToolkit/Property/Items/UTKDateRangePropertyItem.cs
2026-02-04 20:31:52 +09:00

58 lines
2.0 KiB
C#

#nullable enable
using System;
namespace UVC.UIToolkit
{
/// <summary>
/// 날짜 범위 속성 데이터 클래스입니다.
/// UI는 UTKDateRangePropertyItemView에서 담당합니다.
/// </summary>
public class UTKDateRangePropertyItem : UTKPropertyItemBase<UTKDateRange>
{
#region Fields
private string _dateFormat = "yyyy-MM-dd";
#endregion
#region Properties
/// <summary>속성 타입</summary>
public override UTKPropertyType PropertyType => UTKPropertyType.DateRange;
/// <summary>날짜 표시 형식</summary>
public string DateFormat
{
get => _dateFormat;
set => _dateFormat = value ?? "yyyy-MM-dd";
}
#endregion
#region Constructor
/// <summary>
/// 날짜 범위 속성을 생성합니다.
/// </summary>
/// <param name="id">고유 ID</param>
/// <param name="name">표시 이름</param>
/// <param name="initialValue">초기 범위 값</param>
/// <param name="isReadOnly">읽기 전용 여부</param>
public UTKDateRangePropertyItem(string id, string name, UTKDateRange initialValue = default, bool isReadOnly = false)
: base(id, name, initialValue.Start == default ? new UTKDateRange(DateTime.Today, DateTime.Today) : initialValue)
{
IsReadOnly = isReadOnly;
}
/// <summary>
/// 날짜 범위 속성을 생성합니다.
/// </summary>
/// <param name="id">고유 ID</param>
/// <param name="name">표시 이름</param>
/// <param name="start">시작 날짜</param>
/// <param name="end">종료 날짜</param>
/// <param name="isReadOnly">읽기 전용 여부</param>
public UTKDateRangePropertyItem(string id, string name, DateTime start, DateTime end, bool isReadOnly = false)
: base(id, name, new UTKDateRange(start, end))
{
IsReadOnly = isReadOnly;
}
#endregion
}
}