mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-30 00:29:46 +08:00
0f5778ac89
fix #13663 #### PR Dependency Tree * **PR #14984** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Calendar view for database blocks (month layout, entry cards, external-source support) * Workspace calendar integration and new slash-menu "Calendar View" * **Improvements** * Create/manage database rows from calendar UI; preserve durations when moving/resizing ranges * Drag-and-drop, drop-preview, and hit-testing support for calendar and docs * Redesigned in-menu View settings with multi-page navigation * Context-menu input autofocus toggle and conditional back-navigation * **Tests** * New unit and E2E suites covering calendar layout, interactions, sources, and slash-menu integration <!-- end of auto-generated comment: release notes by coderabbit.ai -->
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { createViewConvert } from '../core/view/convert.js';
|
|
import { calendarViewModel } from './calendar/index.js';
|
|
import { kanbanViewModel } from './kanban/index.js';
|
|
import { tableViewModel } from './table/index.js';
|
|
|
|
const headerToCalendarCard = (header?: { titleColumn?: string }) => ({
|
|
titleColumnId: header?.titleColumn,
|
|
visiblePropertyIds: [],
|
|
});
|
|
|
|
const calendarCardToHeader = (card?: { titleColumnId?: string }) => ({
|
|
titleColumn: card?.titleColumnId,
|
|
});
|
|
|
|
export const viewConverts = [
|
|
createViewConvert(tableViewModel, kanbanViewModel, data => ({
|
|
filter: data.filter,
|
|
header: data.header,
|
|
})),
|
|
createViewConvert(kanbanViewModel, tableViewModel, data => ({
|
|
filter: data.filter,
|
|
header: data.header,
|
|
groupBy: data.groupBy,
|
|
})),
|
|
createViewConvert(tableViewModel, calendarViewModel, data => ({
|
|
filter: data.filter,
|
|
sort: data.sort,
|
|
card: headerToCalendarCard(data.header),
|
|
})),
|
|
createViewConvert(kanbanViewModel, calendarViewModel, data => ({
|
|
filter: data.filter,
|
|
sort: data.sort,
|
|
card: headerToCalendarCard(data.header),
|
|
})),
|
|
createViewConvert(calendarViewModel, tableViewModel, data => ({
|
|
filter: data.filter,
|
|
sort: data.sort,
|
|
header: calendarCardToHeader(data.card),
|
|
})),
|
|
createViewConvert(calendarViewModel, kanbanViewModel, data => ({
|
|
filter: data.filter,
|
|
sort: data.sort,
|
|
header: calendarCardToHeader(data.card),
|
|
})),
|
|
];
|