diff --git a/src/assets/styles/components/_web-ide.scss b/src/assets/styles/components/_web-ide.scss
index 6d8148dd0..f4473d66b 100644
--- a/src/assets/styles/components/_web-ide.scss
+++ b/src/assets/styles/components/_web-ide.scss
@@ -164,14 +164,6 @@
background: rgb(26, 26, 26);
}
- /*
- .root {
- display: grid;
- grid-template-columns: 150px minmax(0px, auto);
- height: 100%;
- }
- */
- // background: transparent !important;
}
.file-menu,
@@ -296,6 +288,22 @@
}
.web-ide {
+ .button-with-loader {
+ min-width: 105px;
+
+ &.loading {
+ color: transparent;
+ }
+
+ .button-with-loader-icon {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ }
+
+ }
.cancel-button {
margin-left: 10px;
}
diff --git a/src/components/shared/ButtonWithLoader.js b/src/components/shared/ButtonWithLoader.js
new file mode 100644
index 000000000..0fbe714bc
--- /dev/null
+++ b/src/components/shared/ButtonWithLoader.js
@@ -0,0 +1,40 @@
+import React, { useState } from 'react';
+import cn from 'classnames';
+
+export default function ButtonWithLoader({ className, onClick, disabled, children }) {
+
+ const [ loading, setLoading ] = useState(false);
+
+ return (
+
+ );
+}
+
+
diff --git a/src/components/shared/webide/index.js b/src/components/shared/webide/index.js
index c382bc1c1..09d050be6 100644
--- a/src/components/shared/webide/index.js
+++ b/src/components/shared/webide/index.js
@@ -88,7 +88,7 @@ function WebIDE({
}
async function addProjectFolder(newFolderName) {
- onAddProjectFolder(newFolderName, selectedFolder)
+ await onAddProjectFolder(newFolderName, selectedFolder)
// go back to prev window
updateActiveEditorWindow(previousActiveEditorWindow, activeEditorWindow);
}
@@ -384,8 +384,8 @@ function WebIDE({
active={ activeEditorWindow === EDITOR_WINDOWS.DELETE_FILE_WINDOW }
selectedFile={ selectedFile }
onConfirm={
- () => {
- onDeleteFile(selectedFile);
+ async () => {
+ await onDeleteFile(selectedFile);
setSelectedFile(null);
setSelectedFolder(null);
updateActiveEditorWindow(EDITOR_WINDOWS.DEFAULT_WINDOW, activeEditorWindow);
diff --git a/src/components/shared/webide/windows/DeleteFileWindow.js b/src/components/shared/webide/windows/DeleteFileWindow.js
index 54219e960..ebec03b17 100644
--- a/src/components/shared/webide/windows/DeleteFileWindow.js
+++ b/src/components/shared/webide/windows/DeleteFileWindow.js
@@ -1,5 +1,6 @@
-import React from 'react';
+import React, { useState } from 'react';
import { Card, CardTitle, CardBody } from 'reactstrap';
+import ButtonWithLoader from '../../ButtonWithLoader';
export default function DeleteFileWindow({ active, selectedFile, onConfirm, onCancel }) {
@@ -10,14 +11,24 @@ export default function DeleteFileWindow({ active, selectedFile, onConfirm, onCa
const {project} = selectedFile;
const filepath = selectedFile.path.split(`/${project}/`)[1];
+
return (
Are you sure you want to delete file {filepath} from project { project } ?
Are you sure you want to delete package { packageName } ?
- +