Telerik Forums
Kendo UI for jQuery Forum
1 answer
177 views

Hi,

we are looking for a way to get around overlapping text/icons for our chart notes, it's a time series chart and when you choose a long time frame the notes start to overlap on the x-axis.

We want to introduce a note that can combine multiple notes (by simply using a differnt icon and add all info into the hover) but only when notes overlap, to determine that we would need the x-position in the chart, as we have the chart width and the width of the note label icon.

I did not see a way of accessing any kind of "position.x" property for a Note though in the API. Can you please point me into the right direction.

I would even be fine if it's not a supported API property but some other way  (via JavaScript) to get that information. WHen I look at the SVG ion the browser I notice there is a x and y position for the SVG element making up the note icon but I don't see a way of determining shich SVG element is linked to which Note in the series.

(attached an example of overlapping icons)

Thanks,

Steve

Daniel
Telerik team
 answered on 19 Dec 2016
3 answers
1.6K+ views
Hi, I need to disable excel export button if row count is zero. or show pop up "Now records found" then prevent download.
Patrick | Technical Support Engineer, Senior
Telerik team
 answered on 16 Dec 2016
2 answers
265 views

Is there a way to get Resharper to accept Kendo tags?  For example I have this html

<kendo-grid k-data-source="vm.gridData" k-columns="vm.gridColumns" k-toolbar='["create"]' k-editable="'incell'" k-navigatable="'true'" >
</kendo-grid>

 

And Resharper (2016.2.2) puts a squiggly line under kendo-grid with the message Cannot resolver tag 'kendo-grid'. 

 

 

Scott Waye
Top achievements
Rank 2
Iron
Iron
Veteran
 answered on 16 Dec 2016
1 answer
271 views

IE11 is autoconverting any URL syntax into a hyperlink, and this is fine, but the target of the hyperlink is the current page, which wrecks user flow when the resulting static content link is clicked. I need the hyperlinks to include the target="_blank" attribute. Is there a way to do this in the editor already?

Rumen
Telerik team
 answered on 16 Dec 2016
1 answer
233 views

The 2 most important things to note is that when working with any RadScheduler

  1. The backend implementation of the RadScheduler is NOT consistent across telerik platforms.
  2. Kendo UI does NOT support any type server-side processing

Because of the above, I have spent much time struggling with processing the server-side when using the Kendo UI RadScheduler. I saw the recommendations about using ASP.NET RadScheduler, or WinForms RadScheduler, DDay.iCal or iCal.NET. 

One of the most frustrating things was the backend storage of the recurrence string did not plug/play into other RadScheduler platforms directly: recurrence string differences, class names, methods, etc. (#1 issue above)

In many forum answers, it just says use DDay.ICal or iCal.NET but there is no sample code. Well here it is for DDay.iCal! I was able to get DDay.iCal to do server-side processing of recurring events. I offer my code up to the community for review and use. Use at own risk.

Please note that I modified that standard Kendo UI backend database structure to include an “Estimated End Date”. It is NULL when the appointment “never” ends. I calculate the value during the appointment save using settings from the recurrence string. As long as I estimate correctly or even if I over-estimate, I am in the clear with my code.

Also note, that my appointments can have multiple people tied to it. Thus, you will see a final “foreach” loop that will flatten out the appointments per person.

My primary goal was to get a list of appointments, per person, within a specified time range so i can send reminder emails.

 

public List<AppointmentItem> GetAppointments(DateTime startDate, DateTime endDate)
{
    var results = new List<AppointmentItem>();
  
    var appts = _dataContext.tblAppointments
                            .Where(w =>
                                    w.StartDateTime <= endDate
                                    && (
                                        (w.EstimatedEndDateTime == null) // this gets the "never" ends entries
                                        ||
                                        (w.EstimatedEndDateTime.Value >= w.StartDateTime)
                                    )
                            )
                            .ToList();
  
    foreach (var appt in appts)
    {
        IICalendar iCal = new iCalendar();
        IEvent eventHolder = iCal.Create<Event>();
        eventHolder.Start = new iCalDateTime(appt.StartDateTime);
        eventHolder.End = new iCalDateTime(appt.EndDateTime);
  
        if (!appt.RecurrenceAppointmentId.HasValue)
        {
            var recurPattern = new RecurrencePattern($"RRULE:{appt.RecurrenceRule}");
            eventHolder.RecurrenceRules.Add(recurPattern);
        }
  
        if (!string.IsNullOrEmpty(appt.RecurrenceException))
        {
            var periodList = new PeriodList();
            var allDates = appt.RecurrenceException.Split(char.Parse(","));
  
            foreach (var item in allDates)
                periodList.Add(new iCalDateTime(DateTime.ParseExact(item, "yyyyMMddTHHmmssZ", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal)));
  
            eventHolder.ExceptionDates.Add(periodList);
        }
  
        //if seems GetOccurrences does BETWEEN check, non-inclusive so i have to widen the dates a little bit.
        foreach (var occurrence in iCal.GetOccurrences(startDate.AddMilliseconds(-1), endDate.AddDays(1)))
        {
            results.AddRange(appt.tblAppointmentStudents.Select(student => new AppointmentItem
                                                                           {
                                                                               AppointmentName = appt.AppointmentName,
                                                                               AppointmentNotes = appt.AppointmentDetails,
                                                                               EndTime = occurrence.Period.EndTime.Date,
                                                                               StartTime = occurrence.Period.StartTime.Date,
                                                                               StudentId = student.StudentId
                                                                           }));
        }
    }
  
    //results = results.OrderBy(t => t.StartTime).ToList();
    return results;
}

 

The AppointmentItem class:

 

public class AppointmentItem
{
   
    public int StudentId { get; set; }
    public string AppointmentName { get; set; }
    public string AppointmentNotes { get; set; }
    public DateTime StartTime { get; set; }
    public DateTime EndTime { get; set; }
}

The function call

testing.GetAppointments(new DateTime(2016,12,15), new DateTime(2016, 12, 21));


Database Table tblAppointment

 

CREATE TABLE [dbo].[tblAppointment]
(
[AppointmentId] [int] NOT NULL IDENTITY(1, 1),
[AppointmentName] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[AppointmentDetails] [varchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[EndDateTime] [datetime] NOT NULL,
[StartDateTime] [datetime] NOT NULL,
[EstimatedEndDateTime] [datetime2] NULL,
[RecurrenceAppointmentId] [int] NULL,
[RecurrenceException] [varchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RecurrenceRule] [varchar] (1024) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblAppointment] ADD CONSTRAINT [PK_tblAppointment] PRIMARY KEY CLUSTERED ([AppointmentId]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblAppointment] ADD CONSTRAINT [FK_tblAppointment_tblAppointment] FOREIGN KEY ([RecurrenceAppointmentId]) REFERENCES [dbo].[tblAppointment] ([AppointmentId])
GO

 

Warning: i am using a beta candidate of DDay.iCal. After going through each type pattern (daily, weekly, monthly, yearly) and each type of pattern (until, first day of, exact day, etc.) I did not encounter any problems.

 

The only problem is when the appointment is set up "oddly". By that i mean this by way of example. Appointment occurs the 15th of every month. You set the initial date on the 20th of January. Kendo UI RadScheduler correctly does NOT show an entry on Jan 15 or Jan 20. However, DDay will have an occurrence on Jan 20 for your "15th of the month" event. What it boils down to is setting up the appointment skewed from pattern. It is a small risk in general in my application. The worst case scenario is that an even shows when it should not. Probably better than not showing it when it should.

Happy Programming!

Ivan Danchev
Telerik team
 answered on 16 Dec 2016
3 answers
1.7K+ views

When no range is selected how do I then in javaScript get all rows for a spreadsheet ?

This does not work

var values = sheet._rows.values();
for (var row = 0; (row < values.length) ; row++) {

Dimitar
Telerik team
 answered on 16 Dec 2016
3 answers
277 views

We have a use case to choose missing values from a specific column. Missing values are left undefined on the data source. As of now, using a kendoFilterMultiCheck filter will automatically not include these values in the filter list of the dropdown. Our users wish to see rows that have a blank, missing, null value in this column. The filter also doesn't behave as expected in this regard. The following workflow will not have expected results:

1. Choose the "select all" option to filter the column

2. Apply filter

3. Uncheck the "select all" option

4. Apply filter

 

The resulting grid will have all blank values missing.

 

I've included a sample that demonstrates our use case.

http://dojo.telerik.com/eDECe

Boyan Dimitrov
Telerik team
 answered on 16 Dec 2016
15 answers
1.7K+ views
Kendo Editor Issues /Queries:-
I.E.8 compatibility issue
Description
Following are the issues with i.e.8 browser
1. User cannot select background colour for text (please see attached screenshot)


I.E.8 and above compatibility issue:
Hyperlink does not work in all IE browsers while composing messages
Steps to replicate:
1. Add a hyperlink in the text editor.
Actual Result: Right clicking on hyperlink does not work.

Browser Chrome and Safari specific:

Google Chrome and Safari: Print preview missing background text colour
Description
Google Chrome and Mac Safari Specific
On compose window, add some text with background colour, click to print, print preview does not shows background colour.
From Message view page, click on print icon to view print preview, background colour is missing

General issue in all browsers:
Selected Font displayed in drop down does not match
Description:-
In compose window, apply some font on the text.(issue occurs when the following fonts are applied - Courier New,
Lucida Console, Times New Roman, and Trebuchet MS) select the text again to verify selected font
is applied on the text. Selected Font displays value of option tag instead of visible text in drop down




Query 1:

Tab key not working kendo inside create table cells
Description:-
Drag table using kendo text editor.
When we use tab key to move control from one cell to another cell, operation does not work.

Query 2:
Incorrect url redirect when clicking on hyperlink
Description:-
Create new hyperlink. Clicking on hyperlink on composes new messages or messages page redirects to incorrect url.



Greg
Top achievements
Rank 1
 answered on 16 Dec 2016
1 answer
501 views

Hello,

I'm using Grid with filters in my AngularJS application, following an example from http://demos.telerik.com/kendo-ui/grid/filter-menu-customization

My timestamp field has "date" type:

schema: {
           model: {
               id: "id",
               fields: {
                   applicationName: { type: "string" },
                   category: { type: "string" },
                   comment: { type: "string" },
                   entityName: { type: "string" },
                   userName: { type: "string" },
                   machineName: { type: "string" },
                   timestamp: { type: "date" }
               }
           }
       }

And I'm using the same column format: 

{
                    field: "timestamp",
                    title: "Timestamp",
                    format: "{0:MM/dd/yyyy HH:mm:ss}",
                    filterable: {
                        ui: "datetimepicker"
                    }
                },

But only date picker appears in the filter row of my grid, when there is date and time pickers appear in the example. See the screenshot attached.

The only difference I see is that my application uses Angular and the example is pure jQuery. 

How can I add timepicker in Angular?

 

 

 

 

 

 

Dimiter Topalov
Telerik team
 answered on 16 Dec 2016
8 answers
354 views

Hi,

I have a grid with several foreign key columns and an Add-button in the toolbar.

If I try to add a new record without selecting anything I get the validation error messages for all columns except the first one. This column gets the first selectable value in the list of options for the drop-down. See AfterSave1.png.

If I change the order of the first and the second column in the grid I get the selected value on the column called "Column2" and the validation error messages on the other columns (AfterSave2.png), so it seems as if the first column of the grid gets this behaviour.

I would of course like to see the validation error message for all columns. Am I doing something wrong?

The drop-down lists are loaded from Guid-text value pairs loaded in the ViewBag.

Best regards,

Henrik

Stefan
Telerik team
 answered on 16 Dec 2016
Narrow your results
Selected tags
Tags
Grid
General Discussions
Charts
Data Source
Scheduler
DropDownList
TreeView
MVVM
Editor
Window
DatePicker
Spreadsheet
Upload
ListView (Mobile)
ComboBox
TabStrip
MultiSelect
AutoComplete
ListView
Menu
Templates
Gantt
Validation
TreeList
Diagram
NumericTextBox
Splitter
PanelBar
Application
Map
Drag and Drop
ToolTip
Calendar
PivotGrid
ScrollView (Mobile)
Toolbar
TabStrip (Mobile)
Slider
Button (Mobile)
Filter
SPA
Drawing API
Drawer (Mobile)
Globalization
LinearGauge
Sortable
ModalView
Hierarchical Data Source
Button
FileManager
MaskedTextBox
View
Form
NavBar
Notification
Switch (Mobile)
SplitView
ListBox
DropDownTree
PDFViewer
Sparkline
ActionSheet
TileLayout
PopOver (Mobile)
TreeMap
ButtonGroup
ColorPicker
Pager
Styling
Chat
MultiColumnComboBox
Dialog
DateRangePicker
Checkbox
Timeline
Drawer
DateInput
ProgressBar
MediaPlayer
ImageEditor
TextBox
OrgChart
Accessibility
Effects
PivotGridV2
ScrollView
Switch
TextArea
BulletChart
Licensing
QRCode
ResponsivePanel
Wizard
CheckBoxGroup
Localization
Barcode
Breadcrumb
Collapsible
MultiViewCalendar
Touch
RadioButton
Stepper
Card
ExpansionPanel
Rating
RadioGroup
Badge
Captcha
Heatmap
AppBar
Loader
Security
TaskBoard
Popover
DockManager
FloatingActionButton
CircularGauge
ColorGradient
ColorPalette
DropDownButton
TimeDurationPicker
ToggleButton
TimePicker
BottomNavigation
Ripple
SkeletonContainer
Avatar
Circular ProgressBar
FlatColorPicker
SplitButton
Signature
Chip
ChipList
VS Code Extension
AIPrompt
PropertyGrid
Sankey
Chart Wizard
OTP Input
SpeechToTextButton
InlineAIPrompt
StockChart
ContextMenu
DateTimePicker
RadialGauge
ArcGauge
AICodingAssistant
SegmentedControl
+? more
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?