-
JOIN
- {{ activeTable?.relations }}
+
@@ -10,6 +16,7 @@ import { defineComponent, type PropType } from "vue";
import { mapActions, mapState } from "pinia";
import type { DynamicQueryStructure } from "../../types/dynamicQueries";
import { useQueryBuilderStore } from "../../stores/admin/queryBuilder";
+import { PlusIcon } from "@heroicons/vue/24/outline";
+
+
diff --git a/src/components/queryBuilder/NestedWhere.vue b/src/components/queryBuilder/NestedWhere.vue
new file mode 100644
index 0000000..023c035
--- /dev/null
+++ b/src/components/queryBuilder/NestedWhere.vue
@@ -0,0 +1,93 @@
+
+
+
+
+ (value[index] = $event)"
+ @remove="removeAtIndex(index)"
+ />
+ (value[index] = $event)"
+ @remove="removeAtIndex(index)"
+ />
+
+
+
+
+
+
+
+
+
diff --git a/src/components/queryBuilder/Order.vue b/src/components/queryBuilder/Order.vue
index f664809..99ec7cc 100644
--- a/src/components/queryBuilder/Order.vue
+++ b/src/components/queryBuilder/Order.vue
@@ -1,6 +1,21 @@
-
-
ORDER
+
+
ORDER
+
+
(value[index] = $event)"
+ @remove="removeAtIndex(index)"
+ />
+
+
@@ -9,6 +24,8 @@ import { defineComponent, type PropType } from "vue";
import { mapActions, mapState } from "pinia";
import type { OrderByStructure } from "../../types/dynamicQueries";
import { useQueryBuilderStore } from "../../stores/admin/queryBuilder";
+import OrderStructure from "./OrderStructure.vue";
+import { PlusIcon } from "@heroicons/vue/24/outline";
+
+
diff --git a/src/components/queryBuilder/Table.vue b/src/components/queryBuilder/Table.vue
index 9e4eba6..d973a33 100644
--- a/src/components/queryBuilder/Table.vue
+++ b/src/components/queryBuilder/Table.vue
@@ -2,9 +2,9 @@
diff --git a/src/components/queryBuilder/Where.vue b/src/components/queryBuilder/Where.vue
index 2b4332a..ddc2e9f 100644
--- a/src/components/queryBuilder/Where.vue
+++ b/src/components/queryBuilder/Where.vue
@@ -1,6 +1,32 @@
-
-
WHERE
+
+
WHERE
+
+
+ (value[index] = $event)"
+ @remove="removeAtIndex(index)"
+ />
+ (value[index] = $event)"
+ @remove="removeAtIndex(index)"
+ />
+
+
+
@@ -9,6 +35,9 @@ import { defineComponent, type PropType } from "vue";
import { mapActions, mapState } from "pinia";
import type { ConditionStructure } from "../../types/dynamicQueries";
import { useQueryBuilderStore } from "../../stores/admin/queryBuilder";
+import NestedCondition from "./NestedCondition.vue";
+import Condition from "./Condition.vue";
+import { PlusIcon, RectangleStackIcon } from "@heroicons/vue/24/outline";
diff --git a/src/types/dynamicQueries.ts b/src/types/dynamicQueries.ts
index 2e3bc06..460b158 100644
--- a/src/types/dynamicQueries.ts
+++ b/src/types/dynamicQueries.ts
@@ -44,6 +44,7 @@ export type WhereOperation =
| "between" // Is between
| "startsWith" // Starts with
| "endsWith"; // Ends with
+// TODO: age between | age equals | age greater | age smaller
export type OrderByStructure = {
column: string;