using System;
using WalkingTec.Mvvm.Core.Exceptions;
namespace WalkingTec.Mvvm.Mvc
{
public static class FResultExtension
{
///
/// 创建一个关闭指定窗口的Result
///
/// ContentResult
/// 返回当前对象
public static FResult CloseDialog(this FResult self)
{
self.ContentBuilder.Append("ff.CloseDialog();");
return self;
}
public static FResult Alert(this FResult self, string msg, string title = null)
{
self.ContentBuilder.Append($"ff.Alert('{msg}','{title??MvcProgram._localizer?["Sys.Info"]}');");
return self;
}
public static FResult Message(this FResult self, string msg, string title = null)
{
self.ContentBuilder.Append($"ff.Msg('{msg}','{title??MvcProgram._localizer?["Sys.Info"]}');");
return self;
}
public static FResult RefreshGrid(this FResult self, string winId = "", int index = 0)
{
if (string.IsNullOrEmpty(winId))
{
winId = self.Controller.ParentWindowId;
if (string.IsNullOrEmpty(winId))
{
winId = "LAY_app_body";
}
}
self.ContentBuilder.Append($"ff.RefreshGrid('{winId}',{index});");
return self;
}
///
/// Layui暂时不支持单行刷新,所以现在是 RefreshGrid
///
///
///
///
///
public static FResult RefreshGridRow(this FResult self, Guid id, string winId = "")
{
self.RefreshGrid(winId);
return self;
}
public static FResult RefreshGridRow(this FResult self, string id, string winId = "")
{
self.RefreshGrid(winId);
return self;
}
public static FResult RefreshGridRow(this FResult self, long id, string winId = "")
{
self.RefreshGrid(winId);
return self;
}
///
/// 刷新当前页面
///
///
///
public static FResult RefreshPage(this FResult self)
{
self.ContentBuilder.Append($"layui.index.render();");
return self;
}
public static FResult AddCustomScript(this FResult self, string script)
{
self.ContentBuilder.Append(script);
return self;
}
}
}