frontend/src/components/RegistryWizard/steps/RegistrySmtp.vue (69 lines of code) (raw):

<script setup lang="ts"> import { inject } from 'vue'; interface WizardTemplateVariables { model: { MailServerType: string; }, smtpConfig: unknown; } const templateVariables = inject('TEMPLATE_VARIABLES') as WizardTemplateVariables; </script> <script lang="ts"> import { defineComponent } from 'vue'; export default defineComponent({ data() { return { pageRoot: this.$parent?.$parent as any, }; }, }); </script> <template> <h2>Вибір поштового серверу</h2> <div class="rc-form-group"> <label for="smtp-server-type">Поштовий сервер</label> <input type="hidden" ref="smtpServerTypeSelected" :value="templateVariables.model?.MailServerType" /> <input type="hidden" ref="smtpEditConfig" :value="templateVariables.smtpConfig" /> <select v-model="pageRoot.$data.smtpServerType" id="smtp-server-type" name="smtp-server-type"> <option :selected="templateVariables.model?.MailServerType === 'platform-mail-server'" value="platform-mail-server">Платформенний поштовий сервер</option> <option :selected="templateVariables.model?.MailServerType === 'external-mail-server'" value="external-mail-server">Зовнішній поштовий сервер</option> </select> </div> <div v-cloak v-if="pageRoot.$data.smtpServerType == 'platform-mail-server'"> <p>Налаштування підключення до платформенного поштового серверу</p> <div class="rc-form-group"> <label for="ms-opts">Поштова адреса реєстру</label> <input readonly type="text" id="ms-opts" name="mail-server-opts" value="<registry_name>@<registry.platform-domain>" /> </div> </div> <div v-cloak v-if="pageRoot.$data.smtpServerType == 'external-mail-server'"> <p>Налаштування SMTP-підключення до зовнішнього поштового серверу</p> <input type="hidden" name="mail-server-opts" :value="pageRoot.$data.mailServerOpts" /> <div class="rc-form-group" :class="{'error': pageRoot.$data.externalSMTPOpts.host == '' && pageRoot.$data.wizard.tabs.mail.beginValidation}"> <label for="smtp-host">Хост</label> <input v-model="pageRoot.$data.externalSMTPOpts.host" id="smtp-host" /> <span v-if="pageRoot.$data.externalSMTPOpts.host == '' && pageRoot.$data.wizard.tabs.mail.beginValidation">Обов’язкове поле</span> </div> <div class="rc-form-group" :class="{'error': pageRoot.$data.externalSMTPOpts.port == '' && pageRoot.$data.wizard.tabs.mail.beginValidation}"> <label for="smtp-port">Порт</label> <input id="smtp-port" v-model="pageRoot.$data.externalSMTPOpts.port" /> <span v-if="pageRoot.$data.externalSMTPOpts.port == '' && pageRoot.$data.wizard.tabs.mail.beginValidation">Обов’язкове поле</span> </div> <div class="rc-form-group" :class="{'error': pageRoot.$data.externalSMTPOpts.address == '' && pageRoot.$data.wizard.tabs.mail.beginValidation}"> <label for="smtp-address">Поштова адреса</label> <input id="smtp-address" v-model="pageRoot.$data.externalSMTPOpts.address" /> <span v-if="pageRoot.$data.externalSMTPOpts.address == '' && pageRoot.$data.wizard.tabs.mail.beginValidation">Обов’язкове поле</span> </div> <div class="rc-form-group" :class="{'error': pageRoot.$data.externalSMTPOpts.password == '' && pageRoot.$data.wizard.tabs.mail.beginValidation}"> <label for="smtp-password">Пароль</label> <input placeholder="******" type="password" id="smtp-password" v-model="pageRoot.$data.externalSMTPOpts.password" /> <span v-if="pageRoot.$data.externalSMTPOpts.password == '' && pageRoot.$data.wizard.tabs.mail.beginValidation">Обов’язкове поле</span> </div> </div> <br /> </template>