mirror of
https://github.com/olcubo/obsidian-cubox.git
synced 2026-07-22 05:43:25 +00:00
feat: make filter default value unselected
This commit is contained in:
parent
cb93d701bd
commit
eddc81c2cf
7 changed files with 19 additions and 33 deletions
|
|
@ -3,7 +3,7 @@
|
|||
"name": "Cubox",
|
||||
"version": "1.0.3",
|
||||
"minAppVersion": "0.15.0",
|
||||
"description": "Sync your Cubox articles & annotation",
|
||||
"description": "Sync your Cubox articles & annotations",
|
||||
"author": "delphi-2015",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
|
|
@ -57,13 +57,13 @@ export interface CuboxSyncSettings {
|
|||
export const DEFAULT_SETTINGS: CuboxSyncSettings = {
|
||||
domain: '',
|
||||
apiKey: '',
|
||||
folderFilter: [ALL_FOLDERS_ID],
|
||||
typeFilter: ALL_CONTENT_TYPES,
|
||||
statusFilter: [ALL_STATUS_ID],
|
||||
folderFilter: [],
|
||||
typeFilter: [],
|
||||
statusFilter: [],
|
||||
isRead: true,
|
||||
isStarred: true,
|
||||
isAnnotated: true,
|
||||
tagsFilter: [ALL_ITEMS],
|
||||
tagsFilter: [],
|
||||
syncFrequency: 30, // 分钟
|
||||
targetFolder: 'Cubox',
|
||||
filenameTemplate: '{{{title}}}-{{{create_time}}}',
|
||||
|
|
@ -474,7 +474,6 @@ export class CuboxSyncSettingTab extends PluginSettingTab {
|
|||
// 状态部分
|
||||
new Setting(containerEl).setName('Status').setHeading();
|
||||
new Setting(containerEl).setDesc(`Last sync: ${this.plugin.formatLastSyncTime()}`);
|
||||
//containerEl.createEl('p', {text: `Last sync: ${this.plugin.formatLastSyncTime()}`});
|
||||
|
||||
// 初始化帮助链接
|
||||
setTimeout(() => {
|
||||
|
|
@ -570,7 +569,7 @@ export class CuboxSyncSettingTab extends PluginSettingTab {
|
|||
private getFolderFilterButtonText(): string {
|
||||
const folderFilters = this.plugin.settings.folderFilter;
|
||||
if (!folderFilters || folderFilters.length === 0) {
|
||||
return 'Manage';
|
||||
return 'Select...';
|
||||
} else if (folderFilters.includes(ALL_FOLDERS_ID)) {
|
||||
return 'All folders';
|
||||
} else {
|
||||
|
|
@ -581,7 +580,7 @@ export class CuboxSyncSettingTab extends PluginSettingTab {
|
|||
private getTypeFilterButtonText(): string {
|
||||
const typeFilters = this.plugin.settings.typeFilter;
|
||||
if (!typeFilters || typeFilters.length === 0) {
|
||||
return 'Manage';
|
||||
return 'Select...';
|
||||
} else if (typeFilters.length === ALL_CONTENT_TYPES.length) {
|
||||
return 'All types';
|
||||
} else {
|
||||
|
|
@ -592,7 +591,7 @@ export class CuboxSyncSettingTab extends PluginSettingTab {
|
|||
private getStatusFilterButtonText(): string {
|
||||
const statusFilters = this.plugin.settings.statusFilter;
|
||||
if (!statusFilters || statusFilters.length === 0) {
|
||||
return 'Manage';
|
||||
return 'Select...';
|
||||
} else if (statusFilters.includes('all')) {
|
||||
return 'All items';
|
||||
} else {
|
||||
|
|
@ -603,7 +602,7 @@ export class CuboxSyncSettingTab extends PluginSettingTab {
|
|||
private getTagFilterButtonText(): string {
|
||||
const tagFilters = this.plugin.settings.tagsFilter;
|
||||
if (!tagFilters || tagFilters.length === 0) {
|
||||
return 'Manage';
|
||||
return 'Select...';
|
||||
} else if (tagFilters.includes(ALL_ITEMS)) {
|
||||
return 'All items';
|
||||
} else if (tagFilters.includes('')) {
|
||||
|
|
|
|||
|
|
@ -82,6 +82,12 @@ export default class CuboxSyncPlugin extends Plugin {
|
|||
return;
|
||||
}
|
||||
|
||||
// Check if filters are configured
|
||||
if (this.settings.folderFilter.length === 0 || this.settings.typeFilter.length === 0 || this.settings.statusFilter.length === 0 || this.settings.tagsFilter.length === 0) {
|
||||
new Notice('Please select the filter first');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// 设置同步状态为进行中
|
||||
this.settings.syncing = true;
|
||||
|
|
@ -221,7 +227,7 @@ export default class CuboxSyncPlugin extends Plugin {
|
|||
|
||||
formatLastSyncTime(): string {
|
||||
if (!this.settings.lastSyncTime) {
|
||||
return 'Never';
|
||||
return 'never';
|
||||
}
|
||||
|
||||
return formatDateTime(new Date(this.settings.lastSyncTime).toISOString(), 'yyyy-MM-dd HH:mm');
|
||||
|
|
|
|||
|
|
@ -24,9 +24,6 @@ export class FolderSelectModal extends Modal {
|
|||
initialSelectedFolders.forEach(id => {
|
||||
if (id) this.selectedFolders.add(id);
|
||||
});
|
||||
} else {
|
||||
// 如果没有初始选择,默认选中"All Items"
|
||||
this.selectedFolders.add(ALL_FOLDERS_ID);
|
||||
}
|
||||
|
||||
this.onConfirm = onConfirm;
|
||||
|
|
|
|||
|
|
@ -40,8 +40,6 @@ export class StatusSelectModal extends Modal {
|
|||
initialSelected.forEach(id => {
|
||||
if (id) this.selectedStatuses.add(id);
|
||||
});
|
||||
} else {
|
||||
this.selectedStatuses.add(ALL_STATUS_ID);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -128,10 +126,10 @@ export class StatusSelectModal extends Modal {
|
|||
this.selectedStatuses.clear();
|
||||
this.selectedStatuses.add(ALL_STATUS_ID);
|
||||
|
||||
// 当选择 All 时,所有状态值设为 true
|
||||
// 当选择 All 时,所有状态值设为 false
|
||||
this.statuses.forEach(status => {
|
||||
if (status.id !== 'all') {
|
||||
this.statusValues.set(status.id, true);
|
||||
this.statusValues.set(status.id, false);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
|
@ -143,16 +141,10 @@ export class StatusSelectModal extends Modal {
|
|||
// 如果选择了其他选项,移除"All Items"
|
||||
this.selectedStatuses.delete(ALL_STATUS_ID);
|
||||
this.selectedStatuses.add(statusId);
|
||||
|
||||
this.statuses.forEach(status => {
|
||||
if (status.id !== 'all') {
|
||||
this.statusValues.set(status.id, status.id === statusId);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.selectedStatuses.delete(statusId);
|
||||
this.statusValues.set(statusId, false);
|
||||
}
|
||||
this.statusValues.set(statusId, isSelected);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,9 +25,6 @@ export class TagSelectModal extends Modal {
|
|||
initialSelectedTags.forEach(id => {
|
||||
this.selectedTags.add(id);
|
||||
});
|
||||
} else {
|
||||
// 如果没有初始选择,默认选中"All Items"
|
||||
this.selectedTags.add(ALL_ITEMS);
|
||||
}
|
||||
|
||||
this.onConfirm = onConfirm;
|
||||
|
|
|
|||
|
|
@ -26,11 +26,6 @@ export class TypeSelectModal extends Modal {
|
|||
initialSelected.forEach(id => {
|
||||
if (id) this.selectedTypes.add(id);
|
||||
});
|
||||
} else {
|
||||
// 如果没有初始选择,默认选中所有类型
|
||||
ALL_CONTENT_TYPES.forEach(type => {
|
||||
this.selectedTypes.add(type);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue