Skip to content

Commit c6fdbc6

Browse files
authored
Merge pull request #343 from opengovern/ui-changes
feat: update tasks
2 parents 227574d + d469a43 commit c6fdbc6

File tree

3 files changed

+81
-4
lines changed

3 files changed

+81
-4
lines changed

Diff for: services/webui/src/App.tsx

+6-3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { useAuthApiV1MeList, useAuthApiV1UserDetail } from './api/auth.gen'
1515
import { PlatformEnginePkgAuthApiTheme } from './api/api'
1616
import { Modal } from '@cloudscape-design/components'
1717
import axios from 'axios'
18+
import { Widget, WidgetToAPI } from './utilities/widget'
1819

1920

2021
export default function App() {
@@ -119,9 +120,11 @@ const SetDefaultLayout = (layout: any, meResponse: any) => {
119120
}
120121
const body = {
121122
user_id: meResponse?.username,
122-
layout_config: layout,
123-
name: 'Default',
124-
description: 'Default Layout',
123+
widgets: layout?.widgets?.map(((widget : Widget) => {
124+
return WidgetToAPI(widget, meResponse?.username, true)
125+
})),
126+
name: layout?.name,
127+
description: layout?.description,
125128
is_default: true,
126129
is_private: true,
127130
}

Diff for: services/webui/src/pages/Tasks/TaskDetail/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ export default function TaskDetail() {
294294
{typeof selected
295295
?.params[
296296
key
297-
] === 'string' ? (
297+
] != 'object' ? (
298298
<Text>
299299
{
300300
selected

Diff for: services/webui/src/utilities/widget.tsx

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
2+
export interface Widget {
3+
id: string;
4+
data: Data;
5+
rowSpan: number;
6+
columnSpan: number;
7+
columnOffset: number;
8+
}
9+
10+
export interface ColumnOffset {
11+
"4": number;
12+
}
13+
14+
export interface Data {
15+
componentId: string
16+
title: string
17+
description: string
18+
user_id: string
19+
is_public: boolean
20+
props: any
21+
}
22+
23+
24+
25+
export interface Kpi {
26+
info: string;
27+
count_kpi: string;
28+
list_kpi: string;
29+
}
30+
31+
export interface WidgetAPI {
32+
id: string;
33+
title: string;
34+
description: string;
35+
widget_type: string;
36+
widget_props: any;
37+
user_id: string;
38+
is_public: boolean;
39+
row_span: number;
40+
column_span: number;
41+
column_offset: number;
42+
}
43+
44+
export const WidgetToAPI = (widget: Widget,user_id : string,is_public: boolean) => {
45+
const widgetAPI = {} as WidgetAPI
46+
widgetAPI.id = widget.id
47+
widgetAPI.title = widget.data.title
48+
widgetAPI.description = widget.data.description
49+
widgetAPI.widget_type = widget.data.componentId
50+
widgetAPI.widget_props = widget.data.props
51+
widgetAPI.user_id = user_id
52+
widgetAPI.is_public = is_public
53+
widgetAPI.row_span = widget.rowSpan
54+
widgetAPI.column_span = widget.columnSpan
55+
widgetAPI.column_offset = widget.columnOffset
56+
return widgetAPI
57+
58+
}
59+
export const APIToWidget = (widget: WidgetAPI) => {
60+
const widgetData = {} as Widget
61+
widgetData.id = widget.id
62+
widgetData.data = {
63+
componentId: widget.widget_type,
64+
title: widget.title,
65+
description: widget.description,
66+
user_id: widget.user_id,
67+
is_public: widget.is_public,
68+
props: widget.widget_props,
69+
}
70+
widgetData.rowSpan = widget.row_span
71+
widgetData.columnSpan = widget.column_span
72+
widgetData.columnOffset = widget.column_offset
73+
return widgetData
74+
}

0 commit comments

Comments
 (0)