@openshift-assisted/ui-lib 2.48.2 → 2.48.4

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 (75) hide show
  1. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts +0 -4
  2. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts.map +1 -1
  3. package/build/@types/common/api/assisted-service/HostsAPI.d.ts +1 -0
  4. package/build/@types/common/api/assisted-service/HostsAPI.d.ts.map +1 -1
  5. package/build/@types/common/components/ui/formik/PullSecretField.d.ts.map +1 -1
  6. package/build/@types/ocm/components/Routes.d.ts.map +1 -1
  7. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +0 -3
  8. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
  9. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  10. package/build/@types/ocm/components/clusterWizard/ClusterWizardFooter.d.ts +1 -2
  11. package/build/@types/ocm/components/clusterWizard/ClusterWizardFooter.d.ts.map +1 -1
  12. package/build/@types/ocm/components/clusterWizard/NewClusterWizard.d.ts.map +1 -1
  13. package/build/@types/ocm/components/clusterWizard/constants.d.ts.map +1 -1
  14. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts.map +1 -1
  15. package/build/@types/ocm/components/clusterWizard/disconnected/ReviewStep.d.ts.map +1 -1
  16. package/build/@types/ocm/components/clusterWizard/index.d.ts +0 -1
  17. package/build/@types/ocm/components/clusterWizard/index.d.ts.map +1 -1
  18. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +1 -1
  19. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
  20. package/build/@types/ocm/services/ClustersService.d.ts +0 -4
  21. package/build/@types/ocm/services/ClustersService.d.ts.map +1 -1
  22. package/build/@types/ocm/services/HostsService.d.ts +1 -0
  23. package/build/@types/ocm/services/HostsService.d.ts.map +1 -1
  24. package/build/cjs/common/api/assisted-service/ClustersAPI.js +0 -3
  25. package/build/cjs/common/api/assisted-service/ClustersAPI.js.map +1 -1
  26. package/build/cjs/common/api/assisted-service/HostsAPI.js +3 -0
  27. package/build/cjs/common/api/assisted-service/HostsAPI.js.map +1 -1
  28. package/build/cjs/common/components/ui/WizardFooter.js +1 -1
  29. package/build/cjs/common/components/ui/WizardFooter.js.map +1 -1
  30. package/build/cjs/common/components/ui/formik/PullSecretField.js.map +1 -1
  31. package/build/cjs/ocm/components/Routes.js +1 -2
  32. package/build/cjs/ocm/components/Routes.js.map +1 -1
  33. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
  34. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +0 -4
  35. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  36. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js +6 -21
  37. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js.map +1 -1
  38. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js +0 -3
  39. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js.map +1 -1
  40. package/build/cjs/ocm/components/clusterWizard/constants.js +0 -1
  41. package/build/cjs/ocm/components/clusterWizard/constants.js.map +1 -1
  42. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js +1 -45
  43. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js.map +1 -1
  44. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js +5 -40
  45. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js.map +1 -1
  46. package/build/cjs/ocm/components/clusterWizard/index.js +1 -3
  47. package/build/cjs/ocm/components/clusterWizard/index.js.map +1 -1
  48. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +0 -3
  49. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
  50. package/build/cjs/ocm/services/ClustersService.js +0 -6
  51. package/build/cjs/ocm/services/ClustersService.js.map +1 -1
  52. package/build/cjs/ocm/services/HostsService.js +6 -0
  53. package/build/cjs/ocm/services/HostsService.js.map +1 -1
  54. package/lib/common/api/assisted-service/ClustersAPI.ts +0 -6
  55. package/lib/common/api/assisted-service/HostsAPI.ts +5 -0
  56. package/lib/common/components/ui/WizardFooter.tsx +1 -1
  57. package/lib/common/components/ui/formik/PullSecretField.tsx +0 -1
  58. package/lib/ocm/components/Routes.tsx +1 -3
  59. package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +0 -3
  60. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +0 -6
  61. package/lib/ocm/components/clusterWizard/ClusterWizardFooter.tsx +5 -26
  62. package/lib/ocm/components/clusterWizard/NewClusterWizard.tsx +0 -3
  63. package/lib/ocm/components/clusterWizard/constants.ts +0 -1
  64. package/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +1 -52
  65. package/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx +7 -39
  66. package/lib/ocm/components/clusterWizard/index.ts +0 -1
  67. package/lib/ocm/components/clusterWizard/wizardTransition.ts +1 -5
  68. package/lib/ocm/services/ClustersService.ts +0 -6
  69. package/lib/ocm/services/HostsService.ts +8 -0
  70. package/package.json +3 -3
  71. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts +0 -4
  72. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts.map +0 -1
  73. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js +0 -128
  74. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js.map +0 -1
  75. package/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx +0 -200
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "@openshift-assisted/locales": "2.48.2",
4
- "@openshift-assisted/types": "2.48.2",
3
+ "@openshift-assisted/locales": "2.48.4",
4
+ "@openshift-assisted/types": "2.48.4",
5
5
  "@openshift-console/dynamic-plugin-sdk": "0.0.3",
6
6
  "@patternfly/patternfly": "6.2.3",
7
7
  "@patternfly/react-code-editor": "6.2.2",
@@ -140,5 +140,5 @@
140
140
  ]
141
141
  }
142
142
  },
143
- "version": "2.48.2"
143
+ "version": "2.48.4"
144
144
  }
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- declare const OptionalConfigurationsStep: () => React.JSX.Element;
3
- export default OptionalConfigurationsStep;
4
- //# sourceMappingURL=OptionalConfigurationsStep.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionalConfigurationsStep.d.ts","sourceRoot":"","sources":["../../../../../../lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4C/B,QAAA,MAAM,0BAA0B,yBAyJ/B,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const React = tslib_1.__importStar(require("react"));
5
- const formik_1 = require("formik");
6
- const Yup = tslib_1.__importStar(require("yup"));
7
- const common_1 = require("../../../../common");
8
- const react_core_1 = require("@patternfly/react-core");
9
- const ClusterWizardContext_1 = require("../ClusterWizardContext");
10
- const ClusterWizardFooter_1 = tslib_1.__importDefault(require("../ClusterWizardFooter"));
11
- const ClusterWizardNavigation_1 = tslib_1.__importDefault(require("../ClusterWizardNavigation"));
12
- const WithErrorBoundary_1 = require("../../../../common/components/ErrorHandling/WithErrorBoundary");
13
- const UploadSSH_1 = tslib_1.__importDefault(require("../../../../common/components/clusterConfiguration/UploadSSH"));
14
- const PullSecretField_1 = tslib_1.__importDefault(require("../../../../common/components/ui/formik/PullSecretField"));
15
- const api_1 = require("../../../../common/api");
16
- const AlertsContextProvider_1 = require("../../../../common/components/AlertsContextProvider");
17
- const react_core_2 = require("@patternfly/react-core");
18
- const InfraEnvsService_1 = tslib_1.__importDefault(require("../../../services/InfraEnvsService"));
19
- const apis_1 = require("../../../services/apis");
20
- const usePullSecret_1 = tslib_1.__importDefault(require("../../../hooks/usePullSecret"));
21
- const react_router_dom_v5_compat_1 = require("react-router-dom-v5-compat");
22
- const ClustersService_1 = tslib_1.__importDefault(require("../../../services/ClustersService"));
23
- const PullSecretSync = ({ pullSecret }) => {
24
- const { setFieldValue } = (0, formik_1.useFormikContext)();
25
- React.useEffect(() => {
26
- if (pullSecret !== undefined) {
27
- setFieldValue('pullSecret', pullSecret);
28
- }
29
- }, [pullSecret, setFieldValue]);
30
- return null;
31
- };
32
- const OptionalConfigurationsStep = () => {
33
- const pullSecret = (0, usePullSecret_1.default)() || '';
34
- const { clusterId } = (0, react_router_dom_v5_compat_1.useParams)();
35
- const [cluster, setCluster] = React.useState(null);
36
- const { moveNext, moveBack, setDisconnectedInfraEnv, disconnectedInfraEnv } = (0, ClusterWizardContext_1.useClusterWizardContext)();
37
- const { addAlert } = (0, AlertsContextProvider_1.useAlerts)();
38
- const [editPullSecret, setEditPullSecret] = React.useState(false);
39
- React.useEffect(() => {
40
- const fetchCluster = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
41
- if (!clusterId) {
42
- return;
43
- }
44
- try {
45
- const fetchedCluster = yield ClustersService_1.default.get(clusterId);
46
- setCluster(fetchedCluster);
47
- }
48
- catch (error) {
49
- (0, api_1.handleApiError)(error, () => {
50
- addAlert({
51
- title: 'Failed to fetch cluster',
52
- message: (0, api_1.getApiErrorMessage)(error),
53
- variant: react_core_2.AlertVariant.danger,
54
- });
55
- });
56
- }
57
- });
58
- void fetchCluster();
59
- }, [clusterId, addAlert]);
60
- const validationSchema = React.useMemo(() => Yup.object().shape({
61
- sshPublicKey: common_1.sshPublicKeyValidationSchema,
62
- pullSecret: common_1.pullSecretValidationSchema,
63
- }), []);
64
- const initialValues = {
65
- sshPublicKey: '',
66
- pullSecret: pullSecret,
67
- };
68
- return (React.createElement(formik_1.Formik, { initialValues: initialValues, validate: (0, common_1.getRichTextValidation)(validationSchema), onSubmit: (values) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
69
- if (!cluster || !cluster.id) {
70
- addAlert({
71
- title: 'Missing cluster',
72
- message: 'Cluster must be created before configuring infrastructure environment',
73
- variant: react_core_2.AlertVariant.danger,
74
- });
75
- return;
76
- }
77
- try {
78
- // Check if infraEnv already exists
79
- if (disconnectedInfraEnv && disconnectedInfraEnv.id) {
80
- // Update existing infraEnv
81
- const updateParams = Object.assign({ pullSecret: values.pullSecret || pullSecret }, (values.sshPublicKey && { sshAuthorizedKey: values.sshPublicKey }));
82
- const { data: updatedInfraEnv } = yield apis_1.InfraEnvsAPI.update(disconnectedInfraEnv.id, updateParams);
83
- setDisconnectedInfraEnv(updatedInfraEnv);
84
- moveNext();
85
- }
86
- else {
87
- // Create infraEnv with all params
88
- const createParams = Object.assign({ name: `disconnected-cluster_infra-env`, pullSecret: values.pullSecret || pullSecret, clusterId: cluster.id, openshiftVersion: '4.19', cpuArchitecture: 'x86_64' }, (values.sshPublicKey && { sshAuthorizedKey: values.sshPublicKey }));
89
- const createdInfraEnv = yield InfraEnvsService_1.default.create(createParams);
90
- setDisconnectedInfraEnv(createdInfraEnv);
91
- moveNext();
92
- }
93
- }
94
- catch (error) {
95
- (0, api_1.handleApiError)(error, () => {
96
- addAlert({
97
- title: disconnectedInfraEnv && disconnectedInfraEnv.id
98
- ? 'Failed to update infrastructure environment'
99
- : 'Failed to create infrastructure environment',
100
- message: (0, api_1.getApiErrorMessage)(error),
101
- variant: react_core_2.AlertVariant.danger,
102
- });
103
- });
104
- }
105
- }) }, ({ submitForm, isValid, errors, touched, isSubmitting }) => {
106
- const errorFields = (0, common_1.getFormikErrorFields)(errors, touched);
107
- const handleNext = () => {
108
- void submitForm(); // This will trigger onSubmit
109
- };
110
- return (React.createElement(common_1.ClusterWizardStep, { navigation: React.createElement(ClusterWizardNavigation_1.default, null), footer: React.createElement(ClusterWizardFooter_1.default, { disconnectedClusterId: clusterId, onNext: handleNext, onBack: moveBack, isNextDisabled: !isValid, errorFields: errorFields, isSubmitting: isSubmitting }) },
111
- React.createElement(WithErrorBoundary_1.WithErrorBoundary, { title: "Failed to load Optional Configurations step" },
112
- React.createElement(PullSecretSync, { pullSecret: pullSecret }),
113
- React.createElement(react_core_1.Grid, { hasGutter: true },
114
- React.createElement(react_core_1.GridItem, null,
115
- React.createElement(react_core_1.Split, null,
116
- React.createElement(react_core_1.SplitItem, null,
117
- React.createElement(react_core_1.Content, { component: "h2" }, "Optional configurations")),
118
- React.createElement(react_core_1.SplitItem, null,
119
- React.createElement(common_1.DeveloperPreview, null)))),
120
- React.createElement(react_core_1.GridItem, null,
121
- React.createElement(react_core_1.Form, { id: "wizard-cluster-optional-configurations__form" },
122
- React.createElement(UploadSSH_1.default, null),
123
- React.createElement(react_core_1.Checkbox, { label: "Edit pull secret", isChecked: editPullSecret, onChange: (_, checked) => setEditPullSecret(checked), id: "edit-pull-secret-checkbox" }),
124
- (editPullSecret || !pullSecret) && React.createElement(PullSecretField_1.default, { isOcm: api_1.isInOcm })))))));
125
- }));
126
- };
127
- exports.default = OptionalConfigurationsStep;
128
- //# sourceMappingURL=OptionalConfigurationsStep.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionalConfigurationsStep.js","sourceRoot":"","sources":["../../../../../../lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx"],"names":[],"mappings":"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"}
@@ -1,200 +0,0 @@
1
- import * as React from 'react';
2
- import { Formik, useFormikContext } from 'formik';
3
- import * as Yup from 'yup';
4
- import {
5
- ClusterWizardStep,
6
- DeveloperPreview,
7
- getRichTextValidation,
8
- sshPublicKeyValidationSchema,
9
- pullSecretValidationSchema,
10
- getFormikErrorFields,
11
- } from '../../../../common';
12
- import { Split, SplitItem, Grid, GridItem, Form, Content, Checkbox } from '@patternfly/react-core';
13
- import { useClusterWizardContext } from '../ClusterWizardContext';
14
- import ClusterWizardFooter from '../ClusterWizardFooter';
15
- import ClusterWizardNavigation from '../ClusterWizardNavigation';
16
- import { WithErrorBoundary } from '../../../../common/components/ErrorHandling/WithErrorBoundary';
17
- import UploadSSH from '../../../../common/components/clusterConfiguration/UploadSSH';
18
- import PullSecretField from '../../../../common/components/ui/formik/PullSecretField';
19
- import { isInOcm, handleApiError, getApiErrorMessage } from '../../../../common/api';
20
- import { useAlerts } from '../../../../common/components/AlertsContextProvider';
21
- import { AlertVariant } from '@patternfly/react-core';
22
- import InfraEnvsService from '../../../services/InfraEnvsService';
23
- import { InfraEnvsAPI } from '../../../services/apis';
24
- import usePullSecret from '../../../hooks/usePullSecret';
25
- import { useParams } from 'react-router-dom-v5-compat';
26
- import ClustersService from '../../../services/ClustersService';
27
-
28
- type OptionalConfigurationsFormValues = {
29
- sshPublicKey?: string;
30
- pullSecret?: string;
31
- };
32
-
33
- const PullSecretSync: React.FC<{ pullSecret?: string }> = ({ pullSecret }) => {
34
- const { setFieldValue } = useFormikContext<OptionalConfigurationsFormValues>();
35
-
36
- React.useEffect(() => {
37
- if (pullSecret !== undefined) {
38
- setFieldValue('pullSecret', pullSecret);
39
- }
40
- }, [pullSecret, setFieldValue]);
41
-
42
- return null;
43
- };
44
-
45
- const OptionalConfigurationsStep = () => {
46
- const pullSecret = usePullSecret() || '';
47
- const { clusterId } = useParams<{ clusterId: string }>();
48
- const [cluster, setCluster] = React.useState<{ id: string } | null>(null);
49
-
50
- const { moveNext, moveBack, setDisconnectedInfraEnv, disconnectedInfraEnv } =
51
- useClusterWizardContext();
52
- const { addAlert } = useAlerts();
53
- const [editPullSecret, setEditPullSecret] = React.useState(false);
54
-
55
- React.useEffect(() => {
56
- const fetchCluster = async () => {
57
- if (!clusterId) {
58
- return;
59
- }
60
- try {
61
- const fetchedCluster = await ClustersService.get(clusterId);
62
- setCluster(fetchedCluster);
63
- } catch (error) {
64
- handleApiError(error, () => {
65
- addAlert({
66
- title: 'Failed to fetch cluster',
67
- message: getApiErrorMessage(error),
68
- variant: AlertVariant.danger,
69
- });
70
- });
71
- }
72
- };
73
- void fetchCluster();
74
- }, [clusterId, addAlert]);
75
-
76
- const validationSchema = React.useMemo(
77
- () =>
78
- Yup.object<OptionalConfigurationsFormValues>().shape({
79
- sshPublicKey: sshPublicKeyValidationSchema,
80
- pullSecret: pullSecretValidationSchema,
81
- }),
82
- [],
83
- );
84
-
85
- const initialValues: OptionalConfigurationsFormValues = {
86
- sshPublicKey: '',
87
- pullSecret: pullSecret,
88
- };
89
-
90
- return (
91
- <Formik
92
- initialValues={initialValues}
93
- validate={getRichTextValidation<OptionalConfigurationsFormValues>(validationSchema)}
94
- onSubmit={async (values) => {
95
- if (!cluster || !cluster.id) {
96
- addAlert({
97
- title: 'Missing cluster',
98
- message: 'Cluster must be created before configuring infrastructure environment',
99
- variant: AlertVariant.danger,
100
- });
101
- return;
102
- }
103
-
104
- try {
105
- // Check if infraEnv already exists
106
- if (disconnectedInfraEnv && disconnectedInfraEnv.id) {
107
- // Update existing infraEnv
108
- const updateParams = {
109
- pullSecret: values.pullSecret || pullSecret,
110
- ...(values.sshPublicKey && { sshAuthorizedKey: values.sshPublicKey }),
111
- };
112
- const { data: updatedInfraEnv } = await InfraEnvsAPI.update(
113
- disconnectedInfraEnv.id,
114
- updateParams,
115
- );
116
- setDisconnectedInfraEnv(updatedInfraEnv);
117
- moveNext();
118
- } else {
119
- // Create infraEnv with all params
120
- const createParams = {
121
- name: `disconnected-cluster_infra-env`,
122
- pullSecret: values.pullSecret || pullSecret,
123
- clusterId: cluster.id,
124
- openshiftVersion: '4.19',
125
- cpuArchitecture: 'x86_64' as const,
126
- ...(values.sshPublicKey && { sshAuthorizedKey: values.sshPublicKey }),
127
- };
128
- const createdInfraEnv = await InfraEnvsService.create(createParams);
129
- setDisconnectedInfraEnv(createdInfraEnv);
130
- moveNext();
131
- }
132
- } catch (error) {
133
- handleApiError(error, () => {
134
- addAlert({
135
- title:
136
- disconnectedInfraEnv && disconnectedInfraEnv.id
137
- ? 'Failed to update infrastructure environment'
138
- : 'Failed to create infrastructure environment',
139
- message: getApiErrorMessage(error),
140
- variant: AlertVariant.danger,
141
- });
142
- });
143
- }
144
- }}
145
- >
146
- {({ submitForm, isValid, errors, touched, isSubmitting }) => {
147
- const errorFields = getFormikErrorFields(errors, touched);
148
- const handleNext = () => {
149
- void submitForm(); // This will trigger onSubmit
150
- };
151
-
152
- return (
153
- <ClusterWizardStep
154
- navigation={<ClusterWizardNavigation />}
155
- footer={
156
- <ClusterWizardFooter
157
- disconnectedClusterId={clusterId}
158
- onNext={handleNext} // Changed from moveNext
159
- onBack={moveBack}
160
- isNextDisabled={!isValid}
161
- errorFields={errorFields}
162
- isSubmitting={isSubmitting}
163
- />
164
- }
165
- >
166
- <WithErrorBoundary title="Failed to load Optional Configurations step">
167
- <PullSecretSync pullSecret={pullSecret} />
168
- <Grid hasGutter>
169
- <GridItem>
170
- <Split>
171
- <SplitItem>
172
- <Content component="h2">Optional configurations</Content>
173
- </SplitItem>
174
- <SplitItem>
175
- <DeveloperPreview />
176
- </SplitItem>
177
- </Split>
178
- </GridItem>
179
- <GridItem>
180
- <Form id="wizard-cluster-optional-configurations__form">
181
- <UploadSSH />
182
- <Checkbox
183
- label="Edit pull secret"
184
- isChecked={editPullSecret}
185
- onChange={(_, checked) => setEditPullSecret(checked)}
186
- id="edit-pull-secret-checkbox"
187
- />
188
- {(editPullSecret || !pullSecret) && <PullSecretField isOcm={isInOcm} />}
189
- </Form>
190
- </GridItem>
191
- </Grid>
192
- </WithErrorBoundary>
193
- </ClusterWizardStep>
194
- );
195
- }}
196
- </Formik>
197
- );
198
- };
199
-
200
- export default OptionalConfigurationsStep;