Telerik Forums
KendoReact Forum
8 answers
177 views

Hello,

Straight to the problem:

My parent component prepares the data for the Gantt

async componentDidMount() {
    const items = await this.utility.GetListItems();
    const taskDataSourceWithInformation = await this.utility.GetKendoGanttDataSource(items);
    this.setState({
      data: taskDataSourceWithInformation,
      allProjects: items
    });
  }
public render(): React.ReactElement<IGanttViewProps> {
    const result = this.state.data ? (
      <div>
        <IconButton onClick={() => this.setState({showPanel: true})} />
        <GanttContainer data={this.state.data} />
      </div>
    ) : null;
    return result;
  }

 

First problem: When I click the button, that sets the showPanel variable to true (it does only that), the Gantt loses all its data, then when I click one of the Gantt view buttons, the data shows back.

However, i managed to workaround that with this method (i am not proud of it). I will appreciate it, if you give me better solution.

private onFilterButtonClick = async () => {
  this.selected = $("li.k-state-selected");
  this.setState(
    {
      showPanel:true
    },
    () => {
      $("li." + this.selected[0].classList[1]).click();
    }
  );
};

 

Ok. Now i want to filter my Gantt data. When i pass different, filtered data source to the "GanttContainer" components (which contains the Gantt), it does not update.

I tried to set it with setDataSource, but i dont know where that must happen and how to do it.

Can you help me with both my problems please.

 

Best Regards!

thanik
Top achievements
Rank 1
 answered on 05 Oct 2018
4 answers
192 views

Hello,

Is it possible to use functional HOC for CustomGridDetailRow like the one provided in the documentation (below) which is not leading to extra rendering of GridDetailRow?

Or it's a must to use only an instance of React.Component class/GridDetailRow class?

 

class CustomGridDetailRow extends GridDetailRow {

    render() {

        const detailData = this.props.dataItem.MasterField2;

        return (

            <div> This is detail template with another grid inside it <Grid scrollable="none" data={detailData} /></div>

        );

    }

}

 

<Grid data={this.state.data} detail={CustomGridDetailRow} >

    <GridColumn field="MasterField1" />

</Grid>

 

The point is that if I try to use functional HOC inside detail prop (or just a function returning CustomGridComponent) there're some issues with rendering DetailRow (like additional re-rendering during scrolling). It seems that this variable inside detail property should be an instance of React.Component/GridDetailRow class, otherwise Grid component can't perform some internal logic based on lifecycle hooks.

 

Thanks in advance for any response.

Pavel
Top achievements
Rank 1
 answered on 04 Oct 2018
2 answers
331 views

I'm using the Kendo React Grid and Kendo React DateInput in an application and both, upon replacing the wrapped grid/DateInput components began causing my Jest tests to fail, not even rendering the mounted component.

Every test suite that mounts a component with a DateInput or Grid in the component tree fails with this error:

TypeError: _this.element.setCustomValidity is not a function
 
      124 |     ...passedProps,
      125 |   } as any;
    > 126 |   wrapper = Enzyme.mount(
          |                    ^
      127 |     <Provider store={store}>
      128 |       <MyComponent {...props} />
      129 |     </Provider>
 
      at DateInput._this.setValidity (node_modules/@progress/kendo-react-dateinputs/src/dateinput/DateInput.tsx:387:26)
      at DateInput.Object.<anonymous>.DateInput.componentDidMount (node_modules/@progress/kendo-react-dateinputs/src/dateinput/DateInput.tsx:150:14)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:14685:22)
      at commitAllLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:15905:7)
      at HTMLUnknownElement.callCallback (node_modules/react-dom/cjs/react-dom.development.js:145:14)
      at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:193:27)
      at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:119:9)
      at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:82:17)
      at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js:30:27)
      at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:157:21)
      at Object.invokeGuardedCallbackDev (node_modules/react-dom/cjs/react-dom.development.js:195:16)
      at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:248:31)
      at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:16075:7)
      at completeRoot (node_modules/react-dom/cjs/react-dom.development.js:17463:3)
      at performWorkOnRoot (node_modules/react-dom/cjs/react-dom.development.js:17391:9)
      at performWork (node_modules/react-dom/cjs/react-dom.development.js:17295:7)
      at performSyncWork (node_modules/react-dom/cjs/react-dom.development.js:17267:3)
      at requestWork (node_modules/react-dom/cjs/react-dom.development.js:17155:5)
      at scheduleWork (node_modules/react-dom/cjs/react-dom.development.js:16949:5)
      at scheduleRootUpdate (node_modules/react-dom/cjs/react-dom.development.js:17637:3)
      at updateContainerAtExpirationTime (node_modules/react-dom/cjs/react-dom.development.js:17664:10)
      at updateContainer (node_modules/react-dom/cjs/react-dom.development.js:17691:10)
      at ReactRoot.Object.<anonymous>.ReactRoot.render (node_modules/react-dom/cjs/react-dom.development.js:17957:3)
      at node_modules/react-dom/cjs/react-dom.development.js:18097:14
      at unbatchedUpdates (node_modules/react-dom/cjs/react-dom.development.js:17518:10)
      at legacyRenderSubtreeIntoContainer (node_modules/react-dom/cjs/react-dom.development.js:18093:5)
      at Object.render (node_modules/react-dom/cjs/react-dom.development.js:18152:12)
      at Object.render (node_modules/enzyme-adapter-react-16/build/ReactSixteenAdapter.js:314:114)
      at new ReactWrapper (node_modules/enzyme/build/ReactWrapper.js:119:16)
      at Object.mount (node_modules/enzyme/build/mount.js:21:10)
      at generateMountedWrapper (ts/apps/myApp/components/MyComponent.test.tsx:126:20)
      at Object.<anonymous> (ts/apps/myApp/components/MyComponent.test.tsx:330:5)

IT Dept
Top achievements
Rank 1
 answered on 26 Sep 2018
1 answer
85 views
Official documentation regarding Master-Detail Grids states:

"To apply a hierarchical order to the desired records, use the detail property of the master Grid".  Would it be possible to define detail component in declarative way as we do for GridNoRecords for example to pass it any props?

              <Grid
                    style={{ height: '550px' }}
                    data={this.state.categories}
                    expandField="expanded"
                    onExpandChange={this.expandChange}
                >
                    <Column field="CategoryID" title="ID" width="50px" />
                    <Column field="CategoryName" width="200px" title="Category Name" />
                    <Column field="Description" />
                    <DetailRow>
                          <DetailComponent />
                    </DetailRow>
                </Grid>


Stefan
Telerik team
 answered on 25 Sep 2018
2 answers
82 views

I just upgraded to use the react editor wrapper. The editor is showing up but not all options are available. These are the options I am passing, but it looks like it is just showing the default options. Any ideas?

options: {
tools: [
'bold',
'italic',
'underline',
'strikethrough',
{
name: 'foreColor',
palette: [
'24282D',
'F4F4F4',
'FFD200',
'F04C3E',
'00B050',
'363A3F',
'74777D',
'E4E5E7',
'F2C700',
'EB2D1E',
'FFFFFF',
'237932',
'33373b',
'676A6F',
'D9DADB',
'E5BD00',
'D71E0F',
'21852E',
'0070C0',
'44494F',
'81858B'
]
},
{
name: 'backColor',
palette: [
'24282D',
'F4F4F4',
'FFD200',
'F04C3E',
'00B050',
'363A3F',
'74777D',
'E4E5E7',
'F2C700',
'EB2D1E',
'FFFFFF',
'237932',
'33373b',
'676A6F',
'D9DADB',
'E5BD00',
'D71E0F',
'21852E',
'0070C0',
'44494F',
'81858B'
]
},
'formatting',
'fontSize',
'subscript',
'superscript',
'justifyLeft',
'justifyCenter',
'justifyRight',
'justifyFull',
'insertUnorderedList',
'insertOrderedList',
'indent',
'outdent',
'createLink',
'createTable',
'addColumnLeft',
'addColumnRight',
'addRowAbove',
'addRowBelow',
'deleteRow',
'deleteColumn',
'cleanFormatting',
'print'
],
pasteCleanup: {
all: false,
css: false,
keepNewLines: false,
msAllFormatting: true,
msConvertLists: true,
msTags: true,
none: false,
span: false
}
}

Stefan
Telerik team
 answered on 20 Sep 2018
5 answers
110 views
The problem with virtual scroll feature is that Grid doesn't take into account expanded details when fires onPageChange event. It's better shown in this example which is based on VirtualScroll official example with added detail component: https://stackblitz.com/edit/react-klm9yt?file=app%2Fmain.js

The problem is that when you scroll the grid down and then try to scroll up the grid content either quickly jumps or get stuck.
Apart from the example in Stackbtitz, I've put together the short video to clarify the issue.





Stefan
Telerik team
 answered on 18 Sep 2018
1 answer
175 views

Can anyone confirm if the Kendo React Grids are supposed to be compatible with the Kendo Less Styles? When I attempt to use them with a compiled set of styles from the Kendo LESS sources in the @progress/kendo-ui package, the react grids filter blocks render in a broken, inoperable way as the Less style rules react badly with the classes on the filter cells.

The SASS themes work with it, but don't work with the Relerik Reports views.

Stefan
Telerik team
 answered on 18 Sep 2018
1 answer
847 views

I will sometimes see the wrong tooltip label in cells on my grid. I want the tooltip to appear on the hover anywhere in a particular td that has messages to display. These messages are based on props of the dataItem being available. There are a few problems.

  1. Sometimes the tooltip will show the wrong content
  2. The tooltip jumps between the td and the svg/path from fontawesome-react. The svg/path does not have a title so I don't understand why it anchors there instead of the td.
  3. My grid is inside a splitter. Sometimes the tooltip will jump to the top/left of the splitter pane and be visible while I am in edit mode.

1 & 2 are visible/reproducible in my stackblitz. I have been unable to replicate 3 in stackblitz so I was wondering if it was related to my splitter (not implemented in stackblitz to save time..)

Ideally I would only have one <Tooltip component for my grid but it becomes unnatural to me to have to iterate state from the Grid component instead of at the cell level. I do want the tooltip to be interacted with via the icon when in edit mode as well but I have not implemented that here. Is there a better approach that preferably avoids the use of globals?

Stefan
Telerik team
 answered on 18 Sep 2018
1 answer
124 views

It's been nearly 1 year since I submitted a post about Kendo UI React Scheduler.  The is still a wrapper.  Are there any plans to make the scheduler a component and if so when.  Thank you - Mark

Vladimir Iliev
Telerik team
 answered on 17 Sep 2018
1 answer
175 views

I'm using a modified example of the in row editing. When a cell is clicked I switch the row to edit mode. I've inspected both the cellRender and rowRender methods and I don't see any properties to indicate the editable={false} from my GridColumn props. The cell rendering routine must know this in order to control the display. Is there a property I am overlooking?

I want to preventing switching my row to edit mode if the cell clicked is not editable. Help appreciated. See my example on stackblitz. When clicking a cell it shows the editField in the header which is what I want to prevent on the click of a non-editable cell (all are marked as editable false here).

https://stackblitz.com/edit/react-nte6fd?file=app/main.js

Stefan
Telerik team
 answered on 07 Sep 2018
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?