fix(grid): keep filter editor open after applying filters
This commit is contained in:
12 files changed
+34
-1
No files matched your search
@@ -452,6 +452,7 @@ const editShowIndexIndicatorsInHeader = ref(settingsStore.editorSettings.showInd
|
||||
const editCompactColumnHeaderActions = ref(settingsStore.editorSettings.compactColumnHeaderActions);
|
||||
const editDataGridQuickEntry = ref(settingsStore.editorSettings.dataGridQuickEntry);
|
||||
const editDataGridFilterEditorView = ref<DataGridFilterEditorView>(settingsStore.editorSettings.dataGridFilterEditorView);
|
||||
const editDataGridAutoHideFilterBuilder = ref(settingsStore.editorSettings.dataGridAutoHideFilterBuilder);
|
||||
const dataGridFilterViewPreviewExpanded = ref(true);
|
||||
const editDataGridTextFilterPanelHeight = ref(settingsStore.editorSettings.dataGridTextFilterPanelHeight);
|
||||
const editMultiStatementDefaultView = ref<MultiStatementDefaultView>(settingsStore.editorSettings.multiStatementDefaultView);
|
||||
@@ -663,6 +664,7 @@ function currentEditorSettingsDraft(): EditorSettingsDraft {
|
||||
compactColumnHeaderActions: editCompactColumnHeaderActions.value,
|
||||
dataGridQuickEntry: editDataGridQuickEntry.value,
|
||||
dataGridFilterEditorView: editDataGridFilterEditorView.value,
|
||||
dataGridAutoHideFilterBuilder: editDataGridAutoHideFilterBuilder.value,
|
||||
dataGridTextFilterPanelHeight: editDataGridTextFilterPanelHeight.value,
|
||||
multiStatementDefaultView: editMultiStatementDefaultView.value,
|
||||
dataGridAutoTransposeSingleRow: editDataGridAutoTransposeSingleRow.value,
|
||||
@@ -1067,6 +1069,7 @@ function syncEditorSettingsDraftFromStore() {
|
||||
editCompactColumnHeaderActions.value = settingsStore.editorSettings.compactColumnHeaderActions;
|
||||
editDataGridQuickEntry.value = settingsStore.editorSettings.dataGridQuickEntry;
|
||||
editDataGridFilterEditorView.value = settingsStore.editorSettings.dataGridFilterEditorView;
|
||||
editDataGridAutoHideFilterBuilder.value = settingsStore.editorSettings.dataGridAutoHideFilterBuilder;
|
||||
editDataGridTextFilterPanelHeight.value = settingsStore.editorSettings.dataGridTextFilterPanelHeight;
|
||||
editMultiStatementDefaultView.value = settingsStore.editorSettings.multiStatementDefaultView;
|
||||
editDataGridAutoTransposeSingleRow.value = settingsStore.editorSettings.dataGridAutoTransposeSingleRow;
|
||||
@@ -1391,6 +1394,7 @@ function resetDefaultsForTab(tab: SettingsCategory) {
|
||||
editCompactColumnHeaderActions.value = DEFAULT_EDITOR_SETTINGS.compactColumnHeaderActions;
|
||||
editDataGridQuickEntry.value = DEFAULT_EDITOR_SETTINGS.dataGridQuickEntry;
|
||||
editDataGridFilterEditorView.value = DEFAULT_EDITOR_SETTINGS.dataGridFilterEditorView;
|
||||
editDataGridAutoHideFilterBuilder.value = DEFAULT_EDITOR_SETTINGS.dataGridAutoHideFilterBuilder;
|
||||
editDataGridTextFilterPanelHeight.value = DEFAULT_EDITOR_SETTINGS.dataGridTextFilterPanelHeight;
|
||||
editMultiStatementDefaultView.value = DEFAULT_EDITOR_SETTINGS.multiStatementDefaultView;
|
||||
editDataGridAutoTransposeSingleRow.value = DEFAULT_EDITOR_SETTINGS.dataGridAutoTransposeSingleRow;
|
||||
@@ -1477,6 +1481,7 @@ function resetAllDefaults() {
|
||||
editCompactColumnHeaderActions.value = DEFAULT_EDITOR_SETTINGS.compactColumnHeaderActions;
|
||||
editDataGridQuickEntry.value = DEFAULT_EDITOR_SETTINGS.dataGridQuickEntry;
|
||||
editDataGridFilterEditorView.value = DEFAULT_EDITOR_SETTINGS.dataGridFilterEditorView;
|
||||
editDataGridAutoHideFilterBuilder.value = DEFAULT_EDITOR_SETTINGS.dataGridAutoHideFilterBuilder;
|
||||
editDataGridTextFilterPanelHeight.value = DEFAULT_EDITOR_SETTINGS.dataGridTextFilterPanelHeight;
|
||||
editMultiStatementDefaultView.value = DEFAULT_EDITOR_SETTINGS.multiStatementDefaultView;
|
||||
editDataGridAutoTransposeSingleRow.value = DEFAULT_EDITOR_SETTINGS.dataGridAutoTransposeSingleRow;
|
||||
@@ -6174,6 +6179,13 @@ onUnmounted(() => {
|
||||
<span class="truncate">{{ t("grid.filterTextView") }}</span>
|
||||
</Button>
|
||||
</div>
|
||||
<div class="flex items-center justify-between gap-4 rounded-md border bg-background px-3 py-2">
|
||||
<div class="space-y-1">
|
||||
<Label for="data-grid-auto-hide-filter-builder">{{ t("settings.dataGridAutoHideFilterBuilder") }}</Label>
|
||||
<p class="text-xs text-muted-foreground">{{ t("settings.dataGridAutoHideFilterBuilderDescription") }}</p>
|
||||
</div>
|
||||
<Switch id="data-grid-auto-hide-filter-builder" v-model="editDataGridAutoHideFilterBuilder" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="dataGridFilterViewPreviewExpanded" class="pointer-events-none select-none overflow-hidden border-t bg-background" data-data-grid-filter-view-preview>
|
||||
|
||||
@@ -2444,7 +2444,7 @@ function buildGroupedWhere(conditions: string[], rules: StructuredFilterRule[]):
|
||||
async function applyStructuredFilters() {
|
||||
if (!canUseWhereSearch.value) return;
|
||||
appliedStructuredWhereInput.value = await buildStructuredWhereFromRules(structuredFilterRules.value);
|
||||
filterBuilderOpen.value = false;
|
||||
if (settingsStore.editorSettings.dataGridAutoHideFilterBuilder) filterBuilderOpen.value = false;
|
||||
await applyWhereFilter();
|
||||
}
|
||||
|
||||
|
||||
@@ -6692,6 +6692,8 @@ export default {
|
||||
dataGridDisplay: "Data grid display",
|
||||
dataGridFilterView: "Table filter view",
|
||||
dataGridFilterViewDescription: "Use a filter popover, a fixed conditions panel, or a compact text conditions panel.",
|
||||
dataGridAutoHideFilterBuilder: "Automatically hide filter editor after applying",
|
||||
dataGridAutoHideFilterBuilderDescription: "When disabled, the filter editor stays open after applying so you can continue editing.",
|
||||
dataGridFilterViewPreview: "Effect preview",
|
||||
dataGridFilterViewPreviewExpand: "Expand effect preview",
|
||||
dataGridFilterViewPreviewCollapse: "Collapse effect preview",
|
||||
|
||||
@@ -7085,6 +7085,8 @@ export default withEnglishFallback({
|
||||
customUiBorder: "Borde",
|
||||
customUiSidebar: "Barra lateral",
|
||||
shortcutConvertNamingStyle: "Cambiar estilo de nomenclatura",
|
||||
dataGridAutoHideFilterBuilder: "Ocultar automáticamente el editor de condiciones después de aplicar filtros",
|
||||
dataGridAutoHideFilterBuilderDescription: "Cuando está desactivado, el editor de condiciones permanece después de aplicar filtros para facilitar ajustes adicionales.",
|
||||
},
|
||||
driverStore: {
|
||||
jreDirRemoveFailed: "No se pudo eliminar el directorio JRE antiguo: {path} (error original: {error})",
|
||||
|
||||
@@ -7085,6 +7085,8 @@ export default withEnglishFallback({
|
||||
customUiBorder: "Bordo",
|
||||
customUiSidebar: "Barra laterale",
|
||||
shortcutConvertNamingStyle: "Cambia stile di denominazione",
|
||||
dataGridAutoHideFilterBuilder: "Nascondi automaticamente l'editor delle condizioni dopo l'applicazione dei filtri",
|
||||
dataGridAutoHideFilterBuilderDescription: "Se disattivata, dopo l'applicazione dei filtri l'editor delle condizioni rimane per ulteriori modifiche.",
|
||||
},
|
||||
driverStore: {
|
||||
jreDirRemoveFailed: "Impossibile rimuovere la vecchia directory JRE: {path} (errore originale: {error})",
|
||||
|
||||
@@ -7137,6 +7137,8 @@ export default withEnglishFallback({
|
||||
customUiBorder: "枠線",
|
||||
customUiSidebar: "サイドバー",
|
||||
shortcutConvertNamingStyle: "命名スタイルの切り替え",
|
||||
dataGridAutoHideFilterBuilder: "フィルター適用後に条件エディターを自動的に非表示にする",
|
||||
dataGridAutoHideFilterBuilderDescription: "オフにすると、フィルター適用後も条件エディターが残り、調整を続けやすくなります。",
|
||||
},
|
||||
driverStore: {
|
||||
jreDirRemoveFailed: "古い JRE ディレクトリを削除できませんでした: {path}(元のエラー: {error})",
|
||||
|
||||
@@ -6801,6 +6801,8 @@ export default withEnglishFallback({
|
||||
csvQuoteModeAll: "모든 필드",
|
||||
csvQuoteModeNecessary: "필수 필드만",
|
||||
shortcutConvertNamingStyle: "네이밍 스타일 전환",
|
||||
dataGridAutoHideFilterBuilder: "필터 적용 후 조건 편집기 자동 숨기기",
|
||||
dataGridAutoHideFilterBuilderDescription: "끄면 필터를 적용한 후에도 조건 편집기가 유지되어 계속 조정하기 편리합니다.",
|
||||
},
|
||||
driverStore: {
|
||||
jreDirRemoveFailed: "이전 JRE 디렉터리 제거 실패: {path} (원래 오류: {error})",
|
||||
|
||||
@@ -7087,6 +7087,8 @@ export default withEnglishFallback({
|
||||
customUiBorder: "Borda",
|
||||
customUiSidebar: "Barra lateral",
|
||||
shortcutConvertNamingStyle: "Alternar estilo de nomenclatura",
|
||||
dataGridAutoHideFilterBuilder: "Ocultar automaticamente o editor de condições após aplicar o filtro",
|
||||
dataGridAutoHideFilterBuilderDescription: "Quando desativado, o editor de condições permanece após aplicar o filtro, facilitando novos ajustes.",
|
||||
},
|
||||
driverStore: {
|
||||
jreDirRemoveFailed: "Não foi possível remover o diretório JRE antigo: {path} (erro original: {error})",
|
||||
|
||||
@@ -6675,6 +6675,8 @@ export default withEnglishFallback({
|
||||
dataGridDisplay: "数据表格显示",
|
||||
dataGridFilterView: "表格筛选视图",
|
||||
dataGridFilterViewDescription: "选择弹出式快捷筛选、固定条件面板或紧凑文本条件面板。",
|
||||
dataGridAutoHideFilterBuilder: "应用筛选后自动隐藏条件编辑器",
|
||||
dataGridAutoHideFilterBuilderDescription: "关闭后,应用筛选后仍保留条件编辑器,方便继续调整。",
|
||||
dataGridFilterViewPreview: "效果预览",
|
||||
dataGridFilterViewPreviewExpand: "展开效果预览",
|
||||
dataGridFilterViewPreviewCollapse: "收起效果预览",
|
||||
|
||||
@@ -6402,6 +6402,8 @@ export default withEnglishFallback({
|
||||
customUiBorder: "邊框",
|
||||
customUiSidebar: "側邊欄",
|
||||
shortcutConvertNamingStyle: "切換命名風格",
|
||||
dataGridAutoHideFilterBuilder: "應用篩選後自動隱藏條件編輯器",
|
||||
dataGridAutoHideFilterBuilderDescription: "關閉後,應用篩選後仍保留條件編輯器,方便繼續調整。",
|
||||
},
|
||||
driverStore: {
|
||||
jreDirRemoveFailed: "無法刪除舊的 JRE 目錄:{path}(原始錯誤:{error})",
|
||||
|
||||
@@ -47,6 +47,7 @@ export const EDITOR_SETTINGS_DRAFT_KEYS = [
|
||||
"compactColumnHeaderActions",
|
||||
"dataGridQuickEntry",
|
||||
"dataGridFilterEditorView",
|
||||
"dataGridAutoHideFilterBuilder",
|
||||
"dataGridTextFilterPanelHeight",
|
||||
"multiStatementDefaultView",
|
||||
"dataGridAutoTransposeSingleRow",
|
||||
|
||||
@@ -784,6 +784,7 @@ export interface EditorSettings {
|
||||
columnWidthDensity: ColumnWidthDensity;
|
||||
dataGridQuickEntry: boolean;
|
||||
dataGridFilterEditorView: DataGridFilterEditorView;
|
||||
dataGridAutoHideFilterBuilder: boolean;
|
||||
dataGridTextFilterPanelHeight: number;
|
||||
localFilterPopoverWidth: number;
|
||||
dataGridRenderMode: DataGridRenderMode;
|
||||
@@ -1014,6 +1015,7 @@ export const DEFAULT_EDITOR_SETTINGS: EditorSettings = {
|
||||
columnWidthDensity: "standard",
|
||||
dataGridQuickEntry: false,
|
||||
dataGridFilterEditorView: "quick",
|
||||
dataGridAutoHideFilterBuilder: true,
|
||||
dataGridTextFilterPanelHeight: DATA_GRID_TEXT_FILTER_PANEL_HEIGHT_DEFAULT,
|
||||
localFilterPopoverWidth: 360,
|
||||
dataGridRenderMode: "canvas",
|
||||
@@ -1460,6 +1462,7 @@ export function normalizeEditorSettings(settings: Partial<EditorSettings>, exist
|
||||
columnWidthDensity: normalizeColumnWidthDensity(settings.columnWidthDensity),
|
||||
dataGridQuickEntry: settings.dataGridQuickEntry ?? DEFAULT_EDITOR_SETTINGS.dataGridQuickEntry,
|
||||
dataGridFilterEditorView: normalizeDataGridFilterEditorView(settings.dataGridFilterEditorView),
|
||||
dataGridAutoHideFilterBuilder: settings.dataGridAutoHideFilterBuilder ?? DEFAULT_EDITOR_SETTINGS.dataGridAutoHideFilterBuilder,
|
||||
dataGridTextFilterPanelHeight: normalizeDataGridTextFilterPanelHeight(settings.dataGridTextFilterPanelHeight),
|
||||
localFilterPopoverWidth: normalizeDrawerWidth(settings.localFilterPopoverWidth, 240, DEFAULT_EDITOR_SETTINGS.localFilterPopoverWidth),
|
||||
dataGridRenderMode: normalizeDataGridRenderMode(settings.dataGridRenderMode),
|
||||
@@ -2177,6 +2180,7 @@ export const useSettingsStore = defineStore("settings", () => {
|
||||
if (partial.columnWidthDensity !== undefined) editorSettings.value.columnWidthDensity = normalizeColumnWidthDensity(partial.columnWidthDensity);
|
||||
if (partial.dataGridQuickEntry !== undefined) editorSettings.value.dataGridQuickEntry = partial.dataGridQuickEntry;
|
||||
if (partial.dataGridFilterEditorView !== undefined) editorSettings.value.dataGridFilterEditorView = normalizeDataGridFilterEditorView(partial.dataGridFilterEditorView);
|
||||
if (partial.dataGridAutoHideFilterBuilder !== undefined) editorSettings.value.dataGridAutoHideFilterBuilder = partial.dataGridAutoHideFilterBuilder;
|
||||
if (partial.dataGridTextFilterPanelHeight !== undefined) editorSettings.value.dataGridTextFilterPanelHeight = normalizeDataGridTextFilterPanelHeight(partial.dataGridTextFilterPanelHeight);
|
||||
if (partial.localFilterPopoverWidth !== undefined) editorSettings.value.localFilterPopoverWidth = normalizeDrawerWidth(partial.localFilterPopoverWidth, 240, DEFAULT_EDITOR_SETTINGS.localFilterPopoverWidth);
|
||||
if (partial.dataGridRenderMode !== undefined) editorSettings.value.dataGridRenderMode = normalizeDataGridRenderMode(partial.dataGridRenderMode);
|
||||
|
||||
Reference in new issue
Block a user