28 lines
No EOL
792 B
JavaScript
28 lines
No EOL
792 B
JavaScript
export const areViewsEqual = (views, expectedViews) => {
|
|
if (views.length !== expectedViews.length) {
|
|
return false;
|
|
}
|
|
return expectedViews.every(expectedView => views.includes(expectedView));
|
|
};
|
|
export const applyDefaultViewProps = ({
|
|
openTo,
|
|
defaultOpenTo,
|
|
views,
|
|
defaultViews
|
|
}) => {
|
|
const viewsWithDefault = views ?? defaultViews;
|
|
let openToWithDefault;
|
|
if (openTo != null) {
|
|
openToWithDefault = openTo;
|
|
} else if (viewsWithDefault.includes(defaultOpenTo)) {
|
|
openToWithDefault = defaultOpenTo;
|
|
} else if (viewsWithDefault.length > 0) {
|
|
openToWithDefault = viewsWithDefault[0];
|
|
} else {
|
|
throw new Error('MUI X: The `views` prop must contain at least one view.');
|
|
}
|
|
return {
|
|
views: viewsWithDefault,
|
|
openTo: openToWithDefault
|
|
};
|
|
}; |