@hedhog/admin 0.51.24 → 0.51.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +2 -2
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +11 -11
- package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +11 -11
- package/dist/dashboard/dashboard-user/dashboard-user.controller.d.ts +3 -3
- package/dist/dashboard/dashboard-user/dashboard-user.service.d.ts +3 -3
- package/dist/menu/menu.controller.d.ts +3 -3
- package/dist/menu/menu.service.d.ts +3 -3
- package/frontend/dashboard/components/create-panel.tsx.ejs +63 -63
- package/frontend/dashboard/components/dashboard.screen.tsx.ejs +116 -116
- package/frontend/dashboard/components/update-panel.tsx.ejs +80 -80
- package/frontend/dashboard/locales/en/dashboard.dashboard.json +11 -11
- package/frontend/dashboard/locales/pt/dashboard.dashboard.json +11 -11
- package/frontend/dashboard/react-query/handlers.ts.ejs +28 -28
- package/frontend/dashboard/react-query/requests.ts.ejs +56 -56
- package/frontend/dashboard-component/components/create-panel.tsx.ejs +130 -130
- package/frontend/dashboard-component/components/update-panel.tsx.ejs +164 -164
- package/frontend/dashboard-component/locales/en/dashboard.dashboard-component.json +11 -11
- package/frontend/dashboard-component/locales/pt/dashboard.dashboard-component.json +11 -11
- package/frontend/dashboard-component/react-query/handlers.ts.ejs +28 -28
- package/frontend/dashboard-component/react-query/requests.ts.ejs +61 -61
- package/frontend/dashboard-item/components/create-panel.tsx.ejs +108 -108
- package/frontend/dashboard-item/components/update-panel.tsx.ejs +141 -141
- package/frontend/dashboard-item/locales/en/dashboard.dashboard-item.json +11 -11
- package/frontend/dashboard-item/locales/pt/dashboard.dashboard-item.json +11 -11
- package/frontend/dashboard-item/react-query/handlers.ts.ejs +28 -28
- package/frontend/dashboard-item/react-query/requests.ts.ejs +58 -58
- package/frontend/dashboard-user/components/create-panel.tsx.ejs +108 -108
- package/frontend/dashboard-user/components/update-panel.tsx.ejs +137 -137
- package/frontend/dashboard-user/locales/en/dashboard.dashboard-user.json +11 -11
- package/frontend/dashboard-user/locales/pt/dashboard.dashboard-user.json +11 -11
- package/frontend/dashboard-user/react-query/handlers.ts.ejs +28 -28
- package/frontend/dashboard-user/react-query/requests.ts.ejs +58 -58
- package/hedhog.yaml +2 -2
- package/package.json +1 -1
- package/src/auth/auth.service.ts +3 -1
- package/src/dashboard/dashboard-component/dashboard-component.controller.ts +55 -55
- package/src/dashboard/dashboard-component/dto/create.dto.ts +36 -36
- package/src/dashboard/dashboard-component/dto/update.dto.ts +4 -4
- package/src/dashboard/dashboard-item/dto/update.dto.ts +4 -4
- package/src/dashboard/dashboard-user/dto/update.dto.ts +4 -4
- package/src/dashboard/index.ts +1 -1
@@ -1,116 +1,116 @@
|
|
1
|
-
import { PageTitle } from '@/components/custom/page-title'
|
2
|
-
import DataPanel from '@/components/panels/data-panel'
|
3
|
-
import { useDashboardDelete } from '@/features/admin/dashboard'
|
4
|
-
import { useApp } from '@/hooks/use-app'
|
5
|
-
import { isPlural } from '@/lib/utils'
|
6
|
-
import { Dashboard } from '@/types/models'
|
7
|
-
import { IconEdit, IconPlus, IconTrash } from '@tabler/icons-react'
|
8
|
-
import { useState } from 'react'
|
9
|
-
import { useTranslation } from 'react-i18next'
|
10
|
-
import DashboardCreatePanel from './components/dashboard-create-panel'
|
11
|
-
import DashboardUpdatePanel from './components/dashboard-update-panel'
|
12
|
-
import DashboardCard from '@/components/cards/dashboard-card'
|
13
|
-
|
14
|
-
export default function Page() {
|
15
|
-
const [selectedItems, setSelectedItems] = useState<Dashboard[]>([])
|
16
|
-
const { mutate: deleteDashboard } = useDashboardDelete()
|
17
|
-
const { openSheet, confirm, closeSheet } = useApp()
|
18
|
-
const { t } = useTranslation([
|
19
|
-
'dashboard.dashboard',
|
20
|
-
'modules',
|
21
|
-
'actions',
|
22
|
-
'fields',
|
23
|
-
])
|
24
|
-
|
25
|
-
const openCreate = () => {
|
26
|
-
const id = openSheet({
|
27
|
-
title: t('create', { ns: 'dashboard.dashboard' }),
|
28
|
-
description: t('createText', { ns: 'dashboard.dashboard' }),
|
29
|
-
children: () => <DashboardCreatePanel onCreated={() => closeSheet(id)} />,
|
30
|
-
})
|
31
|
-
|
32
|
-
return id
|
33
|
-
}
|
34
|
-
|
35
|
-
const openDelete = (items: Dashboard[]) => {
|
36
|
-
return confirm({
|
37
|
-
title: `${t('delete', { ns: 'dashboard.dashboard' })} ${items.length} ${isPlural(items.length) ? t('items', { ns: 'actions' }) : t('item', { ns: 'actions' })}`,
|
38
|
-
description: t('deleteText', { ns: 'dashboard.dashboard' }),
|
39
|
-
})
|
40
|
-
.then(() =>
|
41
|
-
deleteDashboard(
|
42
|
-
items
|
43
|
-
.map((item) => (item as any).dashboard_id)
|
44
|
-
.filter((id) => id !== undefined)
|
45
|
-
)
|
46
|
-
)
|
47
|
-
.catch(() => setSelectedItems(items))
|
48
|
-
}
|
49
|
-
|
50
|
-
const openUpdate = (item: Dashboard) => {
|
51
|
-
const id = openSheet({
|
52
|
-
children: () => (
|
53
|
-
<DashboardUpdatePanel data={item} onUpdated={() => closeSheet(id)} />
|
54
|
-
),
|
55
|
-
title: t('edit', { ns: 'dashboard.dashboard' }),
|
56
|
-
description: t('editText', { ns: 'dashboard.dashboard' }),
|
57
|
-
})
|
58
|
-
|
59
|
-
return id
|
60
|
-
}
|
61
|
-
|
62
|
-
return (
|
63
|
-
<>
|
64
|
-
<PageTitle title={t('dashboard', { ns: 'modules' })} />
|
65
|
-
<DataPanel
|
66
|
-
url='/dashboard'
|
67
|
-
layout='grid'
|
68
|
-
id='dashboard'
|
69
|
-
selectable
|
70
|
-
render={(item: Dashboard) => <DashboardCard item={item} />}
|
71
|
-
responsiveColumns={{
|
72
|
-
default: 1,
|
73
|
-
sm: 2,
|
74
|
-
md: 1,
|
75
|
-
lg: 2,
|
76
|
-
xl: 3,
|
77
|
-
}}
|
78
|
-
selected={selectedItems as Dashboard[]}
|
79
|
-
multiple
|
80
|
-
hasSearch
|
81
|
-
onItemDoubleClick={(item) => openUpdate(item)}
|
82
|
-
menuActions={[
|
83
|
-
{
|
84
|
-
icon: <IconEdit className='mr-1 w-8 cursor-pointer' />,
|
85
|
-
label: t('edit', { ns: 'actions' }),
|
86
|
-
tooltip: t('editTooltip', { ns: 'contact.dashboard' }),
|
87
|
-
handler: (items: Dashboard[]) => {
|
88
|
-
if (items.length === 1) openUpdate(items[0])
|
89
|
-
},
|
90
|
-
show: 'once',
|
91
|
-
},
|
92
|
-
{
|
93
|
-
icon: <IconTrash className='mr-1 w-8 cursor-pointer' />,
|
94
|
-
label: t('delete', { ns: 'actions' }),
|
95
|
-
tooltip: t('deleteTooltip', { ns: 'contact.dashboard' }),
|
96
|
-
variant: 'destructive',
|
97
|
-
handler: (items: Dashboard[]) => {
|
98
|
-
openDelete(items)
|
99
|
-
},
|
100
|
-
show: 'some',
|
101
|
-
},
|
102
|
-
{
|
103
|
-
icon: <IconPlus className='mr-1 w-8 cursor-pointer' />,
|
104
|
-
label: t('create', { ns: 'actions' }),
|
105
|
-
tooltip: t('createTooltip', { ns: 'contact.dashboard' }),
|
106
|
-
variant: 'default',
|
107
|
-
handler: () => {
|
108
|
-
openCreate()
|
109
|
-
},
|
110
|
-
show: 'none',
|
111
|
-
},
|
112
|
-
]}
|
113
|
-
/>
|
114
|
-
</>
|
115
|
-
)
|
116
|
-
}
|
1
|
+
import { PageTitle } from '@/components/custom/page-title'
|
2
|
+
import DataPanel from '@/components/panels/data-panel'
|
3
|
+
import { useDashboardDelete } from '@/features/admin/dashboard'
|
4
|
+
import { useApp } from '@/hooks/use-app'
|
5
|
+
import { isPlural } from '@/lib/utils'
|
6
|
+
import { Dashboard } from '@/types/models'
|
7
|
+
import { IconEdit, IconPlus, IconTrash } from '@tabler/icons-react'
|
8
|
+
import { useState } from 'react'
|
9
|
+
import { useTranslation } from 'react-i18next'
|
10
|
+
import DashboardCreatePanel from './components/dashboard-create-panel'
|
11
|
+
import DashboardUpdatePanel from './components/dashboard-update-panel'
|
12
|
+
import DashboardCard from '@/components/cards/dashboard-card'
|
13
|
+
|
14
|
+
export default function Page() {
|
15
|
+
const [selectedItems, setSelectedItems] = useState<Dashboard[]>([])
|
16
|
+
const { mutate: deleteDashboard } = useDashboardDelete()
|
17
|
+
const { openSheet, confirm, closeSheet } = useApp()
|
18
|
+
const { t } = useTranslation([
|
19
|
+
'dashboard.dashboard',
|
20
|
+
'modules',
|
21
|
+
'actions',
|
22
|
+
'fields',
|
23
|
+
])
|
24
|
+
|
25
|
+
const openCreate = () => {
|
26
|
+
const id = openSheet({
|
27
|
+
title: t('create', { ns: 'dashboard.dashboard' }),
|
28
|
+
description: t('createText', { ns: 'dashboard.dashboard' }),
|
29
|
+
children: () => <DashboardCreatePanel onCreated={() => closeSheet(id)} />,
|
30
|
+
})
|
31
|
+
|
32
|
+
return id
|
33
|
+
}
|
34
|
+
|
35
|
+
const openDelete = (items: Dashboard[]) => {
|
36
|
+
return confirm({
|
37
|
+
title: `${t('delete', { ns: 'dashboard.dashboard' })} ${items.length} ${isPlural(items.length) ? t('items', { ns: 'actions' }) : t('item', { ns: 'actions' })}`,
|
38
|
+
description: t('deleteText', { ns: 'dashboard.dashboard' }),
|
39
|
+
})
|
40
|
+
.then(() =>
|
41
|
+
deleteDashboard(
|
42
|
+
items
|
43
|
+
.map((item) => (item as any).dashboard_id)
|
44
|
+
.filter((id) => id !== undefined)
|
45
|
+
)
|
46
|
+
)
|
47
|
+
.catch(() => setSelectedItems(items))
|
48
|
+
}
|
49
|
+
|
50
|
+
const openUpdate = (item: Dashboard) => {
|
51
|
+
const id = openSheet({
|
52
|
+
children: () => (
|
53
|
+
<DashboardUpdatePanel data={item} onUpdated={() => closeSheet(id)} />
|
54
|
+
),
|
55
|
+
title: t('edit', { ns: 'dashboard.dashboard' }),
|
56
|
+
description: t('editText', { ns: 'dashboard.dashboard' }),
|
57
|
+
})
|
58
|
+
|
59
|
+
return id
|
60
|
+
}
|
61
|
+
|
62
|
+
return (
|
63
|
+
<>
|
64
|
+
<PageTitle title={t('dashboard', { ns: 'modules' })} />
|
65
|
+
<DataPanel
|
66
|
+
url='/dashboard'
|
67
|
+
layout='grid'
|
68
|
+
id='dashboard'
|
69
|
+
selectable
|
70
|
+
render={(item: Dashboard) => <DashboardCard item={item} />}
|
71
|
+
responsiveColumns={{
|
72
|
+
default: 1,
|
73
|
+
sm: 2,
|
74
|
+
md: 1,
|
75
|
+
lg: 2,
|
76
|
+
xl: 3,
|
77
|
+
}}
|
78
|
+
selected={selectedItems as Dashboard[]}
|
79
|
+
multiple
|
80
|
+
hasSearch
|
81
|
+
onItemDoubleClick={(item) => openUpdate(item)}
|
82
|
+
menuActions={[
|
83
|
+
{
|
84
|
+
icon: <IconEdit className='mr-1 w-8 cursor-pointer' />,
|
85
|
+
label: t('edit', { ns: 'actions' }),
|
86
|
+
tooltip: t('editTooltip', { ns: 'contact.dashboard' }),
|
87
|
+
handler: (items: Dashboard[]) => {
|
88
|
+
if (items.length === 1) openUpdate(items[0])
|
89
|
+
},
|
90
|
+
show: 'once',
|
91
|
+
},
|
92
|
+
{
|
93
|
+
icon: <IconTrash className='mr-1 w-8 cursor-pointer' />,
|
94
|
+
label: t('delete', { ns: 'actions' }),
|
95
|
+
tooltip: t('deleteTooltip', { ns: 'contact.dashboard' }),
|
96
|
+
variant: 'destructive',
|
97
|
+
handler: (items: Dashboard[]) => {
|
98
|
+
openDelete(items)
|
99
|
+
},
|
100
|
+
show: 'some',
|
101
|
+
},
|
102
|
+
{
|
103
|
+
icon: <IconPlus className='mr-1 w-8 cursor-pointer' />,
|
104
|
+
label: t('create', { ns: 'actions' }),
|
105
|
+
tooltip: t('createTooltip', { ns: 'contact.dashboard' }),
|
106
|
+
variant: 'default',
|
107
|
+
handler: () => {
|
108
|
+
openCreate()
|
109
|
+
},
|
110
|
+
show: 'none',
|
111
|
+
},
|
112
|
+
]}
|
113
|
+
/>
|
114
|
+
</>
|
115
|
+
)
|
116
|
+
}
|
@@ -1,80 +1,80 @@
|
|
1
|
-
import FormPanel, {
|
2
|
-
FormPanelRef,
|
3
|
-
getFieldsLocale,
|
4
|
-
} from '@/components/panels/form-panel'
|
5
|
-
import { Overlay } from '@/components/custom/overlay'
|
6
|
-
import { TabPanel } from '@/components/panels/tab-panel'
|
7
|
-
import {
|
8
|
-
useDashboardGet,
|
9
|
-
useDashboardUpdate,
|
10
|
-
} from '@/features/admin/dashboard'
|
11
|
-
import useEffectAfterFirstUpdate from '@/hooks/use-effect-after-first-update'
|
12
|
-
import { Dashboard } from '@/types/models'
|
13
|
-
import { forwardRef, useImperativeHandle, useRef } from 'react'
|
14
|
-
import { useTranslation } from 'react-i18next'
|
15
|
-
import { EnumFieldType } from '@/enums/EnumFieldType'
|
16
|
-
|
17
|
-
export type DashboardUpdatePanelProps = {
|
18
|
-
data: Dashboard
|
19
|
-
onUpdated?: (data: Dashboard) => void
|
20
|
-
}
|
21
|
-
|
22
|
-
const DashboardUpdatePanel = forwardRef(
|
23
|
-
({ data, onUpdated }: DashboardUpdatePanelProps, ref) => {
|
24
|
-
const { t } = useTranslation(['actions', 'fields', 'translations'])
|
25
|
-
const { data: item, isLoading } = useDashboardGet(
|
26
|
-
(data as any).dashboard_id as number
|
27
|
-
)
|
28
|
-
const { mutate: dashboardUpdate } = useDashboardUpdate()
|
29
|
-
const formRef = useRef<FormPanelRef>(null)
|
30
|
-
|
31
|
-
useEffectAfterFirstUpdate(() => {
|
32
|
-
if (item && formRef.current) {
|
33
|
-
formRef.current.setValuesFromItem(item)
|
34
|
-
}
|
35
|
-
}, [item])
|
36
|
-
|
37
|
-
useImperativeHandle(ref, () => ({}))
|
38
|
-
|
39
|
-
return (
|
40
|
-
<TabPanel
|
41
|
-
activeTabIndex={0}
|
42
|
-
tabs={[
|
43
|
-
{
|
44
|
-
title: t('details', { ns: 'actions' }),
|
45
|
-
children: (
|
46
|
-
<Overlay loading={isLoading}>
|
47
|
-
<FormPanel
|
48
|
-
ref={formRef}
|
49
|
-
fields={[
|
50
|
-
{
|
51
|
-
name: 'slug',
|
52
|
-
label: { text: t('dashboard.slug', { ns: 'fields' }) },
|
53
|
-
type: EnumFieldType.TEXT,
|
54
|
-
required: true,
|
55
|
-
},
|
56
|
-
...getFieldsLocale([{ name: 'name' }], item),
|
57
|
-
]}
|
58
|
-
button={{ text: t('save', { ns: 'actions' }) }}
|
59
|
-
onSubmit={(data) => {
|
60
|
-
dashboardUpdate({
|
61
|
-
id: data.id,
|
62
|
-
data,
|
63
|
-
})
|
64
|
-
if (typeof onUpdated === 'function') {
|
65
|
-
onUpdated(data)
|
66
|
-
}
|
67
|
-
}}
|
68
|
-
/>
|
69
|
-
</Overlay>
|
70
|
-
),
|
71
|
-
},
|
72
|
-
]}
|
73
|
-
/>
|
74
|
-
)
|
75
|
-
}
|
76
|
-
)
|
77
|
-
|
78
|
-
DashboardUpdatePanel.displayName = 'DashboardUpdatePanel'
|
79
|
-
|
80
|
-
export default DashboardUpdatePanel
|
1
|
+
import FormPanel, {
|
2
|
+
FormPanelRef,
|
3
|
+
getFieldsLocale,
|
4
|
+
} from '@/components/panels/form-panel'
|
5
|
+
import { Overlay } from '@/components/custom/overlay'
|
6
|
+
import { TabPanel } from '@/components/panels/tab-panel'
|
7
|
+
import {
|
8
|
+
useDashboardGet,
|
9
|
+
useDashboardUpdate,
|
10
|
+
} from '@/features/admin/dashboard'
|
11
|
+
import useEffectAfterFirstUpdate from '@/hooks/use-effect-after-first-update'
|
12
|
+
import { Dashboard } from '@/types/models'
|
13
|
+
import { forwardRef, useImperativeHandle, useRef } from 'react'
|
14
|
+
import { useTranslation } from 'react-i18next'
|
15
|
+
import { EnumFieldType } from '@/enums/EnumFieldType'
|
16
|
+
|
17
|
+
export type DashboardUpdatePanelProps = {
|
18
|
+
data: Dashboard
|
19
|
+
onUpdated?: (data: Dashboard) => void
|
20
|
+
}
|
21
|
+
|
22
|
+
const DashboardUpdatePanel = forwardRef(
|
23
|
+
({ data, onUpdated }: DashboardUpdatePanelProps, ref) => {
|
24
|
+
const { t } = useTranslation(['actions', 'fields', 'translations'])
|
25
|
+
const { data: item, isLoading } = useDashboardGet(
|
26
|
+
(data as any).dashboard_id as number
|
27
|
+
)
|
28
|
+
const { mutate: dashboardUpdate } = useDashboardUpdate()
|
29
|
+
const formRef = useRef<FormPanelRef>(null)
|
30
|
+
|
31
|
+
useEffectAfterFirstUpdate(() => {
|
32
|
+
if (item && formRef.current) {
|
33
|
+
formRef.current.setValuesFromItem(item)
|
34
|
+
}
|
35
|
+
}, [item])
|
36
|
+
|
37
|
+
useImperativeHandle(ref, () => ({}))
|
38
|
+
|
39
|
+
return (
|
40
|
+
<TabPanel
|
41
|
+
activeTabIndex={0}
|
42
|
+
tabs={[
|
43
|
+
{
|
44
|
+
title: t('details', { ns: 'actions' }),
|
45
|
+
children: (
|
46
|
+
<Overlay loading={isLoading}>
|
47
|
+
<FormPanel
|
48
|
+
ref={formRef}
|
49
|
+
fields={[
|
50
|
+
{
|
51
|
+
name: 'slug',
|
52
|
+
label: { text: t('dashboard.slug', { ns: 'fields' }) },
|
53
|
+
type: EnumFieldType.TEXT,
|
54
|
+
required: true,
|
55
|
+
},
|
56
|
+
...getFieldsLocale([{ name: 'name' }], item),
|
57
|
+
]}
|
58
|
+
button={{ text: t('save', { ns: 'actions' }) }}
|
59
|
+
onSubmit={(data) => {
|
60
|
+
dashboardUpdate({
|
61
|
+
id: data.id,
|
62
|
+
data,
|
63
|
+
})
|
64
|
+
if (typeof onUpdated === 'function') {
|
65
|
+
onUpdated(data)
|
66
|
+
}
|
67
|
+
}}
|
68
|
+
/>
|
69
|
+
</Overlay>
|
70
|
+
),
|
71
|
+
},
|
72
|
+
]}
|
73
|
+
/>
|
74
|
+
)
|
75
|
+
}
|
76
|
+
)
|
77
|
+
|
78
|
+
DashboardUpdatePanel.displayName = 'DashboardUpdatePanel'
|
79
|
+
|
80
|
+
export default DashboardUpdatePanel
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Create dashboard",
|
3
|
-
"createText": "Fill the dashboard informations.",
|
4
|
-
"createTooltip": "Create new dashboard",
|
5
|
-
"delete": "Delete dashboard",
|
6
|
-
"deleteText": "Are you sure to delete these dashboard?",
|
7
|
-
"deleteTooltip": "Delete the selected dashboard",
|
8
|
-
"edit": "Edit dashboard",
|
9
|
-
"editText": "View and edit dashboard information.",
|
10
|
-
"editTooltip": "Edit the selected dashboard"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Create dashboard",
|
3
|
+
"createText": "Fill the dashboard informations.",
|
4
|
+
"createTooltip": "Create new dashboard",
|
5
|
+
"delete": "Delete dashboard",
|
6
|
+
"deleteText": "Are you sure to delete these dashboard?",
|
7
|
+
"deleteTooltip": "Delete the selected dashboard",
|
8
|
+
"edit": "Edit dashboard",
|
9
|
+
"editText": "View and edit dashboard information.",
|
10
|
+
"editTooltip": "Edit the selected dashboard"
|
11
|
+
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"create": "Criar dashboard",
|
3
|
-
"createText": "Preencha as informações do dashboard.",
|
4
|
-
"createTooltip": "Criar novo dashboard",
|
5
|
-
"delete": "Excluir dashboard",
|
6
|
-
"deleteText": "Você tem certeza de que deseja excluir estes dashboards?",
|
7
|
-
"deleteTooltip": "Excluir o dashboard selecionado",
|
8
|
-
"edit": "Editar dashboard",
|
9
|
-
"editText": "Visualizar e editar informações do dashboard.",
|
10
|
-
"editTooltip": "Editar o dashboard selecionado"
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"create": "Criar dashboard",
|
3
|
+
"createText": "Preencha as informações do dashboard.",
|
4
|
+
"createTooltip": "Criar novo dashboard",
|
5
|
+
"delete": "Excluir dashboard",
|
6
|
+
"deleteText": "Você tem certeza de que deseja excluir estes dashboards?",
|
7
|
+
"deleteTooltip": "Excluir o dashboard selecionado",
|
8
|
+
"edit": "Editar dashboard",
|
9
|
+
"editText": "Visualizar e editar informações do dashboard.",
|
10
|
+
"editTooltip": "Editar o dashboard selecionado"
|
11
|
+
}
|
@@ -1,28 +1,28 @@
|
|
1
|
-
import { useDefaultMutation } from "@/hooks/use-default-mutation";
|
2
|
-
import { useQuery } from "@tanstack/react-query";
|
3
|
-
import { requests } from "./requests";
|
4
|
-
|
5
|
-
const scope = "dashboard";
|
6
|
-
|
7
|
-
export function useDashboardCreate() {
|
8
|
-
const { dashboardCreate } = requests();
|
9
|
-
return useDefaultMutation(scope, "create", dashboardCreate);
|
10
|
-
}
|
11
|
-
|
12
|
-
export function useDashboardDelete() {
|
13
|
-
const { dashboardDelete } = requests();
|
14
|
-
return useDefaultMutation(scope, "delete", dashboardDelete);
|
15
|
-
}
|
16
|
-
|
17
|
-
export function useDashboardUpdate() {
|
18
|
-
const { dashboardUpdate } = requests();
|
19
|
-
return useDefaultMutation(scope, "update", dashboardUpdate);
|
20
|
-
}
|
21
|
-
|
22
|
-
export function useDashboardGet(id: number) {
|
23
|
-
const { dashboardGet } = requests();
|
24
|
-
return useQuery({
|
25
|
-
queryKey: [scope, "get"],
|
26
|
-
queryFn: () => dashboardGet(id),
|
27
|
-
});
|
28
|
-
}
|
1
|
+
import { useDefaultMutation } from "@/hooks/use-default-mutation";
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
3
|
+
import { requests } from "./requests";
|
4
|
+
|
5
|
+
const scope = "dashboard";
|
6
|
+
|
7
|
+
export function useDashboardCreate() {
|
8
|
+
const { dashboardCreate } = requests();
|
9
|
+
return useDefaultMutation(scope, "create", dashboardCreate);
|
10
|
+
}
|
11
|
+
|
12
|
+
export function useDashboardDelete() {
|
13
|
+
const { dashboardDelete } = requests();
|
14
|
+
return useDefaultMutation(scope, "delete", dashboardDelete);
|
15
|
+
}
|
16
|
+
|
17
|
+
export function useDashboardUpdate() {
|
18
|
+
const { dashboardUpdate } = requests();
|
19
|
+
return useDefaultMutation(scope, "update", dashboardUpdate);
|
20
|
+
}
|
21
|
+
|
22
|
+
export function useDashboardGet(id: number) {
|
23
|
+
const { dashboardGet } = requests();
|
24
|
+
return useQuery({
|
25
|
+
queryKey: [scope, "get"],
|
26
|
+
queryFn: () => dashboardGet(id),
|
27
|
+
});
|
28
|
+
}
|
@@ -1,56 +1,56 @@
|
|
1
|
-
import { useApp } from "@/hooks/use-app";
|
2
|
-
import { Delete, PaginationParams, PaginationResult } from "@/types";
|
3
|
-
import { Dashboard } from "@/types/models";
|
4
|
-
import { HttpMethod } from "@/types/http-method";
|
5
|
-
import { formatDataWithLocale } from '@hedhog/utils'
|
6
|
-
|
7
|
-
export function requests() {
|
8
|
-
const { request } = useApp();
|
9
|
-
|
10
|
-
const dashboardList = async (params: PaginationParams) => {
|
11
|
-
return request<PaginationResult<Dashboard>>({
|
12
|
-
url: "/dashboard",
|
13
|
-
params,
|
14
|
-
}).then((res) => res.data);
|
15
|
-
};
|
16
|
-
|
17
|
-
const dashboardGet = async (id: number) => {
|
18
|
-
return request<Dashboard>({
|
19
|
-
url: `/dashboard/${id}`,
|
20
|
-
}).then((res) => res.data);
|
21
|
-
};
|
22
|
-
|
23
|
-
const dashboardCreate = async (params: { data: Dashboard }) => {
|
24
|
-
const { data } = params;
|
25
|
-
return request<Dashboard>({
|
26
|
-
url: "/dashboard",
|
27
|
-
method: HttpMethod.POST,
|
28
|
-
data: formatDataWithLocale(data),
|
29
|
-
}).then((res) => res.data);
|
30
|
-
};
|
31
|
-
|
32
|
-
const dashboardDelete = async (ids: number[]) => {
|
33
|
-
return request<Delete>({
|
34
|
-
url: "/dashboard",
|
35
|
-
data: { ids },
|
36
|
-
method: HttpMethod.DELETE,
|
37
|
-
}).then((res) => res.data);
|
38
|
-
};
|
39
|
-
|
40
|
-
const dashboardUpdate = async (params: { id: number; data: Dashboard }) => {
|
41
|
-
const { id, data } = params;
|
42
|
-
return request<Dashboard>({
|
43
|
-
url: `/dashboard/${id}`,
|
44
|
-
method: HttpMethod.PATCH,
|
45
|
-
data: formatDataWithLocale(data),
|
46
|
-
}).then((res) => res.data);
|
47
|
-
};
|
48
|
-
|
49
|
-
return {
|
50
|
-
dashboardCreate,
|
51
|
-
dashboardUpdate,
|
52
|
-
dashboardDelete,
|
53
|
-
dashboardList,
|
54
|
-
dashboardGet,
|
55
|
-
};
|
56
|
-
}
|
1
|
+
import { useApp } from "@/hooks/use-app";
|
2
|
+
import { Delete, PaginationParams, PaginationResult } from "@/types";
|
3
|
+
import { Dashboard } from "@/types/models";
|
4
|
+
import { HttpMethod } from "@/types/http-method";
|
5
|
+
import { formatDataWithLocale } from '@hedhog/utils'
|
6
|
+
|
7
|
+
export function requests() {
|
8
|
+
const { request } = useApp();
|
9
|
+
|
10
|
+
const dashboardList = async (params: PaginationParams) => {
|
11
|
+
return request<PaginationResult<Dashboard>>({
|
12
|
+
url: "/dashboard",
|
13
|
+
params,
|
14
|
+
}).then((res) => res.data);
|
15
|
+
};
|
16
|
+
|
17
|
+
const dashboardGet = async (id: number) => {
|
18
|
+
return request<Dashboard>({
|
19
|
+
url: `/dashboard/${id}`,
|
20
|
+
}).then((res) => res.data);
|
21
|
+
};
|
22
|
+
|
23
|
+
const dashboardCreate = async (params: { data: Dashboard }) => {
|
24
|
+
const { data } = params;
|
25
|
+
return request<Dashboard>({
|
26
|
+
url: "/dashboard",
|
27
|
+
method: HttpMethod.POST,
|
28
|
+
data: formatDataWithLocale(data),
|
29
|
+
}).then((res) => res.data);
|
30
|
+
};
|
31
|
+
|
32
|
+
const dashboardDelete = async (ids: number[]) => {
|
33
|
+
return request<Delete>({
|
34
|
+
url: "/dashboard",
|
35
|
+
data: { ids },
|
36
|
+
method: HttpMethod.DELETE,
|
37
|
+
}).then((res) => res.data);
|
38
|
+
};
|
39
|
+
|
40
|
+
const dashboardUpdate = async (params: { id: number; data: Dashboard }) => {
|
41
|
+
const { id, data } = params;
|
42
|
+
return request<Dashboard>({
|
43
|
+
url: `/dashboard/${id}`,
|
44
|
+
method: HttpMethod.PATCH,
|
45
|
+
data: formatDataWithLocale(data),
|
46
|
+
}).then((res) => res.data);
|
47
|
+
};
|
48
|
+
|
49
|
+
return {
|
50
|
+
dashboardCreate,
|
51
|
+
dashboardUpdate,
|
52
|
+
dashboardDelete,
|
53
|
+
dashboardList,
|
54
|
+
dashboardGet,
|
55
|
+
};
|
56
|
+
}
|