Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
react-easy-edit
Advanced tools
A React library that allows inline editing on HTML5 input components, try the sandbox here!
For full library documentation, visit this site!
input
(most types, even inputs with datalist
), textarea
,radio
, checkbox
, tel
, url
and select
HTML typesnpm i react-easy-edit
or yarn add react-easy-edit
Give a :star: if this project helped you in any way!
For the full list of props, please visit our documentation site.
More examples can be found here
import React, { Component } from 'react';
import EasyEdit from 'react-easy-edit';
function App() {
const save = (value) => {alert(value)}
const cancel = () => {alert("Cancelled")}
return (
<EasyEdit
type="text"
onSave={save}
onCancel={cancel}
saveButtonLabel="Save Me"
cancelButtonLabel="Cancel Me"
inputAttributes={{ name: "awesome-input", id: 1}}
instructions="Star this repo!"
/>
);
}
<EasyEdit
type="radio"
value="one"
onSave={save}
options={[
{label: 'First option', value: 'one'},
{label: 'Second option', value: 'two'}]}
instructions="Custom instructions"
/>
<EasyEdit
type="date"
onSave={save}
instructions="Select your date of birth"
/>
<EasyEdit
type="select"
options={[
{label: 'First option', value: 'one'},
{label: 'Second option', value: 'two'}]}
onSave={save}
placeholder="My Placeholder"
instructions="Custom instructions"
/>
<EasyEdit
type="datalist"
options={[
{label: 'First option', value: 'one'},
{label: 'Second option', value: 'two'}]}
onSave={save}
instructions="Custom instructions"
/>
<EasyEdit
type="checkbox"
options={[
{label: 'First option', value: 'one'},
{label: 'Second option', value: 'two'}]}
onSave={save}
value={['one', 'two']} // this will preselect both options
/>
When using custom input components, they must be passed in as props, like so:
<EasyEdit
type="text"
onSave={() => {}}
editComponent={<CustomInput />}
displayComponent={<CustomDisplay />}
/>
When defining a custom input component, the function setParentValue
is injected into your custom component, which must be called in order to pass the desired value up to the parent EasyEdit
component.
For example, if your component was a text field that needed to set the EasyEdit
value as a user id based on a username entered, you would need to pass the id to this.props.setParentValue
in order to get that value to the EasyEdit
component.
e.g.
// Inside your custom input
onChange(searchTerm) {
getUserIdByUsername(searchTerm).then((userId) => {
this.props.setParentValue(userId);
})
}
You can use a custom EditComponent and still use the saveOnBlur behavior. An onBlur
function will be passed to your custom component, for you to trigger the behavior.
class CustomComponent extends React.Component{
constructor(props){
super(props);
}
render(){
return <div>
<p>Custom editor</p>
<input onBlur={this.props.onBlur} />
</div>;
}
}
Contributions, issues and feature requests are welcome.
Feel free to check issues page if you want to contribute.
Special thanks to all the contributors below for spending their time improving this library
For transparency and insight into our release cycle, releases will be numbered with the following format:
<major>.<minor>.<patch>
And constructed with the following guidelines:
Copyright © 2023 George Artemiou.
This project is under MIT license.
FAQs
A react library for inline editing components
The npm package react-easy-edit receives a total of 3,878 weekly downloads. As such, react-easy-edit popularity was classified as popular.
We found that react-easy-edit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.