fix button
parent
3a8f8e246d
commit
27eb79f91f
|
|
@ -351,6 +351,32 @@
|
||||||
.export-import-container button {
|
.export-import-container button {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
#add-record-button {
|
||||||
|
display: block;
|
||||||
|
margin: 20px auto;
|
||||||
|
width: 250px;
|
||||||
|
height: 60px;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #fff;
|
||||||
|
background: linear-gradient(90deg, #4facfe 0%, #00f2fe 100%);
|
||||||
|
border: none;
|
||||||
|
border-radius: 30px;
|
||||||
|
cursor: pointer;
|
||||||
|
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
#add-record-button:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
|
||||||
|
background: linear-gradient(90deg, #3d9afe 0%, #00d4fe 100%);
|
||||||
|
}
|
||||||
|
#add-record-button.dark-theme {
|
||||||
|
background: linear-gradient(90deg, #2a6eb4 0%, #1e90ff 100%);
|
||||||
|
}
|
||||||
|
#add-record-button.dark-theme:hover {
|
||||||
|
background: linear-gradient(90deg, #1e5ea4 0%, #1c7ed6 100%);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
@ -379,7 +405,7 @@
|
||||||
<option value="">Все папки</option>
|
<option value="">Все папки</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<button onclick="openAddModal()">Добавить запись</button>
|
<button id="add-record-button" onclick="openAddModal()">Добавить запись</button>
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div onclick="sortInstalls('computer_name')">Имя компьютера<span class="sort-arrow"></span></div>
|
<div onclick="sortInstalls('computer_name')">Имя компьютера<span class="sort-arrow"></span></div>
|
||||||
<div onclick="sortInstalls('rust_id')">ID подключения<span class="sort-arrow"></span></div>
|
<div onclick="sortInstalls('rust_id')">ID подключения<span class="sort-arrow"></span></div>
|
||||||
|
|
@ -468,7 +494,7 @@
|
||||||
document.getElementById('import-label').classList.add('dark-theme');
|
document.getElementById('import-label').classList.add('dark-theme');
|
||||||
document.getElementById('splitter').classList.add('dark-theme');
|
document.getElementById('splitter').classList.add('dark-theme');
|
||||||
document.querySelector('.theme-toggle').classList.add('dark-theme');
|
document.querySelector('.theme-toggle').classList.add('dark-theme');
|
||||||
document.querySelector('.theme-toggle').textContent = 'Светлая тема';
|
document.querySelector('#add-record-button').classList.add('dark-theme');
|
||||||
document.querySelectorAll('.install-item').forEach(item => item.classList.add('dark-theme'));
|
document.querySelectorAll('.install-item').forEach(item => item.classList.add('dark-theme'));
|
||||||
document.querySelector('.header').classList.add('dark-theme');
|
document.querySelector('.header').classList.add('dark-theme');
|
||||||
$('#folder-tree').addClass('jstree-default-dark');
|
$('#folder-tree').addClass('jstree-default-dark');
|
||||||
|
|
@ -532,6 +558,7 @@
|
||||||
$('.install-item').removeClass('selected');
|
$('.install-item').removeClass('selected');
|
||||||
$(items[currentIndex]).addClass('selected');
|
$(items[currentIndex]).addClass('selected');
|
||||||
updateNotesPanel();
|
updateNotesPanel();
|
||||||
|
$(items[currentIndex])[0].scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -546,6 +573,7 @@
|
||||||
const importLabel = document.getElementById('import-label');
|
const importLabel = document.getElementById('import-label');
|
||||||
const splitter = document.getElementById('splitter');
|
const splitter = document.getElementById('splitter');
|
||||||
const themeToggle = document.querySelector('.theme-toggle');
|
const themeToggle = document.querySelector('.theme-toggle');
|
||||||
|
const addRecordButton = document.getElementById('add-record-button');
|
||||||
const header = document.querySelector('.header');
|
const header = document.querySelector('.header');
|
||||||
const installItems = document.querySelectorAll('.install-item');
|
const installItems = document.querySelectorAll('.install-item');
|
||||||
const folderTree = $('#folder-tree');
|
const folderTree = $('#folder-tree');
|
||||||
|
|
@ -561,6 +589,7 @@
|
||||||
importLabel.classList.remove('dark-theme');
|
importLabel.classList.remove('dark-theme');
|
||||||
splitter.classList.remove('dark-theme');
|
splitter.classList.remove('dark-theme');
|
||||||
themeToggle.classList.remove('dark-theme');
|
themeToggle.classList.remove('dark-theme');
|
||||||
|
addRecordButton.classList.remove('dark-theme');
|
||||||
header.classList.remove('dark-theme');
|
header.classList.remove('dark-theme');
|
||||||
installItems.forEach(item => item.classList.remove('dark-theme'));
|
installItems.forEach(item => item.classList.remove('dark-theme'));
|
||||||
folderTree.removeClass('jstree-default-dark');
|
folderTree.removeClass('jstree-default-dark');
|
||||||
|
|
@ -577,6 +606,7 @@
|
||||||
importLabel.classList.add('dark-theme');
|
importLabel.classList.add('dark-theme');
|
||||||
splitter.classList.add('dark-theme');
|
splitter.classList.add('dark-theme');
|
||||||
themeToggle.classList.add('dark-theme');
|
themeToggle.classList.add('dark-theme');
|
||||||
|
addRecordButton.classList.add('dark-theme');
|
||||||
header.classList.add('dark-theme');
|
header.classList.add('dark-theme');
|
||||||
installItems.forEach(item => item.classList.add('dark-theme'));
|
installItems.forEach(item => item.classList.add('dark-theme'));
|
||||||
folderTree.addClass('jstree-default-dark');
|
folderTree.addClass('jstree-default-dark');
|
||||||
|
|
@ -706,6 +736,11 @@
|
||||||
let filtered = folderId ? data.filter(i => i.folder_id == folderId && i.folder_id !== null) : data;
|
let filtered = folderId ? data.filter(i => i.folder_id == folderId && i.folder_id !== null) : data;
|
||||||
displayInstalls(filtered);
|
displayInstalls(filtered);
|
||||||
updateNotesPanel();
|
updateNotesPanel();
|
||||||
|
// Восстанавливаем выделение после перерендера
|
||||||
|
if (selectedInstallId) {
|
||||||
|
const items = $('#installs-list .install-item');
|
||||||
|
$(`#installs-list .install-item[data-id="${selectedInstallId}"]`).addClass('selected');
|
||||||
|
}
|
||||||
}).fail(function(jqxhr, textStatus, error) {
|
}).fail(function(jqxhr, textStatus, error) {
|
||||||
console.error("Error loading installs:", textStatus, error);
|
console.error("Error loading installs:", textStatus, error);
|
||||||
$('#installs-list').html('<p>Ошибка загрузки данных. Проверьте консоль.</p>');
|
$('#installs-list').html('<p>Ошибка загрузки данных. Проверьте консоль.</p>');
|
||||||
|
|
@ -754,6 +789,10 @@
|
||||||
`).join(''));
|
`).join(''));
|
||||||
}
|
}
|
||||||
updateSortArrows();
|
updateSortArrows();
|
||||||
|
// Восстанавливаем выделение после перерендера
|
||||||
|
if (selectedInstallId) {
|
||||||
|
$(`#installs-list .install-item[data-id="${selectedInstallId}"]`).addClass('selected');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectInstall(installId, rustId, protocol) {
|
function selectInstall(installId, rustId, protocol) {
|
||||||
|
|
@ -1079,6 +1118,7 @@
|
||||||
const note = $('#note-textarea').val() || '';
|
const note = $('#note-textarea').val() || '';
|
||||||
const install = allInstalls.find(i => i.id === selectedInstallId);
|
const install = allInstalls.find(i => i.id === selectedInstallId);
|
||||||
if (install) {
|
if (install) {
|
||||||
|
const currentSelectedId = selectedInstallId; // Сохраняем текущий selectedInstallId
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: `${API_URL}/install/${selectedInstallId}`,
|
url: `${API_URL}/install/${selectedInstallId}`,
|
||||||
type: 'PUT',
|
type: 'PUT',
|
||||||
|
|
@ -1093,8 +1133,13 @@
|
||||||
}),
|
}),
|
||||||
success: function () {
|
success: function () {
|
||||||
console.log('Note saved successfully');
|
console.log('Note saved successfully');
|
||||||
loadInstalls(selectedFolderId);
|
loadInstalls(selectedFolderId); // Перезагружаем список
|
||||||
closeNoteModal();
|
selectedInstallId = currentSelectedId; // Восстанавливаем selectedInstallId
|
||||||
|
closeNoteModal(); // Закрываем модальное окно
|
||||||
|
// Восстанавливаем выделение
|
||||||
|
const items = $('#installs-list .install-item');
|
||||||
|
$(`#installs-list .install-item[data-id="${selectedInstallId}"]`).addClass('selected');
|
||||||
|
updateNotesPanel();
|
||||||
},
|
},
|
||||||
error: function (xhr, status, error) {
|
error: function (xhr, status, error) {
|
||||||
console.error("Ошибка сохранения заметки:", status, error);
|
console.error("Ошибка сохранения заметки:", status, error);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue