@verii/components-organizations-registrar 1.0.0 → 1.0.2
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/chunks/HolderWalletSelection.BYj3foq0.js +167 -0
- package/dist/chunks/HolderWalletSelection.BYj3foq0.js.map +1 -0
- package/dist/chunks/HolderWalletSelection.BvPFTrTh.js +166 -0
- package/dist/chunks/HolderWalletSelection.BvPFTrTh.js.map +1 -0
- package/dist/chunks/{ServicesEdit.BnnqC203.js → ServicesEdit.CrmS66vz.js} +75 -50
- package/dist/chunks/ServicesEdit.CrmS66vz.js.map +1 -0
- package/dist/chunks/{ServicesEdit.DDgjS5kU.js → ServicesEdit.DFxcohIF.js} +75 -50
- package/dist/chunks/ServicesEdit.DFxcohIF.js.map +1 -0
- package/dist/chunks/{SetInvitationService.PxAGwk-I.js → SetInvitationService.BeU7-IBo.js} +3 -3
- package/dist/chunks/{SetInvitationService.PxAGwk-I.js.map → SetInvitationService.BeU7-IBo.js.map} +1 -1
- package/dist/chunks/{SetInvitationService.ZT5lP003.js → SetInvitationService.DtVH6OkH.js} +3 -3
- package/dist/chunks/{SetInvitationService.ZT5lP003.js.map → SetInvitationService.DtVH6OkH.js.map} +1 -1
- package/dist/chunks/{ValidateTextInput.D5kgjulG.js → ValidateTextInput.1Fv1GPyZ.js} +2 -2
- package/dist/chunks/{ValidateTextInput.D5kgjulG.js.map → ValidateTextInput.1Fv1GPyZ.js.map} +1 -1
- package/dist/chunks/{ValidateTextInput.DEBaVB1L.js → ValidateTextInput.DPruGgff.js} +2 -2
- package/dist/chunks/{ValidateTextInput.DEBaVB1L.js.map → ValidateTextInput.DPruGgff.js.map} +1 -1
- package/dist/chunks/{index.Cmn4FlUL.js → index.BDTIIDNe.js} +251 -114
- package/dist/chunks/index.BDTIIDNe.js.map +1 -0
- package/dist/chunks/{index.YjnxLFjk.js → index.CaxYybSL.js} +115 -56
- package/dist/chunks/index.CaxYybSL.js.map +1 -0
- package/dist/chunks/{index.DIizFYFZ.js → index.Cjk52g3G.js} +115 -56
- package/dist/chunks/index.Cjk52g3G.js.map +1 -0
- package/dist/chunks/{index.DMWKdmxs.js → index.DFMQZMWE.js} +12 -2
- package/dist/chunks/index.DFMQZMWE.js.map +1 -0
- package/dist/chunks/{index.DND10PiY.js → index.DTlm8AhC.js} +11 -1
- package/dist/chunks/index.DTlm8AhC.js.map +1 -0
- package/dist/chunks/{index.CYCWawJT.js → index.DmF-wFBs.js} +249 -112
- package/dist/chunks/index.DmF-wFBs.js.map +1 -0
- package/dist/chunks/{serviceTypes.D7c4G5GY.js → serviceTypes.BWVBK33e.js} +52 -31
- package/dist/chunks/serviceTypes.BWVBK33e.js.map +1 -0
- package/dist/chunks/{serviceTypes.CxLXtDIT.js → serviceTypes.BbBTNXB9.js} +52 -31
- package/dist/chunks/serviceTypes.BbBTNXB9.js.map +1 -0
- package/dist/components/common.cjs +1 -1
- package/dist/components/common.js +1 -1
- package/dist/components/invitations.cjs +1 -1
- package/dist/components/invitations.js +1 -1
- package/dist/components/organizations.cjs +1 -1
- package/dist/components/organizations.js +1 -1
- package/dist/components/services.cjs +1 -1
- package/dist/components/services.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/pages/invitations.cjs +5 -6
- package/dist/pages/invitations.cjs.map +1 -1
- package/dist/pages/invitations.js +4 -5
- package/dist/pages/invitations.js.map +1 -1
- package/dist/pages/organizations.cjs +11 -16
- package/dist/pages/organizations.cjs.map +1 -1
- package/dist/pages/organizations.js +10 -15
- package/dist/pages/organizations.js.map +1 -1
- package/dist/pages/services.cjs +27 -30
- package/dist/pages/services.cjs.map +1 -1
- package/dist/pages/services.js +26 -29
- package/dist/pages/services.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunks/ServicesEdit.BnnqC203.js.map +0 -1
- package/dist/chunks/ServicesEdit.DDgjS5kU.js.map +0 -1
- package/dist/chunks/index.CYCWawJT.js.map +0 -1
- package/dist/chunks/index.Cmn4FlUL.js.map +0 -1
- package/dist/chunks/index.DIizFYFZ.js.map +0 -1
- package/dist/chunks/index.DMWKdmxs.js.map +0 -1
- package/dist/chunks/index.DND10PiY.js.map +0 -1
- package/dist/chunks/index.YjnxLFjk.js.map +0 -1
- package/dist/chunks/invitations.BI_Qo5Ca.js +0 -10
- package/dist/chunks/invitations.BI_Qo5Ca.js.map +0 -1
- package/dist/chunks/invitations.BbK6WSY8.js +0 -11
- package/dist/chunks/invitations.BbK6WSY8.js.map +0 -1
- package/dist/chunks/serviceTypes.CxLXtDIT.js.map +0 -1
- package/dist/chunks/serviceTypes.D7c4G5GY.js.map +0 -1
- package/dist/chunks/useIsIssuingInspection.C76mY_wb.js +0 -14
- package/dist/chunks/useIsIssuingInspection.C76mY_wb.js.map +0 -1
- package/dist/chunks/useIsIssuingInspection.DavhBs5B.js +0 -13
- package/dist/chunks/useIsIssuingInspection.DavhBs5B.js.map +0 -1
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { s as serviceTypesIssuingOrInspection, C as CREDENTIAL_TYPES_IDS } from "./serviceTypes.BbBTNXB9.js";
|
|
3
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Stack } from "@mui/material";
|
|
5
|
+
import { TextInput, required, FormDataConsumer, SelectArrayInput } from "react-admin";
|
|
6
|
+
import PropTypes from "prop-types";
|
|
7
|
+
import { C as CustomImageInput } from "./index.CaxYybSL.js";
|
|
8
|
+
import { c as validateServiceEndpoint } from "./CreateOrganizationUtils.Xq78HHkP.js";
|
|
9
|
+
const useIsIssuingInspection = (serviceType) => {
|
|
10
|
+
const serviceGroup = useMemo(() => {
|
|
11
|
+
const isIssuingOrInspection = !!serviceType && serviceTypesIssuingOrInspection.some((service) => service.id === serviceType.id);
|
|
12
|
+
const isCAO = !!serviceType && serviceType.id === CREDENTIAL_TYPES_IDS.VLC_CREDENTIAL_AGENT_OPERATOR;
|
|
13
|
+
const isWebWallet = !!serviceType && serviceType.id === CREDENTIAL_TYPES_IDS.VLC_WEB_WALLET_PROVIDER;
|
|
14
|
+
const isHolderWallet = !!serviceType && serviceType.id === CREDENTIAL_TYPES_IDS.VLC_HOLDER_APP_PROVIDER;
|
|
15
|
+
const isWallet = isWebWallet || isHolderWallet;
|
|
16
|
+
return { isIssuingOrInspection, isCAO, isWallet, isHolderWallet, isWebWallet };
|
|
17
|
+
}, [serviceType]);
|
|
18
|
+
return { ...serviceGroup };
|
|
19
|
+
};
|
|
20
|
+
const WebWalletSelection = ({ inProgress }) => {
|
|
21
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22
|
+
/* @__PURE__ */ jsx(
|
|
23
|
+
TextInput,
|
|
24
|
+
{
|
|
25
|
+
source: "name",
|
|
26
|
+
label: "Webwallet Name",
|
|
27
|
+
validate: [required("Webwallet Name field is required")],
|
|
28
|
+
disabled: inProgress
|
|
29
|
+
}
|
|
30
|
+
),
|
|
31
|
+
/* @__PURE__ */ jsx(Stack, { flexDirection: "row", gap: 1.75, mb: 3.5, mt: 1, children: /* @__PURE__ */ jsx(FormDataConsumer, { children: ({ formData }) => /* @__PURE__ */ jsx(
|
|
32
|
+
CustomImageInput,
|
|
33
|
+
{
|
|
34
|
+
label: false,
|
|
35
|
+
labelText: "Webwallet Logo URL",
|
|
36
|
+
editMode: !formData?.logoUrl,
|
|
37
|
+
imgSrc: formData?.logoUrl,
|
|
38
|
+
orientation: "vertical",
|
|
39
|
+
style: { flexDirection: "row", minHeight: "240px" },
|
|
40
|
+
addTo: "",
|
|
41
|
+
isRequired: true
|
|
42
|
+
}
|
|
43
|
+
) }) }),
|
|
44
|
+
/* @__PURE__ */ jsx(
|
|
45
|
+
TextInput,
|
|
46
|
+
{
|
|
47
|
+
source: "serviceEndpoint",
|
|
48
|
+
label: "Webwallet URL",
|
|
49
|
+
validate: [required("Webwallet URL field is required"), ...validateServiceEndpoint],
|
|
50
|
+
parse: (value) => value?.trim() ?? "",
|
|
51
|
+
disabled: inProgress
|
|
52
|
+
}
|
|
53
|
+
),
|
|
54
|
+
/* @__PURE__ */ jsx(
|
|
55
|
+
SelectArrayInput,
|
|
56
|
+
{
|
|
57
|
+
source: "supportedExchangeProtocols",
|
|
58
|
+
choices: [
|
|
59
|
+
{ id: "VN_API", name: "VN_API" },
|
|
60
|
+
{ id: "OPENID4VC", name: "OPENID4VC" }
|
|
61
|
+
],
|
|
62
|
+
label: "Supported Exchange Protocols",
|
|
63
|
+
validate: [required("Supported Exchange Protocols field is required")]
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
] });
|
|
67
|
+
};
|
|
68
|
+
WebWalletSelection.propTypes = {
|
|
69
|
+
inProgress: PropTypes.bool.isRequired
|
|
70
|
+
};
|
|
71
|
+
const HolderWalletSelection = ({ inProgress }) => {
|
|
72
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
73
|
+
/* @__PURE__ */ jsx(
|
|
74
|
+
TextInput,
|
|
75
|
+
{
|
|
76
|
+
source: "name",
|
|
77
|
+
label: "App Wallet Name",
|
|
78
|
+
validate: [required("App Wallet Name field is required")],
|
|
79
|
+
disabled: inProgress
|
|
80
|
+
}
|
|
81
|
+
),
|
|
82
|
+
/* @__PURE__ */ jsx(Stack, { flexDirection: "row", gap: 1.75, mb: 3.5, mt: 1, children: /* @__PURE__ */ jsx(FormDataConsumer, { children: ({ formData }) => /* @__PURE__ */ jsx(
|
|
83
|
+
CustomImageInput,
|
|
84
|
+
{
|
|
85
|
+
label: false,
|
|
86
|
+
labelText: "App Wallet Logo URL",
|
|
87
|
+
editMode: !formData?.logoUrl,
|
|
88
|
+
orientation: "vertical",
|
|
89
|
+
style: { flexDirection: "row", minHeight: "240px" },
|
|
90
|
+
addTo: "",
|
|
91
|
+
imgSrc: formData?.logoUrl,
|
|
92
|
+
isRequired: true
|
|
93
|
+
}
|
|
94
|
+
) }) }),
|
|
95
|
+
/* @__PURE__ */ jsx(
|
|
96
|
+
TextInput,
|
|
97
|
+
{
|
|
98
|
+
source: "serviceEndpoint",
|
|
99
|
+
label: "App landing page",
|
|
100
|
+
validate: [required("App landing page field is required"), ...validateServiceEndpoint],
|
|
101
|
+
parse: (value) => value?.trim() ?? "",
|
|
102
|
+
disabled: inProgress
|
|
103
|
+
}
|
|
104
|
+
),
|
|
105
|
+
/* @__PURE__ */ jsx(
|
|
106
|
+
SelectArrayInput,
|
|
107
|
+
{
|
|
108
|
+
source: "supportedExchangeProtocols",
|
|
109
|
+
choices: [
|
|
110
|
+
{ id: "VN_API", name: "VN_API" },
|
|
111
|
+
{ id: "OPENID4VC", name: "OPENID4VC" }
|
|
112
|
+
],
|
|
113
|
+
label: "Supported Exchange Protocols",
|
|
114
|
+
validate: [required("Supported Exchange Protocols field is required")]
|
|
115
|
+
}
|
|
116
|
+
),
|
|
117
|
+
/* @__PURE__ */ jsx(
|
|
118
|
+
TextInput,
|
|
119
|
+
{
|
|
120
|
+
source: "playStoreUrl",
|
|
121
|
+
label: "Play Store URL",
|
|
122
|
+
validate: [required("Play Store URL field is required"), ...validateServiceEndpoint],
|
|
123
|
+
parse: (value) => value?.trim() ?? "",
|
|
124
|
+
disabled: inProgress
|
|
125
|
+
}
|
|
126
|
+
),
|
|
127
|
+
/* @__PURE__ */ jsx(
|
|
128
|
+
TextInput,
|
|
129
|
+
{
|
|
130
|
+
source: "googlePlayId",
|
|
131
|
+
label: "Google Play ID",
|
|
132
|
+
validate: [required("Google Play ID field is required")],
|
|
133
|
+
parse: (value) => value?.trim() ?? "",
|
|
134
|
+
disabled: inProgress
|
|
135
|
+
}
|
|
136
|
+
),
|
|
137
|
+
/* @__PURE__ */ jsx(
|
|
138
|
+
TextInput,
|
|
139
|
+
{
|
|
140
|
+
source: "appleAppStoreUrl",
|
|
141
|
+
label: "Apple App Store URL",
|
|
142
|
+
validate: [required("Apple App Store URL field is required"), ...validateServiceEndpoint],
|
|
143
|
+
parse: (value) => value?.trim() ?? "",
|
|
144
|
+
disabled: inProgress
|
|
145
|
+
}
|
|
146
|
+
),
|
|
147
|
+
/* @__PURE__ */ jsx(
|
|
148
|
+
TextInput,
|
|
149
|
+
{
|
|
150
|
+
source: "appleAppId",
|
|
151
|
+
label: "Apple App ID",
|
|
152
|
+
validate: [required("Apple App ID field is required")],
|
|
153
|
+
parse: (value) => value?.trim() ?? "",
|
|
154
|
+
disabled: inProgress
|
|
155
|
+
}
|
|
156
|
+
)
|
|
157
|
+
] });
|
|
158
|
+
};
|
|
159
|
+
HolderWalletSelection.propTypes = {
|
|
160
|
+
inProgress: PropTypes.bool.isRequired
|
|
161
|
+
};
|
|
162
|
+
export {
|
|
163
|
+
HolderWalletSelection as H,
|
|
164
|
+
WebWalletSelection as W,
|
|
165
|
+
useIsIssuingInspection as u
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=HolderWalletSelection.BYj3foq0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HolderWalletSelection.BYj3foq0.js","sources":["../../src/pages/services/hooks/useIsIssuingInspection.js","../../src/pages/services/components/ServiceEndpointSelection/components/WebWalletSelection.jsx","../../src/pages/services/components/ServiceEndpointSelection/components/HolderWalletSelection.jsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { serviceTypesIssuingOrInspection, CREDENTIAL_TYPES_IDS } from '@/utils/serviceTypes.js';\n\nexport const useIsIssuingInspection = (serviceType) => {\n const serviceGroup = useMemo(() => {\n const isIssuingOrInspection =\n !!serviceType &&\n serviceTypesIssuingOrInspection.some((service) => service.id === serviceType.id);\n\n const isCAO =\n !!serviceType && serviceType.id === CREDENTIAL_TYPES_IDS.VLC_CREDENTIAL_AGENT_OPERATOR;\n\n const isWebWallet =\n !!serviceType && serviceType.id === CREDENTIAL_TYPES_IDS.VLC_WEB_WALLET_PROVIDER;\n\n const isHolderWallet =\n !!serviceType && serviceType.id === CREDENTIAL_TYPES_IDS.VLC_HOLDER_APP_PROVIDER;\n\n const isWallet = isWebWallet || isHolderWallet;\n\n return { isIssuingOrInspection, isCAO, isWallet, isHolderWallet, isWebWallet };\n }, [serviceType]);\n\n return { ...serviceGroup };\n};\n\nexport default useIsIssuingInspection;\n","import { Stack } from '@mui/material';\nimport { TextInput, required, SelectArrayInput, FormDataConsumer } from 'react-admin';\nimport PropTypes from 'prop-types';\n\nimport CustomImageInput from '@/components/common/CustomImageInput/index.jsx';\nimport { validateServiceEndpoint } from '@/components/organizations/CreateOrganizationUtils.js';\n\nconst WebWalletSelection = ({ inProgress }) => {\n return (\n <>\n <TextInput\n source=\"name\"\n label=\"Webwallet Name\"\n validate={[required('Webwallet Name field is required')]}\n disabled={inProgress}\n />\n <Stack flexDirection=\"row\" gap={1.75} mb={3.5} mt={1}>\n <FormDataConsumer>\n {/* eslint-disable-next-line complexity */}\n {({ formData }) => (\n <CustomImageInput\n label={false}\n labelText=\"Webwallet Logo URL\"\n editMode={!formData?.logoUrl}\n imgSrc={formData?.logoUrl}\n orientation=\"vertical\"\n style={{ flexDirection: 'row', minHeight: '240px' }}\n addTo=\"\"\n isRequired\n />\n )}\n </FormDataConsumer>\n </Stack>\n <TextInput\n source=\"serviceEndpoint\"\n label=\"Webwallet URL\"\n validate={[required('Webwallet URL field is required'), ...validateServiceEndpoint]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <SelectArrayInput\n source=\"supportedExchangeProtocols\"\n choices={[\n { id: 'VN_API', name: 'VN_API' },\n { id: 'OPENID4VC', name: 'OPENID4VC' },\n ]}\n label=\"Supported Exchange Protocols\"\n validate={[required('Supported Exchange Protocols field is required')]}\n />\n </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nWebWalletSelection.propTypes = {\n inProgress: PropTypes.bool.isRequired,\n};\n\nexport default WebWalletSelection;\n","import { Stack } from '@mui/material';\nimport { TextInput, required, SelectArrayInput, FormDataConsumer } from 'react-admin';\nimport PropTypes from 'prop-types';\n\nimport CustomImageInput from '@/components/common/CustomImageInput/index.jsx';\nimport { validateServiceEndpoint } from '@/components/organizations/CreateOrganizationUtils.js';\n\nconst HolderWalletSelection = ({ inProgress }) => {\n return (\n <>\n <TextInput\n source=\"name\"\n label=\"App Wallet Name\"\n validate={[required('App Wallet Name field is required')]}\n disabled={inProgress}\n />\n <Stack flexDirection=\"row\" gap={1.75} mb={3.5} mt={1}>\n <FormDataConsumer>\n {/* eslint-disable-next-line complexity */}\n {({ formData }) => (\n <CustomImageInput\n label={false}\n labelText=\"App Wallet Logo URL\"\n editMode={!formData?.logoUrl}\n orientation=\"vertical\"\n style={{ flexDirection: 'row', minHeight: '240px' }}\n addTo=\"\"\n imgSrc={formData?.logoUrl}\n isRequired\n />\n )}\n </FormDataConsumer>\n </Stack>\n <TextInput\n source=\"serviceEndpoint\"\n label=\"App landing page\"\n validate={[required('App landing page field is required'), ...validateServiceEndpoint]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <SelectArrayInput\n source=\"supportedExchangeProtocols\"\n choices={[\n { id: 'VN_API', name: 'VN_API' },\n { id: 'OPENID4VC', name: 'OPENID4VC' },\n ]}\n label=\"Supported Exchange Protocols\"\n validate={[required('Supported Exchange Protocols field is required')]}\n />\n <TextInput\n source=\"playStoreUrl\"\n label=\"Play Store URL\"\n validate={[required('Play Store URL field is required'), ...validateServiceEndpoint]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <TextInput\n source=\"googlePlayId\"\n label=\"Google Play ID\"\n validate={[required('Google Play ID field is required')]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <TextInput\n source=\"appleAppStoreUrl\"\n label=\"Apple App Store URL\"\n validate={[required('Apple App Store URL field is required'), ...validateServiceEndpoint]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <TextInput\n source=\"appleAppId\"\n label=\"Apple App ID\"\n validate={[required('Apple App ID field is required')]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nHolderWalletSelection.propTypes = {\n inProgress: PropTypes.bool.isRequired,\n};\n\nexport default HolderWalletSelection;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const React = require("react");
|
|
3
|
+
const serviceTypes = require("./serviceTypes.BWVBK33e.js");
|
|
4
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
5
|
+
const material = require("@mui/material");
|
|
6
|
+
const reactAdmin = require("react-admin");
|
|
7
|
+
const PropTypes = require("prop-types");
|
|
8
|
+
const index = require("./index.Cjk52g3G.js");
|
|
9
|
+
const CreateOrganizationUtils = require("./CreateOrganizationUtils.C5C_r3Zp.js");
|
|
10
|
+
const useIsIssuingInspection = (serviceType) => {
|
|
11
|
+
const serviceGroup = React.useMemo(() => {
|
|
12
|
+
const isIssuingOrInspection = !!serviceType && serviceTypes.serviceTypesIssuingOrInspection.some((service) => service.id === serviceType.id);
|
|
13
|
+
const isCAO = !!serviceType && serviceType.id === serviceTypes.CREDENTIAL_TYPES_IDS.VLC_CREDENTIAL_AGENT_OPERATOR;
|
|
14
|
+
const isWebWallet = !!serviceType && serviceType.id === serviceTypes.CREDENTIAL_TYPES_IDS.VLC_WEB_WALLET_PROVIDER;
|
|
15
|
+
const isHolderWallet = !!serviceType && serviceType.id === serviceTypes.CREDENTIAL_TYPES_IDS.VLC_HOLDER_APP_PROVIDER;
|
|
16
|
+
const isWallet = isWebWallet || isHolderWallet;
|
|
17
|
+
return { isIssuingOrInspection, isCAO, isWallet, isHolderWallet, isWebWallet };
|
|
18
|
+
}, [serviceType]);
|
|
19
|
+
return { ...serviceGroup };
|
|
20
|
+
};
|
|
21
|
+
const WebWalletSelection = ({ inProgress }) => {
|
|
22
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24
|
+
reactAdmin.TextInput,
|
|
25
|
+
{
|
|
26
|
+
source: "name",
|
|
27
|
+
label: "Webwallet Name",
|
|
28
|
+
validate: [reactAdmin.required("Webwallet Name field is required")],
|
|
29
|
+
disabled: inProgress
|
|
30
|
+
}
|
|
31
|
+
),
|
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Stack, { flexDirection: "row", gap: 1.75, mb: 3.5, mt: 1, children: /* @__PURE__ */ jsxRuntime.jsx(reactAdmin.FormDataConsumer, { children: ({ formData }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
+
index.CustomImageInput,
|
|
34
|
+
{
|
|
35
|
+
label: false,
|
|
36
|
+
labelText: "Webwallet Logo URL",
|
|
37
|
+
editMode: !formData?.logoUrl,
|
|
38
|
+
imgSrc: formData?.logoUrl,
|
|
39
|
+
orientation: "vertical",
|
|
40
|
+
style: { flexDirection: "row", minHeight: "240px" },
|
|
41
|
+
addTo: "",
|
|
42
|
+
isRequired: true
|
|
43
|
+
}
|
|
44
|
+
) }) }),
|
|
45
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
46
|
+
reactAdmin.TextInput,
|
|
47
|
+
{
|
|
48
|
+
source: "serviceEndpoint",
|
|
49
|
+
label: "Webwallet URL",
|
|
50
|
+
validate: [reactAdmin.required("Webwallet URL field is required"), ...CreateOrganizationUtils.validateServiceEndpoint],
|
|
51
|
+
parse: (value) => value?.trim() ?? "",
|
|
52
|
+
disabled: inProgress
|
|
53
|
+
}
|
|
54
|
+
),
|
|
55
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
56
|
+
reactAdmin.SelectArrayInput,
|
|
57
|
+
{
|
|
58
|
+
source: "supportedExchangeProtocols",
|
|
59
|
+
choices: [
|
|
60
|
+
{ id: "VN_API", name: "VN_API" },
|
|
61
|
+
{ id: "OPENID4VC", name: "OPENID4VC" }
|
|
62
|
+
],
|
|
63
|
+
label: "Supported Exchange Protocols",
|
|
64
|
+
validate: [reactAdmin.required("Supported Exchange Protocols field is required")]
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
] });
|
|
68
|
+
};
|
|
69
|
+
WebWalletSelection.propTypes = {
|
|
70
|
+
inProgress: PropTypes.bool.isRequired
|
|
71
|
+
};
|
|
72
|
+
const HolderWalletSelection = ({ inProgress }) => {
|
|
73
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
74
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
75
|
+
reactAdmin.TextInput,
|
|
76
|
+
{
|
|
77
|
+
source: "name",
|
|
78
|
+
label: "App Wallet Name",
|
|
79
|
+
validate: [reactAdmin.required("App Wallet Name field is required")],
|
|
80
|
+
disabled: inProgress
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Stack, { flexDirection: "row", gap: 1.75, mb: 3.5, mt: 1, children: /* @__PURE__ */ jsxRuntime.jsx(reactAdmin.FormDataConsumer, { children: ({ formData }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
84
|
+
index.CustomImageInput,
|
|
85
|
+
{
|
|
86
|
+
label: false,
|
|
87
|
+
labelText: "App Wallet Logo URL",
|
|
88
|
+
editMode: !formData?.logoUrl,
|
|
89
|
+
orientation: "vertical",
|
|
90
|
+
style: { flexDirection: "row", minHeight: "240px" },
|
|
91
|
+
addTo: "",
|
|
92
|
+
imgSrc: formData?.logoUrl,
|
|
93
|
+
isRequired: true
|
|
94
|
+
}
|
|
95
|
+
) }) }),
|
|
96
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
97
|
+
reactAdmin.TextInput,
|
|
98
|
+
{
|
|
99
|
+
source: "serviceEndpoint",
|
|
100
|
+
label: "App landing page",
|
|
101
|
+
validate: [reactAdmin.required("App landing page field is required"), ...CreateOrganizationUtils.validateServiceEndpoint],
|
|
102
|
+
parse: (value) => value?.trim() ?? "",
|
|
103
|
+
disabled: inProgress
|
|
104
|
+
}
|
|
105
|
+
),
|
|
106
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
107
|
+
reactAdmin.SelectArrayInput,
|
|
108
|
+
{
|
|
109
|
+
source: "supportedExchangeProtocols",
|
|
110
|
+
choices: [
|
|
111
|
+
{ id: "VN_API", name: "VN_API" },
|
|
112
|
+
{ id: "OPENID4VC", name: "OPENID4VC" }
|
|
113
|
+
],
|
|
114
|
+
label: "Supported Exchange Protocols",
|
|
115
|
+
validate: [reactAdmin.required("Supported Exchange Protocols field is required")]
|
|
116
|
+
}
|
|
117
|
+
),
|
|
118
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
+
reactAdmin.TextInput,
|
|
120
|
+
{
|
|
121
|
+
source: "playStoreUrl",
|
|
122
|
+
label: "Play Store URL",
|
|
123
|
+
validate: [reactAdmin.required("Play Store URL field is required"), ...CreateOrganizationUtils.validateServiceEndpoint],
|
|
124
|
+
parse: (value) => value?.trim() ?? "",
|
|
125
|
+
disabled: inProgress
|
|
126
|
+
}
|
|
127
|
+
),
|
|
128
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
129
|
+
reactAdmin.TextInput,
|
|
130
|
+
{
|
|
131
|
+
source: "googlePlayId",
|
|
132
|
+
label: "Google Play ID",
|
|
133
|
+
validate: [reactAdmin.required("Google Play ID field is required")],
|
|
134
|
+
parse: (value) => value?.trim() ?? "",
|
|
135
|
+
disabled: inProgress
|
|
136
|
+
}
|
|
137
|
+
),
|
|
138
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
+
reactAdmin.TextInput,
|
|
140
|
+
{
|
|
141
|
+
source: "appleAppStoreUrl",
|
|
142
|
+
label: "Apple App Store URL",
|
|
143
|
+
validate: [reactAdmin.required("Apple App Store URL field is required"), ...CreateOrganizationUtils.validateServiceEndpoint],
|
|
144
|
+
parse: (value) => value?.trim() ?? "",
|
|
145
|
+
disabled: inProgress
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
149
|
+
reactAdmin.TextInput,
|
|
150
|
+
{
|
|
151
|
+
source: "appleAppId",
|
|
152
|
+
label: "Apple App ID",
|
|
153
|
+
validate: [reactAdmin.required("Apple App ID field is required")],
|
|
154
|
+
parse: (value) => value?.trim() ?? "",
|
|
155
|
+
disabled: inProgress
|
|
156
|
+
}
|
|
157
|
+
)
|
|
158
|
+
] });
|
|
159
|
+
};
|
|
160
|
+
HolderWalletSelection.propTypes = {
|
|
161
|
+
inProgress: PropTypes.bool.isRequired
|
|
162
|
+
};
|
|
163
|
+
exports.HolderWalletSelection = HolderWalletSelection;
|
|
164
|
+
exports.WebWalletSelection = WebWalletSelection;
|
|
165
|
+
exports.useIsIssuingInspection = useIsIssuingInspection;
|
|
166
|
+
//# sourceMappingURL=HolderWalletSelection.BvPFTrTh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HolderWalletSelection.BvPFTrTh.js","sources":["../../src/pages/services/hooks/useIsIssuingInspection.js","../../src/pages/services/components/ServiceEndpointSelection/components/WebWalletSelection.jsx","../../src/pages/services/components/ServiceEndpointSelection/components/HolderWalletSelection.jsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { serviceTypesIssuingOrInspection, CREDENTIAL_TYPES_IDS } from '@/utils/serviceTypes.js';\n\nexport const useIsIssuingInspection = (serviceType) => {\n const serviceGroup = useMemo(() => {\n const isIssuingOrInspection =\n !!serviceType &&\n serviceTypesIssuingOrInspection.some((service) => service.id === serviceType.id);\n\n const isCAO =\n !!serviceType && serviceType.id === CREDENTIAL_TYPES_IDS.VLC_CREDENTIAL_AGENT_OPERATOR;\n\n const isWebWallet =\n !!serviceType && serviceType.id === CREDENTIAL_TYPES_IDS.VLC_WEB_WALLET_PROVIDER;\n\n const isHolderWallet =\n !!serviceType && serviceType.id === CREDENTIAL_TYPES_IDS.VLC_HOLDER_APP_PROVIDER;\n\n const isWallet = isWebWallet || isHolderWallet;\n\n return { isIssuingOrInspection, isCAO, isWallet, isHolderWallet, isWebWallet };\n }, [serviceType]);\n\n return { ...serviceGroup };\n};\n\nexport default useIsIssuingInspection;\n","import { Stack } from '@mui/material';\nimport { TextInput, required, SelectArrayInput, FormDataConsumer } from 'react-admin';\nimport PropTypes from 'prop-types';\n\nimport CustomImageInput from '@/components/common/CustomImageInput/index.jsx';\nimport { validateServiceEndpoint } from '@/components/organizations/CreateOrganizationUtils.js';\n\nconst WebWalletSelection = ({ inProgress }) => {\n return (\n <>\n <TextInput\n source=\"name\"\n label=\"Webwallet Name\"\n validate={[required('Webwallet Name field is required')]}\n disabled={inProgress}\n />\n <Stack flexDirection=\"row\" gap={1.75} mb={3.5} mt={1}>\n <FormDataConsumer>\n {/* eslint-disable-next-line complexity */}\n {({ formData }) => (\n <CustomImageInput\n label={false}\n labelText=\"Webwallet Logo URL\"\n editMode={!formData?.logoUrl}\n imgSrc={formData?.logoUrl}\n orientation=\"vertical\"\n style={{ flexDirection: 'row', minHeight: '240px' }}\n addTo=\"\"\n isRequired\n />\n )}\n </FormDataConsumer>\n </Stack>\n <TextInput\n source=\"serviceEndpoint\"\n label=\"Webwallet URL\"\n validate={[required('Webwallet URL field is required'), ...validateServiceEndpoint]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <SelectArrayInput\n source=\"supportedExchangeProtocols\"\n choices={[\n { id: 'VN_API', name: 'VN_API' },\n { id: 'OPENID4VC', name: 'OPENID4VC' },\n ]}\n label=\"Supported Exchange Protocols\"\n validate={[required('Supported Exchange Protocols field is required')]}\n />\n </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nWebWalletSelection.propTypes = {\n inProgress: PropTypes.bool.isRequired,\n};\n\nexport default WebWalletSelection;\n","import { Stack } from '@mui/material';\nimport { TextInput, required, SelectArrayInput, FormDataConsumer } from 'react-admin';\nimport PropTypes from 'prop-types';\n\nimport CustomImageInput from '@/components/common/CustomImageInput/index.jsx';\nimport { validateServiceEndpoint } from '@/components/organizations/CreateOrganizationUtils.js';\n\nconst HolderWalletSelection = ({ inProgress }) => {\n return (\n <>\n <TextInput\n source=\"name\"\n label=\"App Wallet Name\"\n validate={[required('App Wallet Name field is required')]}\n disabled={inProgress}\n />\n <Stack flexDirection=\"row\" gap={1.75} mb={3.5} mt={1}>\n <FormDataConsumer>\n {/* eslint-disable-next-line complexity */}\n {({ formData }) => (\n <CustomImageInput\n label={false}\n labelText=\"App Wallet Logo URL\"\n editMode={!formData?.logoUrl}\n orientation=\"vertical\"\n style={{ flexDirection: 'row', minHeight: '240px' }}\n addTo=\"\"\n imgSrc={formData?.logoUrl}\n isRequired\n />\n )}\n </FormDataConsumer>\n </Stack>\n <TextInput\n source=\"serviceEndpoint\"\n label=\"App landing page\"\n validate={[required('App landing page field is required'), ...validateServiceEndpoint]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <SelectArrayInput\n source=\"supportedExchangeProtocols\"\n choices={[\n { id: 'VN_API', name: 'VN_API' },\n { id: 'OPENID4VC', name: 'OPENID4VC' },\n ]}\n label=\"Supported Exchange Protocols\"\n validate={[required('Supported Exchange Protocols field is required')]}\n />\n <TextInput\n source=\"playStoreUrl\"\n label=\"Play Store URL\"\n validate={[required('Play Store URL field is required'), ...validateServiceEndpoint]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <TextInput\n source=\"googlePlayId\"\n label=\"Google Play ID\"\n validate={[required('Google Play ID field is required')]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <TextInput\n source=\"appleAppStoreUrl\"\n label=\"Apple App Store URL\"\n validate={[required('Apple App Store URL field is required'), ...validateServiceEndpoint]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n <TextInput\n source=\"appleAppId\"\n label=\"Apple App ID\"\n validate={[required('Apple App ID field is required')]}\n parse={(value) => value?.trim() ?? ''}\n disabled={inProgress}\n />\n </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nHolderWalletSelection.propTypes = {\n inProgress: PropTypes.bool.isRequired,\n};\n\nexport default HolderWalletSelection;\n"],"names":["useMemo","serviceTypesIssuingOrInspection","CREDENTIAL_TYPES_IDS","jsxs","Fragment","jsx","TextInput","required","Stack","FormDataConsumer","CustomImageInput","validateServiceEndpoint","SelectArrayInput"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ const PropTypes = require("prop-types");
|
|
|
5
5
|
const Popup = require("./Popup.H_MqnNtr.js");
|
|
6
6
|
const React = require("react");
|
|
7
7
|
const reactAdmin = require("react-admin");
|
|
8
|
-
const
|
|
8
|
+
const HolderWalletSelection = require("./HolderWalletSelection.BvPFTrTh.js");
|
|
9
9
|
const CreateOrganizationUtils = require("./CreateOrganizationUtils.C5C_r3Zp.js");
|
|
10
10
|
const ServicesDelete = ({ onClose, onConfirm, selectedService, isLoading }) => {
|
|
11
11
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -70,8 +70,75 @@ ServicesDelete.propTypes = {
|
|
|
70
70
|
selectedService: PropTypes.object,
|
|
71
71
|
isLoading: PropTypes.bool
|
|
72
72
|
};
|
|
73
|
+
const FormContent = ({ isModifyingServiceEnabled, selectedService }) => {
|
|
74
|
+
const { isIssuingOrInspection, isWebWallet, isHolderWallet } = HolderWalletSelection.useIsIssuingInspection({
|
|
75
|
+
id: selectedService?.type
|
|
76
|
+
});
|
|
77
|
+
const validateArray = [reactAdmin.required("Service endpoint URL field is required")];
|
|
78
|
+
if (!isIssuingOrInspection) {
|
|
79
|
+
validateArray.push(...CreateOrganizationUtils.validateServiceEndpoint);
|
|
80
|
+
}
|
|
81
|
+
if (isWebWallet) {
|
|
82
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { children: [
|
|
83
|
+
/* @__PURE__ */ jsxRuntime.jsx(HolderWalletSelection.WebWalletSelection, { inProgress: false }),
|
|
84
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
85
|
+
reactAdmin.SaveButton,
|
|
86
|
+
{
|
|
87
|
+
variant: "outlined",
|
|
88
|
+
icon: null,
|
|
89
|
+
label: "Save",
|
|
90
|
+
sx: sx.saveButton,
|
|
91
|
+
alwaysEnable: isModifyingServiceEnabled
|
|
92
|
+
}
|
|
93
|
+
)
|
|
94
|
+
] });
|
|
95
|
+
}
|
|
96
|
+
if (isHolderWallet) {
|
|
97
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { children: [
|
|
98
|
+
/* @__PURE__ */ jsxRuntime.jsx(HolderWalletSelection.HolderWalletSelection, { inProgress: false }),
|
|
99
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
100
|
+
reactAdmin.SaveButton,
|
|
101
|
+
{
|
|
102
|
+
variant: "outlined",
|
|
103
|
+
icon: null,
|
|
104
|
+
label: "Save",
|
|
105
|
+
sx: sx.saveButton,
|
|
106
|
+
alwaysEnable: isModifyingServiceEnabled
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
] });
|
|
110
|
+
}
|
|
111
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { children: [
|
|
112
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
113
|
+
reactAdmin.TextInput,
|
|
114
|
+
{
|
|
115
|
+
source: "serviceEndpoint",
|
|
116
|
+
label: "Service endpoint URL",
|
|
117
|
+
validate: validateArray,
|
|
118
|
+
parse: (value) => value.trim()
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
122
|
+
reactAdmin.SaveButton,
|
|
123
|
+
{
|
|
124
|
+
variant: "outlined",
|
|
125
|
+
icon: null,
|
|
126
|
+
label: "Save",
|
|
127
|
+
sx: sx.saveButton,
|
|
128
|
+
alwaysEnable: isModifyingServiceEnabled
|
|
129
|
+
}
|
|
130
|
+
)
|
|
131
|
+
] });
|
|
132
|
+
};
|
|
133
|
+
const sx = {
|
|
134
|
+
saveButton: { width: "fit-content", alignSelf: "center", px: 4, py: 1, mt: 2 }
|
|
135
|
+
};
|
|
136
|
+
FormContent.propTypes = {
|
|
137
|
+
isModifyingServiceEnabled: PropTypes.bool.isRequired,
|
|
138
|
+
selectedService: PropTypes.shape({ id: PropTypes.string, type: PropTypes.string }).isRequired
|
|
139
|
+
};
|
|
73
140
|
const ServicesEdit = ({ onClose, onSave, selectedService, InterceptOnCreate }) => {
|
|
74
|
-
const { isIssuingOrInspection, isCAO } =
|
|
141
|
+
const { isIssuingOrInspection, isCAO } = HolderWalletSelection.useIsIssuingInspection({ id: selectedService?.type });
|
|
75
142
|
const [isInterceptOnCreateOpen, setIsInterceptOnCreateOpen] = React.useState(false);
|
|
76
143
|
const [selectedCAO, setSelectedCAO] = React.useState(
|
|
77
144
|
isIssuingOrInspection ? selectedService?.serviceEndpoint.split("#")[0] : null
|
|
@@ -98,21 +165,13 @@ const ServicesEdit = ({ onClose, onSave, selectedService, InterceptOnCreate }) =
|
|
|
98
165
|
title: "Edit your service details here:",
|
|
99
166
|
onClose,
|
|
100
167
|
isOpen: Boolean(selectedService),
|
|
101
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
102
|
-
|
|
168
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(reactAdmin.Form, { record: selectedService, onSubmit: handleOnSave, mode: "onChange", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
169
|
+
FormContent,
|
|
103
170
|
{
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
mode: "onChange",
|
|
107
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
108
|
-
FormContent,
|
|
109
|
-
{
|
|
110
|
-
isIssuingOrInspection,
|
|
111
|
-
isModifyingServiceEnabled
|
|
112
|
-
}
|
|
113
|
-
)
|
|
171
|
+
isModifyingServiceEnabled,
|
|
172
|
+
selectedService
|
|
114
173
|
}
|
|
115
|
-
)
|
|
174
|
+
) })
|
|
116
175
|
}
|
|
117
176
|
),
|
|
118
177
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -129,37 +188,6 @@ const ServicesEdit = ({ onClose, onSave, selectedService, InterceptOnCreate }) =
|
|
|
129
188
|
)
|
|
130
189
|
] });
|
|
131
190
|
};
|
|
132
|
-
const FormContent = ({ isIssuingOrInspection, isModifyingServiceEnabled }) => {
|
|
133
|
-
const validateArray = [reactAdmin.required("Service endpoint URL field is required")];
|
|
134
|
-
if (!isIssuingOrInspection) {
|
|
135
|
-
validateArray.push(...CreateOrganizationUtils.validateServiceEndpoint);
|
|
136
|
-
}
|
|
137
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { children: [
|
|
138
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
-
reactAdmin.TextInput,
|
|
140
|
-
{
|
|
141
|
-
source: "serviceEndpoint",
|
|
142
|
-
label: "Service endpoint URL",
|
|
143
|
-
validate: validateArray,
|
|
144
|
-
parse: (value) => value.trim()
|
|
145
|
-
}
|
|
146
|
-
),
|
|
147
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
148
|
-
reactAdmin.SaveButton,
|
|
149
|
-
{
|
|
150
|
-
variant: "outlined",
|
|
151
|
-
icon: null,
|
|
152
|
-
label: "Save",
|
|
153
|
-
sx: sx.saveButton,
|
|
154
|
-
alwaysEnable: isModifyingServiceEnabled
|
|
155
|
-
}
|
|
156
|
-
)
|
|
157
|
-
] });
|
|
158
|
-
};
|
|
159
|
-
FormContent.propTypes = {
|
|
160
|
-
isIssuingOrInspection: PropTypes.bool.isRequired,
|
|
161
|
-
isModifyingServiceEnabled: PropTypes.bool.isRequired
|
|
162
|
-
};
|
|
163
191
|
ServicesEdit.propTypes = {
|
|
164
192
|
onClose: PropTypes.func,
|
|
165
193
|
onSave: PropTypes.func,
|
|
@@ -167,9 +195,6 @@ ServicesEdit.propTypes = {
|
|
|
167
195
|
selectedService: PropTypes.object,
|
|
168
196
|
InterceptOnCreate: PropTypes.elementType
|
|
169
197
|
};
|
|
170
|
-
const sx = {
|
|
171
|
-
saveButton: { width: "fit-content", alignSelf: "center", px: 4, py: 1, mt: 2 }
|
|
172
|
-
};
|
|
173
198
|
exports.ServicesDelete = ServicesDelete;
|
|
174
199
|
exports.ServicesEdit = ServicesEdit;
|
|
175
|
-
//# sourceMappingURL=ServicesEdit.
|
|
200
|
+
//# sourceMappingURL=ServicesEdit.CrmS66vz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServicesEdit.CrmS66vz.js","sources":["../../src/components/services/ServicesDelete.jsx","../../src/components/services/ServiceEditContent.jsx","../../src/components/services/ServicesEdit.jsx"],"sourcesContent":["/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Button, Typography, Stack } from '@mui/material';\nimport PropTypes from 'prop-types';\n\nimport Popup from '../common/Popup.jsx';\n\nconst ServicesDelete = ({ onClose, onConfirm, selectedService, isLoading }) => {\n return (\n <Popup\n title=\"Delete service\"\n onClose={isLoading ? () => {} : onClose}\n isOpen={Boolean(selectedService)}\n >\n <Typography>Are you sure you want to delete {selectedService} service?</Typography>\n <Stack sx={styles.buttonBlock}>\n <Button\n onClick={onConfirm}\n disabled={isLoading}\n variant=\"outlined\"\n sx={styles.button}\n autoFocus\n >\n Delete\n </Button>\n <Button\n onClick={onClose}\n disabled={isLoading}\n variant=\"outlined\"\n sx={[styles.button, styles.cancelButton]}\n >\n Cancel\n </Button>\n </Stack>\n </Popup>\n );\n};\n\nconst styles = {\n buttonBlock: {\n display: 'flex',\n flexDirection: 'row-reverse',\n marginTop: '40px',\n justifyContent: 'center',\n },\n button: {\n px: 4,\n py: 1,\n fontSize: '16px',\n width: '160px',\n },\n cancelButton: { marginRight: '20px', color: 'text.primary', borderColor: 'secondary.light' },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nServicesDelete.propTypes = {\n onClose: PropTypes.func,\n onConfirm: PropTypes.func,\n // eslint-disable-next-line react/forbid-prop-types\n selectedService: PropTypes.object,\n isLoading: PropTypes.bool,\n};\n\nexport default ServicesDelete;\n","import { TextInput, SaveButton, required } from 'react-admin';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport PropTypes from 'prop-types';\nimport { Stack } from '@mui/material';\nimport { useIsIssuingInspection } from '@/pages/services/hooks/useIsIssuingInspection.js';\nimport WebWalletSelection from '@/pages/services/components/ServiceEndpointSelection/components/WebWalletSelection.jsx';\nimport HolderWalletSelection from '@/pages/services/components/ServiceEndpointSelection/components/HolderWalletSelection.jsx';\nimport { validateServiceEndpoint } from '../organizations/CreateOrganizationUtils.js';\n\nexport const FormContent = ({ isModifyingServiceEnabled, selectedService }) => {\n const { isIssuingOrInspection, isWebWallet, isHolderWallet } = useIsIssuingInspection({\n id: selectedService?.type,\n });\n const validateArray = [required('Service endpoint URL field is required')];\n if (!isIssuingOrInspection) {\n validateArray.push(...validateServiceEndpoint);\n }\n\n if (isWebWallet) {\n return (\n <Stack>\n <WebWalletSelection inProgress={false} />\n <SaveButton\n variant=\"outlined\"\n icon={null}\n label=\"Save\"\n sx={sx.saveButton}\n alwaysEnable={isModifyingServiceEnabled}\n />\n </Stack>\n );\n }\n if (isHolderWallet) {\n return (\n <Stack>\n <HolderWalletSelection inProgress={false} />\n <SaveButton\n variant=\"outlined\"\n icon={null}\n label=\"Save\"\n sx={sx.saveButton}\n alwaysEnable={isModifyingServiceEnabled}\n />\n </Stack>\n );\n }\n return (\n <Stack>\n <TextInput\n source=\"serviceEndpoint\"\n label=\"Service endpoint URL\"\n validate={validateArray}\n parse={(value) => value.trim()}\n />\n <SaveButton\n variant=\"outlined\"\n icon={null}\n label=\"Save\"\n sx={sx.saveButton}\n alwaysEnable={isModifyingServiceEnabled}\n />\n </Stack>\n );\n};\n\nconst sx = {\n saveButton: { width: 'fit-content', alignSelf: 'center', px: 4, py: 1, mt: 2 },\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nFormContent.propTypes = {\n isModifyingServiceEnabled: PropTypes.bool.isRequired,\n selectedService: PropTypes.shape({ id: PropTypes.string, type: PropTypes.string }).isRequired,\n};\n","/**\n * Copyright 2023 Velocity Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useState, useCallback } from 'react';\nimport { Form } from 'react-admin';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport PropTypes from 'prop-types';\nimport { useIsIssuingInspection } from '@/pages/services/hooks/useIsIssuingInspection.js';\nimport { FormContent } from '@/components/services/ServiceEditContent.jsx';\nimport Popup from '../common/Popup.jsx';\n\nconst ServicesEdit = ({ onClose, onSave, selectedService, InterceptOnCreate }) => {\n const { isIssuingOrInspection, isCAO } = useIsIssuingInspection({ id: selectedService?.type });\n const [isInterceptOnCreateOpen, setIsInterceptOnCreateOpen] = useState(false);\n const [selectedCAO, setSelectedCAO] = useState(\n isIssuingOrInspection ? selectedService?.serviceEndpoint.split('#')[0] : null,\n );\n const handleOnSave = useCallback(\n (data) => {\n onSave(data);\n if (InterceptOnCreate) {\n setSelectedCAO(() => data.serviceEndpoint.split('#')[0]);\n setIsInterceptOnCreateOpen(() => true);\n }\n },\n [onSave, InterceptOnCreate],\n );\n\n const handleOnClose = useCallback(() => {\n setIsInterceptOnCreateOpen(false);\n onClose();\n }, [onClose]);\n\n const isModifyingServiceEnabled = !!InterceptOnCreate;\n\n return (\n <>\n <Popup\n title=\"Edit your service details here:\"\n onClose={onClose}\n isOpen={Boolean(selectedService)}\n >\n <Form record={selectedService} onSubmit={handleOnSave} mode=\"onChange\">\n <FormContent\n isModifyingServiceEnabled={isModifyingServiceEnabled}\n selectedService={selectedService}\n />\n </Form>\n </Popup>\n <InterceptOnCreate\n isInterceptOnCreateOpen={isInterceptOnCreateOpen}\n serviceId={selectedService?.id}\n onNext={() => onClose()}\n onClose={handleOnClose}\n isIssueOrInspection={isIssuingOrInspection}\n selectedCAO={selectedCAO}\n isCAO={isCAO}\n />\n </>\n );\n};\n\n// eslint-disable-next-line better-mutation/no-mutation\nServicesEdit.propTypes = {\n onClose: PropTypes.func,\n onSave: PropTypes.func,\n // eslint-disable-next-line react/forbid-prop-types\n selectedService: PropTypes.object,\n InterceptOnCreate: PropTypes.elementType,\n};\n\nexport default ServicesEdit;\n"],"names":["jsxs","Popup","Typography","Stack","jsx","Button","useIsIssuingInspection","required","validateServiceEndpoint","WebWalletSelection","SaveButton","HolderWalletSelection","TextInput","useState","useCallback","Fragment","Form"],"mappings":"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"}
|