From 366371be6206966d6b7c9475e1a2c039a62206c0 Mon Sep 17 00:00:00 2001
From: Sandro Weber <webers@in.tum.de>
Date: Mon, 3 May 2021 18:02:10 +0200
Subject: [PATCH] auto sync button disabling and better button layout

---
 .../experiment-files-viewer.css                   |  1 +
 .../experiment-files-viewer.js                    | 15 ++++++++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/components/experiment-files-viewer/experiment-files-viewer.css b/src/components/experiment-files-viewer/experiment-files-viewer.css
index 8147cd0..6469a06 100644
--- a/src/components/experiment-files-viewer/experiment-files-viewer.css
+++ b/src/components/experiment-files-viewer/experiment-files-viewer.css
@@ -84,6 +84,7 @@
 
 .experiment-li-buttons {
     justify-self: flex-end;
+    min-width: 76px;
 }
   
 .experiment-files {
diff --git a/src/components/experiment-files-viewer/experiment-files-viewer.js b/src/components/experiment-files-viewer/experiment-files-viewer.js
index 8687613..222c160 100644
--- a/src/components/experiment-files-viewer/experiment-files-viewer.js
+++ b/src/components/experiment-files-viewer/experiment-files-viewer.js
@@ -174,7 +174,8 @@ export default class ExperimentFilesViewer extends React.Component {
                       {experiment.configuration.name}
                       <div className='experiment-li-buttons'>
                         <button className='nrp-btn'
-                          disabled={!RemoteExperimentFilesService.instance.localSyncDirectoryHandle}
+                          disabled={!RemoteExperimentFilesService.instance.localSyncDirectoryHandle
+                            || RemoteExperimentFilesService.instance.autoSync}
                           onClick={() => {
                             RemoteExperimentFilesService.instance.downloadExperimentToLocalFS(experiment);
                           }}
@@ -184,7 +185,8 @@ export default class ExperimentFilesViewer extends React.Component {
                         </button>
                         <button className='nrp-btn'
                           disabled={!experimentServerFiles
-                            || !RemoteExperimentFilesService.instance.mapFileInfos.has(experiment.uuid)}
+                            || !RemoteExperimentFilesService.instance.mapFileInfos.has(experiment.uuid)
+                            || RemoteExperimentFilesService.instance.autoSync}
                           onClick={() => {
                             RemoteExperimentFilesService.instance.uploadExperimentFromLocalFS(experiment);
                           }}
@@ -205,19 +207,22 @@ export default class ExperimentFilesViewer extends React.Component {
                 <div>Experiment Files</div>
                 <div className='grid-element-header-buttons'>
                   <button className='nrp-btn' title='Download selected'
-                    disabled={!this.state.selectedFilepaths || this.state.selectedFilepaths.length === 0}
+                    disabled={!this.state.selectedFilepaths || this.state.selectedFilepaths.length === 0
+                      || RemoteExperimentFilesService.instance.autoSync}
                     onClick={() =>
                       RemoteExperimentFilesService.instance.downloadExperimentFileList(this.state.selectedFilepaths)}>
                     <FaDownload />
                   </button>
                   <button className='nrp-btn' title='Upload selected'
-                    disabled={!this.state.selectedFilepaths || this.state.selectedFilepaths.length === 0}
+                    disabled={!this.state.selectedFilepaths || this.state.selectedFilepaths.length === 0
+                      || RemoteExperimentFilesService.instance.autoSync}
                     onClick={() =>
                       RemoteExperimentFilesService.instance.uploadExperimentFileList(this.state.selectedFilepaths)}>
                     <FaUpload />
                   </button>
                   <button className='nrp-btn' title='Delete selected'
-                    disabled={!this.state.selectedFilepaths || this.state.selectedFilepaths.length === 0}
+                    disabled={!this.state.selectedFilepaths || this.state.selectedFilepaths.length === 0
+                      || RemoteExperimentFilesService.instance.autoSync}
                     onClick={() =>
                       RemoteExperimentFilesService.instance.deleteExperimentFileList(this.state.selectedFilepaths)}>
                     <FaTrash />
-- 
GitLab