mirror of
https://github.com/olehomelchenko/astrolabe.git
synced 2025-12-21 21:22:25 +00:00
refactor: streamline snippet saving logic and button creation in UIManager
This commit is contained in:
@@ -51,29 +51,29 @@ export class UIManager {
|
||||
const buttonsDiv = document.createElement('div');
|
||||
buttonsDiv.className = 'snippet-buttons';
|
||||
|
||||
const editButton = document.createElement('button');
|
||||
editButton.className = 'edit-snippet';
|
||||
editButton.innerHTML = '✏️';
|
||||
editButton.onclick = (e) => {
|
||||
buttonsDiv.appendChild(this.createButton('✏️', 'edit-snippet', (e) => {
|
||||
e.stopPropagation();
|
||||
this.snippetManager.renameSnippet(snippet.id);
|
||||
};
|
||||
buttonsDiv.appendChild(editButton);
|
||||
}));
|
||||
|
||||
const deleteButton = document.createElement('button');
|
||||
deleteButton.className = 'delete-snippet';
|
||||
deleteButton.innerHTML = '❌';
|
||||
deleteButton.onclick = (e) => {
|
||||
buttonsDiv.appendChild(this.createButton('❌', 'delete-snippet', (e) => {
|
||||
e.stopPropagation();
|
||||
this.snippetManager.deleteSnippet(snippet.id);
|
||||
};
|
||||
buttonsDiv.appendChild(deleteButton);
|
||||
}));
|
||||
|
||||
div.appendChild(buttonsDiv);
|
||||
container.appendChild(div);
|
||||
});
|
||||
}
|
||||
|
||||
createButton(innerHTML, className, onClick) {
|
||||
const button = document.createElement('button');
|
||||
button.className = className;
|
||||
button.innerHTML = innerHTML;
|
||||
button.onclick = onClick;
|
||||
return button;
|
||||
}
|
||||
|
||||
updateSaveButton(hasUnsavedChanges) {
|
||||
const saveButton = document.getElementById('save-snippet');
|
||||
saveButton.disabled = !hasUnsavedChanges;
|
||||
|
||||
Reference in New Issue
Block a user