forké depuis antekov/mt5-manager
{% extends "base.html" %}
| |
<!-- settings.html, version 0.10.0 -->
| |
{% block title %}Настройки — MT5 Manager{% endblock %}
| |
{% block content %}
| |
<header class="page-heading">
| |
<div><h1>Настройки</h1><p class="page-description">Размещение терминалов, исходные файлы и торговые счета</p></div>
| |
</header>
| |
<div id="operation-message" role="status" aria-live="polite" class="notice is-hidden"></div>
| |
<section class="panel">
| |
<header class="panel-heading"><span class="section-icon"><svg class="icon"><use href="#icon-folder"/></svg></span><div><h2>Размещение терминалов</h2><p>Папки на сервере, где работает менеджер</p></div></header>
| |
<form id="settings-form">
| |
<div class="panel-body">
| |
<div class="form-grid">
| |
<div class="field-full">
| |
<label class="field" for="mt5-folder"><span>Базовая папка терминалов <svg id="base-folder-lock" class="icon is-hidden" aria-hidden="true" viewBox="0 0 24 24"><rect x="5" y="10" width="14" height="11" rx="2"/><path d="M8 10V7a4 4 0 0 1 8 0v3"/></svg></span><input id="mt5-folder" name="mt5_folder" required aria-describedby="base-folder-help"></label>
| |
<p id="base-folder-help" class="field-help">Все экземпляры находятся в подпапках по своим именам. При смене базовой папки менеджер предложит перенести их в новое место, предварительно остановив запущенные терминалы.</p>
| |
</div>
| |
<div class="field-full">
| |
<label class="field" for="terminal-template"><span>Папка исходной установки MT5</span><input id="terminal-template" name="terminal_template" placeholder="Например, C:\Programs\MetaTrader 5" required aria-describedby="source-folder-help source-files-status"></label>
| |
<p id="source-folder-help" class="field-help">Из этой папки берутся terminal64.exe и MetaEditor64.exe для новых экземпляров. Она может находиться вне базовой папки терминалов. После изменения пути сохраните настройки.</p>
| |
<p id="source-files-status" class="field-help source-files-status" role="status">Проверяем наличие файлов…</p>
| |
<details id="source-files-upload" class="form-section source-files-upload is-hidden">
| |
<summary><svg class="icon disclosure-icon"><use href="#icon-chevron"/></svg><span>Загрузить недостающие файлы</span></summary>
| |
<div class="form-section-body">
| |
<p class="field-help">Выбранные EXE будут сохранены в указанную папку исходной установки.</p>
| |
<div id="template-files" class="file-list"></div>
| |
</div>
| |
</details>
| |
</div>
| |
</div>
| |
<details class="form-section advanced-settings">
| |
<summary><svg class="icon disclosure-icon"><use href="#icon-chevron"/></svg><span>Дополнительные параметры<span class="summary-hint">Ожидание и свободное место</span></span></summary>
| |
<div class="form-section-body form-grid">
| |
<label class="field" for="startup-timeout"><span>Максимальное время ожидания, с</span><input id="startup-timeout" name="startup_timeout_sec" type="number" min="10" max="900" required></label>
| |
<label class="field" for="disk-warning"><span>Предупреждать при запасе меньше, МиБ</span><input id="disk-warning" name="disk_warning_mb" type="number" min="0" required></label>
| |
</div>
| |
</details>
| |
</div>
| |
<footer class="panel-footer"><span class="field-help">Перенос папок выполняется только после подтверждения.</span><button class="button button-primary" type="submit">Сохранить настройки</button></footer>
| |
</form>
| |
</section>
| |
<section class="account-section">
| |
<header class="section-heading"><div><h2>Торговые счета</h2><p>Подключение и сохранённые реквизиты каждого экземпляра</p></div><span id="account-count" class="subtle-count"></span></header>
| |
<div id="account-list" class="account-list"></div>
| |
</section>
| |
<section class="panel project-panel" aria-labelledby="project-heading">
| |
<header class="panel-heading"><span class="section-icon"><svg class="icon"><use href="#icon-upload"/></svg></span><div><h2 id="project-heading">Обновление проекта и сервиса</h2><p>Проверка Git, сборка и распространение по установленным терминалам</p></div></header>
| |
<div class="panel-body">
| |
<div class="project-update-grid">
| |
<div><h3>Репозиторий</h3><p id="project-git-status" class="field-help" role="status">Проверяем локальное состояние…</p><p id="project-git-help" class="field-help"></p></div>
| |
<div><h3>Сервис терминалов</h3><p id="project-service-status" class="field-help" role="status">Проверяем сборку…</p><p class="field-help">Собирается исходник текущего проекта через MetaEditor из исходной установки, затем EX5 копируется во все экземпляры из конфигурации. Запущенные терминалы потребуется перезапустить.</p></div>
| |
</div>
| |
<p class="field-help">Развёртывание также восстанавливает запись автозапуска ServiceStateWriter в services.ini. Если её нужно изменить, сначала остановите терминал. Настройки других сервисов сохраняются.</p>
| |
<p id="project-feedback" class="notice is-hidden" role="status" aria-live="polite"></p>
| |
</div>
| |
<footer class="panel-footer project-actions"><button class="button button-secondary" id="project-check" type="button" disabled>Проверить обновления</button><button class="button button-primary is-hidden" id="project-update" type="button">Загрузить обновление</button><button class="button button-soft" id="project-deploy" type="button" disabled>Собрать и разложить сервис</button></footer>
| |
</section>
| |
<dialog id="move-terminals-dialog" class="modal-dialog" aria-labelledby="move-terminals-title">
| |
<header class="modal-header"><h2 id="move-terminals-title">Перенести терминалы?</h2></header>
| |
<div class="modal-body">
| |
<p id="move-description"></p>
| |
<p class="field-help">Из папки: <strong id="move-source"></strong></p>
| |
<p class="field-help">В папку: <strong id="move-target"></strong></p>
| |
<p id="move-running" class="field-help"></p>
| |
<p id="move-missing" class="field-help"></p>
| |
<p class="field-help">При отмене базовая папка и остальные настройки останутся прежними. Другие файлы в папке назначения не меняются.</p>
| |
</div>
| |
<footer class="modal-footer"><button type="button" class="button button-secondary" data-dialog-close autofocus>Отмена</button><button type="button" id="move-terminals-confirm" class="button button-primary">Перенести</button></footer>
| |
</dialog>
| |
<dialog id="delete-instance-dialog" class="modal-dialog" aria-labelledby="delete-instance-title">
| |
<header class="modal-header"><h2 id="delete-instance-title">Удалить экземпляр?</h2></header>
| |
<div class="modal-body">
| |
<p>Будет удалён экземпляр <strong id="delete-instance-name"></strong>.</p>
| |
<p id="delete-instance-path" class="field-help"></p>
| |
<p class="field-help">Папка со всеми программами, настройками, историей и журналами будет удалена вместе с записью в конфигурации менеджера. Отменить это действие нельзя.</p>
| |
<p id="delete-instance-feedback" class="notice is-hidden" role="status" aria-live="polite"></p>
| |
</div>
| |
<footer class="modal-footer"><button type="button" class="button button-secondary" data-dialog-close autofocus>Отмена</button><button type="button" id="delete-instance-confirm" class="button button-danger">Удалить экземпляр</button></footer>
| |
</dialog>
| |
{% endblock %}
| |
{% block scripts %}<script src="/static/settings.js?v=0.9.0"></script>{% endblock %}
|