提交 3d367886 编写于 作者: S Serge Rider 提交者: GitHub

Merge pull request #10787 from dbeaver/data-editor-filter-like#10698

#10698 Add percent sign around value if they're missing, localization fixes

Former-commit-id: 90bf80e4
......@@ -39,8 +39,8 @@ command.org.jkiss.dbeaver.core.resultset.filterMenu.distinct.description = \u
command.org.jkiss.dbeaver.core.resultset.filterMenu.distinct.name = \u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044E
command.org.jkiss.dbeaver.core.resultset.filterMenu.name = \u041C\u0435\u043D\u044E \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438
command.org.jkiss.dbeaver.core.resultset.filterSettings.name=\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432 ...
command.org.jkiss.dbeaver.core.resultset.filterSettings.description=Set custom filter/order settings
command.org.jkiss.dbeaver.core.resultset.filterSave.name=Save filter settings
command.org.jkiss.dbeaver.core.resultset.filterSettings.description=\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043F\u043E\u0440\u044F\u0434\u043A\u0430
command.org.jkiss.dbeaver.core.resultset.filterSave.name=\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432
command.org.jkiss.dbeaver.core.resultset.filterSave.description=\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0442\u0435\u043A\u0443\u0449\u0435\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u044B
command.org.jkiss.dbeaver.core.resultset.filterClear.name=\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B / \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438
command.org.jkiss.dbeaver.core.resultset.filterClear.description=\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B / \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0438
......
......@@ -26,24 +26,29 @@ import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
import org.jkiss.dbeaver.model.exec.DBCLogicalOperator;
import org.jkiss.dbeaver.ui.DBeaverIcons;
import org.jkiss.dbeaver.ui.UIIcon;
import org.jkiss.dbeaver.ui.controls.resultset.internal.ResultSetMessages;
import org.jkiss.dbeaver.ui.controls.resultset.valuefilter.FilterValueEditDialog;
import java.util.Collection;
enum FilterByAttributeType {
CLIPBOARD("Clipboard", UIIcon.FILTER_CLIPBOARD) {
CLIPBOARD(ResultSetMessages.controls_resultset_viewer_action_filter_clipboard, UIIcon.FILTER_CLIPBOARD) {
@Override
Object getValue(@NotNull ResultSetViewer viewer, @NotNull DBDAttributeBinding attribute, @NotNull DBCLogicalOperator operator, boolean useDefault)
{
try {
return ResultSetUtils.getAttributeValueFromClipboard(attribute);
Object value = ResultSetUtils.getAttributeValueFromClipboard(attribute);
if (operator == DBCLogicalOperator.LIKE && value instanceof String && ((String) value).indexOf('%') < 0) {
return "%" + value + "%";
}
return value;
} catch (Exception e) {
log.debug("Error copying from clipboard", e);
return null;
}
}
},
VALUE("Cell value", UIIcon.FILTER_VALUE) {
VALUE(ResultSetMessages.controls_resultset_viewer_action_filter_value, UIIcon.FILTER_VALUE) {
@Override
Object getValue(@NotNull ResultSetViewer viewer, @NotNull DBDAttributeBinding attribute, @NotNull DBCLogicalOperator operator, boolean useDefault)
{
......@@ -58,7 +63,7 @@ enum FilterByAttributeType {
return cellValue;
}
},
INPUT("Custom", UIIcon.FILTER_INPUT) {
INPUT(ResultSetMessages.controls_resultset_viewer_action_filter_input, UIIcon.FILTER_INPUT) {
@Override
Object getValue(@NotNull ResultSetViewer viewer, @NotNull DBDAttributeBinding attribute, @NotNull DBCLogicalOperator operator, boolean useDefault)
{
......@@ -80,7 +85,11 @@ enum FilterByAttributeType {
}
FilterValueEditDialog dialog = new FilterValueEditDialog(viewer, attribute, rows, operator);
if (dialog.open() == IDialogConstants.OK_ID) {
return dialog.getValue();
Object value = dialog.getValue();
if (operator == DBCLogicalOperator.LIKE && value instanceof String && ((String) value).indexOf('%') < 0) {
return "%" + value + "%";
}
return value;
} else {
return null;
}
......
......@@ -17,18 +17,20 @@
package org.jkiss.dbeaver.ui.controls.resultset;
import org.eclipse.jface.action.Action;
import org.eclipse.osgi.util.NLS;
import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
import org.jkiss.dbeaver.model.data.DBDAttributeConstraint;
import org.jkiss.dbeaver.model.data.DBDDataFilter;
import org.jkiss.dbeaver.ui.DBeaverIcons;
import org.jkiss.dbeaver.ui.UIIcon;
import org.jkiss.dbeaver.ui.controls.resultset.internal.ResultSetMessages;
class FilterResetAttributeAction extends Action {
private ResultSetViewer resultSetViewer;
private final DBDAttributeBinding attribute;
FilterResetAttributeAction(ResultSetViewer resultSetViewer, DBDAttributeBinding attribute)
{
super("Remove filter for '" + attribute.getName() + "'", DBeaverIcons.getImageDescriptor(UIIcon.REVERT));
super(NLS.bind(ResultSetMessages.controls_resultset_viewer_action_filter_remove, attribute.getName()), DBeaverIcons.getImageDescriptor(UIIcon.REVERT));
this.resultSetViewer = resultSetViewer;
this.attribute = attribute;
}
......
......@@ -61,6 +61,10 @@ public class ResultSetMessages extends NLS {
public static String controls_resultset_viewer_action_order_filter;
public static String controls_resultset_viewer_action_order;
public static String controls_resultset_viewer_action_filter;
public static String controls_resultset_viewer_action_filter_clipboard;
public static String controls_resultset_viewer_action_filter_value;
public static String controls_resultset_viewer_action_filter_input;
public static String controls_resultset_viewer_action_filter_remove;
public static String controls_resultset_viewer_action_custom_filter;
public static String controls_resultset_viewer_action_column_view;
public static String controls_resultset_viewer_action_logical_structure;
......
......@@ -47,6 +47,10 @@ controls_resultset_viewer_action_edit = Edit ...
controls_resultset_viewer_action_options = Configure
controls_resultset_viewer_action_order_filter = Filter/Order
controls_resultset_viewer_action_filter = Filter
controls_resultset_viewer_action_filter_clipboard = Clipboard
controls_resultset_viewer_action_filter_value = Cell value
controls_resultset_viewer_action_filter_input = Custom
controls_resultset_viewer_action_filter_remove = Remove filter for ''{0}''
controls_resultset_viewer_action_order = Order
controls_resultset_viewer_action_column_view = Column view
controls_resultset_viewer_action_logical_structure = Logical structure
......
......@@ -26,6 +26,10 @@ controls_resultset_filter_warning_custom_order_disabled=\u0424\u0438\u043B\u044C
controls_resultset_viewer_action_edit=\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C ...
controls_resultset_viewer_action_order_filter=\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430/\u0444\u0438\u043B\u044C\u0442\u0440\u044B
controls_resultset_viewer_action_filter=\u0424\u0438\u043B\u044C\u0442\u0440\u044B
controls_resultset_viewer_action_filter_clipboard = \u0411\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430
controls_resultset_viewer_action_filter_value = \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u044F\u0447\u0435\u0439\u043A\u0438
controls_resultset_viewer_action_filter_input = \u041F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u044B\u0439
controls_resultset_viewer_action_filter_remove = \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440 \u0434\u043B\u044F ''{0}''
controls_resultset_viewer_action_order=\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430
controls_resultset_viewer_action_refresh=\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435
controls_resultset_viewer_add_new_row_context_name=\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u0438
......
......@@ -28,6 +28,7 @@ public class SQLEditorMessages extends NLS {
public static String confirm_close_result_tabs_title;
public static String confirm_close_result_tabs_message;
public static String confirm_close_result_tabs_toggleMessage;
public static String confirm_dangerous_sql_title;
public static String confirm_dangerous_sql_message;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册