This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,60 @@
using System;
using System.Linq.Expressions;
using System.Web.Mvc;
using Kendo.Mvc.UI;
using Kendo.Mvc.UI.Fluent;
using Kreta.Resources;
namespace Kreta.Web.Helpers.Unhacked
{
public static class ComboBoxExtensions
{
public struct ComboBoxParameters
{
public string Name;
public string Action;
public string Controller;
public string Area;
public string Placeholder;
public string Language;
public FilterType FilterType;
public string ContentType;
public bool ServerFiltering;
public ComboBoxParameters(string name, string action, string controller = "Enum", string area = "", string placeholder = null, string language = "Magyar",
FilterType filterType = FilterType.Contains, string contentType = Kreta.Core.Constants.ContentTypes.ApplicationJson, bool serverFiltering = false)
{
Name = name;
Action = action;
Controller = controller;
Area = area;
Language = language;
FilterType = filterType;
ContentType = contentType;
ServerFiltering = serverFiltering;
Placeholder = placeholder ?? CommonResource.PleaseChoose;
}
}
public static ComboBoxBuilder KendoComboBoxFor<TModel, TProperty>(this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> expression, ComboBoxParameters parameters)
{
return html.Kendo().ComboBoxFor(expression)
.Name(parameters.Name + "ComboBox")
.Placeholder(parameters.Placeholder)
.DataTextField(parameters.Language)
.DataValueField("Id")
.Filter(parameters.FilterType)
.DataSource(source =>
{
source.Custom()
.ServerFiltering(parameters.ServerFiltering)
.Transport(transport =>
{
transport.Read(read =>
{
read.ContentType(parameters.ContentType).Action(parameters.Action, parameters.Controller, new { parameters.Area });
});
});
});
}
}
}

View file

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Web.Mvc;
using Kendo.Mvc.UI;
using Kendo.Mvc.UI.Fluent;
namespace Kreta.Web.Helpers.Unhacked
{
public static class RadioButtonExtensions
{
public static List<RadioButtonBuilder> KendoRadioButtonsFor<TModel, TProperty, T>(this HtmlHelper<TModel> html,
Expression<Func<TModel, TProperty>> expression, List<T> options, Expression<Func<T, object>> idExpression, Expression<Func<T, string>> labelExpression)
{
var idMethod = idExpression.Compile();
var labelMethod = labelExpression.Compile();
var radioButtonBuilders = new List<RadioButtonBuilder>();
foreach (var option in options)
{
radioButtonBuilders.Add(html.Kendo().RadioButtonFor(expression).Label(labelMethod(option)).Value(idMethod(option)));
}
return radioButtonBuilders;
}
}
}