1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/dashboard/client/utils/prevDefault.ts
Jari Kolehmainen 1d0815abd2
Lens app source code (#119)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-03-15 09:52:02 +02:00

26 lines
736 B
TypeScript

import * as React from "react";
// Helper for preventing default event action and performing custom callback
// 1)
// <form onSubmit={prevDefault(() => console.log('do some action'))}>
// <input name="text"/>
// <button type="submit">Action</button>
// </form>
// 2)
// <a href="/some-page-url">
// <span>Link text</span>
// <Icon onClick={prevDefault(() => console.log('stay on the page and open dialog'))}/>
// </a>
export function prevDefault<E extends React.SyntheticEvent | Event>(callback: (evt: E) => any) {
return function (evt: E) {
evt.preventDefault();
evt.stopPropagation();
return callback(evt);
}
}
export function stopPropagation(evt: Event | React.SyntheticEvent) {
evt.stopPropagation();
}