Client/Gardener.Client.Base/Components/ClientMultiLoading.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

// -----------------------------------------------------------------------------
// 园丁,是个很简单的管理系统
//  gitee:https://gitee.com/hgflydream/Gardener 
//  issues:https://gitee.com/hgflydream/Gardener/issues 
// -----------------------------------------------------------------------------

using System.Collections.Generic;

namespace Gardener.Client.Base.Components
{
    /// <summary>
    /// 客户端加载中标记-多实例-应用于列表
    /// </summary>
    public class ClientMultiLoading
    {
        /// <summary>
        /// 默认是否是加载中
        /// </summary>
        private bool defaultIsLoading = false;

        /// <summary>
        /// 每个实例对应的加载中标记
        /// </summary>
        private Dictionary<object, bool> loadings = new Dictionary<object, bool>();

        /// <summary>
        /// 客户端加载中标记-多实例-应用于列表
        /// </summary>
        /// <param name="defaultIsLoading">默认是否是加载中</param>
        public ClientMultiLoading(bool defaultIsLoading)
        {
            this.defaultIsLoading = defaultIsLoading;
        }
        /// <summary>
        /// 获取加载中标记
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public bool this[object key] => GetValue(key);
        /// <summary>
        /// 获取加载中标记
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public bool GetValue(object key)
        {
            if (!loadings.ContainsKey(key))
            {
                loadings.Add(key, defaultIsLoading);
            }
            return loadings[key];
        }
        /// <summary>
        /// 开始loading
        /// </summary>
        /// <param name="key"></param>
        public void Start(object key)
        {
            if (loadings.ContainsKey(key) && !loadings[key])
            {
后面还有 18 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。