/////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2025, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
import gettext from 'sources/gettext';
import React, { useEffect, useRef, useCallback } from 'react';
import { Box, Link } from '@mui/material';
import PropTypes from 'prop-types';
import SchemaView from '../../../../static/js/SchemaView';
// Import helpers from new file
export default function RightPreference({ schema, filteredItemIds, selectedItem, setSelectedItem, initValues, onDataChange }) {
const schemaViewRef = useRef(null);
const getInitData = useCallback(() => {
return new Promise((resolve, reject) => {
try {
resolve(initValues);
} catch (error) {
reject(error instanceof Error ? error : Error(gettext('Something went wrong')));
}
});
}, [initValues]);
const updateVisibleFields = () => {
if(!selectedItem) return;
schema.schemaFields.forEach((field) => {
field.visible = field.parentId === selectedItem.id && filteredItemIds.includes(field.id);
});
schema.categoryUpdated(selectedItem.id);
};
useEffect(() => {
updateVisibleFields();
}, [filteredItemIds, selectedItem]);
if(selectedItem?.children) {
return (