aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/components/controls/SimpleModal.tsx
diff options
context:
space:
mode:
authorGrégoire Aubert <gregoire.aubert@sonarsource.com>2024-02-20 09:34:09 +0100
committersonartech <sonartech@sonarsource.com>2024-02-20 20:02:38 +0000
commit9b925e5931796a04867eb9c524e67fae9da2671a (patch)
treefac07eb88558a647d7794d3ab1628bb4b1bf16c2 /server/sonar-web/src/main/js/components/controls/SimpleModal.tsx
parent04c6c92cc775134fc3208ae404e4f36fa9ccb490 (diff)
downloadsonarqube-9b925e5931796a04867eb9c524e67fae9da2671a.tar.gz
sonarqube-9b925e5931796a04867eb9c524e67fae9da2671a.zip
SONAR-19032 MIUI cleanup part 1 (#10627)
Co-authored-by: David Cho-Lerat <david.cho-lerat@sonarsource.com> Co-authored-by: Jeremy Davis <jeremy.davis@sonarsource.com>
Diffstat (limited to 'server/sonar-web/src/main/js/components/controls/SimpleModal.tsx')
-rw-r--r--server/sonar-web/src/main/js/components/controls/SimpleModal.tsx101
1 files changed, 0 insertions, 101 deletions
diff --git a/server/sonar-web/src/main/js/components/controls/SimpleModal.tsx b/server/sonar-web/src/main/js/components/controls/SimpleModal.tsx
deleted file mode 100644
index 1d3a408b2bc..00000000000
--- a/server/sonar-web/src/main/js/components/controls/SimpleModal.tsx
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2024 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as React from 'react';
-import Modal, { ModalProps } from './Modal';
-
-export interface ChildrenProps {
- onCloseClick: (event?: React.SyntheticEvent<HTMLElement>) => void;
- onFormSubmit: (event: React.SyntheticEvent<HTMLFormElement>) => void;
- onSubmitClick: (event?: React.SyntheticEvent<HTMLElement>) => void;
- submitting: boolean;
-}
-
-interface Props extends Omit<ModalProps, 'children'> {
- children: (props: ChildrenProps) => React.ReactNode;
- header: string;
- onClose: () => void;
- onSubmit: () => void | Promise<void | Response>;
-}
-
-interface State {
- submitting: boolean;
-}
-
-export default class SimpleModal extends React.Component<Props, State> {
- mounted = false;
- state: State = { submitting: false };
-
- componentDidMount() {
- this.mounted = true;
- }
-
- componentWillUnmount() {
- this.mounted = false;
- }
-
- stopSubmitting = () => {
- if (this.mounted) {
- this.setState({ submitting: false });
- }
- };
-
- handleCloseClick = (event?: React.SyntheticEvent<HTMLElement>) => {
- if (event) {
- event.preventDefault();
- event.currentTarget.blur();
- }
- this.props.onClose();
- };
-
- handleFormSubmit = (event: React.SyntheticEvent<HTMLFormElement>) => {
- event.preventDefault();
- this.submit();
- };
-
- handleSubmitClick = (event?: React.SyntheticEvent<HTMLElement>) => {
- if (event) {
- event.preventDefault();
- event.currentTarget.blur();
- }
- this.submit();
- };
-
- submit = () => {
- const result = this.props.onSubmit();
- if (result) {
- this.setState({ submitting: true });
- result.then(this.stopSubmitting, this.stopSubmitting);
- }
- };
-
- render() {
- const { children, header, onClose, onSubmit, ...modalProps } = this.props;
- return (
- <Modal contentLabel={header} onRequestClose={onClose} {...modalProps}>
- {children({
- onCloseClick: this.handleCloseClick,
- onFormSubmit: this.handleFormSubmit,
- onSubmitClick: this.handleSubmitClick,
- submitting: this.state.submitting,
- })}
- </Modal>
- );
- }
-}