Skip to content

Commit 7c52c23

Browse files
authored
Merge pull request #321 from iceljc/features/refine-chat-window
Features/refine chat window
2 parents 131ec53 + 51dc517 commit 7c52c23

File tree

7 files changed

+93
-32
lines changed

7 files changed

+93
-32
lines changed

src/lib/helpers/store.js

+11
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,17 @@ const createGlobalEventStore = () => {
2020

2121
export const globalEventStore = createGlobalEventStore();
2222

23+
/** @type {Writable<import('$pluginTypes').PluginMenuDefModel[]>} */
24+
const createGlobalMenuStore = () => {
25+
const { set, subscribe } = writable([]);
26+
return {
27+
set,
28+
subscribe
29+
};
30+
}
31+
32+
export const globalMenuStore = createGlobalMenuStore();
33+
2334

2435
/** @type {Writable<import('$userTypes').UserModel>} */
2536
export const userStore = writable({ id: "", full_name: "", expires: 0, token: null });

src/lib/helpers/types/pluginTypes.js

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
* @property {string} label
1717
* @property {string} icon
1818
* @property {string} link
19+
* @property {string?} [embedUrl]
1920
* @property {boolean} isHeader
2021
*/
2122

src/routes/VerticalLayout/Index.svelte

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<script>
2+
import { onMount } from 'svelte';
3+
import { browser } from '$app/environment';
24
import RightSidebar from '$lib/common/RightSidebar.svelte';
5+
import { getPluginMenu } from '$lib/services/plugin-service';
6+
import { myInfo } from '$lib/services/auth-service';
7+
import { globalMenuStore } from '$lib/helpers/store';
38
import Header from './Header.svelte';
49
import Sidebar from './Sidebar.svelte';
5-
import { browser } from '$app/environment';
610
import Footer from './Footer.svelte';
7-
import { onMount } from 'svelte';
8-
import { getPluginMenu } from '$lib/services/plugin-service';
9-
import { myInfo } from '$lib/services/auth-service';
10-
11+
1112
/** @type {import('$pluginTypes').PluginMenuDefModel[]} */
1213
let menu;
13-
/**
14-
* @type {import("$userTypes").UserModel}
15-
*/
14+
15+
/** @type {import("$userTypes").UserModel} */
1616
let user;
1717
1818
const toggleRightBar = () => {
@@ -31,6 +31,7 @@
3131
3232
onMount(async () => {
3333
menu = await getPluginMenu();
34+
globalMenuStore.set(menu || []);
3435
user = await myInfo();
3536
if (browser) {
3637
document.body.setAttribute('data-layout', 'vertical');

src/routes/page/agent/+page.svelte

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
<script>
22
import { onDestroy, onMount } from 'svelte';
3+
import { _ } from 'svelte-i18n';
4+
import { goto } from '$app/navigation';
5+
import Swal from 'sweetalert2';
36
import { Button, Col, Row } from '@sveltestrap/sveltestrap';
47
import Breadcrumb from '$lib/common/Breadcrumb.svelte';
58
import HeadTitle from '$lib/common/HeadTitle.svelte';
6-
import CardAgent from './card-agent.svelte';
79
import LoadingToComplete from '$lib/common/LoadingToComplete.svelte';
8-
import { createAgent, getAgentLabels, getAgents } from '$lib/services/agent-service.js';
9-
import { myInfo } from '$lib/services/auth-service';
1010
import PlainPagination from '$lib/common/PlainPagination.svelte';
11-
import { _ } from 'svelte-i18n'
12-
import { goto } from '$app/navigation';
13-
import Swal from 'sweetalert2';
11+
import MultiSelect from '$lib/common/MultiSelect.svelte';
12+
import { createAgent, getAgentLabels, getAgents } from '$lib/services/agent-service.js';
1413
import { AgentType, GlobalEvent, UserPermission } from '$lib/helpers/enums';
14+
import { myInfo } from '$lib/services/auth-service';
1515
import { ADMIN_ROLES } from '$lib/helpers/constants';
1616
import { globalEventStore } from '$lib/helpers/store';
17-
import MultiSelect from '$lib/common/MultiSelect.svelte';
17+
import CardAgent from './card-agent.svelte';
1818
1919
2020
const firstPage = 1;

src/routes/page/agent/[agentId]/agent-components/agent-utility.svelte

+19-17
Original file line numberDiff line numberDiff line change
@@ -269,24 +269,26 @@
269269
</div>
270270
271271
<div class="agent-utility-container">
272-
<div class="merge-utility">
273-
<Input
274-
type="checkbox"
275-
checked={agent?.merge_utility || false}
276-
on:change={e => { toggleMergeUtility(e); handleAgentChange(); }}
277-
/>
278-
<div class="fw-bold">
279-
Merge utilities
280-
</div>
281-
<div
282-
class="line-align-center"
283-
data-bs-toggle="tooltip"
284-
data-bs-placement="top"
285-
title="Merge with entry agent utilities"
286-
>
287-
<i class="bx bx-info-circle" />
272+
{#if !agent?.is_router}
273+
<div class="merge-utility">
274+
<Input
275+
type="checkbox"
276+
checked={agent?.merge_utility || false}
277+
on:change={e => { toggleMergeUtility(e); handleAgentChange(); }}
278+
/>
279+
<div class="fw-bold">
280+
Merge utilities
281+
</div>
282+
<div
283+
class="line-align-center"
284+
data-bs-toggle="tooltip"
285+
data-bs-placement="top"
286+
title="Merge with entry agent utilities"
287+
>
288+
<i class="bx bx-info-circle" />
289+
</div>
288290
</div>
289-
</div>
291+
{/if}
290292
291293
{#each innerUtilities as utility, uid (uid)}
292294
<div class="utility-wrapper">
+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<script>
2+
import { onDestroy } from 'svelte';
3+
import { page } from '$app/stores';
4+
import { _ } from 'svelte-i18n';
5+
import { Card, CardBody, Col, Row } from '@sveltestrap/sveltestrap';
6+
import HeadTitle from "$lib/common/HeadTitle.svelte";
7+
import Breadcrumb from '$lib/common/Breadcrumb.svelte';
8+
import { globalMenuStore } from '$lib/helpers/store';
9+
10+
/** @type {string} */
11+
let embedUrl = '';
12+
13+
const unsubscriber = globalMenuStore.subscribe((/** @type {import('$pluginTypes').PluginMenuDefModel[]} */ menu) => {
14+
const url = $page.url.pathname;
15+
const pageInfo = menu.find(x => x.link === url) || null;
16+
embedUrl = pageInfo?.embedUrl || '';
17+
});
18+
19+
onDestroy(() => {
20+
unsubscriber?.();
21+
});
22+
</script>
23+
24+
<HeadTitle title="{$_('Metrics')}" />
25+
<Breadcrumb title="{$_('Agent')}" pagetitle="{$_('Metrics')}" />
26+
27+
{#if embedUrl}
28+
<Row>
29+
<Col lg="12">
30+
<Card>
31+
<CardBody>
32+
<iframe
33+
title="agent-metrics"
34+
height="100%"
35+
width="100%"
36+
src={embedUrl}
37+
frameborder="0"
38+
allowfullscreen
39+
>
40+
</iframe>
41+
</CardBody>
42+
</Card>
43+
</Col>
44+
</Row>
45+
{/if}

svelte.config.js

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ const config = {
4949
"/page/agent",
5050
"/page/agent/router",
5151
"/page/agent/evaluator",
52+
"/page/agent/metrics",
5253
"/page/agent/[agentId]",
5354
"/page/agent/[agentId]/build",
5455
"/page/agent/[agentId]/train",

0 commit comments

Comments
 (0)