1. Is it hard to understand the version numbers of our releases? If yes, what makes them hard to understand them?
2. Would semantic versioning (SemVer) of our releases make it easier to understand our version numbers and what's behind them?
3. If we go with SemVer, we might need to start with version 3000.0.0 as we currently use 2022.x.x. Please share your thoughts about this approach and ideas for what number versioning would work best for you.
Hi, I've got a grid whose rows expand to show another, templated, grid. I also have clickable links in the cells of the parent grid. Using a mouse, I can click these links directly or click the expansion icon to expand the row. Using keyboard navigation, however, I can only expand the parent row when I press enter. On grids without a templated sub-grid, pressing Enter will focus the link in the parent cell. I would like this behavior to be uniform.
I have tried intercepting the keydown event, but it seems that the expansion occurs even when I try to prevent default or return false as it happens seemingly in parallel.
Is there a way to achieve the functionality I want without resorting to overriding keydown or, if not, is there a way to cancel/control the expansion myself rather than having it automatically happen so that I can handle it in a custom keydown?
Grid example:
On this grid, when I press enter while Dialog Link column cell is selected, it expands the row.
Here in this example is a grid without a templated subgrid. Pressing enter on the same column focuses the "AAA" anchor tag within it, which is the desired behavior in both grids.
My attempt to control the expansion myself via a custom keydown event. The expansion happens before this logic has a chance to finish running:
I have a datepicker in a view
@(Html.DatePickerFor(model => model.EventDate) .Format("{0:dd/MM/yy}") )
I need to retrieve the date from the datepicker to use as the minimum value for a datetimepicker in a list view.
shiftStart.kendoDateTimePicker({ timeFormat: "HH:mm", format: "dd/MM/yyyy HH:mm", // min: new Date(vYear, vMonth - 1, vDay, vHour, vMinute), interval: { minutes: 15 } });
How do I get that value?
I have an image editor with a button, when the button is pressed it saves the image to a folder on the server.
It works in most cases, although sometimes it throws an Http 400 error.
How do I add error handling so I can present a nice message to the user?
It seems the error happens when the image size (height and/or width) is exceptionally big, is that the case?
here's my code:
<form method="post">
<input type="hidden" asp-for="editedFileName" />
<input type="hidden" asp-for="ImagePath" />
<div class="admin-button-container align-right">
<button type="submit" class="btn btn-theme-admin">Save Image</button>
</div>
<div class="imageEditor"></div>
</form>
my js:
$(document).ready(function() {
var OpenExecuted = false;
// page load
showImgOption();
});
function onSelect(e) {
$('#editedFileName').val(e.files[0].name);
}
function handleUploadImageEvents(imageEditor) {
OpenExecuted = true;
imageEditor._upload.bind("select", onSelect);
}
function onImageRendered(e) {
zoom();
saveImagePath();
};
function onExecute(e) {
if (e.command === "OpenImageEditorCommand") {
setTimeout(function() {
handleUploadImageEvents(e.sender);
});
}
};
// this function will zoom out the photo if the height is more than 600px
// so that it does not overlap other fields on the page
function zoom() {
var imgEditor = $('.imageEditor').data('kendoImageEditor');
imgEditor.executeCommand({ command: "ZoomImageEditorCommand", options: imgEditor.zoom = 1 });
var imgHt = $(".k-imageeditor-canvas").height();
if (imgHt > 600) {
imgEditor.executeCommand({ command: "ZoomImageEditorCommand", options: imgEditor.getZoomLevel() - 0.5 });
}
};
function ImgEditor() {
$(`.imageEditor`).kendoImageEditor({
toolbar: {
items: [
"open",
"save",
"crop",
"resize",
"undo",
"redo",
"zoomIn",
"zoomOut",
"zoomDropdown",
]
},
messages: {
toolbar: {
open: "Upload"
},
},
imageUrl: $('[id="ImagePath"]').val(),
height: 650,
error: onError,
imageRendered: onImageRendered,
execute: onExecute,
});
}
function onError(e) {
console.log('Error');
};
function showImgOption() {
var imgFilePath = $('[id="ImagePath"]').val();
if (imgFilePath.length > 0) {
var imgFilename = imgFilePath.slice(imgFilePath.lastIndexOf("/") + 1, imgFilePath.length + 1);
$('[id="FileName"]').val(imgFilename);
}
ImgEditor();
}
function saveImagePath() {
const imageEditor = $('.imageEditor').data('kendoImageEditor');
const image = imageEditor.getCurrentImage();
const imageObject = new DOMParser().parseFromString(image, "text/xml");
const canvas = imageEditor.getCanvasElement();
const fileArray = canvas.toDataURL().split(",");
const base64String = canvas.toDataURL();
const imagePathSaved = $('[id="ImagePath"]').val(fileArray[1]);
}
Hi Team,
We've noticed a problem where the "Items per page" section of the grid doesn't load at first. As observed below.
After the screen is zoomed out, it is visible.
Explanation of scenario-
Screen is in default zoom 100% - Not visible, once zoomed out to any value below 100% say 90 - Visible
Screen loaded in 90% - Not visible, Once zoomed out below 90 - Visible
Hello,
in our grid we have a ForeignKey-column to show the Text of a dropodown instead of the Value (see discussion here: https://www.telerik.com/forums/telerik-mvc-grid---show-selectlistitem-text-instead-of-value):
columns.ForeignKey(c => c.STATUS, Helper.IDTB_PRUEFUNG.Dropdowns.Status, "Value", "Text");
This is the corresponding dropdown:
public class Dropdowns
{
public static List<SelectListItem> Status
{
get
{
return new List<SelectListItem>()
{
new SelectListItem()
{
Text = "New",
Value = "NEU",
Selected = true
},
new SelectListItem()
{
Text = "Locked",
Value = "GESPERRT"
}
};
}
}
}
The Read-Action on the server is fairly simple:
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult Read([DataSourceRequest] DataSourceRequest request, int lot_id)
{
var pruefungen = db.IDTB_PRÃœFUNG.Where(p => p.LOT_ID == lot_id);
return Json(pruefungen.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
Now when we sort this column, the sorting is applied on the Value. I assume this is because the sorting is done on the database level? (We use Entity Framework here.)
Is there a way to have the sorting applied on the Text instead of the Value?
(I am aware that this is asking for a bit of magic here, since the database only knows about the Value and knows nothing about the Text. So I would even be happy for some hints in the a general direction to solving this (maybe client-side sorting, or sth. else). :) )
column.Bound(x => x.ReportUrl).ClientTemplate("<a href='#= ReportUrl #' target='_blank'>#= ReportUrl #</a>").Width(100);
Can I use a ClientTemplate to invoke a method from my controller when I click on the record in grid?
Maybe there is some examples?
I have PanelBar called Interest Rates and 3 children. I want the parent and all the 3 children cursor to pointer when hover the mouse.
Interest Rates
Default Rates
Negative Carry
Cash FTP
Thanks,
Abdul Ashad
We want to use the DatePicker like this:
<div class="row">
<div class="col">
<div class="form-group">
@Html.LabelFor(model => model.TESTDATUM, htmlAttributes: new { @class = "control-label" })
<div>
@Html.Kendo().DatePickerFor(model => model.TESTDATUM)
@Html.ValidationMessageFor(model => model.TESTDATUM, "", new { @class = "text-danger" })
</div>
</div>
</div>
</div>
But this renders the control like this:
We're currently using the following workaround to trim the overlapping part, which feels kind of 'hacky':
<div style="width: 17.5em">
@Html.Kendo().DatePickerFor(model => model.TESTDATUM)
</div>