73 lines
3.1 KiB
C#
73 lines
3.1 KiB
C#
using System.Collections.Generic;
|
|
using Kreta.Framework;
|
|
using Kreta.Resources;
|
|
using Kreta.Web.Helpers.Modal;
|
|
|
|
namespace Kreta.Web.Models.EditorTemplates
|
|
{
|
|
public class PopUpModel
|
|
{
|
|
|
|
public object Instance { get; private set; }
|
|
|
|
public string View { get; private set; }
|
|
|
|
public List<ModalButtonModel> Buttons { get; }
|
|
|
|
public PopUpModel(object model, string view)
|
|
{
|
|
Instance = model;
|
|
View = view;
|
|
Buttons = new List<ModalButtonModel>();
|
|
}
|
|
|
|
public PopUpModel AddOkBtn(PopUpModel pm, string eventName)
|
|
{
|
|
pm.Buttons.Add(new ModalButtonModel { Name = "BtnOk", Text = CommonResource.Mentes, EventName = eventName });
|
|
return pm;
|
|
}
|
|
|
|
public PopUpModel AddCancelBtn(PopUpModel pm, string eventName)
|
|
{
|
|
pm.Buttons.Add(new ModalButtonModel { Name = "BtnCancel", Text = CommonResource.Megse, EventName = eventName });
|
|
return pm;
|
|
}
|
|
|
|
public PopUpModel AddDeleteBtn(PopUpModel pm, string eventName)
|
|
{
|
|
pm.Buttons.Add(new ModalButtonModel { Name = "BtnDelete", Text = CommonResource.Torles, EventName = eventName });
|
|
return pm;
|
|
}
|
|
|
|
public PopUpModel AddBtn(PopUpModel pm, string name, int content, string eventName, string containerCssClass = null, bool secondLine = false, bool setDisabledAfterClick = false, string text = null)
|
|
{
|
|
var clickEventName = SetClickEventName(eventName, name, setDisabledAfterClick);
|
|
pm.Buttons.Add(new ModalButtonModel { Name = name, Text = content > 0 ? StringResourcesUtil.GetString(content) : text, EventName = clickEventName, ContainerCssClass = containerCssClass, SecondLine = secondLine });
|
|
return pm;
|
|
}
|
|
|
|
public PopUpModel AddBtn(PopUpModel pm, string name, string text, string eventName, bool secondLine, string containerCssClass = null, bool setDisabledAfterClick = false)
|
|
{
|
|
var clickEventName = SetClickEventName(eventName, name, setDisabledAfterClick);
|
|
pm.Buttons.Add(new ModalButtonModel { Name = name, Text = text, EventName = clickEventName, ContainerCssClass = containerCssClass, SecondLine = secondLine });
|
|
return pm;
|
|
}
|
|
|
|
public PopUpModel AddBtn(PopUpModel pm, string name, string text, string eventName, string containerCssClass = null, bool setDisabledAfterClick = false)
|
|
{
|
|
var clickEventName = SetClickEventName(eventName, name, setDisabledAfterClick);
|
|
pm.Buttons.Add(new ModalButtonModel { Name = name, Text = text, EventName = clickEventName, ContainerCssClass = containerCssClass });
|
|
return pm;
|
|
}
|
|
|
|
private string SetClickEventName(string originialEventName, string buttonName, bool setDisabledAfterClick)
|
|
{
|
|
var eventName = originialEventName;
|
|
if (setDisabledAfterClick)
|
|
{
|
|
eventName = $"function(e) {{ $('#{buttonName}').attr('disabled', true); {originialEventName}(); }}";
|
|
}
|
|
return eventName;
|
|
}
|
|
}
|
|
}
|