@bigbinary/neeto-tags-frontend
v2.2.15
Published
A repo acts as the source of truth for the new nano's structure, configs, data etc.
Downloads
3,045
Readme
neeto-tags-nano
The neeto-tags-nano manages tags across neeto applications. The nano exports
the @bigbinary/neeto-tags-frontend NPM package and neeto-tags-engine Rails
engine for development.
Contents
Development with Host Application
Engine
The engine is used to manage tags for any entity across neeto products.
Installation
Add this line to your application's Gemfile:
source "NEETO_GEM_SERVER_URL" do # ..existing gems gem 'neeto-tags-engine' endAnd then execute:
bundle installAdd this line to your application's
config/routes.rbfile:mount NeetoTagsEngine::Engine, at: "/neeto_tags"NOTE: The mount point must be
/neeto_tagsand cannot be changed to any other path.Run the following command to copy the migrations from the engine to the host application:
bundle exec rails neeto_tags_engine:install:migrationsAdd the migrations to the database:
bundle exec rails db:migrate
Usage
You can learn more about the setup and usage here:
Frontend package
The package exports two components: NeetoTags and Tags.
The package also exports one hook: refetchTags.
Installation
neeto-tags-nanohas 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/[email protected] @bigbinary/[email protected] @bigbinary/[email protected] @honeybadger-io/[email protected] @honeybadger-io/[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]Now install the latest
neeto-tags-nanopackage using the below command:yarn add @bigbinary/neeto-tags-frontend
Instructions for development
Check the Frontend package development guide for step-by-step instructions to develop the frontend package.
Components
NeetoTags (source code)
This component provides a dashboard to manage tags for an application.
Props
config: Configuration object that includes specifications for tags, display menu, and breadcrumbs.
Configuration
Refer to the NeetoTags section for detailed
information on the available configurations for the NeetoTags component.
Usage
import React from "react";
import { NeetoTags } from "@bigbinary/neeto-tags-frontend";
const App = () => {
return <NeetoTags config={config} />;
};
export default App;Tags (source code)
This component provides functionality to assign tags to an entity.
Configuration
Refer to the Tags section for detailed information on
the available configurations for the Tags component.
Usage
import React from "react";
import { TagsComponent } from "@bigbinary/neeto-tags-frontend";
const App = ({
allTags,
buttonProps,
selectProps,
selectedTags,
handleTagCreate,
handleTagRemove,
handleTagSelect,
}) => {
return (
<TagsComponent
allTags={allTags}
buttonProps={buttonProps}
selectProps={selectProps}
selectedTags={selectedTags}
onTagCreate={handleTagCreate}
onTagDelete={handleTagRemove}
onTagSelect={handleTagSelect}
/>
);
};
export default App;Hooks
refetchTags (source code)
This function refetches the tags list.
Usage
Below is an example usage of the refetchTags hook:
const useBulkUpdateTickets = () =>
useMutationWithInvalidation(
({ payload }) => ticketsApi.bulkUpdateTickets(payload),
{
keysToInvalidate: [
[QUERY_KEYS.TICKETS_LIST],
[QUERY_KEYS.TICKETS_DEFAULT_VIEWS],
[QUERY_KEYS.TEAMS],
...REPORT_DATA_KEYS_TO_INVALIDATE,
],
onSuccess: () => {
refetchTags();
},
}
);Used by neetoDesk
Instructions for Publishing
Consult the building and releasing packages guide for details on how to publish.
