Telerik Forums
KendoReact Forum
1 answer
185 views

Hi.

I'm using a Drawer component but instead of using the svg-icons provided by the Kendo-UI I would like to use Font Awesome icons. Is that possible?

Thanks,

Greetings,

Bernd

Bernd
Top achievements
Rank 5
Bronze
Bronze
Bronze
 answered on 19 Feb 2024
1 answer
380 views

Greetings,

I'm having some issue with compiling the Scheduler npm package after installing it and its dependencies.

This is the error after running "npm start":

./node_modules/@progress/kendo-react-scheduler/index.mjs
Can't import the named export 'Button' from non EcmaScript module (only default export is available)

Please help, thanks!

 

Jason

Wissam
Telerik team
 answered on 19 Feb 2024
1 answer
116 views

i have following setup.

parent component holds state information about data and the prop is passed to child ckmponent condiitionally based on data availalbility.

 

child component contains nested react grid as part of detail property. On particular event from nested grid which is part of detail i am updating a setter function on parent component and expect the grid to rerender with new data . Everything works fine except the new data is not rendered in nested grid automatically.

i have to collapse and expand again to view the updated changes in nested grid ..

grid version 5.19

can anyone give some pointers or share working example of such scenario

 

Konstantin Dikov
Telerik team
 answered on 19 Feb 2024
1 answer
77 views
how to handle progress bar within a react form in kendo react
Konstantin Dikov
Telerik team
 answered on 18 Feb 2024
0 answers
73 views
I'm using Kendo Drawing and when I go to export the drawing to PDF the images do not export. The images are stored in a CDN, but the source of the images have the same domain as the site. However, they have different sub-domains (i.e site = www.xyz.com , images images.xyz.com ). The images display in the application, just not when exported to PDF. Any assistance would be helpful.
Stephen
Top achievements
Rank 1
 asked on 14 Feb 2024
1 answer
80 views

Hello.

I am trying to use export to PDF. Unfortunately, the resulting pdf contains incorrect characters. I know, I saw the posts:

PDFExport .save does not pass special characters to pdf in KendoReact | Telerik Forums

React Drawing Component & Unicode and Embedded Fonts - KendoReact Docs & Demos (telerik.com)

 

But. I tried it and it works correctly. But if I used shadow DOM (I need this approach), then the pdf is incorrect. I tried adding styles via the approach:

document.createElement('style');

style.innerHTML = styles;

shadowRoot.appendChild(style).

 

But it doesn't work.


Can you help me?

Well thank you.
Konstantin Dikov
Telerik team
 answered on 13 Feb 2024
1 answer
115 views

 

Hi Support,

I just wondering on how to change the date format on Scheduler components (look picture below, those start and end section). At the moment my date format is coming up as month/day/year, but what i want is day/month/year.

 

This is the KendoUI React Scheduler i am using on my code. 

 

I tried to look at  your api online but still couldn't get the solutions. Please give me advice.

 

Thanks

 

John

 

 

 

Konstantin Dikov
Telerik team
 answered on 12 Feb 2024
2 answers
77 views
Hello.

I am trying to use your react grid with data passed in as props with filtering and sorting. I am following this article as a guide - https://www.telerik.com/blogs/sorting-filtering-grouping-kendoreact-data-grid. My issue is that when I pass the data in via props, it does not initially appear. If I actually try filtering, the data will show up. My issue is here -

 const [resultState, setResultState] = React.useState(
   process(props.gridData, initialDataState)
 );

This does not seem to work on the initial rendering of the component. Again, when I start filtering, everything shows up properly. I have read that using props to set an initial state is considered an anti-pattern. Thus, I know something is off here.

Almost all of your examples use data from a json file. However, I have retrieved my data from a rest endpoint and I'm passing it in to my grid component via props.

If I simply use the grid without filtering and sorting with the data passed in as props, everything works fine. However, I would like to use your filtering and sorting capabilities.

Please help

Thanks
Sunil
Top achievements
Rank 1
Iron
 answered on 07 Feb 2024
1 answer
66 views

Hi

I'm using kendo-react-treelist v. 3.18.0 and navigatable prop is not there for TreeList.
Which version was it added in?

Thanks

Vlad

Wissam
Telerik team
 answered on 07 Feb 2024
1 answer
65 views

Hi,

I am trying to get this grid to display the TEST message in the detail when I click the expander against the row.  Everything looks to be working as expected (I am using state.fetchErrorMsg to provide debug text to prove that state is changing and triggering re-rendering when necessary, I can also confirm that the expander toggles between + and - as expected).

Any ideas what I am doing wrong here?  I suspect it is something to do with how I am handling the promise that returns the data, since I can get this working when I use locally built static arrays instead of the fetch.

Cheers

Mike

import React, { useEffect, useState } from 'react';
import { UserInfo, TcbObjMilestoneGrp, TcbObjInfo } from '../../models/models';
import { loadingDiv } from '../../functions/componentFunctions';
import { Grid, GridColumn, GridExpandChangeEvent,  GridDetailRowProps } from '@progress/kendo-react-grid';
import './TcbObjMilestones.css';

type TcbObjMilestonesProps = {
    tcbObj: TcbObjInfo;
    userInf: UserInfo;
}

type TcbObjMilestonesState = {
    milestoneList: TcbObjMilestoneGrp[];
    milestonesFetched: boolean;
    fetchError: boolean;
    fetchErrorMsg: string;
    fetchInProg: boolean;
}

function TcbObjMilestones(props: TcbObjMilestonesProps) { 

    const [state, setState] = useState<TcbObjMilestonesState>({
        milestoneList: [],
        milestonesFetched: false,
        fetchError: false,
        fetchErrorMsg: '',
        fetchInProg: false
    });

    useEffect(() => {

        state.fetchErrorMsg = 'FetchInProg';
        state.fetchInProg = true;
        setState({ ...state});

        let url = props.userInf.currProject.apiUrl + '/api/details/GetTcbObjMilestones';

        fetch(url, { method: 'POST', body: JSON.stringify(props.tcbObj), headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + props.userInf.token } })
            .then(resp => resp.json())
            .then(res => {
                switch (res.callStatus) {
                    case "OK":
                        let ml: Array<TcbObjMilestoneGrp> = res.results;

                        state.fetchErrorMsg = 'Got MilestoneData '
                        state.milestoneList = ml;
                        state.milestonesFetched = true;
                        state.fetchInProg = false;
                        setState({ ...state });

                        break;
                    case "UNAUTH":
                        let uInf: UserInfo = { ...props.userInf, isAuthorised: false };

                        state.fetchInProg = false;
                        setState({ ...state });
                        break;

                    default:
                        state.fetchInProg = false;
                        state.fetchError = true;
                        state.fetchErrorMsg = res.callStatusMessage;

                        setState({ ...state });

                }
            })
            .catch(err => {
                state.fetchInProg = false;
                state.fetchError = true;
                state.fetchErrorMsg = 'Error fetching Item Details - ' + err.toString();
                setState({ ...state });
            });
    }, []);


  
    const expandGrpChange = (e: GridExpandChangeEvent) => {
        let dr: TcbObjMilestoneGrp = e.dataItem;
        let ml = state.milestoneList;
        let mlg = ml.find(x => x.milestoneId === dr.milestoneId)!;
        mlg.isExpanded = !e.dataItem.isExpanded;
   

        state.fetchErrorMsg = 'Expanded ' + mlg.isExpanded;
        setState({ ...state});

    }

    const renderMilestoneDetails = (e: GridDetailRowProps) => {
        return (<section><p>TEST</p></section>);

    };


     if (state.fetchInProg)
        return loadingDiv();

        let formatStr = "{0:dd-MMM-yyyy HH:mm }";

        return (
            <>
            <p>{state.fetchErrorMsg}</p>
            <Grid
                data={state.milestoneList}
                detail={renderMilestoneDetails}
                expandField="isExpanded"
                onExpandChange={expandGrpChange}
                resizable
            >
                <GridColumn field="milestoneDesc" title="Milestone" className="TcbObjMilestoneGridMainCell" />
                <GridColumn field="latestMilestoneDate" title="Latest" format={formatStr} width="120px" className="TcbObjMilestoneGridCell" />
                <GridColumn field="latestSource" title="Source" width="90px" className="TcbObjMilestoneGridCell" />
            </Grid>
            </>
        );
    }
    
export default TcbObjMilestones;


Michael
Top achievements
Rank 1
Iron
 answered on 07 Feb 2024
Narrow your results
Selected tags
Tags
+? more
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?