diff --git a/resources/js/admin/logs/components/Logs/AgentSessionDetail/AgentSessionDetail.vue b/resources/js/admin/logs/components/Logs/AgentSessionDetail/AgentSessionDetail.vue new file mode 100644 index 0000000000..d8a45bbd3c --- /dev/null +++ b/resources/js/admin/logs/components/Logs/AgentSessionDetail/AgentSessionDetail.vue @@ -0,0 +1,929 @@ + + + + + + diff --git a/resources/js/admin/logs/components/Logs/AgentSessionDetail/index.js b/resources/js/admin/logs/components/Logs/AgentSessionDetail/index.js new file mode 100644 index 0000000000..01a900019c --- /dev/null +++ b/resources/js/admin/logs/components/Logs/AgentSessionDetail/index.js @@ -0,0 +1,5 @@ +import AgentSessionDetail from "./AgentSessionDetail.vue"; + +export { AgentSessionDetail }; +export default AgentSessionDetail; + diff --git a/resources/js/admin/logs/components/Logs/BaseTable/BaseTable.vue b/resources/js/admin/logs/components/Logs/BaseTable/BaseTable.vue index f7d42922ff..da4b99b837 100644 --- a/resources/js/admin/logs/components/Logs/BaseTable/BaseTable.vue +++ b/resources/js/admin/logs/components/Logs/BaseTable/BaseTable.vue @@ -20,7 +20,12 @@ diff --git a/resources/js/admin/logs/components/Logs/HeaderBar/HeaderBar.vue b/resources/js/admin/logs/components/Logs/HeaderBar/HeaderBar.vue index 4085475684..6878c1c6fc 100644 --- a/resources/js/admin/logs/components/Logs/HeaderBar/HeaderBar.vue +++ b/resources/js/admin/logs/components/Logs/HeaderBar/HeaderBar.vue @@ -38,14 +38,14 @@ class="tw-rounded-lg tw-px-3 tw-py-2 tw-text-base" :class="tabClasses('design')" > - {{ $t('Design Mode Logs') }} + {{ $t('FlowGenie Studio Logs') }} - {{ $t('Execution Logs') }} + {{ $t('Runtime Logs') }} @@ -83,6 +83,11 @@ export default { props: { value: { type: String, default: '' }, }, + data() { + return { + debounceTimer: null, + }; + }, computed: { isEmailCategory() { return this.$route.path.startsWith('/email'); @@ -100,6 +105,12 @@ export default { immediate: true, }, }, + beforeDestroy() { + // Clear debounce timer when component is destroyed + if (this.debounceTimer) { + clearTimeout(this.debounceTimer); + } + }, methods: { tabClasses(tab) { const currentRoute = this.$route.params.logType; @@ -110,9 +121,24 @@ export default { }, onInput(event) { this.$emit('input', event.target.value); + this.debouncedSearch(); + }, + debouncedSearch() { + // Clear existing timer + if (this.debounceTimer) { + clearTimeout(this.debounceTimer); + } + // Set new timer - wait 300ms after user stops typing + this.debounceTimer = setTimeout(() => { + this.$emit('search'); + }, 300); }, onKeypress(event) { + // Allow immediate search on Enter key if (event.charCode === 13) { + if (this.debounceTimer) { + clearTimeout(this.debounceTimer); + } this.$emit('search'); } }, diff --git a/resources/js/admin/logs/components/Logs/LogContainer/LogContainer.vue b/resources/js/admin/logs/components/Logs/LogContainer/LogContainer.vue index 11cffd54fb..9825c0a42e 100644 --- a/resources/js/admin/logs/components/Logs/LogContainer/LogContainer.vue +++ b/resources/js/admin/logs/components/Logs/LogContainer/LogContainer.vue @@ -2,7 +2,10 @@
-
+
- +
+ + + +
+
+ +
+
+
+ diff --git a/resources/js/admin/logs/components/Logs/LogTable/LogTable.vue b/resources/js/admin/logs/components/Logs/LogTable/LogTable.vue index 1de1ff41f1..690552e324 100644 --- a/resources/js/admin/logs/components/Logs/LogTable/LogTable.vue +++ b/resources/js/admin/logs/components/Logs/LogTable/LogTable.vue @@ -35,6 +35,10 @@ v-else :columns="columns" :data="data" + :clickable="isAgentCategory" + :selected-item="selectedSession" + item-key="session_id" + @row-click="handleRowClick" >