[MM-61144][MM-60704] Show badges and allow Edit Server modal for permissions for pre-defined servers (#3175)
This commit is contained in:
@@ -171,7 +171,9 @@ export class ServerViewState {
|
||||
mainWindow);
|
||||
|
||||
modalPromise.then((data) => {
|
||||
if (!server.isPredefined) {
|
||||
ServerManager.editServer(id, data.server);
|
||||
}
|
||||
PermissionsManager.setForServer(server, data.permissions);
|
||||
}).catch((e) => {
|
||||
// e is undefined for user cancellation
|
||||
|
@@ -313,6 +313,13 @@ class NewServerModal extends React.PureComponent<Props, State> {
|
||||
};
|
||||
|
||||
save = () => {
|
||||
if (this.props.editMode && this.props.server?.isPredefined) {
|
||||
this.setState({
|
||||
saveStarted: true,
|
||||
}, () => {
|
||||
this.props.onSave?.(this.props.server!, this.state.permissions);
|
||||
});
|
||||
} else {
|
||||
if (!this.state.validationResult) {
|
||||
return;
|
||||
}
|
||||
@@ -330,6 +337,7 @@ class NewServerModal extends React.PureComponent<Props, State> {
|
||||
id: this.state.serverId,
|
||||
}, this.state.permissions);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
getSaveButtonLabel() {
|
||||
@@ -413,6 +421,8 @@ class NewServerModal extends React.PureComponent<Props, State> {
|
||||
</Modal.Header>
|
||||
|
||||
<Modal.Body>
|
||||
{!(this.props.editMode && this.props.server?.isPredefined) &&
|
||||
<>
|
||||
<form>
|
||||
<FormGroup>
|
||||
<FormLabel>
|
||||
@@ -480,6 +490,8 @@ class NewServerModal extends React.PureComponent<Props, State> {
|
||||
{this.getServerNameMessage()}
|
||||
{this.getServerURLMessage()}
|
||||
</div>
|
||||
</>
|
||||
}
|
||||
{this.props.editMode &&
|
||||
<>
|
||||
<hr/>
|
||||
|
@@ -209,9 +209,6 @@ class ServerDropdown extends React.PureComponent<Record<string, never>, State> {
|
||||
};
|
||||
|
||||
editServer = (serverId: string) => {
|
||||
if (this.serverIsPredefined(serverId)) {
|
||||
return () => {};
|
||||
}
|
||||
return (event: React.MouseEvent<HTMLButtonElement>) => {
|
||||
event.stopPropagation();
|
||||
window.desktop.serverDropdown.showEditServerModal(serverId);
|
||||
@@ -333,23 +330,25 @@ class ServerDropdown extends React.PureComponent<Record<string, never>, State> {
|
||||
{this.isActiveServer(server) ? <i className='icon-check'/> : <i className='icon-server-variant'/>}
|
||||
<span>{server.name}</span>
|
||||
</div>
|
||||
{!server.isPredefined && <div className='ServerDropdown__indicators'>
|
||||
<div className='ServerDropdown__indicators'>
|
||||
<button
|
||||
className='ServerDropdown__button-edit'
|
||||
onClick={this.editServer(server.id!)}
|
||||
>
|
||||
<i className='icon-pencil-outline'/>
|
||||
</button>
|
||||
{!server.isPredefined &&
|
||||
<button
|
||||
className='ServerDropdown__button-remove'
|
||||
onClick={this.removeServer(server.id!)}
|
||||
>
|
||||
<i className='icon-trash-can-outline'/>
|
||||
</button>
|
||||
}
|
||||
{badgeDiv && <div className='ServerDropdown__badge'>
|
||||
{badgeDiv}
|
||||
</div>}
|
||||
</div>}
|
||||
</div>
|
||||
</button>
|
||||
)}
|
||||
</Draggable>
|
||||
|
Reference in New Issue
Block a user