diff --git a/static/css/components/multiSelect.css b/static/css/components/multiSelect.css index 87961bff..ed54c193 100644 --- a/static/css/components/multiSelect.css +++ b/static/css/components/multiSelect.css @@ -42,6 +42,9 @@ padding: 10px 20px; border-radius: 12px; overflow: hidden; + margin-right: 12px; + height: 60px; + transform: translateY(-8px); transition: opacity 0.2s, max-height 0.25s, diff --git a/static/js/app/state.js b/static/js/app/state.js index 0fd2575a..3911e264 100644 --- a/static/js/app/state.js +++ b/static/js/app/state.js @@ -12,7 +12,6 @@ export const app = { contextMenuTargetFile: null, selectedTargetFolderId: '', moveDialogMode: 'file', - currentSection: null, // will be defined on first call isSearchMode: false, shareDialogItem: null, diff --git a/static/js/app/ui.js b/static/js/app/ui.js index aecad705..1c3e7f83 100644 --- a/static/js/app/ui.js +++ b/static/js/app/ui.js @@ -1309,9 +1309,6 @@ const ui = { filesList.classList.remove('hidden'); filesContainerError?.classList.add('hidden'); - - // apply hook as header changed - multiSelect.init(); }, showEmptyList() { diff --git a/static/js/features/files/multiSelect.js b/static/js/features/files/multiSelect.js index 5dc1a7a1..a3a4a56a 100644 --- a/static/js/features/files/multiSelect.js +++ b/static/js/features/files/multiSelect.js @@ -256,7 +256,7 @@ const multiSelect = { // Sync individual item checkboxes this._syncItemCheckboxes(); // Sync select-all checkbox state (for non-selection-mode) - if (!this._barVisible) this._syncSelectAllCheckbox(); + this._syncSelectAllCheckbox(); }, /** Wire click handlers on batch action buttons (idempotent per render) */ diff --git a/static/js/features/library/favorites.js b/static/js/features/library/favorites.js index 579e8a43..43fe53be 100644 --- a/static/js/features/library/favorites.js +++ b/static/js/features/library/favorites.js @@ -9,6 +9,7 @@ import { ui } from '../../app/ui.js'; import { getCsrfHeaders } from '../../core/csrf.js'; import { i18n } from '../../core/i18n.js'; +import { multiSelect } from '../files/multiSelect.js'; const favorites = { /** @type {Map} key = "file:" | "folder:" */ @@ -172,6 +173,10 @@ const favorites = { } ui.resetFilesList(); // ensure also list visible & error hidden + // wire buttons & select-all-checkbox as list header has changed in ui.resetFilesList() + // FIXME: this case is not easy to understand, should apply better implementation + multiSelect.init(); + ui.updateBreadcrumb(''); if (this._cache.size === 0) {