}
title='Операционные схемы'
diff --git a/rsconcept/frontend/src/components/select/PickConstituenta.tsx b/rsconcept/frontend/src/components/select/PickConstituenta.tsx
index b1080b07..365e3d06 100644
--- a/rsconcept/frontend/src/components/select/PickConstituenta.tsx
+++ b/rsconcept/frontend/src/components/select/PickConstituenta.tsx
@@ -1,5 +1,6 @@
'use client';
+import clsx from 'clsx';
import { useEffect, useMemo, useState } from 'react';
import DataTable, { createColumnHelper, IConditionalStyle } from '@/components/ui/DataTable';
@@ -12,9 +13,10 @@ import { prefixes } from '@/utils/constants';
import { describeConstituenta } from '@/utils/labels';
import BadgeConstituenta from '../info/BadgeConstituenta';
+import { CProps } from '../props';
import NoData from '../ui/NoData';
-interface PickConstituentaProps {
+interface PickConstituentaProps extends CProps.Styling {
id?: string;
prefixID: string;
data?: IConstituenta[];
@@ -41,7 +43,9 @@ function PickConstituenta({
describeFunc = describeConstituenta,
matchFunc = (cst, filter) => matchConstituenta(cst, filter, CstMatchMode.ALL),
onBeginFilter,
- onSelectValue
+ onSelectValue,
+ className,
+ ...restProps
}: PickConstituentaProps) {
const { colors } = useConceptOptions();
const [filteredData, setFilteredData] = useState
([]);
@@ -89,7 +93,7 @@ function PickConstituenta({
);
return (
-
+
({});
@@ -120,7 +123,7 @@ function PickMultiConstituenta({
);
return (
-
+
{data.length > 0 ? `Выбраны ${selected.length} из ${data.length}` : 'Конституенты'}
@@ -147,7 +150,7 @@ function PickMultiConstituenta({
noFooter
rows={rows}
contentHeight='1.3rem'
- className={clsx('cc-scroll-y', 'text-sm', 'select-none')}
+ className='cc-scroll-y text-sm select-none rounded-b-md'
data={filtered}
columns={columns}
headPosition='0rem'
diff --git a/rsconcept/frontend/src/components/select/PickMultiOperation.tsx b/rsconcept/frontend/src/components/select/PickMultiOperation.tsx
index 80f4600d..447a8d9c 100644
--- a/rsconcept/frontend/src/components/select/PickMultiOperation.tsx
+++ b/rsconcept/frontend/src/components/select/PickMultiOperation.tsx
@@ -1,5 +1,6 @@
'use client';
+import clsx from 'clsx';
import { useCallback, useMemo, useState } from 'react';
import { IconMoveDown, IconMoveUp, IconRemove } from '@/components/Icons';
@@ -9,7 +10,9 @@ import MiniButton from '@/components/ui/MiniButton';
import NoData from '@/components/ui/NoData';
import { IOperation, OperationID } from '@/models/oss';
-interface PickMultiOperationProps {
+import { CProps } from '../props';
+
+interface PickMultiOperationProps extends CProps.Styling {
rows?: number;
items: IOperation[];
@@ -19,7 +22,7 @@ interface PickMultiOperationProps {
const columnHelper = createColumnHelper
();
-function PickMultiOperation({ rows, items, selected, setSelected }: PickMultiOperationProps) {
+function PickMultiOperation({ rows, items, selected, setSelected, className, ...restProps }: PickMultiOperationProps) {
const selectedItems = useMemo(
() => selected.map(itemID => items.find(item => item.id === itemID)!),
[items, selected]
@@ -124,7 +127,10 @@ function PickMultiOperation({ rows, items, selected, setSelected }: PickMultiOpe
);
return (
-
+
-
+
+
setFilterText(newValue)}
diff --git a/rsconcept/frontend/src/components/select/PickSubstitutions.tsx b/rsconcept/frontend/src/components/select/PickSubstitutions.tsx
index a74be64c..6db21427 100644
--- a/rsconcept/frontend/src/components/select/PickSubstitutions.tsx
+++ b/rsconcept/frontend/src/components/select/PickSubstitutions.tsx
@@ -1,5 +1,6 @@
'use client';
+import clsx from 'clsx';
import { useCallback, useMemo, useState } from 'react';
import { toast } from 'react-toastify';
@@ -14,10 +15,11 @@ import { ConstituentaID, IConstituenta, IRSForm } from '@/models/rsform';
import { errors } from '@/utils/labels';
import { IconAccept, IconPageLeft, IconPageRight, IconRemove, IconReplace } from '../Icons';
+import { CProps } from '../props';
import NoData from '../ui/NoData';
import SelectLibraryItem from './SelectLibraryItem';
-interface PickSubstitutionsProps {
+interface PickSubstitutionsProps extends CProps.Styling {
substitutions: ICstSubstitute[];
setSubstitutions: React.Dispatch>;
suggestions?: ICstSubstitute[];
@@ -40,7 +42,9 @@ function PickSubstitutions({
rows,
schemas,
filter,
- allowSelfSubstitution
+ allowSelfSubstitution,
+ className,
+ ...restProps
}: PickSubstitutionsProps) {
const { colors } = useConceptOptions();
@@ -257,9 +261,9 @@ function PickSubstitutions({
);
return (
-
+
-
+
-
+
void;
disabled?: boolean;
stretchLeft?: boolean;
}
-function SelectAccessPolicy({ value, disabled, stretchLeft, onChange }: SelectAccessPolicyProps) {
+function SelectAccessPolicy({ value, disabled, stretchLeft, onChange, ...restProps }: SelectAccessPolicyProps) {
const menu = useDropdown();
const handleChange = useCallback(
@@ -33,7 +34,7 @@ function SelectAccessPolicy({ value, disabled, stretchLeft, onChange }: SelectAc
);
return (
-
+
void;
}
-function SelectGraphFilter({ value, dense, onChange }: SelectGraphFilterProps) {
+function SelectGraphFilter({ value, dense, onChange, ...restProps }: SelectGraphFilterProps) {
const menu = useDropdown();
const size = useWindowSize();
@@ -32,7 +33,7 @@ function SelectGraphFilter({ value, dense, onChange }: SelectGraphFilterProps) {
);
return (
-
+
void;
disabled?: boolean;
stretchLeft?: boolean;
}
-function SelectItemType({ value, disabled, stretchLeft, onChange }: SelectItemTypeProps) {
+function SelectItemType({ value, disabled, stretchLeft, onChange, ...restProps }: SelectItemTypeProps) {
const menu = useDropdown();
const handleChange = useCallback(
@@ -33,7 +34,7 @@ function SelectItemType({ value, disabled, stretchLeft, onChange }: SelectItemTy
);
return (
-
+
void;
excluded?: LocationHead[];
}
-function SelectLocationHead({ value, excluded = [], onChange }: SelectLocationHeadProps) {
+function SelectLocationHead({ value, excluded = [], onChange, className, ...restProps }: SelectLocationHeadProps) {
const menu = useDropdown();
const handleChange = useCallback(
@@ -30,7 +32,7 @@ function SelectLocationHead({ value, excluded = [], onChange }: SelectLocationHe
);
return (
-
+
void;
}
-function SelectMatchMode({ value, dense, onChange }: SelectMatchModeProps) {
+function SelectMatchMode({ value, dense, onChange, ...restProps }: SelectMatchModeProps) {
const menu = useDropdown();
const size = useWindowSize();
@@ -32,7 +33,7 @@ function SelectMatchMode({ value, dense, onChange }: SelectMatchModeProps) {
);
return (
-
+
>;
}
-function SelectWordForm({ selected, setSelected }: SelectWordFormProps) {
+function SelectWordForm({ selected, setSelected, className, ...restProps }: SelectWordFormProps) {
const handleSelect = useCallback(
(grams: Grammeme[]) => {
setSelected(SelectorGrammemes.filter(({ value }) => grams.includes(value as Grammeme)));
@@ -22,7 +24,7 @@ function SelectWordForm({ selected, setSelected }: SelectWordFormProps) {
);
return (
-
+
{DefaultWordForms.slice(0, 12).map((data, index) => (
partialUpdate({ prototype: cst })}
prefixID={prefixes.cst_template_ist}
+ className='rounded-t-none'
rows={8}
/>
+