feat(extraSidebarComponent): add import statement for getTagsIds function from storeUtils
The import statement for the `getTagsIds` function from `storeUtils` was added to the `extraSidebarComponent` file. This function is used to retrieve the IDs of tags based on their names. fix(extraSidebarComponent): remove duplicate getTagsIds function The duplicate `getTagsIds` function in the `extraSidebarComponent` file was removed to avoid conflicts and improve code organization. feat(extraSidebarComponent): update saveFlowStore function call to use getTagsIds function The `saveFlowStore` function call in the `extraSidebarComponent` file was updated to use the `getTagsIds` function instead of directly passing the selected tags array. This change ensures that the IDs of the selected tags are used in the function call. feat(nodeToolbarComponent): add import statement for getTagsIds function from storeUtils The import statement for the `getTagsIds` function from `storeUtils` was added to the `nodeToolbarComponent` file. This function is used to retrieve the IDs of tags based on their names. fix(nodeToolbarComponent): remove duplicate getTagsIds function The duplicate `getTagsIds` function in the `nodeToolbarComponent` file was removed to avoid conflicts and improve code organization. feat(nodeToolbarComponent): update saveFlowStore function call to use getTagsIds function The `saveFlowStore` function call in the `nodeToolbarComponent` file was updated to use the `getTagsIds` function instead of directly passing the selected tags array. This change ensures that the IDs of the selected tags are used in the function call. feat(storeUtils): add getTagsIds function The `getTagsIds` function was added to the `storeUtils` file. This function takes an array of tag names and a reference to the tag list with IDs, and returns an array of tag IDs based on the names. This function is used in the `extraSidebarComponent` and `nodeToolbarComponent` files to retrieve the IDs of selected tags.
This commit is contained in:
parent
761bbc5fd0
commit
9a7def7c48
3 changed files with 21 additions and 12 deletions
|
|
@ -16,6 +16,7 @@ import ConfirmationModal from "../../../../modals/ConfirmationModal";
|
||||||
import ExportModal from "../../../../modals/exportModal";
|
import ExportModal from "../../../../modals/exportModal";
|
||||||
import { APIClassType, APIObjectType } from "../../../../types/api";
|
import { APIClassType, APIObjectType } from "../../../../types/api";
|
||||||
import { FlowType } from "../../../../types/flow";
|
import { FlowType } from "../../../../types/flow";
|
||||||
|
import { getTagsIds } from "../../../../utils/storeUtils";
|
||||||
import {
|
import {
|
||||||
nodeColors,
|
nodeColors,
|
||||||
nodeIconsLucide,
|
nodeIconsLucide,
|
||||||
|
|
@ -78,12 +79,6 @@ export default function ExtraSidebar(): JSX.Element {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTagsIds(tags: string[]) {
|
|
||||||
return tags
|
|
||||||
.map((tag) => tagListId.current.find((tagObj) => tagObj.name === tag))!
|
|
||||||
.map((tag) => tag!.id);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handle showing components after use search input
|
// Handle showing components after use search input
|
||||||
function handleSearchInput(e: string) {
|
function handleSearchInput(e: string) {
|
||||||
if (e === "") {
|
if (e === "") {
|
||||||
|
|
@ -151,7 +146,7 @@ export default function ExtraSidebar(): JSX.Element {
|
||||||
};
|
};
|
||||||
saveFlowStore(
|
saveFlowStore(
|
||||||
saveFlow,
|
saveFlow,
|
||||||
getTagsIds(Array.from(selectedTags)),
|
getTagsIds(Array.from(selectedTags), tagListId),
|
||||||
sharePublic
|
sharePublic
|
||||||
).then(
|
).then(
|
||||||
() => {
|
() => {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep } from "lodash";
|
||||||
import { useContext, useEffect, useState } from "react";
|
import { useContext, useEffect, useRef, useState } from "react";
|
||||||
import { useReactFlow, useUpdateNodeInternals } from "reactflow";
|
import { useReactFlow, useUpdateNodeInternals } from "reactflow";
|
||||||
import ShadTooltip from "../../../../components/ShadTooltipComponent";
|
import ShadTooltip from "../../../../components/ShadTooltipComponent";
|
||||||
import IconComponent from "../../../../components/genericIconComponent";
|
import IconComponent from "../../../../components/genericIconComponent";
|
||||||
|
|
@ -13,7 +13,7 @@ import {
|
||||||
} from "../../../../components/ui/select-custom";
|
} from "../../../../components/ui/select-custom";
|
||||||
import { alertContext } from "../../../../contexts/alertContext";
|
import { alertContext } from "../../../../contexts/alertContext";
|
||||||
import { TabsContext } from "../../../../contexts/tabsContext";
|
import { TabsContext } from "../../../../contexts/tabsContext";
|
||||||
import { saveFlowStore } from "../../../../controllers/API";
|
import { getStoreTags, saveFlowStore } from "../../../../controllers/API";
|
||||||
import ConfirmationModal from "../../../../modals/ConfirmationModal";
|
import ConfirmationModal from "../../../../modals/ConfirmationModal";
|
||||||
import EditNodeModal from "../../../../modals/EditNodeModal";
|
import EditNodeModal from "../../../../modals/EditNodeModal";
|
||||||
import { nodeToolbarPropsType } from "../../../../types/components";
|
import { nodeToolbarPropsType } from "../../../../types/components";
|
||||||
|
|
@ -23,6 +23,7 @@ import {
|
||||||
expandGroupNode,
|
expandGroupNode,
|
||||||
updateFlowPosition,
|
updateFlowPosition,
|
||||||
} from "../../../../utils/reactflowUtils";
|
} from "../../../../utils/reactflowUtils";
|
||||||
|
import { getTagsIds } from "../../../../utils/storeUtils";
|
||||||
import { classNames } from "../../../../utils/utils";
|
import { classNames } from "../../../../utils/utils";
|
||||||
|
|
||||||
export default function NodeToolbarComponent({
|
export default function NodeToolbarComponent({
|
||||||
|
|
@ -72,10 +73,14 @@ export default function NodeToolbarComponent({
|
||||||
const [sharePublic, setSharePublic] = useState(true);
|
const [sharePublic, setSharePublic] = useState(true);
|
||||||
const [tags, setTags] = useState<string[]>([]);
|
const [tags, setTags] = useState<string[]>([]);
|
||||||
const [selectedTags, setSelectedTags] = useState<Set<string>>(new Set());
|
const [selectedTags, setSelectedTags] = useState<Set<string>>(new Set());
|
||||||
|
const tagListId = useRef<{ id: string; name: string }[]>([]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
//TODO: get tags from api
|
getStoreTags().then((res) => {
|
||||||
setTags(["teste1", "teste2"]);
|
tagListId.current = res;
|
||||||
|
let tags = res.map((tag) => tag.name);
|
||||||
|
setTags(tags);
|
||||||
|
});
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
function handleTagSelection(tag: string) {
|
function handleTagSelection(tag: string) {
|
||||||
|
|
@ -95,7 +100,7 @@ export default function NodeToolbarComponent({
|
||||||
saveComponent(componentFlow).then(() => {
|
saveComponent(componentFlow).then(() => {
|
||||||
saveFlowStore(
|
saveFlowStore(
|
||||||
createFlowComponent(componentFlow),
|
createFlowComponent(componentFlow),
|
||||||
Array.from(selectedTags),
|
getTagsIds(Array.from(selectedTags), tagListId),
|
||||||
sharePublic
|
sharePublic
|
||||||
).then(
|
).then(
|
||||||
(_) => {
|
(_) => {
|
||||||
|
|
|
||||||
|
|
@ -12,3 +12,12 @@ export default function cloneFLowWithParent(
|
||||||
childFLow.is_component = is_component;
|
childFLow.is_component = is_component;
|
||||||
return childFLow;
|
return childFLow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getTagsIds(
|
||||||
|
tags: string[],
|
||||||
|
tagListId: { current: { name: string; id: string }[] }
|
||||||
|
) {
|
||||||
|
return tags
|
||||||
|
.map((tag) => tagListId.current.find((tagObj) => tagObj.name === tag))!
|
||||||
|
.map((tag) => tag!.id);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue