using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace FastReport.Web.Blazor.Export
{
    public class OnClickEventArgs : EventArgs
    {
        public ReportComponentBase Object
        {
            get;
            set;
        }

        public ClickType Type
        {
            get;
            set;
        }

        public int PageNumber
        {
            get;
            set;
        }

        public Report Report
        {
            get;
        }

        public OnClickEventArgs(ReportComponentBase Object, ClickType type)
        {
            this.Object = Object;
            this.Type = type;
            this.Report = Object.Report;
        }

        public OnClickEventArgs(ReportComponentBase Object, ClickType type, int pageNumber)
            : this(Object, type)
        {
            this.PageNumber = pageNumber;
        }

    }

    public enum ClickType
    {
        /// <summary>
        /// Default value of <see cref="ClickType"/>. 
        /// </summary>
        Empty = 0,
        Click,
        CheckboxClick,
        TextEdit,
        DetailedReport,
        DetailedPage,
        Bookmark,
        PageNumber,
        AdvancedMatrixClick
    }
}
