Add a 3 state mode to the Switch component (like it is already implemented in the Telerik UI for WPF) or create new component with that feature.
Example:
When uncheck "Use localization" while create project the Localization resources are still auto copied while publish the project.
The resources are part of the telerik.ui.for.aspnet.core.yyyy.q.mmdd.nupkg and therefore are copied to the bin folder regardless of the "Use localization" option. The "Use localization" option controls the availability only of the messages files.
This a feature request for providing another lightweight NuGet which does not contain the localization dlls that could be used for non-localized projects.
When both UI for ASP.NET MVC and UI for ASP.NET Core Visual Studio extensions are installed and only UI for ASP.NET Core project is loaded, the notification for new version is shown for UI for ASP.NET MVC.
Running WAVE on websites that use the Slider throw up a load of alerts to do with "Redundant title text" and "Unlabeled form control with title".
You can see examples of this on any demo page such as the Basic Usage one.
Can you please remove the offending attributes - or come up with values that don't throw these issues up? I'm not sure if they're in place to work with ToolTips, but if we elect not to support ToolTips (which is default behaviour) then they are effectively redundant.
I don't want to have to do this myself in script because it is an unnecessary overhead and may cause downstream issues in your code.
Test Environment:
OS Version: 22H2 OS Build 22621.1702
Edge Version: Edge(Chromium) Version 114.0.1823.37 (Official build) (64-bit)
Pre requisites:
High contrast mode: Settings->Accessibility->contrast themes-> select Aquatic/desert theme
Repro-Steps:
Users with low vision and who rely on high contrast aquatic and desert theme will face difficulties if the selected date is not visible clearly.
I'm looking to add the Nonce to the standard inline kendo initialization scripts rather that having to defer initialization and output the initialization scripts in a script tag with a nonce, as demonstrated in the documentation https://docs.telerik.com/aspnet-core/html-helpers/helper-basics/content-security-policy#for-r1-2023-sp1-and-later-working-with-telerik-ui-for-aspnet-mvc-components
When using the ASP.NET Core helpers for input elements, it shall be possible to specify separate id and name attributes.
Example
Currently, when rendering a checkbox:
Html.Kendo()
.CheckBox()
.Name("enable")
Results in:
<input id="enable" name="enable" type="checkbox" value="true" data-role="checkbox" class="k-checkbox k-checkbox-md k-rounded-md">
As you can see, this sets both the id AND name attributes to the same string. For more advanced web pages, this is not sufficient. The id attribute must be unique within the the whole page, whereas name does not.
Suggested solution
Add a new InputName() helper method to explicitly set the name for all applicable form/input elements. This is possible with e.g. RadioGroup, but not with CheckBox, RadioButton, DropDownList, etc.
Adding an AdaptiveMode configuration to Editors, similar to UI for Blazor would be beneficial when UI for ASP.NET Core components are used on smaller screens/mobile devices:
https://demos.telerik.com/blazor-ui/dropdownlist/adaptive
I am using TreeList for setting permissions. It seemed a perfect choice until I realized that state of ALL the checkboxes is set to either true or false.
I would like to be able to select checkbox based on the value of record i.e. to be able to save it's state in database, retrieve it, and batch update it.
I know that this behavior can be simulated / achieved by using javascript, but it would be so much better, easier and neater to have it data bound just like all the other columns.
For example, I have an organisational structure on the picture below. We can set permissions on any level.
I imagine that the syntax could be something like:
@(Html.Kendo().TreeList<OrgStrukturaTree>()
.Name("treeOrgRO")
.Columns(columns =>
{
columns.Add().Selectable(true).Width("20px");
columns.Add().Field(e => e.Opis).Width(250);
})
.Filterable(false)
.Sortable(true)
.DataSource(dataSource => dataSource
.Read(read => read.Action("ObjektiTree_Read", "Admin"))
.ServerOperation(false)
.Model(m => {
m.Id(f => f.Id);
m.ParentId(f => f.ParentId);
m.Expanded(true);
m.Selected(f => f.Selected);
m.Field(f => f.Opis);
})
)
)
I sincerely hope you would consider this update, as I cannot think of a scenario when I would use checkboxes that are all the same state.
Thank you in advance.
When trying to install Microsoft.VisualStudio.Web.CodeGeneration.Design 7.0.4 NuGet package in a Telerik UI for ASP.NET Core 2022.3.1109 application, it throws an exception:
NU1107: Version conflict detected for Microsoft.CodeAnalysis.CSharp.Workspaces. Install/reference Microsoft.CodeAnalysis.CSharp.Workspaces 4.4.0 directly to
project TelerikAspNetCoreApp3 to resolve this issue.
### Reproduction of the problem
1) Create a Telerik UI for ASP.NET Core 2022.3.1109 application (.NET 7.0).
2) Install Microsoft.VisualStudio.Web.CodeGeneration.Design NuGet package (version 7.0.4).
3) Review the NuGet Error in the output.
### Workaround
Install the the following NuGet packages:
Alternatively, install an older version of the Microsoft.VisualStudio.Web.CodeGeneration.Design package.
### Environment
* **Telerik UI for ASP.NET Core version: 2022.3.1109
* **.NET version: 7
In the ThemeBuilder the controls do not use the latest version.
For instance while playing around with the ThemeBuilder I noticed that the primary button does not look primary like on the demos page.
Also it would be helpful to provide a page where you explain where every color is used.
Want to be able to define dual pager controls in the Grid using GridPagerPostion.
@(Html.Kendo().Grid<Model>()
.Name("MyGrid")
.Columns(...)
.Pageable(p => p.Position(GridPagerPosition.Both))
.DataSource( ds => ds....)
)
When I configure with GridPagerPosition.Both, I would like the pagers to be on the top and bottom of the grid content. There is a work around somewhere in the forum but not in the documentations. It works in some page and does not work in others. I get the following error:
The IR:297:45 is the second line where kendo.ui.Pager is being instantiated (gridWidget.dataSource is undefined):
const wrapper = $('<div class="k-pager-wrap k-grid-pager k-widget k-floatwrap pagerTop"/>').insertBefore(gridWidget.element.children(".k-grouping-header"));
gridWidget.pagerTop = new kendo.ui.Pager(wrapper, $.extend({}, gridWidget.options.pageable, { dataSource: gridWidget.dataSource }));
gridWidget.element.height("").find(".pagerTop").css("border-width", "0 0 1px 0");
The reason for this request is that it should be part of the product as the product evolves relying on the css classes and the ability to add dynamic property to the girdWidget is problematic.
Would you be able to implement a more visual aspect for the FileManagement so it look close to this picture.
Attach is the modified Kendo.all.min.js file that you may want to alter so it becomes a permanent in you repository. Changes made for those following :
* Changed:
* template:
* var i
* singleFileTemplate
The style sheet for the effects:
/* 5.7.3 - Filemanager Image Grid View */
.FileManagerImgGridView {
display: flex;
justify-content: start;
align-items: center;
gap: 10px;
cursor: zoom-in;
}
/* 5.7.4 - Filemanager Image List View */
.FileManagerImgListView {
cursor: zoom-in;
max-width: 115px;
box-shadow: 0 0 10px rgba(0,0,0,0.4);
transition-duration: .5s;
}
.FileManagerImgListView:hover {
transition-duration: .5s;
transform: translateY(5px) scale(1.75);
border-radius: 3px;
z-index: 100;
}
/* 5.7.5 - Filemanager Image Detail */
.FileManagerImgDetail {
max-height: 280px;
max-width: 280px;
border-radius: 5px;
box-shadow: 0 0 20px rgba(0,0,0,0.4);
cursor: pointer;
transition-duration: .5s;
}
.FileManagerImgDetail:hover {
transition-duration: .5s;
transform: scale(1.2);
max-width: 80%;
border-radius: 50%;
box-shadow: 0 0 20px rgba(0,0,0,0.4);
}
.FileManagerImgDownloadLink {
display: flex;
justify-content: center;
align-items: center;
margin-left: 10px;
padding: 5px 10px;
border-radius: 10px;
color: var(--bs-primary-inverted);
background-color: var(--bs-primary);
box-shadow: 0 0 10px rgba(0 0 0 /.7);
gap: 5px;
}
.FileManagerImgDownloadLink a {
text-decoration: none;
color: var(--bs-primary-inverted);
}
also here is the C# Thumbnail Class that can be modified if you intend to have you own fabrication of thumbnail as it use to be years ago :-)
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
public virtual IActionResult Thumbnail(string path)
{
var virtualPath = Path.Combine(_thumbnailFolderRoot);
var physicalPath = Path.Combine(ConstantVar.webEnv.WebRootPath, virtualPath.Replace('/', '\\'));
path = Path.Combine(physicalPath, path);
FileInfo imageInfo = new FileInfo(path);
int width = 75;
int height = 75;
bool KeepRatio = true;
using (Image image = Image.Load(imageInfo.FullName))
{
// Figure out the ratio
double ratioX = (double)width / (double)image.Width;
double ratioY = (double)height / (double)image.Height;
// use whichever multiplier is smaller
double ratio = ratioX < ratioY ? ratioX : ratioY;
int newHeight = height;
int newWidth = width;
if (KeepRatio)
{
// now we can get the new height and width
newHeight = Convert.ToInt32(image.Height * ratio);
newWidth = Convert.ToInt32(image.Width * ratio);
}
image.Mutate(s => s.Resize(width: newWidth, height: newHeight));
using (var ms = new MemoryStream())
{
image.SaveAsJpeg(ms);
return File(ms.ToArray(), "image/jpg");
}
}
}
It would be great if the scaffolder can use an existing model (one that I created before starting the scaffolder). I also would like to have the option to select a namespace: