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
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
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
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.
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
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
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;