@hedhog/setting 0.0.14 → 0.1.1

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.
Files changed (31) hide show
  1. package/dist/setting/setting.controller.d.ts +27 -3
  2. package/dist/setting/setting.controller.d.ts.map +1 -1
  3. package/dist/setting/setting.controller.js +3 -3
  4. package/dist/setting/setting.controller.js.map +1 -1
  5. package/dist/setting/setting.service.d.ts +28 -4
  6. package/dist/setting/setting.service.d.ts.map +1 -1
  7. package/dist/setting/setting.service.js +6 -6
  8. package/dist/setting/setting.service.js.map +1 -1
  9. package/hedhog.yaml +285 -285
  10. package/package.json +7 -5
  11. package/frontend/setting/components/create-panel.tsx +0 -83
  12. package/frontend/setting/components/setting.screen.tsx +0 -105
  13. package/frontend/setting/components/update-panel.tsx +0 -96
  14. package/frontend/setting/locales/en/setting.setting.json +0 -11
  15. package/frontend/setting/locales/pt/setting.setting.json +0 -11
  16. package/frontend/setting/react-query/handlers.ts +0 -28
  17. package/frontend/setting/react-query/requests.ts +0 -55
  18. package/frontend/setting-group/components/create-panel.tsx +0 -62
  19. package/frontend/setting-group/components/setting-group.screen.tsx +0 -107
  20. package/frontend/setting-group/components/update-panel.tsx +0 -76
  21. package/frontend/setting-group/locales/en/setting.setting-group.json +0 -11
  22. package/frontend/setting-group/locales/pt/setting.setting-group.json +0 -11
  23. package/frontend/setting-group/react-query/handlers.ts +0 -28
  24. package/frontend/setting-group/react-query/requests.ts +0 -58
  25. package/frontend/setting-user/components/create-panel.tsx +0 -71
  26. package/frontend/setting-user/components/setting-user.screen.tsx +0 -107
  27. package/frontend/setting-user/components/update-panel.tsx +0 -85
  28. package/frontend/setting-user/locales/en/setting.setting-user.json +0 -11
  29. package/frontend/setting-user/locales/pt/setting.setting-user.json +0 -11
  30. package/frontend/setting-user/react-query/handlers.ts +0 -28
  31. package/frontend/setting-user/react-query/requests.ts +0 -57
