
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
@bigbinary/neeto-rules
Advanced tools
neetoRules is the library that manages automation rules across neeto products.
yarn add @bigbinary/neeto-rules
neetoRules has a few peer dependencies that are required for the proper functioning of the package. Install all the peer dependencies using the below command:
yarn add @bigbinary/neetoui @bigbinary/neeto-icons ramda@^0.28.0 classnames@^2.3.1
<NeetoRulesForm data={initialProps}>
{({ formattedValues, values, ...formikBag }) => (
<>
<InputField name="name" data={initialProps} />
<TextareaField name="description" data={initialProps} />
<SelectField name="projectId" data={initialProps} />
<Events name="events" data={initialProps} />
<RadioField name="performer" data={initialProps} />
<Card title="Conditions">
<Conditions name="conditions" data={initialProps} />
</Card>
<ConditionGroups name="conditionGroups" data={initialProps} />
<Actions name="actions" data={initialProps} />
</>
)}
</NeetoRulesForm>
| Prop Name | Description |
|---|---|
| data | Object { [fieldName] : FieldProps } FieldProps |
| children | children?: React.ReactNode ({ formattedValues, ...props: FormikProps<Values>}) => ReactNode |
| className | To provide external classnames to Form component. string |
| handleSubmit | (values: Values, formikBag: FormikBag) => void FormikBag |
| handleCancel | Callback on clicking Form cancel button. |
| Prop | Description |
|---|---|
| name | Name of the field string |
| label | To specify the text to be displayed above the field. string |
| type | Type of the field. Supported Field Types string |
| value | Default value of the Field. It can be string or array based on the field type. |
| componentProps | Component specific props. Component Props |
| options | [{ label: "", value: ""}] For Field Types radio and dropdown. |
| conditionOptions | If Field Type is condition Options |
| eventOptions | If Field Type is events Options |
| actionOptions | If Field Type is actions Options |
| Prop | Description |
|---|---|
| label | Option label string |
| value | Option value string |
| type | Type of the option field |
| dropdownOptions | If the type is dropdown, multi-select, or multi-select-create |
textlong-textdropdownradioeventsactionsconditioncondition-group| Prop | Description | Default value |
|---|---|---|
| required | To specify whether the input field is required or not. Boolean | true |
const initialProps = {
...otherProps,
firstName: {
label: "First Name",
type: "text",
value: "", // Default value.
componentProps: {
placeholder: "Enter name",
},
},
};
<InputField name="firstName" data={initialProps} />;
| Prop | Description |
|---|---|
| data | The same initialProp that is passed to data prop in NeetoRulesForm. |
| name | Name of the field. The name should be same as that in the initialProp |
| label | To specify the text to be displayed above the field. string |
const initialProps = {
...otherProps,
description: {
label: "Description",
type: "long-text",
value: "", // Default value.
},
};
<TextareaField name="description" data={initialProps} />;
| Prop | Description |
|---|---|
| data | The same initialProp that is passed to data prop in NeetoRulesForm. |
| name | Name of the field. The name should be same as that in the initialProp string |
| label | To specify the text to be displayed above the field. string |
const initialProps = {
...otherProps,
user: {
label: "Project",
type: "dropdown",
options: [{ label: "Oliver", value: "oliver" }],
value: "oliver", // Default selected option will be Oliver
},
};
<SelectField name="user" data={initialProps} />;
| Prop | Description |
|---|---|
| data | The same initialProp that is passed to data prop in NeetoRulesForm. |
| name | Name of the field. The name should be same as that in the initialProp |
| label | To specify the text to be displayed above the field. string |
| options | To provide options for the Select input. [{label, value}]. |
| onChange | (value, setValue) => void setValue is to set the new value |
const initialProps = {
...otherProps,
performer: {
label: "Performer",
type: "radio",
value: "any", // Default selected value will be "any"
options: [
{ label: "Admin", value: "admin" },
{ label: "Any", value: "any" },
],
},
};
<RadioField name="performer" data={initialProps} />;
| Prop | Description |
|---|---|
| data | The same initialProp that is passed to data prop in NeetoRulesForm. |
| name | Name of the field. The name should be same as that in the initialProp |
| label | To specify the text to be displayed above the field. string |
| options | To provide options for the Radio input. [{label, value}]. |
const initialProps = {
...otherProps,
events: {
label: "Events",
type: "events",
value: [{ id: "1", name: "when_created" }], // Default value
eventOptions: [
{ label: "When Created", value: "when_created" },
{ label: "When Updated", value: "when_updated" },
{ label: "When Assigned", value: "when_deleted" },
],
},
};
<Events name="events" data={initialProps} />;
| Prop | Description |
|---|---|
| data | The same initialProp that is passed to data prop in NeetoRulesForm. |
| name | Name of the field. The name should be same as that in the initialProp |
| label | To specify the text to be displayed above the field. string |
| onSelectEvent | (name, selectedOption) => void This method will trigger when we select an event option. The name is to refer the event in the formik context. |
const initialProps = {
...otherProps,
conditions: {
label: "Conditions",
type: "condition",
conditionOptions: [
{
value: "status",
label: "Status",
type: "dropdown", // Types : text, textarea, dropdown, multi-select, multi-select-create, date.
dropdownOptions: [
{ label: "Open", value: "open" },
{ label: "Closed", value: "closed" },
],
},
{ value: "name", label: "Name", type: "text" },
{
value: "tags",
label: "Tags",
type: "multi-select-create",
},
],
value: [
{
id: "1",
field: "status",
verb: "is",
value: "open",
joinType: "and_operator",
},
{
id: "2",
field: "name",
verb: "is",
value: "Test",
joinType: "and_operator",
},
],
},
};
<Card title="Conditions">
<Conditions name="conditions" data={initialProps} />
</Card>;
| Prop | Description |
|---|---|
| data | The same initialProp that is passed to data prop in NeetoRulesForm. |
| name | Name of the field. The name should be same as that in the initialProp |
| label | To specify the text to be displayed above the field. string |
| isConditionGroup | To specify whether the component is part of ConditionGroups field. Default is false |
| onSelectCondition | (name, selectedOption) => void This method will trigger when we select a condition. The name is to refer the condition in the formik context. |
| selectedConditionOptions | (selectedCondition)=> [{label, value}] To provide options for the selected condition if the type of selected condition is dropdown, multi-select, or multi-select-create |
const initialProps = {
...otherProps,
conditionGroups: {
label: "Condition Groups",
type: "condition-group",
conditionOptions: [
{
value: "status",
label: "Status",
type: "dropdown", // Types : text, textarea, dropdown, multi-select, multi-select-create, date.
dropdownOptions: [
{ label: "Open", value: "open" },
{ label: "Closed", value: "closed" },
],
},
{ value: "name", label: "Name", type: "text" },
{
value: "tags",
label: "Tags",
type: "multi-select-create",
},
],
value: [
{
id: "1",
joinType: "and_operator",
conditions: [
{
id: "1",
field: "status", Specify the value of the selected condition.
verb: "is",
value: "open",
joinType: "and_operator",
},
{
id: "2",
field: "name",
verb: "is",
value: "Test",
joinType: "and_operator",
},
],
},
],
},
}
<ConditionGroups name="conditionGroups" data={initialProps} />
| Prop | Description |
|---|---|
| data | The same initialProp that is passed to data prop in NeetoRulesForm. |
| name | Name of the field. The name should be same as that in the initialProp |
| label | To specify the text to be displayed above the field. string |
| onSelectCondition | (name, selectedOption) => void This method will trigger when we select a condition. The name is to refer the condition in the formik context. |
| selectedConditionOptions | (selectedCondition)=> [{label, value}] To provide options for the selected condition if the type of selected condition is dropdown, multi-select, or multi-select-create |
const initialProps = {
...otherProps,
actions: {
label: "Actions",
type: "actions",
actionOptions: [
{
value: "change_status",
label: "Change Status",
type: "dropdown", // Types : emailToIds, email, dropdown, list, multiSelect, note
dropdownOptions: [
{ label: "Open", value: "open" },
{ label: "Closed", value: "closed" },
],
},
{
value: "email_to",
label: "Email To",
type: "emailToIds",
hideSubject: true, // Hide subject field if this prop is true
},
],
value: [
{
id: "1",
name: "email_to", // Specify the value of the selected action.
metadata: { emails: ["a@a.com"], subject: "test", body: "test" },
},
{
id: "2",
name: "change_status",
metadata: { value: "closed" },
},
],
},
};
<Actions name="fieldName" data={initialProps} />;
| Prop | Description |
|---|---|
| data | The same initialProp that is passed to data prop in NeetoRulesForm. |
| name | Name of the field. The name should be same as that in the initialProp |
| label | To specify the text to be displayed above the field. string |
| onSelectAction | (name, selectedOption) => void This method will trigger when we select an action. The name is to refer the action in the formik context. |
| selectedActionOptions | (selectedAction)=> [{label, value}] To provide options for the selected action if the type of selected action is dropdown, or multi-select |
Install all the dependencies by executing the following command
yarn install
Start the development server using the yarn start command. Port: 8080
The neetoRules package gets auto-published to npm for every new merge to the
main branch. You can checkout the publish workflow in git actions to get a
live update.
| Project | Pages |
|---|---|
| neeto-desk-web | Automation rules, views, Canned response |
| neeto-planner-web | Automation rules |
FAQs
Manage rules across neeto products.
The npm package @bigbinary/neeto-rules receives a total of 5 weekly downloads. As such, @bigbinary/neeto-rules popularity was classified as not popular.
We found that @bigbinary/neeto-rules demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 12 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.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.