feat: modules dependencies

This commit is contained in:
2025-03-15 09:38:12 +04:00
parent 11eebdd3ad
commit 3bbdacdd68
10 changed files with 47 additions and 34 deletions

View File

@@ -2,7 +2,8 @@ import { useForm } from "@mantine/form";
import { useEffect, useState } from "react";
import { BaseMarketplaceSchema } from "../../../../../client";
import { useCardSummariesFull } from "../../../hooks/useCardSummaries.tsx";
import isModuleInProject, { Modules } from "../../../../../modules/utils/isModuleInProject.ts";
import isModuleInProject from "../../../../../modules/utils/isModuleInProject.ts";
import { ModuleNames } from "../../../../../modules/modules.tsx";
type State = {
idOrName: string | null;
@@ -22,7 +23,7 @@ const usePrefillCard = () => {
const applyFilters = () => {
let result = objects;
result = result.filter(obj => isModuleInProject(Modules.SERVICES_AND_PRODUCTS, obj.board.project));
result = result.filter(obj => isModuleInProject(ModuleNames.SERVICES_AND_PRODUCTS, obj.board.project));
if (form.values.idOrName) {
if (isNaN(parseInt(form.values.idOrName))) {

View File

@@ -1,7 +1,8 @@
import { useMemo } from "react";
import { MRT_ColumnDef } from "mantine-react-table";
import { ModuleSchema } from "../../../../../../../client";
import { Center, Checkbox } from "@mantine/core";
import { Center, Checkbox, em, Group, Tooltip } from "@mantine/core";
import { IconInfoCircle } from "@tabler/icons-react";
type Props = {
@@ -32,7 +33,25 @@ const useModulesTableColumns = ({ selectedModules }: Props) => {
{
header: "Название",
accessorKey: "label",
size: 200,
},
{
header: "",
Header: (
<Group gap={"sm"}>
<>Зависит от модулей</>
<Tooltip label={"Зависимости автоматически подключатся при сохранении"}>
<IconInfoCircle size={em(20)} />
</Tooltip>
</Group>
),
accessorKey: "dependsOn",
size: 10000,
Cell: ({ row }) => (
<>
{row.original.dependsOn?.map(module => module.label).join(", ")}
</>
),
},
],
[selectedModules],