mirror of
https://github.com/esphome/esphome.git
synced 2024-12-23 16:47:57 +01:00
parent
57bee74225
commit
7c31592850
@ -530,8 +530,11 @@ class EditRequestHandler(BaseHandler):
|
||||
@authenticated
|
||||
@bind_config
|
||||
def get(self, configuration=None):
|
||||
filename = settings.rel_path(configuration)
|
||||
content = ''
|
||||
if os.path.isfile(filename):
|
||||
# pylint: disable=no-value-for-parameter
|
||||
with open(settings.rel_path(configuration), 'r') as f:
|
||||
with open(filename, 'r') as f:
|
||||
content = f.read()
|
||||
self.write(content)
|
||||
|
||||
|
@ -574,6 +574,7 @@ const editModalElem = document.getElementById("modal-editor");
|
||||
const editorElem = editModalElem.querySelector("#editor");
|
||||
const editor = ace.edit(editorElem);
|
||||
let activeEditorConfig = null;
|
||||
let activeEditorSecrets = false;
|
||||
let aceWs = null;
|
||||
let aceValidationScheduled = false;
|
||||
let aceValidationRunning = false;
|
||||
@ -685,7 +686,7 @@ editor.commands.addCommand({
|
||||
});
|
||||
|
||||
editor.session.on('change', debounce(() => {
|
||||
aceValidationScheduled = true;
|
||||
aceValidationScheduled = !activeEditorSecrets;
|
||||
}, 250));
|
||||
|
||||
setInterval(() => {
|
||||
@ -708,9 +709,13 @@ editorUploadButton.addEventListener('click', saveEditor);
|
||||
document.querySelectorAll(".action-edit").forEach((btn) => {
|
||||
btn.addEventListener('click', (e) => {
|
||||
activeEditorConfig = e.target.getAttribute('data-node');
|
||||
activeEditorSecrets = activeEditorConfig === 'secrets.yaml';
|
||||
const modalInstance = M.Modal.getInstance(editModalElem);
|
||||
const filenameField = editModalElem.querySelector('.filename');
|
||||
editorUploadButton.setAttribute('data-node', activeEditorConfig);
|
||||
if (activeEditorSecrets) {
|
||||
editorUploadButton.classList.add('disabled');
|
||||
}
|
||||
filenameField.innerHTML = activeEditorConfig;
|
||||
|
||||
editor.setValue("Loading configuration yaml...");
|
||||
|
@ -38,8 +38,8 @@
|
||||
</div>
|
||||
|
||||
<ul id="dropdown-nav-actions" class="select-action dropdown-content card-dropdown-action">
|
||||
<li><a id="update-all-button" class="modal-close waves-effect waves-green btn-flat"
|
||||
data-node="{{ escape(config_dir) }}">Update All</a></li>
|
||||
<li><a id="update-all-button" data-node="{{ escape(config_dir) }}">Update All</a></li>
|
||||
<li><a id="secrets-button" class="action-edit" data-node="secrets.yaml">Secrets</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user