diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/ConnectData/useConnectData.ts b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/ConnectData/useConnectData.ts
index ff10dfe5a2..694cf9c895 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/ConnectData/useConnectData.ts
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/ConnectData/useConnectData.ts
@@ -20,7 +20,7 @@ export function useConnectData() {
const widget = useSelector((state: AppState) => getWidget(state, widgetId));
- const { columns, primaryColumn } = useColumns("");
+ const { columns, primaryColumn } = useColumns("", false);
const isLoading = useSelector(
getisOneClickBindingConnectingForWidget(widgetId),
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/index.tsx b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/index.tsx
index cc2fe0c910..66d91919de 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/index.tsx
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/index.tsx
@@ -10,9 +10,12 @@ type Props = {
alias: string;
label: string;
onSelect: () => void;
+ isSearcheable: boolean;
};
function ColumnDropdown(props: Props) {
+ const { alias, isSearcheable } = props;
+
const {
disabled,
error,
@@ -22,7 +25,7 @@ function ColumnDropdown(props: Props) {
options,
selected,
show,
- } = useColumns(props.alias);
+ } = useColumns(alias, isSearcheable);
if (show) {
return (
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumns.tsx b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumns.tsx
index 74de339014..ed4b17c6a8 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumns.tsx
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumns.tsx
@@ -19,8 +19,9 @@ import { DropdownOption as Option } from "../../CommonControls/DatasourceDropdow
import { getisOneClickBindingConnectingForWidget } from "selectors/oneClickBindingSelectors";
import AnalyticsUtil from "utils/AnalyticsUtil";
import { getWidget } from "sagas/selectors";
+import { ALLOWED_SEARCH_DATATYPE } from "pages/Editor/GeneratePage/components/constants";
-export function useColumns(alias: string) {
+export function useColumns(alias: string, isSearcheable: boolean) {
const { config, propertyName, updateConfig, widgetId } = useContext(
WidgetQueryGeneratorFormContext,
);
@@ -69,21 +70,29 @@ export function useColumns(alias: string) {
};
});
} else if (isArray(columns)) {
- return columns.map((column: any) => {
- return {
- id: column.name,
- label: column.name,
- value: column.name,
- subText: column.type,
- icon: (
-
- ),
- };
- });
+ return columns
+ .filter((column: any) => {
+ return (
+ !isSearcheable ||
+ (column.type &&
+ ALLOWED_SEARCH_DATATYPE.includes(column.type.toLowerCase()))
+ );
+ })
+ .map((column: any) => {
+ return {
+ id: column.name,
+ label: column.name,
+ value: column.name,
+ subText: column.type,
+ icon: (
+
+ ),
+ };
+ });
} else {
return [];
}
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/index.tsx b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/index.tsx
index 9d62074802..bc993e9763 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/index.tsx
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/index.tsx
@@ -17,6 +17,7 @@ export default function WidgetSpecificControls(props: Props) {
@@ -24,13 +25,14 @@ export default function WidgetSpecificControls(props: Props) {
}
if (props.aliases?.length) {
- aliases = props.aliases.map(({ name }) => {
+ aliases = props.aliases.map(({ isSearcheable, name }) => {
const label = name.slice(0, 1).toUpperCase() + name.slice(1);
return (
= yield take([
ReduxActionTypes.RUN_ACTION_SUCCESS,
ReduxActionErrorTypes.EXECUTE_PLUGIN_ACTION_ERROR,
+ ReduxActionErrorTypes.RUN_ACTION_ERROR,
]);
if (
- runResponse.type === ReduxActionErrorTypes.EXECUTE_PLUGIN_ACTION_ERROR
+ [
+ ReduxActionErrorTypes.EXECUTE_PLUGIN_ACTION_ERROR,
+ ReduxActionErrorTypes.RUN_ACTION_ERROR,
+ ].includes(runResponse.type)
) {
throw new Error(`Unable to run action: ${actionToRun.name}`);
}