mirror of
https://github.com/devonthesofa/obsidian-note-status.git
synced 2026-07-22 12:30:24 +00:00
fix: collpasable fixed; hide unknown
This commit is contained in:
parent
c5f56ab328
commit
cb15bf8631
2 changed files with 27 additions and 16 deletions
39
main.ts
39
main.ts
|
|
@ -265,14 +265,19 @@ class StatusPaneView extends View {
|
|||
|
||||
titleEl.addEventListener('click', (e) => {
|
||||
e.preventDefault();
|
||||
groupEl.toggleClass('is-collapsed');
|
||||
this.plugin.settings.collapsedStatuses[status] = groupEl.hasClass('is-collapsed');
|
||||
const isCurrentlyCollapsed = groupEl.hasClass('is-collapsed');
|
||||
|
||||
// Update the collapse icon
|
||||
collapseContainer.innerHTML = groupEl.hasClass('is-collapsed')
|
||||
? ICONS.collapseRight
|
||||
: ICONS.collapseDown;
|
||||
// Toggle the collapsed state
|
||||
if (isCurrentlyCollapsed) {
|
||||
groupEl.removeClass('is-collapsed');
|
||||
collapseContainer.innerHTML = ICONS.collapseDown;
|
||||
} else {
|
||||
groupEl.addClass('is-collapsed');
|
||||
collapseContainer.innerHTML = ICONS.collapseRight;
|
||||
}
|
||||
|
||||
// Update the settings
|
||||
this.plugin.settings.collapsedStatuses[status] = !isCurrentlyCollapsed;
|
||||
this.plugin.saveSettings();
|
||||
});
|
||||
|
||||
|
|
@ -614,7 +619,7 @@ export default class NoteStatus extends Plugin {
|
|||
const menu = new Menu();
|
||||
|
||||
this.settings.customStatuses
|
||||
.filter(status => status.name !== 'unknown')
|
||||
.filter(status => status.name !== 'unknown') // Exclude 'unknown' status
|
||||
.forEach(status => {
|
||||
menu.addItem((item) =>
|
||||
item
|
||||
|
|
@ -956,20 +961,22 @@ export default class NoteStatus extends Plugin {
|
|||
// Add select element
|
||||
const select = this.statusDropdownContainer.createEl('select', { cls: 'note-status-select dropdown' });
|
||||
|
||||
// Add status options
|
||||
this.settings.customStatuses.forEach(status => {
|
||||
const option = select.createEl('option', {
|
||||
text: `${status.name} ${status.icon}`,
|
||||
value: status.name
|
||||
});
|
||||
// Add status options (excluding 'unknown')
|
||||
this.settings.customStatuses
|
||||
.filter(status => status.name !== 'unknown') // Exclude 'unknown' status
|
||||
.forEach(status => {
|
||||
const option = select.createEl('option', {
|
||||
text: `${status.name} ${status.icon}`,
|
||||
value: status.name
|
||||
});
|
||||
|
||||
if (status.name === this.currentStatus) option.selected = true;
|
||||
});
|
||||
if (status.name === this.currentStatus) option.selected = true;
|
||||
});
|
||||
|
||||
// Add change event listener
|
||||
select.addEventListener('change', async (e) => {
|
||||
const newStatus = (e.target as HTMLSelectElement).value;
|
||||
if (newStatus !== 'unknown') await this.updateNoteStatus(newStatus);
|
||||
await this.updateNoteStatus(newStatus);
|
||||
});
|
||||
|
||||
// Add hide button
|
||||
|
|
|
|||
|
|
@ -153,6 +153,7 @@
|
|||
align-items: center;
|
||||
color: var(--text-muted);
|
||||
transition: transform var(--status-transition-time) ease;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.is-collapsed .collapse-indicator {
|
||||
|
|
@ -164,6 +165,9 @@
|
|||
padding: var(--size-4-1);
|
||||
background: var(--background-primary);
|
||||
}
|
||||
.status-group.nav-folder.is-collapsed .nav-folder-children {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav-file {
|
||||
border-radius: var(--status-border-radius);
|
||||
|
|
|
|||
Loading…
Reference in a new issue