Hello,
We are facing a problem with filtering in Kendo UI Grid in React. I'm getting following exception op() is not a function
directly after I select an operator (for example "Ist gleich"):
This is the stacktrace:
filter-no-eval.js:81 Uncaught TypeError: op is not a function
at filter-no-eval.js:81
at filter-no-eval.js:10
at count (array.operators.js:85)
at process (array.operators.js:151)
at KendoGrid.push../Global/Controls/KendoGrid.tsx.KendoGrid.render (KendoGrid.tsx:45)
at finishClassComponent (react-dom.development.js:13538)
at updateClassComponent (react-dom.development.js:13501)
at beginWork (react-dom.development.js:14090)
at performUnitOfWork (react-dom.development.js:16416)
at workLoop (react-dom.development.js:16454)
I tried the same example which is on the Kedno UI Grid for React website (https://www.telerik.com/kendo-react-ui/components/grid/advanced-examples/stateful-grid/), and there it is working fine. However, I could found that the filter object is not the same in the 2 cases.
This is the filter object structure in my case where im getting the exception:
This the filter object structure from the example in Kendo website:
Any suggestion or help is highly appreciated
Thanks in advance!
Hello!
I created this example to show this behavior.
After column (with no initial "width" value set) visibility toggles (become invisible and visible again) the column doesn't become visible.
It seems it's partially related to the end of this discussion.
Hello!
There is a bug in GridNoRecords component — it doesn't accept children.
Version: 2.2.
In version 1.2 there were no such problem.
You can find it even in your official demo.
Expected result: "There is no data available" is visible if there is no data.
Actual result: default message "No records available" is visible if there is no data.
Given the following example from the official documentation:
https://stackblitz.com/run/?file=app%2Fmain.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Grid, GridColumn } from '@progress/kendo-react-grid';
import products from './products.json';
class App extends React.Component {
render() {
return (
<Grid
style={{ height: '400px' }}
data={products}
reorderable
>
<GridColumn field="ProductID" title="ID" width="45px" />
<GridColumn field="ProductName" title="Name" width="250px" />
<GridColumn field="Category.CategoryName" title="CategoryName" />
<GridColumn field="UnitPrice" title="Price" width="80px" />
<GridColumn field="UnitsInStock" title="In stock" width="80px" />
</Grid>
);
}
}
ReactDOM.render(<App />, document.querySelector('my-app'));
I need to know what column was exactly reordered from the ui perspectives. Following by https://www.telerik.com/kendo-react-ui/components/grid/api/GridProps/#toc-oncolumnreorder API I can subscribe to only event that gives me the new columns (including the reordered one). How is possible to know what column was reordered by dragging and dropping feature?
Due to business requirement, I need to include more than 30 Kendo Editor components in my React project, but the it is too slow to complete loading the page.
In my below testing code, it takes more than 10 seconds to load 50 empty Editors. I'm suspecting it is due to loading the the font icon of the toolbar of editor.
in Chrome dev tool, loading the embedded 'WebconponentsIcons.ttf' file takes 7 seconds. The font file is used to render the icons in toolbar of Editors as documented in https://docs.telerik.com/kendo-ui/styles-and-layout/icons-web
Searching in the forum, there is a similar thread on it for JQuery https://www.telerik.com/forums/editor-is-slow-with-toolbar-enabled. in test code of that thread https://dojo.telerik.com/aMUcArob/7, but the font file is get by separate HTTP request, rather than embedded in other resources.
Editor inline mode has the problem as well.
Any idea on how to resolve it?
Kendo UI version:
"@progress/kendo-editor-react-wrapper": "2018.2.620",
"@progress/kendo-theme-bootstrap": "^2.13.6",
"@progress/kendo-theme-default": "^2.54.0",
"@progress/kendo-ui": "2018.2.620",
RichTextEditor
import * as React from
'react'
;
import
'@progress/kendo-ui'
;
import { Editor } from
'@progress/kendo-editor-react-wrapper'
;
interface IProps {
onChanged?: Function;
// this function will be called when editor losing focus (on blur)
initialValue?: string;
// a html string, such as '<strong>Hello World!</strong>'
}
export class RichTextEditor extends React.Component<IProps> {
private initialValue: string;
constructor(props: IProps) {
super
(props);
this
.initialValue =
'This is a simple sample to show initial value in the rich text editor.'
}
public render() {
return
(
<div>
<Editor>
<textarea>
{
this
.initialValue}
</textarea>
</Editor>
</div >
);
}
}
App
class App extends React.Component<{}, {}> {
public render() {
return
(
<div>
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
<RichTextEditor />
</div>
);
}
}
ReactDOM.render(
<App />,
document.getElementById(
'react-app'
));
I've found that it doesn't seem to be possible to create a Container GridColumn component. For example:
https://stackblitz.com/edit/react-5wjdz4?file=app/main.js
Here I want to create a column which has a button that pops up an alert when clicked. When I do so with the following code, it works fine:
<
Column
title
=
"Alert"
width
=
"75px"
cell={(props) => <
td
><
button
onClick={() => alert('This is a message')}>Alert</
button
></
td
>} />
However, I don't want to include the cell, etc. props every time I want to include a column like this in a grid. I'd much rather create a container component I can just pass the message to:
<
AlertColumn
message
=
"This is a message from a container component"
/>
With the component class code being:
class AlertColumn extends React.Component {
render() {
<
Column
title
=
"Alert2"
width
=
"75px"
cell={() => <
td
><
button
onClick={() => alert(this.props.message)}>Alert</
button
></
td
>} />
}
}
However, as you can see from my posted StackBlitz, the column returned by the container component does not render. I've also tried inheriting from the GridColumn component. Is there any way around this?
Hi,
i have a button in a main window. Click on a button opening a kendo pop up. In a Pop up i am drawing signature using kendo.drawing.drawDOM.
When i resize the popup window drawn signature is not resizing(not responsive). Is there any solution?