1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-18 09:35:20 +02:00
joplin/packages/app-desktop/gui/WindowCommandsAndDialogs/commands/toggleNotesSortOrderField.ts

28 lines
1.0 KiB
TypeScript
Raw Normal View History

import { CommandContext, CommandDeclaration, CommandRuntime } from '@joplin/lib/services/CommandService';
import { setNotesSortOrder } from '../../../services/sortOrder/notesSortOrderUtils';
import { _ } from '@joplin/lib/locale';
export const declaration: CommandDeclaration = {
name: 'toggleNotesSortOrderField',
label: () => _('Toggle sort order field'),
parentLabel: () => _('Notes'),
};
export const runtime = (): CommandRuntime => {
return {
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
execute: async (_context: CommandContext, field?: string | any[], reverse?: boolean) => {
// field: Sort order's field. undefined means switching a field.
// reverse: whether the sort order is reversed or not. undefined means toggling.
//
// To support CommandService.scheduleExecute(), field accepts an size-two Array,
// which means [field, reverse].
if (typeof field !== 'object') {
setNotesSortOrder(field, reverse);
} else {
setNotesSortOrder(field[0], field[1]);
}
},
};
};