Fix issues found while testing changes for preferences tab and search. #6743
parent
7946ee78f6
commit
5df2c7686c
|
|
@ -199,7 +199,9 @@ export default function PreferencesComponent({panelId}) {
|
|||
|
||||
useEffect(()=>{
|
||||
/* Bind the close event and check if user should be warned */
|
||||
const deregister = layoutDocker.eventBus.registerListener(LAYOUT_EVENTS.CLOSING, ()=>{
|
||||
const deregister = layoutDocker.eventBus.registerListener(LAYOUT_EVENTS.CLOSING, (id)=>{
|
||||
if(panelId != id) return;
|
||||
|
||||
if(Object.keys(prefChangedData.current).length > 0) {
|
||||
pgAdmin.Browser.notifier.confirm(
|
||||
gettext('Warning'),
|
||||
|
|
|
|||
|
|
@ -139,6 +139,7 @@ export function prepareSubnodeData(node, subNode, nodeData, preferencesStore) {
|
|||
|
||||
delete element.value; // Original value is moved to fieldValues
|
||||
element.visible = false;
|
||||
element.labelTooltip = `${node.name}:${subNode.name}:${element.name}`;
|
||||
element.helpMessage = element?.help_str || null;
|
||||
element.parentId = nodeData.id;
|
||||
fieldItems.push(element);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ export default function RightPreference({ schema, filteredItemIds, selectedItem,
|
|||
|
||||
schema.schemaFields.forEach((field) => {
|
||||
field.visible = field.parentId === selectedItem.id && filteredItemIds.includes(field.id);
|
||||
field.labelTooltip = `${selectedItem.key.toLowerCase()}:${selectedItem.key}:${field.key}`;
|
||||
});
|
||||
schema.categoryUpdated(selectedItem.id);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -84,6 +84,10 @@ export default function cmOverride(theme) {
|
|||
color: editor.guttersFg,
|
||||
borderRight: 'none',
|
||||
|
||||
'& .cm-lineNumbers': {
|
||||
padding: '0px 4px',
|
||||
},
|
||||
|
||||
'& .cm-foldGutter': {
|
||||
padding: '0px',
|
||||
color: editor.fg,
|
||||
|
|
|
|||
|
|
@ -160,8 +160,6 @@ const defaultExtensions = [
|
|||
EditorView.clipboardOutputFilter.of((text, state)=>{
|
||||
return CustomEditorView.getSelectionFromState(state);
|
||||
}),
|
||||
// Custom folding service for PL/pgSQL
|
||||
plpgsqlFoldService,
|
||||
];
|
||||
|
||||
export default function Editor({
|
||||
|
|
@ -174,9 +172,10 @@ export default function Editor({
|
|||
|
||||
const editorContainerRef = useRef();
|
||||
const editor = useRef();
|
||||
const defaultOptions = {
|
||||
const finalOptions = {
|
||||
lineNumbers: true,
|
||||
foldGutter: true,
|
||||
...options
|
||||
};
|
||||
|
||||
const preferencesStore = usePreferences();
|
||||
|
|
@ -189,28 +188,13 @@ export default function Editor({
|
|||
|
||||
useEffect(() => {
|
||||
if (!checkIsMounted()) return;
|
||||
const finalOptions = { ...defaultOptions, ...options };
|
||||
const osEOL = OS_EOL === 'crlf' ? '\r\n' : '\n';
|
||||
const finalExtns = [
|
||||
(language == 'json') ? json() : sql({dialect: PgSQL}),
|
||||
...defaultExtensions,
|
||||
];
|
||||
if (finalOptions.lineNumbers) {
|
||||
finalExtns.push(lineNumbers());
|
||||
}
|
||||
if (finalOptions.foldGutter) {
|
||||
finalExtns.push(foldGutter({
|
||||
markerDOM: (open)=>{
|
||||
let icon = document.createElement('span');
|
||||
if(open) {
|
||||
icon.innerHTML = arrowDownHtml;
|
||||
} else {
|
||||
icon.innerHTML = arrowRightHtml;
|
||||
}
|
||||
return icon;
|
||||
},
|
||||
}));
|
||||
}
|
||||
if (editorContainerRef.current) {
|
||||
const state = EditorState.create({
|
||||
extensions: [
|
||||
|
|
@ -388,6 +372,34 @@ export default function Editor({
|
|||
newConfigExtn.push(currentQueryHighlighterExtn());
|
||||
}
|
||||
|
||||
if(!pref.plain_editor_mode) {
|
||||
// lang override
|
||||
if(language == 'json') {
|
||||
newConfigExtn.push(json());
|
||||
} else {
|
||||
newConfigExtn.push(sql({dialect: PgSQL}));
|
||||
}
|
||||
}
|
||||
|
||||
if(pref.code_folding && finalOptions.foldGutter) {
|
||||
newConfigExtn.push(foldGutter({
|
||||
markerDOM: (open)=>{
|
||||
let icon = document.createElement('span');
|
||||
if(open) {
|
||||
icon.innerHTML = arrowDownHtml;
|
||||
} else {
|
||||
icon.innerHTML = arrowRightHtml;
|
||||
}
|
||||
return icon;
|
||||
},
|
||||
}));
|
||||
}
|
||||
|
||||
// add fold service conditionally
|
||||
if(!pref.plain_editor_mode && pref.code_folding && language == 'pgsql') {
|
||||
newConfigExtn.push(plpgsqlFoldService);
|
||||
}
|
||||
|
||||
editor.current.dispatch({
|
||||
effects: configurables.current.reconfigure(newConfigExtn)
|
||||
});
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ def register_query_tool_preferences(self):
|
|||
)
|
||||
)
|
||||
|
||||
self.sql_font_size = self.preference.register(
|
||||
self.preference.register(
|
||||
'Editor', 'plain_editor_mode',
|
||||
gettext("Plain text mode?"), 'boolean', False,
|
||||
category_label=PREF_LABEL_EDITOR,
|
||||
|
|
@ -188,7 +188,7 @@ def register_query_tool_preferences(self):
|
|||
)
|
||||
)
|
||||
|
||||
self.sql_font_size = self.preference.register(
|
||||
self.preference.register(
|
||||
'Editor', 'code_folding',
|
||||
gettext("Code folding?"), 'boolean', True,
|
||||
category_label=PREF_LABEL_EDITOR,
|
||||
|
|
@ -1064,7 +1064,7 @@ def register_query_tool_preferences(self):
|
|||
)
|
||||
)
|
||||
|
||||
self.sql_font_size = self.preference.register(
|
||||
self.preference.register(
|
||||
'Editor', 'indent_new_line',
|
||||
gettext("Auto-indent new line?"), 'boolean', True,
|
||||
category_label=PREF_LABEL_EDITOR,
|
||||
|
|
|
|||
Loading…
Reference in New Issue