feat: port stroy-bot-works as works page

Tree table of an object's works from Dataverse with add / add child /
edit / delete, "save and add more", units dictionary and parent
re-binding, 1:1 with the legacy web part. Reuses the tree widgets from
the objects page; the parent navigation property lookup is cached as a
single promise so concurrent saves don't race.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Тимур Городецкий
2026-10-16 09:55:54 +05:00
parent bfb3eb7b75
commit 673ace2ba6
16 changed files with 1444 additions and 1 deletions
+3
View File
@@ -7,6 +7,7 @@ import { BinderPage } from '../pages/binder/BinderPage';
import { ReportsPage } from '../pages/reports/ReportsPage';
import { ImportWorksPage } from '../pages/import/ImportWorksPage';
import { ObjectsPage } from '../pages/objects/ObjectsPage';
import { WorksPage } from '../pages/works/WorksPage';
/** Показывает страницу текущего раздела. Разделы подключаются сюда по мере переноса. */
export const PageOutlet: React.FC = () => {
@@ -25,6 +26,8 @@ export const PageOutlet: React.FC = () => {
return <ImportWorksPage />;
case 'objects':
return <ObjectsPage />;
case 'works':
return <WorksPage />;
default:
return <SectionPlaceholder />;
}