Skip to content
Snippets Groups Projects
Commit d33e1269 authored by Antoine Roy's avatar Antoine Roy
Browse files

Tentative de rendre compatible le plugin annotation avec Mirador qui fonctionne avec React 17

parent a13082a0
Branches
No related tags found
1 merge request!9Antoine plugin with mui5 react17
Pipeline #1636 failed
...@@ -10,6 +10,10 @@ ...@@ -10,6 +10,10 @@
"parser": "@babel/eslint-parser", "parser": "@babel/eslint-parser",
"plugins": ["jest"], "plugins": ["jest"],
"rules": { "rules": {
"import/no-extraneous-dependencies": [
"error",
{"devDependencies": true}
],
"import/prefer-default-export": "off", "import/prefer-default-export": "off",
"no-console": "off", "no-console": "off",
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }], "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
"test:ci": "jest --ci --reporters=default --reporters=jest-junit --watchAll=false" "test:ci": "jest --ci --reporters=default --reporters=jest-junit --watchAll=false"
}, },
"dependencies": { "dependencies": {
"@mui/system": "^5.15.1",
"@psychobolt/react-paperjs": "^1.0.3", "@psychobolt/react-paperjs": "^1.0.3",
"@psychobolt/react-paperjs-editor": "0.0.11", "@psychobolt/react-paperjs-editor": "0.0.11",
"draft-js": "^0.11.6", "draft-js": "^0.11.6",
...@@ -43,9 +44,9 @@ ...@@ -43,9 +44,9 @@
"devDependencies": { "devDependencies": {
"@babel/core": "^7.10.4", "@babel/core": "^7.10.4",
"@babel/eslint-parser": "^7.19.1", "@babel/eslint-parser": "^7.19.1",
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@babel/preset-env": "^7.10.4", "@babel/preset-env": "^7.10.4",
"@babel/preset-react": "^7.10.4", "@babel/preset-react": "^7.10.4",
"@babel/plugin-proposal-private-property-in-object":"^7.21.11" ,
"@mui/icons-material": "^5.11.16", "@mui/icons-material": "^5.11.16",
"@mui/lab": "^5.0.0-alpha.134", "@mui/lab": "^5.0.0-alpha.134",
"@mui/material": "^5.13.5", "@mui/material": "^5.13.5",
......
...@@ -3,29 +3,29 @@ import PropTypes from 'prop-types'; ...@@ -3,29 +3,29 @@ import PropTypes from 'prop-types';
import { import {
Button, Paper, Grid, Popover, Divider, Button, Paper, Grid, Popover, Divider,
MenuList, MenuItem, ClickAwayListener, MenuList, MenuItem, ClickAwayListener,
} from '@material-ui/core'; } from '@mui/material';
import { Alarm, LastPage } from '@material-ui/icons'; import { Alarm, LastPage } from '@mui/icons-material';
import Typography from '@material-ui/core/Typography'; import Typography from '@mui/material/Typography';
import ToggleButton from '@material-ui/lab/ToggleButton'; import ToggleButton from '@mui/lab/ToggleButton';
import ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup'; import ToggleButtonGroup from '@mui/lab/ToggleButtonGroup';
import RectangleIcon from '@material-ui/icons/CheckBoxOutlineBlank'; import RectangleIcon from '@mui/icons-material/CheckBoxOutlineBlank';
import CircleIcon from '@material-ui/icons/RadioButtonUnchecked'; import CircleIcon from '@mui/icons-material/RadioButtonUnchecked';
import PolygonIcon from '@material-ui/icons/Timeline'; import PolygonIcon from '@mui/icons-material/Timeline';
import GestureIcon from '@material-ui/icons/Gesture'; import GestureIcon from '@mui/icons-material/Gesture';
import ClosedPolygonIcon from '@material-ui/icons/ChangeHistory'; import ClosedPolygonIcon from '@mui/icons-material/ChangeHistory';
import OpenPolygonIcon from '@material-ui/icons/ShowChart'; import OpenPolygonIcon from '@mui/icons-material/ShowChart';
import FormatColorFillIcon from '@material-ui/icons/FormatColorFill'; import FormatColorFillIcon from '@mui/icons-material/FormatColorFill';
import StrokeColorIcon from '@material-ui/icons/BorderColor'; import StrokeColorIcon from '@mui/icons-material/BorderColor';
import LineWeightIcon from '@material-ui/icons/LineWeight'; import LineWeightIcon from '@mui/icons-material/LineWeight';
import ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown'; import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
import FormatShapesIcon from '@material-ui/icons/FormatShapes'; import FormatShapesIcon from '@mui/icons-material/FormatShapes';
import { SketchPicker } from 'react-color'; import { SketchPicker } from 'react-color';
import { v4 as uuid } from 'uuid'; import { v4 as uuid } from 'uuid';
import { withStyles } from '@material-ui/core/styles'; import { styled } from '@mui/system';
import CompanionWindow from 'mirador/dist/es/src/containers/CompanionWindow'; import CompanionWindow from 'mirador/dist/es/src/containers/CompanionWindow';
import { VideosReferences } from 'mirador/dist/es/src/plugins/VideosReferences'; import { VideosReferences } from 'mirador/dist/es/src/plugins/VideosReferences';
import { OSDReferences } from 'mirador/dist/es/src/plugins/OSDReferences'; import { OSDReferences } from 'mirador/dist/es/src/plugins/OSDReferences';
import Slider from '@material-ui/core/Slider'; import Slider from '@mui/material/Slider';
import AnnotationDrawing from './AnnotationDrawing'; import AnnotationDrawing from './AnnotationDrawing';
import TextEditor from './TextEditor'; import TextEditor from './TextEditor';
import WebAnnotation from './WebAnnotation'; import WebAnnotation from './WebAnnotation';
...@@ -33,6 +33,7 @@ import CursorIcon from './icons/Cursor'; ...@@ -33,6 +33,7 @@ import CursorIcon from './icons/Cursor';
import HMSInput from './HMSInput'; import HMSInput from './HMSInput';
import ImageFormField from './ImageFormField'; import ImageFormField from './ImageFormField';
import { secondsToHMS } from './utils'; import { secondsToHMS } from './utils';
/** Extract time information from annotation target */ /** Extract time information from annotation target */
function timeFromAnnoTarget(annotarget) { function timeFromAnnoTarget(annotarget) {
console.info('TODO proper time extraction from: ', annotarget); console.info('TODO proper time extraction from: ', annotarget);
...@@ -211,10 +212,14 @@ class AnnotationCreation extends Component { ...@@ -211,10 +212,14 @@ class AnnotationCreation extends Component {
}; };
/** update annotation start time */ /** update annotation start time */
updateTstart(value) { this.setState({ tstart: value }); } updateTstart(value) {
this.setState({ tstart: value });
}
/** update annotation end time */ /** update annotation end time */
updateTend(value) { this.setState({ tend: value }); } updateTend(value) {
this.setState({ tend: value });
}
/** seekTo/goto annotation start time */ /** seekTo/goto annotation start time */
...@@ -637,6 +642,7 @@ class AnnotationCreation extends Component { ...@@ -637,6 +642,7 @@ class AnnotationCreation extends Component {
); );
} }
} }
/** */ /** */
const styles = (theme) => ({ const styles = (theme) => ({
buttonTimeContainer: { buttonTimeContainer: {
...@@ -731,11 +737,14 @@ AnnotationCreation.propTypes = { ...@@ -731,11 +737,14 @@ AnnotationCreation.propTypes = {
AnnotationCreation.defaultProps = { AnnotationCreation.defaultProps = {
annotation: null, annotation: null,
canvases: [], canvases: [],
closeCompanionWindow: () => {}, closeCompanionWindow: () => {
},
currentTime: null, currentTime: null,
paused: true, paused: true,
setCurrentTime: () => {}, setCurrentTime: () => {
setSeekTo: () => {}, },
setSeekTo: () => {
},
}; };
export default withStyles(styles)(AnnotationCreation); export default styled(styles)(AnnotationCreation);
import React, { Component } from 'react'; import React, { Component } from 'react';
import Dialog from '@material-ui/core/Dialog'; import Dialog from '@mui/material/Dialog';
import DialogContent from '@material-ui/core/DialogContent'; import DialogContent from '@mui/material/DialogContent';
import DialogTitle from '@material-ui/core/DialogTitle'; import DialogTitle from '@mui/material/DialogTitle';
import GetAppIcon from '@material-ui/icons/GetApp'; import GetAppIcon from '@mui/icons-material/GetApp';
import ListItemIcon from '@material-ui/core/ListItemIcon'; import ListItemIcon from '@mui/material/ListItemIcon';
import ListItemText from '@material-ui/core/ListItemText'; import ListItemText from '@mui/material/ListItemText';
import MenuList from '@material-ui/core/MenuList'; import MenuList from '@mui/material/MenuList';
import MenuItem from '@material-ui/core/MenuItem'; import MenuItem from '@mui/material/MenuItem';
import Typography from '@material-ui/core/Typography'; import Typography from '@mui/material/Typography';
import PropTypes, { bool } from 'prop-types'; import PropTypes, { bool } from 'prop-types';
import { withStyles } from '@material-ui/core'; import { styled } from '@mui/system';
/** */ /** */
const styles = (theme) => ({ const styles = (theme) => ({
...@@ -137,4 +138,4 @@ AnnotationExportDialog.defaultProps = { ...@@ -137,4 +138,4 @@ AnnotationExportDialog.defaultProps = {
classes: {}, classes: {},
}; };
export default withStyles(styles)(AnnotationExportDialog); export default styled(styles)(AnnotationExportDialog);
import React, { Component } from 'react'; import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import DeleteIcon from '@material-ui/icons/DeleteForever'; import DeleteIcon from '@mui/icons-material/DeleteForever';
import EditIcon from '@material-ui/icons/Edit'; import EditIcon from '@mui/icons-material/Edit';
import ToggleButton from '@material-ui/lab/ToggleButton'; import ToggleButton from '@mui/lab/ToggleButton';
import ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup'; import ToggleButtonGroup from '@mui/lab/ToggleButtonGroup';
import flatten from 'lodash/flatten'; import flatten from 'lodash/flatten';
import AnnotationActionsContext from './AnnotationActionsContext'; import AnnotationActionsContext from './AnnotationActionsContext';
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles'; import { withStyles } from '@mui/material/styles';
import { IconButton, Input, TextField } from '@material-ui/core'; import { Input } from '@mui/material';
import { ArrowDownward, ArrowUpward } from '@material-ui/icons';
import { secondsToHMSarray } from './utils'; import { secondsToHMSarray } from './utils';
/** hh:mm:ss input which behave like a single input for parent */ /** hh:mm:ss input which behave like a single input for parent */
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles'; import { withStyles } from '@mui/material/styles';
import { TextField } from '@material-ui/core'; import { TextField } from '@mui/material';
/** URL input with an <img> preview */ /** URL input with an <img> preview */
class ImageFormField extends Component { class ImageFormField extends Component {
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import Button from '@material-ui/core/Button'; import Button from '@mui/material/Button';
import Dialog from '@material-ui/core/Dialog'; import Dialog from '@mui/material/Dialog';
import DialogActions from '@material-ui/core/DialogActions'; import DialogActions from '@mui/material/DialogActions';
import DialogContent from '@material-ui/core/DialogContent'; import DialogContent from '@mui/material/DialogContent';
import DialogContentText from '@material-ui/core/DialogContentText'; import DialogContentText from '@mui/material/DialogContentText';
import DialogTitle from '@material-ui/core/DialogTitle'; import DialogTitle from '@mui/material/DialogTitle';
import Typography from '@material-ui/core/Typography'; import Typography from '@mui/material/Typography';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
/** /**
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Editor, EditorState, RichUtils } from 'draft-js'; import { Editor, EditorState, RichUtils } from 'draft-js';
import ToggleButton from '@material-ui/lab/ToggleButton'; import ToggleButton from '@mui/lab/ToggleButton';
import ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup'; import ToggleButtonGroup from '@mui/lab/ToggleButtonGroup';
import BoldIcon from '@material-ui/icons/FormatBold'; import BoldIcon from '@mui/icons-material/FormatBold';
import ItalicIcon from '@material-ui/icons/FormatItalic'; import ItalicIcon from '@mui/icons-material/FormatItalic';
import { withStyles } from '@material-ui/core/styles'; import { withStyles } from '@mui/material/styles';
import { stateToHTML } from 'draft-js-export-html'; import { stateToHTML } from 'draft-js-export-html';
import { stateFromHTML } from 'draft-js-import-html'; import { stateFromHTML } from 'draft-js-import-html';
......
import React from 'react'; import React from 'react';
import SvgIcon from '@material-ui/core/SvgIcon'; import SvgIcon from '@mui/material/SvgIcon';
/** /**
* CursorIcon ~ * CursorIcon ~
......
...@@ -2,8 +2,8 @@ import React, { Component } from 'react'; ...@@ -2,8 +2,8 @@ import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import * as actions from 'mirador/dist/es/src/state/actions'; import * as actions from 'mirador/dist/es/src/state/actions';
import { getWindowViewType } from 'mirador/dist/es/src/state/selectors'; import { getWindowViewType } from 'mirador/dist/es/src/state/selectors';
import AddBoxIcon from '@material-ui/icons/AddBox'; import AddBoxIcon from '@mui/icons-material/AddBox';
import GetAppIcon from '@material-ui/icons/GetApp'; import GetAppIcon from '@mui/icons-material/GetApp';
import { MiradorMenuButton } from 'mirador/dist/es/src/components/MiradorMenuButton'; import { MiradorMenuButton } from 'mirador/dist/es/src/components/MiradorMenuButton';
import { getVisibleCanvases } from 'mirador/dist/es/src/state/selectors/canvases'; import { getVisibleCanvases } from 'mirador/dist/es/src/state/selectors/canvases';
import SingleCanvasDialog from '../SingleCanvasDialog'; import SingleCanvasDialog from '../SingleCanvasDialog';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment