diff options
Diffstat (limited to 'src/features/workspaces/components/WorkspacesDashboard.js')
-rw-r--r-- | src/features/workspaces/components/WorkspacesDashboard.js | 38 |
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 | ||
37 | const styles = () => ({ | 41 | const 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 |