- New TimelineRenderer using @fullcalendar/timeline + @fullcalendar/resource-timeline - Column mapping config (title/start/end/resource) persisted in bridge Redis TTL 30d - useTimelineConfig hook (GET+POST /views/:viewId/timeline-config) - Inline config panel shown on first use; re-accessible via Configure button - Resource swimlane mode activated automatically when resourceCol is configured - eventResize persists endCol via useUpdateRow (respects canWriteRows) - End date fallback: start + 1 day when endCol is absent - InsertDatabaseModal extended with step 3 for column mapping on timeline views - database-view-component dispatches timeline viewType to TimelineRenderer - 14 client Vitest tests + 12 bridge Vitest tests (26 total new, all green) - 0 TypeScript errors (client + bridge) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
104 lines
3.2 KiB
JSON
104 lines
3.2 KiB
JSON
{
|
|
"name": "client",
|
|
"private": true,
|
|
"version": "0.80.1",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"lint": "eslint .",
|
|
"preview": "vite preview",
|
|
"format": "prettier --write \"src/**/*.tsx\" \"src/**/*.ts\"",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"dependencies": {
|
|
"@casl/react": "^5.0.1",
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@docmost/editor-ext": "workspace:*",
|
|
"@emoji-mart/data": "^1.2.1",
|
|
"@emoji-mart/react": "^1.1.1",
|
|
"@excalidraw/excalidraw": "0.18.0-3a5ef40",
|
|
"@fullcalendar/daygrid": "^6.1.20",
|
|
"@fullcalendar/interaction": "^6.1.20",
|
|
"@fullcalendar/react": "^6.1.20",
|
|
"@fullcalendar/resource-timeline": "^6.1.20",
|
|
"@fullcalendar/timegrid": "^6.1.20",
|
|
"@fullcalendar/timeline": "^6.1.20",
|
|
"@mantine/core": "^8.3.18",
|
|
"@mantine/dates": "^8.3.18",
|
|
"@mantine/form": "^8.3.18",
|
|
"@mantine/hooks": "^8.3.18",
|
|
"@mantine/modals": "^8.3.18",
|
|
"@mantine/notifications": "^8.3.18",
|
|
"@mantine/spotlight": "^8.3.18",
|
|
"@tabler/icons-react": "^3.40.0",
|
|
"@tanstack/react-query": "5.90.17",
|
|
"@tanstack/react-table": "^8.21.3",
|
|
"alfaaz": "^1.1.0",
|
|
"axios": "1.15.0",
|
|
"blueimp-load-image": "^5.16.0",
|
|
"clsx": "^2.1.1",
|
|
"d3-force": "^3.0.0",
|
|
"emoji-mart": "^5.6.0",
|
|
"file-saver": "^2.0.5",
|
|
"highlightjs-sap-abap": "^0.3.0",
|
|
"i18next": "25.10.1",
|
|
"i18next-http-backend": "3.0.6",
|
|
"jotai": "^2.18.1",
|
|
"jotai-optics": "^0.4.0",
|
|
"js-cookie": "^3.0.5",
|
|
"jwt-decode": "^4.0.0",
|
|
"katex": "0.16.40",
|
|
"lowlight": "^3.3.0",
|
|
"mantine-form-zod-resolver": "^1.3.0",
|
|
"mermaid": "^11.13.0",
|
|
"mitt": "^3.0.1",
|
|
"posthog-js": "1.372.2",
|
|
"react": "^18.3.1",
|
|
"react-arborist": "3.4.0",
|
|
"react-clear-modal": "^2.0.18",
|
|
"react-dom": "^18.3.1",
|
|
"react-drawio": "^1.0.7",
|
|
"react-error-boundary": "^6.1.1",
|
|
"react-force-graph-2d": "^1.29.1",
|
|
"react-helmet-async": "^3.0.0",
|
|
"react-i18next": "16.5.8",
|
|
"react-router-dom": "^7.13.1",
|
|
"semver": "^7.7.4",
|
|
"socket.io-client": "^4.8.3",
|
|
"tiptap-extension-global-drag-handle": "^0.1.18",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.28.0",
|
|
"@tanstack/eslint-plugin-query": "^5.94.4",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.1.0",
|
|
"@testing-library/user-event": "^14.5.2",
|
|
"@types/blueimp-load-image": "^5.16.6",
|
|
"@types/file-saver": "^2.0.7",
|
|
"@types/js-cookie": "^3.0.6",
|
|
"@types/katex": "^0.16.8",
|
|
"@types/node": "22.19.1",
|
|
"@types/react": "^18.3.12",
|
|
"@types/react-dom": "^18.3.1",
|
|
"@vitejs/plugin-react": "^6.0.1",
|
|
"eslint": "^9.28.0",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
"eslint-plugin-react-refresh": "^0.5.2",
|
|
"globals": "^15.13.0",
|
|
"jsdom": "^25.0.1",
|
|
"optics-ts": "^2.4.1",
|
|
"postcss": "^8.5.12",
|
|
"postcss-preset-mantine": "^1.18.0",
|
|
"postcss-simple-vars": "^7.0.1",
|
|
"prettier": "^3.8.1",
|
|
"typescript": "^5.9.3",
|
|
"typescript-eslint": "^8.57.1",
|
|
"vite": "8.0.5",
|
|
"vitest": "^2.1.8"
|
|
}
|
|
}
|