@bigbinary/neeto-tags-frontend
v2.1.4
Published
A repo acts as the source of truth for the new nano's structure, configs, data etc.
Downloads
8,595
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' end
- And then execute:
bundle install
- Add this line to your application's
config/routes.rb
file:mount NeetoTagsEngine::Engine => "/neeto_tags_engine"
- Run the following command to copy the migrations from the engine to the host application:
bundle exec rails neeto_tags_engine:install:migrations
- Add 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-nano
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/[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-nano
package 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.