Implement events for external use + Rename interfaces with a I prefix + add some documentation (#26)
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Implement events for external use Rename interfaces with a I prefix Add some documentation Co-authored-by: Eric NGUYEN <enguyen@techform.fr> Reviewed-on: https://git.siklos-chaneru.duckdns.org/Siklos/svg-layout-designer-react/pulls/26
This commit is contained in:
parent
6c601429b9
commit
c81a6fe44b
38 changed files with 228 additions and 116 deletions
26
src/Events/EditorEvents.ts
Normal file
26
src/Events/EditorEvents.ts
Normal file
|
@ -0,0 +1,26 @@
|
|||
import { IEditorState } from '../Interfaces/IEditorState';
|
||||
import { IHistoryState } from '../Interfaces/IHistoryState';
|
||||
|
||||
const getEditorState = (editorState: IEditorState): void => {
|
||||
const customEvent = new CustomEvent<IEditorState>('getEditorState', { detail: editorState });
|
||||
document.dispatchEvent(customEvent);
|
||||
};
|
||||
|
||||
const getCurrentHistoryState = (editorState: IEditorState): void => {
|
||||
const customEvent = new CustomEvent<IHistoryState>(
|
||||
'getCurrentHistoryState',
|
||||
{ detail: editorState.history[editorState.historyCurrentStep] });
|
||||
document.dispatchEvent(customEvent);
|
||||
};
|
||||
|
||||
export interface IEditorEvent {
|
||||
name: string
|
||||
func: (editorState: IEditorState) => void
|
||||
}
|
||||
|
||||
const events: IEditorEvent[] = [
|
||||
{ name: 'getEditorState', func: getEditorState },
|
||||
{ name: 'getCurrentHistoryState', func: getCurrentHistoryState }
|
||||
];
|
||||
|
||||
export default events;
|
Loading…
Add table
Add a link
Reference in a new issue