'use strict'; const BaseComponent = require(__dirname + '/../../components/base.js'); const DomainUtil = require(__dirname + '/../../utils/domain-util.js'); class NewServerForm extends BaseComponent { constructor(props) { super(); this.props = props; } template() { return `
Url
Label
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.$newServerUrl = this.$newServerForm.querySelectorAll('input.server-info-value')[0]; this.$newServerAlias = this.$newServerForm.querySelectorAll('input.server-info-value')[1]; this.$newServerIcon = this.$newServerForm.querySelectorAll('input.server-info-value')[2]; } initActions() { this.$saveServerButton.addEventListener('click', () => { const newServerConf = { alias: this.$newServerAlias.value, url: this.$newServerUrl.value, icon: this.$newServerIcon.value }; DomainUtil.checkDomain(newServerConf).then(serverConf => { DomainUtil.addDomain(serverConf).then(() => { this.props.onChange(this.props.index); }); }, errorMessage => { alert(errorMessage); }); }); } } module.exports = NewServerForm;