aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/workspaces/components/WorkspacesDashboard.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/features/workspaces/components/WorkspacesDashboard.js')
-rw-r--r--src/features/workspaces/components/WorkspacesDashboard.js38
1 files changed, 35 insertions, 3 deletions
diff --git a/src/features/workspaces/components/WorkspacesDashboard.js b/src/features/workspaces/components/WorkspacesDashboard.js
index 3db38aff4..b31581a5b 100644
--- a/src/features/workspaces/components/WorkspacesDashboard.js
+++ b/src/features/workspaces/components/WorkspacesDashboard.js
@@ -32,6 +32,10 @@ const messages = defineMessages({
32 id: 'settings.workspaces.updatedInfo', 32 id: 'settings.workspaces.updatedInfo',
33 defaultMessage: '!!!Your changes have been saved', 33 defaultMessage: '!!!Your changes have been saved',
34 }, 34 },
35 deletedInfo: {
36 id: 'settings.workspaces.deletedInfo',
37 defaultMessage: '!!!Workspace has been deleted',
38 },
35}); 39});
36 40
37const styles = () => ({ 41const styles = () => ({
@@ -49,6 +53,8 @@ class WorkspacesDashboard extends Component {
49 static propTypes = { 53 static propTypes = {
50 classes: PropTypes.object.isRequired, 54 classes: PropTypes.object.isRequired,
51 getUserWorkspacesRequest: PropTypes.instanceOf(Request).isRequired, 55 getUserWorkspacesRequest: PropTypes.instanceOf(Request).isRequired,
56 createWorkspaceRequest: PropTypes.instanceOf(Request).isRequired,
57 deleteWorkspaceRequest: PropTypes.instanceOf(Request).isRequired,
52 updateWorkspaceRequest: PropTypes.instanceOf(Request).isRequired, 58 updateWorkspaceRequest: PropTypes.instanceOf(Request).isRequired,
53 onCreateWorkspaceSubmit: PropTypes.func.isRequired, 59 onCreateWorkspaceSubmit: PropTypes.func.isRequired,
54 onWorkspaceClick: PropTypes.func.isRequired, 60 onWorkspaceClick: PropTypes.func.isRequired,
@@ -63,38 +69,63 @@ class WorkspacesDashboard extends Component {
63 const { 69 const {
64 classes, 70 classes,
65 getUserWorkspacesRequest, 71 getUserWorkspacesRequest,
72 createWorkspaceRequest,
73 deleteWorkspaceRequest,
66 updateWorkspaceRequest, 74 updateWorkspaceRequest,
67 onCreateWorkspaceSubmit, 75 onCreateWorkspaceSubmit,
68 onWorkspaceClick, 76 onWorkspaceClick,
69 workspaces, 77 workspaces,
70 } = this.props; 78 } = this.props;
71 const { intl } = this.context; 79 const { intl } = this.context;
80 console.log(deleteWorkspaceRequest.result);
72 return ( 81 return (
73 <div className="settings__main"> 82 <div className="settings__main">
74 <div className="settings__header"> 83 <div className="settings__header">
75 <h1>{intl.formatMessage(messages.headline)}</h1> 84 <h1>{intl.formatMessage(messages.headline)}</h1>
76 </div> 85 </div>
77 <div className="settings__body"> 86 <div className="settings__body">
87
88 {/* ===== Workspace updated info ===== */}
78 {updateWorkspaceRequest.wasExecuted && updateWorkspaceRequest.result && ( 89 {updateWorkspaceRequest.wasExecuted && updateWorkspaceRequest.result && (
79 <Appear className={classes.appear}> 90 <Appear className={classes.appear}>
80 <Infobox 91 <Infobox
81 type="success" 92 type="success"
82 icon="checkbox-marked-circle-outline" 93 icon="mdiCheckboxMarkedCircleOutline"
83 dismissable 94 dismissable
84 onDismiss={updateWorkspaceRequest.reset}
85 onUnmount={updateWorkspaceRequest.reset} 95 onUnmount={updateWorkspaceRequest.reset}
86 > 96 >
87 {intl.formatMessage(messages.updatedInfo)} 97 {intl.formatMessage(messages.updatedInfo)}
88 </Infobox> 98 </Infobox>
89 </Appear> 99 </Appear>
90 )} 100 )}
101
102 {/* ===== Workspace deleted info ===== */}
103 {deleteWorkspaceRequest.wasExecuted && deleteWorkspaceRequest.result && (
104 <Appear className={classes.appear}>
105 <Infobox
106 type="success"
107 icon="mdiCheckboxMarkedCircleOutline"
108 dismissable
109 onUnmount={deleteWorkspaceRequest.reset}
110 >
111 {intl.formatMessage(messages.deletedInfo)}
112 </Infobox>
113 </Appear>
114 )}
115
116 {/* ===== Create workspace form ===== */}
91 <div className={classes.createForm}> 117 <div className={classes.createForm}>
92 <CreateWorkspaceForm onSubmit={onCreateWorkspaceSubmit} /> 118 <CreateWorkspaceForm
119 isSubmitting={createWorkspaceRequest.isExecuting}
120 onSubmit={onCreateWorkspaceSubmit}
121 />
93 </div> 122 </div>
123
94 {getUserWorkspacesRequest.isExecuting ? ( 124 {getUserWorkspacesRequest.isExecuting ? (
95 <Loader /> 125 <Loader />
96 ) : ( 126 ) : (
97 <Fragment> 127 <Fragment>
128 {/* ===== Workspace could not be loaded error ===== */}
98 {getUserWorkspacesRequest.error ? ( 129 {getUserWorkspacesRequest.error ? (
99 <Infobox 130 <Infobox
100 icon="alert" 131 icon="alert"
@@ -107,6 +138,7 @@ class WorkspacesDashboard extends Component {
107 </Infobox> 138 </Infobox>
108 ) : ( 139 ) : (
109 <table className="workspace-table"> 140 <table className="workspace-table">
141 {/* ===== Workspaces list ===== */}
110 <tbody> 142 <tbody>
111 {workspaces.map(workspace => ( 143 {workspaces.map(workspace => (
112 <WorkspaceItem 144 <WorkspaceItem