@@ -1,71 +0,0 @@
1
- import FormPanel, { FormPanelRef } from "@/components/panels/form-panel";
2
- import { EnumFieldType } from "@/enums/EnumFieldType";
3
- import { useSettingUserCreate } from "@/features/blog/setting-user";
4
- import { SettingUser } from "@/types/models";
5
- import { forwardRef, useImperativeHandle, useRef } from "react";
6
- import { useTranslation } from "react-i18next";
7
-
8
- export type SettingUserCreatePanelRef = {
9
- submit: () => void;
10
- };
11
-
12
- export type SettingUserCreatePanelProps = {
13
- onCreated?: (data: SettingUser) => void;
14
- };
15
-
16
- const SettingUserCreatePanel = forwardRef(
17
- ({ onCreated }: SettingUserCreatePanelProps, ref) => {
18
- const formRef = useRef<FormPanelRef>(null);
19
- const { t } = useTranslation(["actions"]);
20
- const { mutateAsync: createSettingUser } = useSettingUserCreate();
21
-
22
- useImperativeHandle(
23
- ref,
24
- () => ({
25
- submit: () => {
26
- formRef.current?.submit();
27
- },
28
- }),
29
- [formRef],
30
- );
31
-
32
- return (
33
- <FormPanel
34
- ref={formRef}
35
- fields={[
36
- {
37
- name: "user_id",
38
- label: { text: t("user_id", { ns: "translation" }) },
39
- type: EnumFieldType.TEXT,
40
- required: true,
41
- },
42
-
43
- {
44
- name: "setting_id",
45
- label: { text: t("setting_id", { ns: "translation" }) },
46
- type: EnumFieldType.TEXT,
47
- required: true,
48
- },
49
-
50
- {
51
- name: "value",
52
- label: { text: t("value", { ns: "translation" }) },
53
- type: EnumFieldType.TEXT,
54
- required: true,
55
- },
56
- ]}
57
- button={{ text: t("create", { ns: "actions" }) }}
58
- onSubmit={async (data) => {
59
- const createdData = await createSettingUser(data);
60
- if (typeof onCreated === "function") {
61
- onCreated(createdData);
62
- }
63
- }}
64
- />
65
- );
66
- },
67
- );
68
-
69
- SettingUserCreatePanel.displayName = "SettingUserCreatePanel";
70
-
71
- export default SettingUserCreatePanel;
@@ -1,107 +0,0 @@
1
- import { PageTitle } from "@/components/custom/page-title";
2
- import DataPanel from "@/components/panels/data-panel";
3
- import { useSettingUserDelete } from "@/features/blog/setting-user";
4
- import { useApp } from "@/hooks/use-app";
5
- import { isPlural } from "@/lib/utils";
6
- import { SettingUser } 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 SettingUserCreatePanel from "./components/setting-user-create-panel";
11
- import SettingUserUpdatePanel from "./components/setting-user-update-panel";
12
-
13
- export default function Page() {
14
- const [selectedItems, setSelectedItems] = useState<SettingUser[]>([]);
15
- const { mutate: deleteSettingUser } = useSettingUserDelete();
16
- const { openSheet, confirm, closeSheet } = useApp();
17
- const { t } = useTranslation(["setting-user", "modules", "actions"]);
18
-
19
- const openCreate = () => {
20
- const id = openSheet({
21
- title: t("create", { ns: "actions" }),
22
- description: t("createText", { ns: "setting-user" }),
23
- children: () => (
24
- <SettingUserCreatePanel onCreated={() => closeSheet(id)} />
25
- ),
26
- });
27
-
28
- return id;
29
- };
30
-
31
- const openDelete = (items: SettingUser[]) => {
32
- return confirm({
33
- title: `${t("delete", { ns: "actions" })} ${items.length} ${isPlural(items.length) ? t("items", { ns: "actions" }) : t("item", { ns: "actions" })}`,
34
- description: t("deleteText", { ns: "setting-user" }),
35
- })
36
- .then(() =>
37
- deleteSettingUser(
38
- items.map((item) => item.id).filter((id) => id !== undefined),
39
- ),
40
- )
41
- .catch(() => setSelectedItems(items));
42
- };
43
-
44
- const openUpdate = (item: SettingUser) => {
45
- const id = openSheet({
46
- children: () => (
47
- <SettingUserUpdatePanel data={item} onUpdated={() => closeSheet(id)} />
48
- ),
49
- title: t("edit", { ns: "setting-user" }),
50
- description: t("editText", { ns: "setting-user" }),
51
- });
52
-
53
- return id;
54
- };
55
-
56
- return (
57
- <>
58
- <PageTitle title={t("settingUser", { ns: "modules" })} />
59
- <DataPanel
60
- url="/setting-user"
61
- layout="table"
62
- id="setting-user"
63
- selectable
64
- columns={[
65
- { key: "id", header: "ID", width: 64 },
66
- { key: "name", header: t("name", { ns: "setting-user" }) },
67
- ]}
68
- selected={selectedItems as SettingUser[]}
69
- multiple
70
- hasSearch
71
- sortable
72
- onItemDoubleClick={(item) => openUpdate(item)}
73
- menuActions={[
74
- {
75
- icon: <IconEdit className="mr-1 w-8 cursor-pointer" />,
76
- label: t("edit", { ns: "actions" }),
77
- tooltip: t("editTooltip", { ns: "setting-user" }),
78
- handler: (items: SettingUser[]) => {
79
- if (items.length === 1) openUpdate(items[0]);
80
- },
81
- show: "once",
82
- },
83
- {
84
- icon: <IconTrash className="mr-1 w-8 cursor-pointer" />,
85
- label: t("delete", { ns: "actions" }),
86
- tooltip: t("deleteTooltip", { ns: "setting-user" }),
87
- variant: "destructive",
88
- handler: (items: SettingUser[]) => {
89
- openDelete(items);
90
- },
91
- show: "some",
92
- },
93
- {
94
- icon: <IconPlus className="mr-1 w-8 cursor-pointer" />,
95
- label: t("create", { ns: "actions" }),
96
- tooltip: t("createTooltip", { ns: "setting-user" }),
97
- variant: "default",
98
- handler: () => {
99
- openCreate();
100
- },
101
- show: "none",
102
- },
103
- ]}
104
- />
105
- </>
106
- );
107
- }
@@ -1,85 +0,0 @@
1
- import FormPanel, { FormPanelRef } from "@/components/panels/form-panel";
2
- import { Overlay } from "@/components/custom/overlay";
3
- import { TabPanel } from "@/components/panels/tab-panel";
4
- import { EnumFieldType } from "@/enums/EnumFieldType";
5
- import {
6
- useSettingUserGet,
7
- useSettingUserUpdate,
8
- } from "@/features/blog/setting-user";
9
- import useEffectAfterFirstUpdate from "@/hooks/use-effect-after-first-update";
10
- import { SettingUser } from "@/types/models";
11
- import { forwardRef, useImperativeHandle, useRef } from "react";
12
- import { useTranslation } from "react-i18next";
13
-
14
- export type SettingUserUpdatePanelProps = {
15
- data: SettingUser;
16
- onUpdated?: (data: SettingUser) => void;
17
- };
18
-
19
- const SettingUserUpdatePanel = forwardRef(
20
- ({ data, onUpdated }: SettingUserUpdatePanelProps, ref) => {
21
- const { t } = useTranslation(["actions"]);
22
- const { data: item, isLoading } = useSettingUserGet(data.id as number);
23
- const { mutate: settingUserUpdate } = useSettingUserUpdate();
24
- const formRef = useRef<FormPanelRef>(null);
25
-
26
- useEffectAfterFirstUpdate(() => {
27
- if (item && formRef.current) {
28
- formRef.current.setValuesFromItem(item);
29
- }
30
- }, [item]);
31
-
32
- useImperativeHandle(ref, () => ({}));
33
-
34
- return (
35
- <TabPanel
36
- activeTabIndex={0}
37
- tabs={[
38
- {
39
- title: t("details", { ns: "actions" }),
40
- children: (
41
- <Overlay loading={isLoading}>
42
- <FormPanel
43
- ref={formRef}
44
- fields={[
45
- {
46
- name: "user_id",
47
- label: { text: t("user_id", { ns: "translation" }) },
48
- type: EnumFieldType.TEXT,
49
- required: true,
50
- },
51
-
52
- {
53
- name: "setting_id",
54
- label: { text: t("setting_id", { ns: "translation" }) },
55
- type: EnumFieldType.TEXT,
56
- required: true,
57
- },
58
-
59
- {
60
- name: "value",
61
- label: { text: t("value", { ns: "translation" }) },
62
- type: EnumFieldType.TEXT,
63
- required: true,
64
- },
65
- ]}
66
- button={{ text: t("save", { ns: "actions" }) }}
67
- onSubmit={(data) => {
68
- settingUserUpdate({ id: data.id, data });
69
- if (typeof onUpdated === "function") {
70
- onUpdated(data);
71
- }
72
- }}
73
- />
74
- </Overlay>
75
- ),
76
- },
77
- ]}
78
- />
79
- );
80
- },
81
- );
82
-
83
- SettingUserUpdatePanel.displayName = "SettingUserUpdatePanel";
84
-
85
- export default SettingUserUpdatePanel;
@@ -1,11 +0,0 @@
1
- {
2
- "create": "Create setting user",
3
- "createText": "Fill the setting user informations.",
4
- "createTooltip": "Create new setting user",
5
- "delete": "Delete setting user",
6
- "deleteText": "Are you sure to delete these setting user?",
7
- "deleteTooltip": "Delete the selected setting user",
8
- "edit": "Edit setting user",
9
- "editText": "View and edit setting user information.",
10
- "editTooltip": "Edit the selected setting user"
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "create": "Criar configuração de usuário",
3
- "createText": "Preencha as informações da configuração de usuário.",
4
- "createTooltip": "Criar nova configuração de usuário",
5
- "delete": "Excluir configuração de usuário",
6
- "deleteText": "Tem certeza de que deseja excluir estas configurações de usuário?",
7
- "deleteTooltip": "Excluir a configuração de usuário selecionada",
8
- "edit": "Editar configuração de usuário",
9
- "editText": "Visualizar e editar informações da configuração de usuário.",
10
- "editTooltip": "Editar a configuração de usuário selecionada"
11
- }
@@ -1,28 +0,0 @@
1
- import { useDefaultMutation } from "@/hooks/use-default-mutation";
2
- import { useQuery } from "@tanstack/react-query";
3
- import { requests } from "./requests";
4
-
5
- const scope = "setting-user";
6
-
7
- export function useSettingUserCreate() {
8
- const { settingUserCreate } = requests();
9
- return useDefaultMutation(scope, "create", settingUserCreate);
10
- }
11
-
12
- export function useSettingUserDelete() {
13
- const { settingUserDelete } = requests();
14
- return useDefaultMutation(scope, "delete", settingUserDelete);
15
- }
16
-
17
- export function useSettingUserUpdate() {
18
- const { settingUserUpdate } = requests();
19
- return useDefaultMutation(scope, "update", settingUserUpdate);
20
- }
21
-
22
- export function useSettingUserGet(id: number) {
23
- const { settingUserGet } = requests();
24
- return useQuery({
25
- queryKey: [scope, "get"],
26
- queryFn: () => settingUserGet(id),
27
- });
28
- }
@@ -1,57 +0,0 @@
1
- import { useApp } from "@/hooks/use-app";
2
- import { Delete, PaginationParams, PaginationResult } from "@/types";
3
- import { SettingUser } from "@/types/models";
4
- import { HttpMethod } from "@/types/http-method";
5
-
6
- export function requests() {
7
- const { request } = useApp();
8
-
9
- const settingUserList = async (params: PaginationParams) => {
10
- return request<PaginationResult<SettingUser>>({
11
- url: "/setting-user",
12
- params,
13
- }).then((res) => res.data);
14
- };
15
-
16
- const settingUserGet = async (id: number) => {
17
- return request<SettingUser>({
18
- url: `/setting-user/${id}`,
19
- }).then((res) => res.data);
20
- };
21
-
22
- const settingUserCreate = async (data: SettingUser) => {
23
- return request<SettingUser>({
24
- url: "/setting-user",
25
- method: HttpMethod.POST,
26
- data: data,
27
- }).then((res) => res.data);
28
- };
29
-
30
- const settingUserDelete = async (ids: number[]) => {
31
- return request<Delete>({
32
- url: "/setting-user",
33
- data: { ids },
34
- method: HttpMethod.DELETE,
35
- }).then((res) => res.data);
36
- };
37
-
38
- const settingUserUpdate = async (params: {
39
- id: number;
40
- data: SettingUser;
41
- }) => {
42
- const { id, data } = params;
43
- return request<SettingUser>({
44
- url: `/setting-user/${id}`,
45
- method: HttpMethod.PATCH,
46
- data: data,
47
- }).then((res) => res.data);
48
- };
49
-
50
- return {
51
- settingUserCreate,
52
- settingUserUpdate,
53
- settingUserDelete,
54
- settingUserList,
55
- settingUserGet,
56
- };
57
- }