Make ServerName optional.

This commit is contained in:
Zhongyi Tong
2017-07-28 00:06:28 +08:00
parent 53c91e890a
commit c413a65f07
4 changed files with 22 additions and 22 deletions

View File

@@ -17,12 +17,12 @@ class NewServerForm extends BaseComponent {
</div> </div>
<div class="server-info-right"> <div class="server-info-right">
<div class="server-info-row"> <div class="server-info-row">
<span class="server-info-key">Name</span> <span class="server-info-key">Url</span>
<input class="server-info-value" placeholder="(Required)"/> <input class="server-info-value" placeholder="(Required)"/>
</div> </div>
<div class="server-info-row"> <div class="server-info-row">
<span class="server-info-key">Url</span> <span class="server-info-key">Label</span>
<input class="server-info-value" placeholder="(Required)"/> <input class="server-info-value" placeholder="(Optional)"/>
</div> </div>
<div class="server-info-row"> <div class="server-info-row">
<span class="server-info-key">Icon</span> <span class="server-info-key">Icon</span>
@@ -51,8 +51,8 @@ class NewServerForm extends BaseComponent {
this.props.$root.innerHTML = ''; this.props.$root.innerHTML = '';
this.props.$root.appendChild(this.$newServerForm); this.props.$root.appendChild(this.$newServerForm);
this.$newServerAlias = this.$newServerForm.querySelectorAll('input.server-info-value')[0]; this.$newServerUrl = this.$newServerForm.querySelectorAll('input.server-info-value')[0];
this.$newServerUrl = this.$newServerForm.querySelectorAll('input.server-info-value')[1]; this.$newServerAlias = this.$newServerForm.querySelectorAll('input.server-info-value')[1];
this.$newServerIcon = this.$newServerForm.querySelectorAll('input.server-info-value')[2]; this.$newServerIcon = this.$newServerForm.querySelectorAll('input.server-info-value')[2];
} }

View File

@@ -17,14 +17,14 @@ class ServerInfoForm extends BaseComponent {
<img class="server-info-icon" src="${this.props.server.icon}"/> <img class="server-info-icon" src="${this.props.server.icon}"/>
</div> </div>
<div class="server-info-right"> <div class="server-info-right">
<div class="server-info-row">
<span class="server-info-key">Name</span>
<input class="server-info-value" disabled value="${this.props.server.alias}"/>
</div>
<div class="server-info-row"> <div class="server-info-row">
<span class="server-info-key">Url</span> <span class="server-info-key">Url</span>
<input class="server-info-value" disabled value="${this.props.server.url}"/> <input class="server-info-value" disabled value="${this.props.server.url}"/>
</div> </div>
<div class="server-info-row">
<span class="server-info-key">Label</span>
<input class="server-info-value" disabled value="${this.props.server.alias}"/>
</div>
<div class="server-info-row"> <div class="server-info-row">
<span class="server-info-key">Icon</span> <span class="server-info-key">Icon</span>
<input class="server-info-value" disabled value="${this.props.server.icon}"/> <input class="server-info-value" disabled value="${this.props.server.icon}"/>

View File

@@ -92,11 +92,11 @@ class DomainUtil {
]; ];
if (!error && response.statusCode !== 404) { if (!error && response.statusCode !== 404) {
// Correct // Correct
this.getServerSettings(domain).then((serverSettings) => { this.getServerSettings(domain, server).then(serverSettings => {
resolve(serverSettings); resolve(serverSettings);
}, () => { }, () => {
resolve(server); resolve(server);
}) });
} else if (certsError.indexOf(error.toString()) >= 0) { } else if (certsError.indexOf(error.toString()) >= 0) {
dialog.showMessageBox({ dialog.showMessageBox({
type: 'question', type: 'question',
@@ -105,11 +105,11 @@ class DomainUtil {
message: `Do you trust certificate from ${domain}? \n ${error}` message: `Do you trust certificate from ${domain}? \n ${error}`
}, response => { }, response => {
if (response === 0) { if (response === 0) {
this.getServerSettings(domain).then((serverSettings) => { this.getServerSettings(domain, server).then(serverSettings => {
resolve(serverSettings); resolve(serverSettings);
}, () => { }, () => {
resolve(server); resolve(server);
}) });
} else { } else {
reject('Untrusted Certificate.'); reject('Untrusted Certificate.');
} }
@@ -121,19 +121,18 @@ class DomainUtil {
}); });
} }
getServerSettings(domain) { getServerSettings(domain, server) {
const serverSettingsUrl = domain + '/api/v1/server_settings'; const serverSettingsUrl = domain + '/api/v1/server_settings';
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
request(serverSettingsUrl, (error, response) => { request(serverSettingsUrl, (error, response) => {
if (!error && response.statusCode == 200) { if (!error && response.statusCode === 200) {
const data = JSON.parse(response.body); const data = JSON.parse(response.body);
if (data.hasOwnProperty('realm_icon') && data.realm_icon) { if (data.hasOwnProperty('realm_icon') && data.realm_icon) {
const server = { resolve({
icon: data.realm_uri + data.realm_icon, icon: (server.icon === defaultIconUrl) ? data.realm_uri + data.realm_icon : defaultIconUrl,
url: data.realm_uri, url: data.realm_uri,
alias: data.realm_name alias: server.alias || data.realm_name
} });
resolve(server);
} }
} else { } else {
reject('Zulip server version < 1.6.'); reject('Zulip server version < 1.6.');
@@ -151,7 +150,7 @@ class DomainUtil {
} }
return new Promise(resolve => { return new Promise(resolve => {
const filePath = `${dir}/${new Date().getMilliseconds()}${path.extname(url).split("?")[0]}`; const filePath = `${dir}/${new Date().getMilliseconds()}${path.extname(url).split('?')[0]}`;
const file = fs.createWriteStream(filePath); const file = fs.createWriteStream(filePath);
try { try {
request(url).on('response', response => { request(url).on('response', response => {

View File

@@ -129,7 +129,8 @@
"guard-for-in": 0, "guard-for-in": 0,
"prefer-promise-reject-errors": 0, "prefer-promise-reject-errors": 0,
"import/no-unresolved": 0, "import/no-unresolved": 0,
"import/no-extraneous-dependencies": 0 "import/no-extraneous-dependencies": 0,
"no-prototype-builtins": 0
} }
} }
], ],