Skip to content

Commit 35ab34e

Browse files
enhance(queries and translation): Enhance queries and add translations (#88)
1 parent e55c565 commit 35ab34e

File tree

10 files changed

+191
-108
lines changed

10 files changed

+191
-108
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,31 @@
11
{
22
"actions": {
3+
"back": "Atrás",
34
"cancel": "Cancelar",
5+
"create": "Crear",
6+
"create-object": "Crear {{what}}",
47
"delete": "Eliminar",
8+
"edit": "Editar",
9+
"next": "Siguiente",
510
"save": "Guardar"
611
},
712
"modal": {
813
"confirm-delete": {
914
"body": "¿Estas seguro de querer eliminar este(a) <1>{{type}}</1>? Esta acción eliminará <3>{{name}}</3> permanentemente.",
1015
"title": "Eliminar {{what}}"
1116
}
17+
},
18+
"terms": {
19+
"actions": "Acciones",
20+
"companies": "Empresas",
21+
"credentials": "Credenciales",
22+
"description": "Descripción",
23+
"general": "General",
24+
"keys": "Llaves",
25+
"name": "Nombre",
26+
"password": "Contraseña",
27+
"review": "Revisión",
28+
"username": "Usuario",
29+
"webServices": "Servicios web"
1230
}
1331
}

src/main/webapp/src/pages/namespaces/edit-namespace/edit-namespace.tsx

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { PageHeader } from "shared/components";
1414

1515
import {
1616
useDeleteNamespaceMutation,
17-
useNamespaceQuery,
17+
useNamespacesQuery,
1818
} from "queries/namespaces";
1919

2020
import { formatPath, Paths } from "Paths";
@@ -38,11 +38,16 @@ export const EditNamespace: React.FC = () => {
3838
const routeParams = useParams<INamespaceParams>();
3939
const confirmationModal = useConfirmationContext();
4040

41-
const namespace = useNamespaceQuery(routeParams.namespaceId);
41+
const namespacesQuery = useNamespacesQuery();
42+
43+
const prefillNamespaceId = routeParams.namespaceId;
44+
const namespaceBeingPrefilled =
45+
namespacesQuery.data?.find((ns) => ns.id === prefillNamespaceId) || null;
46+
4247
const deleteNamespace = useDeleteNamespaceMutation();
4348

4449
const onDeleteNs = () => {
45-
if (!namespace.data) {
50+
if (!namespaceBeingPrefilled) {
4651
console.log("Can not delete null");
4752
return;
4853
}
@@ -55,7 +60,7 @@ export const EditNamespace: React.FC = () => {
5560
message: (
5661
<Trans
5762
i18nKey="modal.confirm-delete.body"
58-
values={{ type: "namespace", name: namespace.data.name }}
63+
values={{ type: "namespace", name: namespaceBeingPrefilled.name }}
5964
>
6065
¿Estas seguro de querer eliminar este(a) <b>type</b>? Esta acción
6166
eliminará <b>name</b> permanentemente.
@@ -67,7 +72,7 @@ export const EditNamespace: React.FC = () => {
6772
onConfirm: () => {
6873
confirmationModal.enableProcessing();
6974
deleteNamespace
70-
.mutateAsync(namespace.data)
75+
.mutateAsync(namespaceBeingPrefilled)
7176
.catch((error) => {
7277
dispatch(
7378
alertActions.addAlert(
@@ -89,41 +94,41 @@ export const EditNamespace: React.FC = () => {
8994
<>
9095
<PageSection variant="light" type="breadcrumb">
9196
<PageHeader
92-
title={namespace.data?.name || ""}
97+
title={namespaceBeingPrefilled?.name || ""}
9398
breadcrumbs={[
9499
{
95100
title: "Namespaces",
96101
path: Paths.namespaces,
97102
},
98103
{
99-
title: "editar",
104+
title: t("actions.edit"),
100105
path: "",
101106
},
102107
]}
103-
menuActions={[{ label: "Eliminar", callback: onDeleteNs }]}
108+
menuActions={[{ label: t("actions.delete"), callback: onDeleteNs }]}
104109
navItems={[
105110
{
106-
title: "General",
111+
title: t("terms.general"),
107112
path: formatPath(Paths.namespaces_edit, {
108-
namespaceId: namespace.data?.id,
113+
namespaceId: namespaceBeingPrefilled?.id,
109114
}),
110115
},
111116
{
112117
title: "SUNAT",
113118
path: formatPath(Paths.namespaces_edit_sunat, {
114-
namespaceId: namespace.data?.id,
119+
namespaceId: namespaceBeingPrefilled?.id,
115120
}),
116121
},
117122
{
118-
title: "Certificados",
123+
title: t("terms.keys"),
119124
path: formatPath(Paths.namespaces_edit_keys, {
120-
namespaceId: namespace.data?.id,
125+
namespaceId: namespaceBeingPrefilled?.id,
121126
}),
122127
},
123128
{
124-
title: "Empresas",
129+
title: t("terms.companies"),
125130
path: formatPath(Paths.namespaces_edit_companies, {
126-
namespaceId: namespace.data?.id,
131+
namespaceId: namespaceBeingPrefilled?.id,
127132
}),
128133
},
129134
]}

src/main/webapp/src/pages/namespaces/edit-namespace/overview/overview.tsx

Lines changed: 61 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ import {
88
DescriptionListGroup,
99
DescriptionListTerm,
1010
} from "@patternfly/react-core";
11+
import spacing from "@patternfly/react-styles/css/utilities/Spacing/spacing";
12+
13+
import { ResolvedQueries } from "shared/components";
14+
1115
import { useNamespacesQuery } from "queries/namespaces";
16+
import { LONG_LOADING_MESSAGE } from "queries/constants";
1217

1318
import { INamespaceParams } from "../edit-namespace";
1419

@@ -21,59 +26,67 @@ export const Overview: React.FC = () => {
2126
namespacesQuery.data?.find((ns) => ns.id === prefillNamespaceId) || null;
2227

2328
return (
24-
<Card>
25-
<CardBody>
26-
<DescriptionList>
27-
<DescriptionListGroup>
28-
<DescriptionListTerm>Nombre</DescriptionListTerm>
29-
<DescriptionListDescription>
30-
{namespaceBeingPrefilled?.name}
31-
</DescriptionListDescription>
32-
</DescriptionListGroup>
33-
{namespaceBeingPrefilled?.description ? (
29+
<ResolvedQueries
30+
results={[namespacesQuery]}
31+
errorTitles={["Cannot load namespaces"]}
32+
errorsInline={false}
33+
className={spacing.mMd}
34+
emptyStateBody={LONG_LOADING_MESSAGE}
35+
>
36+
<Card>
37+
<CardBody>
38+
<DescriptionList>
3439
<DescriptionListGroup>
35-
<DescriptionListTerm>Descripción</DescriptionListTerm>
40+
<DescriptionListTerm>Nombre</DescriptionListTerm>
3641
<DescriptionListDescription>
37-
{namespaceBeingPrefilled?.description}
42+
{namespaceBeingPrefilled?.name}
3843
</DescriptionListDescription>
3944
</DescriptionListGroup>
40-
) : null}
45+
{namespaceBeingPrefilled?.description ? (
46+
<DescriptionListGroup>
47+
<DescriptionListTerm>Descripción</DescriptionListTerm>
48+
<DescriptionListDescription>
49+
{namespaceBeingPrefilled?.description}
50+
</DescriptionListDescription>
51+
</DescriptionListGroup>
52+
) : null}
4153

42-
<DescriptionListGroup>
43-
<DescriptionListTerm>SUNAT factura URL</DescriptionListTerm>
44-
<DescriptionListDescription>
45-
{namespaceBeingPrefilled?.webServices.factura}
46-
</DescriptionListDescription>
47-
</DescriptionListGroup>
48-
<DescriptionListGroup>
49-
<DescriptionListTerm>
50-
SUNAT guía de remisión URL
51-
</DescriptionListTerm>
52-
<DescriptionListDescription>
53-
{namespaceBeingPrefilled?.webServices.guia}
54-
</DescriptionListDescription>
55-
</DescriptionListGroup>
56-
<DescriptionListGroup>
57-
<DescriptionListTerm>
58-
SUNAT percepción y retención URL
59-
</DescriptionListTerm>
60-
<DescriptionListDescription>
61-
{namespaceBeingPrefilled?.webServices.retenciones}
62-
</DescriptionListDescription>
63-
</DescriptionListGroup>
54+
<DescriptionListGroup>
55+
<DescriptionListTerm>SUNAT factura URL</DescriptionListTerm>
56+
<DescriptionListDescription>
57+
{namespaceBeingPrefilled?.webServices.factura}
58+
</DescriptionListDescription>
59+
</DescriptionListGroup>
60+
<DescriptionListGroup>
61+
<DescriptionListTerm>
62+
SUNAT guía de remisión URL
63+
</DescriptionListTerm>
64+
<DescriptionListDescription>
65+
{namespaceBeingPrefilled?.webServices.guia}
66+
</DescriptionListDescription>
67+
</DescriptionListGroup>
68+
<DescriptionListGroup>
69+
<DescriptionListTerm>
70+
SUNAT percepción y retención URL
71+
</DescriptionListTerm>
72+
<DescriptionListDescription>
73+
{namespaceBeingPrefilled?.webServices.retenciones}
74+
</DescriptionListDescription>
75+
</DescriptionListGroup>
6476

65-
<DescriptionListGroup>
66-
<DescriptionListTerm>SUNAT usuario</DescriptionListTerm>
67-
<DescriptionListDescription>
68-
{namespaceBeingPrefilled?.credentials.username}
69-
</DescriptionListDescription>
70-
</DescriptionListGroup>
71-
<DescriptionListGroup>
72-
<DescriptionListTerm>SUNAT contraseña</DescriptionListTerm>
73-
<DescriptionListDescription>******</DescriptionListDescription>
74-
</DescriptionListGroup>
75-
</DescriptionList>{" "}
76-
</CardBody>
77-
</Card>
77+
<DescriptionListGroup>
78+
<DescriptionListTerm>SUNAT usuario</DescriptionListTerm>
79+
<DescriptionListDescription>
80+
{namespaceBeingPrefilled?.credentials.username}
81+
</DescriptionListDescription>
82+
</DescriptionListGroup>
83+
<DescriptionListGroup>
84+
<DescriptionListTerm>SUNAT contraseña</DescriptionListTerm>
85+
<DescriptionListDescription>******</DescriptionListDescription>
86+
</DescriptionListGroup>
87+
</DescriptionList>{" "}
88+
</CardBody>
89+
</Card>
90+
</ResolvedQueries>
7891
);
7992
};

src/main/webapp/src/pages/namespaces/edit-namespace/sunat/credentials-form.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ import {
1616
useFormState,
1717
ValidatedTextInput,
1818
} from "@konveyor/lib-ui";
19+
import { SimplePlaceholder } from "@project-openubl/lib-ui";
1920

20-
import { ResolvedQueries } from "shared/components";
21+
import { QuerySpinnerMode, ResolvedQueries } from "shared/components";
2122

2223
import {
2324
useNamespacesQuery,
@@ -26,7 +27,6 @@ import {
2627
import { LONG_LOADING_MESSAGE } from "queries/constants";
2728

2829
import { Namespace } from "api/models";
29-
import { SimplePlaceholder } from "@project-openubl/lib-ui";
3030

3131
const useCredentialsFormState = () => {
3232
const form = useFormState({
@@ -89,6 +89,9 @@ export const CredentialsForm: React.FunctionComponent<ICredentialsFormProps> =
8989
namespaceBeingPrefilled
9090
);
9191

92+
const allMutationResults = [mutateNamespace];
93+
const allMutationErrorTitles = ["Can not update namespace"];
94+
9295
const onSave = () => {
9396
mutateNamespace.mutate({
9497
...namespaceBeingPrefilled!,
@@ -128,6 +131,11 @@ export const CredentialsForm: React.FunctionComponent<ICredentialsFormProps> =
128131
type="password"
129132
/>
130133

134+
<ResolvedQueries
135+
results={allMutationResults}
136+
errorTitles={allMutationErrorTitles}
137+
spinnerMode={QuerySpinnerMode.Inline}
138+
/>
131139
<ActionGroup>
132140
<Button
133141
variant="primary"

src/main/webapp/src/pages/namespaces/edit-namespace/sunat/web-services-form.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ import {
1616
useFormState,
1717
ValidatedTextInput,
1818
} from "@konveyor/lib-ui";
19+
import { SimplePlaceholder } from "@project-openubl/lib-ui";
1920

20-
import { ResolvedQueries } from "shared/components";
21+
import { QuerySpinnerMode, ResolvedQueries } from "shared/components";
2122

2223
import {
2324
useNamespacesQuery,
@@ -26,7 +27,6 @@ import {
2627
import { LONG_LOADING_MESSAGE } from "queries/constants";
2728

2829
import { Namespace } from "api/models";
29-
import { SimplePlaceholder } from "@project-openubl/lib-ui";
3030

3131
const useWebServicesFormState = () => {
3232
const form = useFormState({
@@ -102,6 +102,9 @@ export const WebServicesForm: React.FunctionComponent<IWebServicesFormProps> =
102102
namespaceBeingPrefilled
103103
);
104104

105+
const allMutationResults = [mutateNamespace];
106+
const allMutationErrorTitles = ["Can not update namespace"];
107+
105108
const onSave = () => {
106109
mutateNamespace.mutate({
107110
...namespaceBeingPrefilled!,
@@ -147,6 +150,11 @@ export const WebServicesForm: React.FunctionComponent<IWebServicesFormProps> =
147150
fieldId="urlPercepcionRetencion"
148151
/>
149152

153+
<ResolvedQueries
154+
results={allMutationResults}
155+
errorTitles={allMutationErrorTitles}
156+
spinnerMode={QuerySpinnerMode.Inline}
157+
/>
150158
<ActionGroup>
151159
<Button
152160
variant="primary"

0 commit comments

Comments
 (0)