@@ -84,7 +84,7 @@ export default class Selector extends Component<PropsType, StateType> {
return (
<NewOption
onClick={() => {
- this.context.setCurrentModal("NamespaceModal");
+ this.context.setCurrentModal("NamespaceModal", this.props.options);
}}
>
<Plus>+</Plus>
@@ -128,7 +128,16 @@ export const NamespaceList: React.FunctionComponent = () => {
<NamespaceListWrapper>
<ControlRow>
- <Button onClick={() => setCurrentModal("NamespaceModal")}>
+ <Button
+ onClick={() =>
+ setCurrentModal(
+ "NamespaceModal",
+ namespaces.map((namespace) => ({
+ value: namespace.metadata.name,
+ }))
+ )
+ }
+ >
<i className="material-icons">add</i> Add namespace
</Button>
</ControlRow>
@@ -32,6 +32,19 @@ export default class NamespaceModal extends Component<PropsType, StateType> {
return;
}
+ const namespaceExists = this.context.currentModalData?.find(
+ (namespace: any) => {
+ return namespace?.value === this.state.namespaceName;
+ );
+
+ if (namespaceExists) {
+ this.setState({
+ status: "Namespace already exist, choose another name",
+ });
+ return;
api
.createNamespace(
"<token>",