diff --git a/frontend/src/components/Charts/BaseChart.vue b/frontend/src/components/Charts/BaseChart.vue
index 758250bac..148417d30 100644
--- a/frontend/src/components/Charts/BaseChart.vue
+++ b/frontend/src/components/Charts/BaseChart.vue
@@ -1,7 +1,7 @@
diff --git a/frontend/src/query/visual/useAssistedQuery.js b/frontend/src/query/visual/useAssistedQuery.js
index acbf5db20..78ed2576c 100644
--- a/frontend/src/query/visual/useAssistedQuery.js
+++ b/frontend/src/query/visual/useAssistedQuery.js
@@ -46,6 +46,7 @@ export default function useAssistedQuery(query) {
removeFilterAt,
updateFilterAt,
setOrderBy,
+ setLimit,
addTransform,
removeTransformAt,
updateTransformAt,
@@ -181,6 +182,11 @@ export default function useAssistedQuery(query) {
})
}
+ function setLimit(limit) {
+ if (limit === state.limit) return
+ state.limit = limit
+ }
+
function addTransform() {
state.transforms.push({ type: '', options: {} })
query.updateTransforms(state.transforms)
diff --git a/insights/insights/doctype/insights_query/insights_query.py b/insights/insights/doctype/insights_query/insights_query.py
index a893e1e0b..45586150f 100644
--- a/insights/insights/doctype/insights_query/insights_query.py
+++ b/insights/insights/doctype/insights_query/insights_query.py
@@ -52,12 +52,6 @@ def after_insert(self):
def before_save(self):
self.variant_controller.before_save()
- self.handle_transform_change()
-
- def handle_transform_change(self):
- if self.has_value_changed("transforms"):
- self.update_query_results()
- self.status = Status.PENDING.value
def on_update(self):
self.link_chart()
diff --git a/insights/insights/doctype/insights_query/insights_query_client.py b/insights/insights/doctype/insights_query/insights_query_client.py
index 565d53903..86a5d4744 100644
--- a/insights/insights/doctype/insights_query/insights_query_client.py
+++ b/insights/insights/doctype/insights_query/insights_query_client.py
@@ -17,6 +17,11 @@
class InsightsQueryClient:
+ @frappe.whitelist()
+ def set_status(self, status):
+ # since status is auto set based on the sql, we need some way to override it
+ self.db_set("status", status)
+
@frappe.whitelist()
def duplicate(self):
new_query = frappe.copy_doc(self)
diff --git a/insights/insights/doctype/insights_query/utils.py b/insights/insights/doctype/insights_query/utils.py
index 051219c28..e35ada7f8 100644
--- a/insights/insights/doctype/insights_query/utils.py
+++ b/insights/insights/doctype/insights_query/utils.py
@@ -74,7 +74,7 @@ def update_sql(query):
if query.sql == sql:
return
query.sql = sql
- query.update_query_results([])
+ query.update_query_results()
query.status = Status.PENDING.value if sql else Status.SUCCESS.value