Skip to content

Commit a8c2133

Browse files
authored
Merge pull request #428 from aldabil21/initial-values
Fix initial values from props
2 parents 12487a3 + 0b82a8a commit a8c2133

5 files changed

Lines changed: 76 additions & 38 deletions

File tree

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
"prettier": "^3.5.1",
9090
"react": ">=19.0.0",
9191
"react-dom": "^19.0.0",
92+
"react-router-dom": "^7.3.0",
9293
"rollup-plugin-peer-deps-external": "^2.2.4",
9394
"rrule": "^2.8.1",
9495
"ts-jest": "^29.2.5",

src/App.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,23 @@ import { Scheduler } from "./lib";
22
import { EVENTS } from "./events";
33
import { useRef } from "react";
44
import { SchedulerRef } from "./lib/types";
5+
import { Link } from "react-router-dom";
56

67
function App() {
78
const calendarRef = useRef<SchedulerRef>(null);
89

910
return (
10-
<Scheduler
11-
ref={calendarRef}
12-
events={EVENTS}
13-
// events={generateRandomEvents(200)}
14-
/>
11+
<>
12+
<div>
13+
<Link to="/1">Go to page 1</Link>
14+
</div>
15+
16+
<Scheduler
17+
ref={calendarRef}
18+
events={EVENTS}
19+
// events={generateRandomEvents(200)}
20+
/>
21+
</>
1522
);
1623
}
1724

src/Page1.tsx

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { Scheduler } from "./lib";
2+
import { EVENTS } from "./events";
3+
import { useRef } from "react";
4+
import { SchedulerRef } from "./lib/types";
5+
import { Link } from "react-router-dom";
6+
7+
const events = EVENTS.slice(3, 6);
8+
9+
function Page1() {
10+
const calendarRef = useRef<SchedulerRef>(null);
11+
12+
return (
13+
<>
14+
<div>
15+
<Link to="/">Go to home</Link>
16+
</div>
17+
18+
<Scheduler
19+
ref={calendarRef}
20+
events={events}
21+
// events={generateRandomEvents(200)}
22+
/>
23+
</>
24+
);
25+
}
26+
27+
export default Page1;

src/index.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@ import * as React from "react";
22
import { CssBaseline, ThemeProvider, createTheme } from "@mui/material";
33
import { createRoot } from "react-dom/client";
44
import App from "./App";
5+
import { BrowserRouter, Route, Routes } from "react-router-dom";
6+
import Page1 from "./Page1";
57

68
const root = createRoot(document.getElementById("root") as HTMLElement);
79
root.render(
810
<React.StrictMode>
911
<ThemeProvider theme={createTheme()}>
1012
<CssBaseline />
11-
<App />
13+
<BrowserRouter>
14+
<Routes>
15+
<Route path="/" element={<App />} />
16+
<Route path="/1" element={<Page1 />} />
17+
</Routes>
18+
</BrowserRouter>
1219
</ThemeProvider>
1320
</React.StrictMode>
1421
);

src/lib/store/default.ts

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -88,19 +88,19 @@ const defaultViews = (props: Partial<SchedulerProps>) => {
8888
export const defaultProps = (props: Partial<SchedulerProps>) => {
8989
// We're pulling values out of props that we don't want to
9090
// pass on, so there are 'unused' ones here.
91-
/* eslint-disable @typescript-eslint/no-unused-vars */
9291
const {
93-
month,
94-
week,
95-
day,
9692
translations,
9793
resourceFields,
9894
view,
9995
agenda,
10096
selectedDate,
97+
resourceViewMode,
98+
direction,
99+
dialogMaxWidth,
100+
hourFormat,
101101
...otherProps
102102
} = props;
103-
/* eslint-enable @typescript-eslint/no-unused-vars */
103+
104104
const views = defaultViews(props);
105105
const defaultView = view || "week";
106106
const initialView = views[defaultView] ? defaultView : getOneView(views);
@@ -110,33 +110,29 @@ export const defaultProps = (props: Partial<SchedulerProps>) => {
110110
resourceFields: Object.assign(defaultResourceFields, resourceFields),
111111
view: initialView,
112112
selectedDate: getTimeZonedDate(selectedDate || new Date(), props.timeZone),
113-
...Object.assign(
114-
{
115-
height: 600,
116-
navigation: true,
117-
disableViewNavigator: false,
118-
events: [],
119-
fields: [],
120-
loading: undefined,
121-
customEditor: undefined,
122-
onConfirm: undefined,
123-
onDelete: undefined,
124-
viewerExtraComponent: undefined,
125-
resources: [],
126-
resourceHeaderComponent: undefined,
127-
resourceViewMode: "default",
128-
direction: "ltr",
129-
dialogMaxWidth: "md",
130-
locale: enUS,
131-
deletable: true,
132-
editable: true,
133-
hourFormat: "12",
134-
draggable: true,
135-
agenda,
136-
enableAgenda: typeof agenda === "undefined" || agenda,
137-
},
138-
otherProps
139-
),
113+
height: 600,
114+
navigation: true,
115+
disableViewNavigator: false,
116+
events: [],
117+
fields: [],
118+
loading: undefined,
119+
customEditor: undefined,
120+
onConfirm: undefined,
121+
onDelete: undefined,
122+
viewerExtraComponent: undefined,
123+
resources: [],
124+
resourceHeaderComponent: undefined,
125+
resourceViewMode: resourceViewMode || "default",
126+
direction: direction || "ltr",
127+
dialogMaxWidth: dialogMaxWidth || "md",
128+
locale: enUS,
129+
deletable: true,
130+
editable: true,
131+
hourFormat: hourFormat || "12",
132+
draggable: true,
133+
agenda,
134+
enableAgenda: typeof agenda === "undefined" || agenda,
135+
...otherProps,
140136
};
141137
};
142138

0 commit comments

Comments
 (0)