'use strict'; const {ipcRenderer} = require('electron'); const BaseComponent = require(__dirname + '/../../components/base.js'); const DomainUtil = require(__dirname + '/../../utils/domain-util.js'); const Nav = require(__dirname + '/nav.js'); class NewServerForm extends BaseComponent{ constructor(props) { super(); this.props = props; } template() { return `
Name
Url
Icon
check_box Save
`; } init() { this.initForm(); this.initActions(); } initForm() { this.$newServerForm = this.generateNodeFromTemplate(this.template()); this.$saveServerButton = this.$newServerForm.getElementsByClassName('server-save-action')[0]; this.props.$root.innerHTML = ''; 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')[1]; this.$newServerIcon = this.$newServerForm.querySelectorAll('input.server-info-value')[2]; } initActions() { this.$saveServerButton.addEventListener('click', () => { DomainUtil.checkDomain(this.$newServerUrl.value).then(domain => { const server = { alias: this.$newServerAlias.value, url: domain, icon: this.$newServerIcon.value }; DomainUtil.addDomain(server); this.props.onChange(this.props.index); }, errorMessage => { alert(errorMessage); }); }); } } module.exports = NewServerForm;