react komponent klasowy (to co jest teraz)
unknown
javascript
4 years ago
1.8 kB
8
Indexable
import React from 'react';
import PanelComponent from '../PanelComponent';
import Subscribers from '../services/Subscribers';
import './Footer.css';
class Footer extends PanelComponent {
constructor (props) {
super(props);
this.state = {
editor: {
line: 1,
column: 1,
language: null,
},
};
this.subscribers = [];
}
componentDidMount () {
this.subscribers.push(Subscribers.subscribe('EDITOR_CURSOR_POSITION', (topic, data) => {
this.setState((prevState) => {
return {
editor: {
...prevState.editor,
line: data.line,
column: data.column,
},
};
});
}));
this.subscribers.push(Subscribers.subscribe('EDITOR_CHANGE_LANGUAGE', (topic, data) => {
this.setState((prevState) => {
return {
editor: {
...prevState.editor,
language: data.language,
},
};
});
}));
}
componentWillUnmount () {
Subscribers.unsubscribe(this.subscribers);
delete this.subscribers;
this.subscribers = [];
}
render () {
return (
<div className="ide-footer d-flex">
<div className="editor-information mr-auto">
{
this.state.editor.line !== null &&
this.state.editor.column !== null &&
(<div>Ln {this.state.editor.line}, Col {this.state.editor.column}</div>)
}
{
this.state.editor.language !== null &&
(<div>{this.state.editor.language}</div>)
}
</div>
</div>
);
}
}
export default Footer;
Editor is loading...