src/examples/pages/Read-Only/class-based.jsx
/* eslint-disable */
import React, { Component } from 'react';
import { Scheduler, SchedulerData, ViewType, DemoData, wrapperFun } from '../../../index';
class Readonly extends Component {
constructor(props) {
super(props);
const schedulerData = new SchedulerData('2022-12-22', ViewType.Week, false, false, {
besidesWidth: 350,
startResizable: false,
endResizable: false,
movable: false,
creatable: false,
});
schedulerData.localeDayjs.locale('en');
schedulerData.setResources(DemoData.resources);
schedulerData.setEvents(DemoData.events);
this.state = {
viewModel: schedulerData,
};
}
render() {
const { viewModel } = this.state;
return (
<Scheduler
schedulerData={viewModel}
prevClick={this.prevClick}
nextClick={this.nextClick}
onSelectDate={this.onSelectDate}
onViewChange={this.onViewChange}
eventItemClick={this.eventClicked}
viewEventClick={this.ops1}
viewEventText="Ops 1"
viewEvent2Text="Ops 2"
viewEvent2Click={this.ops2}
toggleExpandFunc={this.toggleExpandFunc}
/>
);
}
prevClick = schedulerData => {
schedulerData.prev();
schedulerData.setEvents(DemoData.events);
this.setState({
viewModel: schedulerData,
});
};
nextClick = schedulerData => {
schedulerData.next();
schedulerData.setEvents(DemoData.events);
this.setState({
viewModel: schedulerData,
});
};
onViewChange = (schedulerData, view) => {
schedulerData.setViewType(view.viewType, view.showAgenda, view.isEventPerspective);
schedulerData.setEvents(DemoData.events);
this.setState({
viewModel: schedulerData,
});
};
onSelectDate = (schedulerData, date) => {
schedulerData.setDate(date);
schedulerData.setEvents(DemoData.events);
this.setState({
viewModel: schedulerData,
});
};
eventClicked = (schedulerData, event) => {
alert(`You just clicked an event: {id: ${event.id}, title: ${event.title}}`);
};
ops1 = (schedulerData, event) => {
alert(`You just executed ops1 to event: {id: ${event.id}, title: ${event.title}}`);
};
ops2 = (schedulerData, event) => {
alert(`You just executed ops2 to event: {id: ${event.id}, title: ${event.title}}`);
};
toggleExpandFunc = (schedulerData, slotId) => {
schedulerData.toggleExpandStatus(slotId);
this.setState({ viewModel: schedulerData });
};
}
export default wrapperFun(Readonly);