update UnavaliableFields structure

This commit is contained in:
anovazzi1 2024-04-30 14:56:51 -03:00
commit ec490a78a8
4 changed files with 11 additions and 14 deletions

View file

@ -22,9 +22,10 @@ export default function AddNewVariableButton({ children }): JSX.Element {
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
const setErrorData = useAlertStore((state) => state.setErrorData); const setErrorData = useAlertStore((state) => state.setErrorData);
const componentFields = useTypesStore((state) => state.ComponentFields); const componentFields = useTypesStore((state) => state.ComponentFields);
const unavaliableFields = useGlobalVariablesStore( const unavaliableFields =new Set(Object.keys(useGlobalVariablesStore(
(state) => state.unavaliableFields (state) => state.unavaliableFields
); )));
const availableFields = Array.from(componentFields).filter( const availableFields = Array.from(componentFields).filter(
(field) => !unavaliableFields.has(field) (field) => !unavaliableFields.has(field)
); );

View file

@ -5,16 +5,13 @@ import { getUnavailableFields } from "../utils/utils";
export const useGlobalVariablesStore = create<GlobalVariablesStore>( export const useGlobalVariablesStore = create<GlobalVariablesStore>(
(set, get) => ({ (set, get) => ({
unavaliableFields: new Set(), unavaliableFields: {},
setUnavaliableFields: (fields) => { setUnavaliableFields: (fields) => {
set({ unavaliableFields: fields }); set({ unavaliableFields: fields });
}, },
addUnavaliableField: (field) => {
set({ unavaliableFields: get().unavaliableFields.add(field) });
},
removeUnavaliableField: (field) => { removeUnavaliableField: (field) => {
const newFields = get().unavaliableFields; const newFields = get().unavaliableFields;
newFields.delete(field); delete newFields[field];
set({ unavaliableFields: newFields }); set({ unavaliableFields: newFields });
}, },
globalVariablesEntries: [], globalVariablesEntries: [],

View file

@ -25,8 +25,7 @@ export type GlobalVariablesStore = {
) => void; ) => void;
removeGlobalVariable: (name: string) => Promise<void>; removeGlobalVariable: (name: string) => Promise<void>;
getVariableId: (name: string) => string | undefined; getVariableId: (name: string) => string | undefined;
unavaliableFields: Set<string>; unavaliableFields: {[name: string]: string};
setUnavaliableFields: (fields: Set<string>) => void; setUnavaliableFields: (fields: {[name: string]: string}) => void;
addUnavaliableField: (field: string) => void;
removeUnavaliableField: (field: string) => void; removeUnavaliableField: (field: string) => void;
}; };

View file

@ -93,16 +93,16 @@ export function toTitleCase(
export function getUnavailableFields(variables: { export function getUnavailableFields(variables: {
[key: string]: { default_fields?: string[] }; [key: string]: { default_fields?: string[] };
}): Set<string> { }): {[name: string]: string} {
const set = new Set<string>(); const unVariables:{[name: string]: string} = {};
Object.keys(variables).forEach((key) => { Object.keys(variables).forEach((key) => {
if (variables[key].default_fields) { if (variables[key].default_fields) {
variables[key].default_fields!.forEach((field) => { variables[key].default_fields!.forEach((field) => {
set.add(field); unVariables[field] = key;
}); });
} }
}); });
return set; return unVariables;
} }
export const upperCaseWords: string[] = ["llm", "uri"]; export const upperCaseWords: string[] = ["llm", "uri"];