When using spreadsheet - IE (11) dies out on:
SCRIPT5007: Unable to get property 'start' of undefined or null reference.
File: kendo.web.min.js, Line 61, Column 22350
Using build 2015.3.1111
I've tried using either kendo.all.min.js or kendo.web.min.js
Firefox, Chrome - no problem as usual.
18 Answers, 1 is accepted
This may be related:
In firefox this time, I have a spreadsheet in a splitter pane. When i collapse that pane, in the kendo.all.min.js it points the error at:
TypeError: l is undefined. (letter "L").
the minified js :
i=e-l.start,r=(i/l.value.value.value>>0
by the looks of it - the minimized "l" (letter l) is not defined or null?
Unfortunately - minified js is not the greatest to pinpoint it better...
It may be at line 2442:
return this.intersecting(start,end)[0].value;
from the code before that, it assumes that the variable start is defined and assigns it to end if end is undefined - what if start is undefined?
the problem could arise when the SparseRangeList intersecting function returns an empty result array where the previous code assuming that this.intersecting(start,end)[0].value has not had an empty result array returned by the SparseRangeList inserecting function.
Where it returned
result
which was defined as [ ]
I duplicated the error with your online demo at http://demos.telerik.com/kendo-ui/spreadsheet/index
Use firebug - and set the :
<div class="k-spreadsheet-pane k-top k-left" style="top: 0px; left: 0px; height: 407px; width: 3px;">
as per Firebug:
element.style {
height: 407px;
left: 0;
top: 0;
width: 3px;
}
by setting the width to 3pixels - something is no longer visible and you get the error as reported above.
Hello Rene,
manipulating the pane size (or, for that matter, any DOM element) from the inspector will most likely cause all kinds of errors. Notice however, that the error may be the same, but the root cause of it may be different.
Back to your original report - can you replicate the error you experience in a Dojo? We will examine it more closely.
Regards,Petyo
Telerik
I used Firebug to duplicate / find the root cause of the error I was getting in IE and Firefox. By setting the
If you put a spreadsheet in a splitter and start hiding the spreadsheet by moving the splitter, you will get the error.
(just used firebug to find the root cause of the error as a proof of concept)
BTW - I am resize the width of the worksheet myself as the splitter is moved.
Which reminds me - the splitter bar has a z-index less than the spreadsheet in Kendo since moving the splitter bar over the worksheet causes the highlight splitter bar to appear behind the spreadsheet.
Hello Rene,
Unless I am missing something, collapsing the pane to 3px width should not occur under normal circumstances, unless all of the columns it contains are that narrow. This is why I asked for a reproduction case which we may examine. Once we have such, we should be able to address the matter. Thank you in advance.
Regards,
Petyo
Telerik
Hi Petyo,
you can easily reproduce the problem by doing this:
a) create a simple spreadsheet and put it the left side of a splitter (splitter with 2 panes)
b) on the splitter resize event, I call the following:
function adjustWorkSheet(){
var pane = $("#mySplitter").children(".k-pane")[0]; // left pane
var h = ( $(window).height() - 20).toString() + "px";
var w = ( $(pane).innerWidth() - 20).toString() + "px";
$("#mySpreadsheetDiv").css( { "width" : w, "height" : h, "max-width" : w, "max-height" : h});
var spreadsheet = $("#mySpreadsheetDiv").data("kendoSpreadsheet");
spreadsheet.refresh();
}
// the whole point is that something should not cause an error because of it's size in my opinion - the code should handle it. I believe the fix was outlined above ... referencing element 0 of an empty array....
Hello Rene,
may you please modify this Dojo so that we may replicate the problem on our side?
Regards,
Petyo
Telerik
Hi Petyo,
for some odd reason I couldn't save the dojo. Anyways - I have it as a txt file here with the changes you requested to reproduce the error. You will notice it when you resize the pane with the worksheet very small
File is here in a txt file:
https://renepilon.com/Asset/GetImage?id=cddbd662-cea1-bb0f-40e6-39d4b1d62456
Rene.
There are 3 live samples here. If you'll notice, I do not allow the splitter to close to far on the left pane with the worksheet or I do get the error:
https://www.renepilon.com/Presentation?id=dad18cf9-9081-bc82-9143-39d484135720&d=
Hello Rene,
thanks - I think that I managed to reproduce the problem here:
http://runner.telerik.io/fullscreen/@petyosi/oYomE
We will investigate it further.
Regards,
Petyo
Telerik
Hello Rene,
the problem in the concrete example is related to the pane resizing logic. The code obtains reference to the wrong pane, and sets an invalid (negative) width to the spreadsheet. I may suggest that you debug the _adjustWorkSheet implementation and examine the variables state there.
Regards,
Petyo
Telerik
No way.
The problem is if the worksheet is made too narrow it throws an error.
You can duplicate it in your original online sample by using Firebug to set the css width of the worksheet to 3 pixels.
The error thrown is in the spreadsheet js code.
Go to this dojo http://dojo.telerik.com/AZAKu again and resize the pane with the worksheet to be very small.
Firebug console reports:
TypeError: l is undefined
...tersecting(e,t),l=n[0],c=n[n.length-1],i=e-l.start,r=(i/l.value.value>>0)+l.valu...
kendo.all.min.js (line 61, col 22459
Hello Rene,
We have reproduced the issue and have logged it for fixing. For the time being, please set a minimum size of the splitter panes, so that there is enough room for at least one spreadsheet cell.
Regards,Alex Gyoshev
Telerik