@parhelia/core 0.1.12789 → 0.1.12790
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents-view/AgentCard.js +2 -5
- package/dist/agents-view/AgentCard.js.map +1 -1
- package/dist/agents-view/AgentsTitlebar.js +1 -2
- package/dist/agents-view/AgentsTitlebar.js.map +1 -1
- package/dist/agents-view/AgentsView.js +53 -7
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.d.ts +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +4 -9
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/agents-view/DateAgentsGroup.d.ts +17 -0
- package/dist/agents-view/DateAgentsGroup.js +8 -0
- package/dist/agents-view/DateAgentsGroup.js.map +1 -0
- package/dist/components/ui/LanguageSelector.d.ts +3 -1
- package/dist/components/ui/LanguageSelector.js +8 -4
- package/dist/components/ui/LanguageSelector.js.map +1 -1
- package/dist/components/ui/UserPicker.d.ts +34 -0
- package/dist/components/ui/UserPicker.js +73 -0
- package/dist/components/ui/UserPicker.js.map +1 -0
- package/dist/components/ui/copy-button.js +2 -1
- package/dist/components/ui/copy-button.js.map +1 -1
- package/dist/components/ui/popover.js +22 -4
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/select.js +1 -2
- package/dist/components/ui/select.js.map +1 -1
- package/dist/config/config.js +15 -2
- package/dist/config/config.js.map +1 -1
- package/dist/editor/ContentTree.d.ts +14 -1
- package/dist/editor/ContentTree.js +69 -19
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/Editor.js +5 -8
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/EditorLoadingOverlay.d.ts +1 -0
- package/dist/editor/EditorLoadingOverlay.js +7 -0
- package/dist/editor/EditorLoadingOverlay.js.map +1 -0
- package/dist/editor/FieldActionsOverlay.js +31 -4
- package/dist/editor/FieldActionsOverlay.js.map +1 -1
- package/dist/editor/FieldListField.js +6 -1
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/ai/AgentSharingSection.js +15 -2
- package/dist/editor/ai/AgentSharingSection.js.map +1 -1
- package/dist/editor/ai/InlineAiTrigger.js +4 -0
- package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
- package/dist/editor/ai/agentTodoExtraction.d.ts +7 -1
- package/dist/editor/ai/agentTodoExtraction.js +33 -0
- package/dist/editor/ai/agentTodoExtraction.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentDocumentList.d.ts +13 -0
- package/dist/editor/ai/terminal/components/AgentDocumentList.js +61 -46
- package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.d.ts +4 -3
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js +6 -9
- package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +10 -2
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +42 -9
- package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +19 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +71 -0
- package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -0
- package/dist/editor/ai/terminal/components/AgentSettingsContent.d.ts +4 -3
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -2
- package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +2 -0
- package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js +4 -2
- package/dist/editor/ai/terminal/components/AgentTerminalContextPanels.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +3 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.d.ts +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +7 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +3 -1
- package/dist/editor/ai/terminal/components/ContextInfoBar.js +12 -3
- package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/terminal/components/EditOperationsPanel.d.ts +3 -1
- package/dist/editor/ai/terminal/components/EditOperationsPanel.js +13 -2
- package/dist/editor/ai/terminal/components/EditOperationsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.d.ts +2 -1
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.js +18 -14
- package/dist/editor/ai/terminal/components/SpawnedAgentsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/components/TodoListPanel.d.ts +2 -1
- package/dist/editor/ai/terminal/components/TodoListPanel.js +10 -6
- package/dist/editor/ai/terminal/components/TodoListPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +3 -2
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.d.ts +3 -2
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.js +3 -21
- package/dist/editor/ai/terminal/useAgentSettingsNavigation.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +3 -2
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js +1 -2
- package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +2 -2
- package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentStatusBarContent.js +1 -1
- package/dist/editor/ai/terminal/useAgentStatusBarContent.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalActions.d.ts +6 -5
- package/dist/editor/ai/terminal/useAgentTerminalActions.js +3 -10
- package/dist/editor/ai/terminal/useAgentTerminalActions.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +13 -5
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.d.ts +25 -0
- package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.js +187 -0
- package/dist/editor/ai/terminal/useAgentTextareaDropHandlers.js.map +1 -0
- package/dist/editor/client/AboutDialog.js +2 -1
- package/dist/editor/client/AboutDialog.js.map +1 -1
- package/dist/editor/client/EditorShell.js +118 -30
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +4 -1
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/fieldModificationStore.d.ts +5 -2
- package/dist/editor/client/fieldModificationStore.js +31 -21
- package/dist/editor/client/fieldModificationStore.js.map +1 -1
- package/dist/editor/client/hooks/useEditorWebSocket.js +0 -47
- package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +1 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +47 -49
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/itemsRepository.d.ts +8 -5
- package/dist/editor/client/itemsRepository.js +30 -37
- package/dist/editor/client/itemsRepository.js.map +1 -1
- package/dist/editor/client/operations.d.ts +8 -1
- package/dist/editor/client/operations.js +29 -9
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/ui/EditorChrome.js +7 -1
- package/dist/editor/client/ui/EditorChrome.js.map +1 -1
- package/dist/editor/commands/createVersionCommand.js +8 -2
- package/dist/editor/commands/createVersionCommand.js.map +1 -1
- package/dist/editor/field-types/DropLinkEditor.js +4 -1
- package/dist/editor/field-types/DropLinkEditor.js.map +1 -1
- package/dist/editor/field-types/MultiLineText.js +3 -1
- package/dist/editor/field-types/MultiLineText.js.map +1 -1
- package/dist/editor/field-types/NameValueListEditor.js +4 -1
- package/dist/editor/field-types/NameValueListEditor.js.map +1 -1
- package/dist/editor/field-types/PictureFieldEditor.js +8 -4
- package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +6 -2
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +3 -1
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/TreeListEditor.js +6 -1
- package/dist/editor/field-types/TreeListEditor.js.map +1 -1
- package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +2 -1
- package/dist/editor/field-types/richtext/contextMenuFactory.js +7 -5
- package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
- package/dist/editor/hooks/useNavigationPanelLogic.d.ts +3 -3
- package/dist/editor/hooks/useNavigationPanelLogic.js +5 -5
- package/dist/editor/hooks/useNavigationPanelLogic.js.map +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.d.ts +4 -1
- package/dist/editor/menubar/ItemLanguageVersion.js +11 -3
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/VersionPreviewCard.js +26 -6
- package/dist/editor/menubar/VersionPreviewCard.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.js +17 -6
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.d.ts +7 -0
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +37 -0
- package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -0
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +2 -2
- package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +7 -11
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/index.d.ts +1 -0
- package/dist/editor/menubar/toolbar-sections/index.js +1 -0
- package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
- package/dist/editor/notifications/useNotifications.js +11 -4
- package/dist/editor/notifications/useNotifications.js.map +1 -1
- package/dist/editor/page-editor-chrome/FieldEditedIndicator.js +3 -1
- package/dist/editor/page-editor-chrome/FieldEditedIndicator.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenu.d.ts +4 -2
- package/dist/editor/page-editor-chrome/FrameMenu.js +33 -9
- package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
- package/dist/editor/page-editor-chrome/InlineEditor.d.ts +4 -2
- package/dist/editor/page-editor-chrome/InlineEditor.js +125 -20
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
- package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +4 -2
- package/dist/editor/page-editor-chrome/PageEditorChrome.js +16 -3
- package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +36 -13
- package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +24 -4
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js +52 -22
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -1
- package/dist/editor/page-viewer/MiniMap.js +29 -21
- package/dist/editor/page-viewer/MiniMap.js.map +1 -1
- package/dist/editor/page-viewer/PageViewer.d.ts +4 -2
- package/dist/editor/page-viewer/PageViewer.js +14 -6
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.d.ts +4 -2
- package/dist/editor/page-viewer/PageViewerFrame.js +171 -52
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/reviews/Comment.js +24 -0
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +1 -1
- package/dist/editor/services/agentService.js +2 -3
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/aiService.d.ts +0 -36
- package/dist/editor/services/aiService.js +7 -64
- package/dist/editor/services/aiService.js.map +1 -1
- package/dist/editor/services/manualService.d.ts +31 -0
- package/dist/editor/services/manualService.js +77 -0
- package/dist/editor/services/manualService.js.map +1 -0
- package/dist/editor/services/serviceHelper.js +0 -14
- package/dist/editor/services/serviceHelper.js.map +1 -1
- package/dist/editor/services/systemService.d.ts +4 -0
- package/dist/editor/services/systemService.js +3 -0
- package/dist/editor/services/systemService.js.map +1 -1
- package/dist/editor/services/userService.d.ts +6 -0
- package/dist/editor/services/userService.js +13 -0
- package/dist/editor/services/userService.js.map +1 -0
- package/dist/editor/settings/About.js +178 -1
- package/dist/editor/settings/About.js.map +1 -1
- package/dist/editor/settings/QuotaInfo.js +7 -7
- package/dist/editor/settings/QuotaInfo.js.map +1 -1
- package/dist/editor/settings/QuotaUserPicker.js +15 -55
- package/dist/editor/settings/QuotaUserPicker.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.d.ts +2 -1
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js +4 -2
- package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentProfileEditorPanel.d.ts +1 -0
- package/dist/editor/settings/panels/AgentProfileEditorPanel.js +1 -1
- package/dist/editor/settings/panels/AgentProfileEditorPanel.js.map +1 -1
- package/dist/editor/settings/panels/AgentsPanel.js +15 -10
- package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ClusterInstancesPanel.js +37 -10
- package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
- package/dist/editor/settings/panels/CreateMcpServerDialog.d.ts +7 -0
- package/dist/editor/settings/panels/CreateMcpServerDialog.js +71 -0
- package/dist/editor/settings/panels/CreateMcpServerDialog.js.map +1 -0
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js +13 -17
- package/dist/editor/settings/panels/JavaScriptToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/McpToolsPanel.js +17 -8
- package/dist/editor/settings/panels/McpToolsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ModelsPanel.js +92 -56
- package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProvidersPanel.js +46 -47
- package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
- package/dist/editor/settings/panels/SearchConfigPanel.js +2 -2
- package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
- package/dist/editor/settings/panels/UserPreferencesPanel.d.ts +2 -0
- package/dist/editor/settings/panels/UserPreferencesPanel.js +17 -0
- package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -0
- package/dist/editor/settings/panels/index.d.ts +1 -0
- package/dist/editor/settings/panels/index.js +1 -0
- package/dist/editor/settings/panels/index.js.map +1 -1
- package/dist/editor/sidebar/EditHistory.js +18 -3
- package/dist/editor/sidebar/EditHistory.js.map +1 -1
- package/dist/editor/sidebar/LabelButton.d.ts +3 -3
- package/dist/editor/sidebar/LabelButton.js +4 -4
- package/dist/editor/sidebar/LabelButton.js.map +1 -1
- package/dist/editor/sidebar/MobileWorkspacePopover.d.ts +2 -2
- package/dist/editor/sidebar/MobileWorkspacePopover.js +2 -2
- package/dist/editor/sidebar/MobileWorkspacePopover.js.map +1 -1
- package/dist/editor/sidebar/NavigationPanelItem.js +3 -3
- package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceButton.d.ts +3 -1
- package/dist/editor/sidebar/WorkspaceButton.js +15 -7
- package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRail.js +6 -5
- package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRailMobile.js +2 -2
- package/dist/editor/sidebar/WorkspaceRailMobile.js.map +1 -1
- package/dist/editor/ui/ItemCollectionEditor.d.ts +27 -3
- package/dist/editor/ui/ItemCollectionEditor.js +44 -5
- package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
- package/dist/editor/ui/PerfectTree.js +1 -1
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/editor/utils.js +33 -11
- package/dist/editor/utils.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.js +7 -1
- package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
- package/dist/editor/views/EditorSlot.js +3 -2
- package/dist/editor/views/EditorSlot.js.map +1 -1
- package/dist/editor/views/ItemEditorPane.d.ts +11 -0
- package/dist/editor/views/ItemEditorPane.js +19 -0
- package/dist/editor/views/ItemEditorPane.js.map +1 -0
- package/dist/editor/views/editorSlotContext.d.ts +2 -0
- package/dist/editor/views/editorSlotContext.js +3 -0
- package/dist/editor/views/editorSlotContext.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/setup/services/setupWizardService.d.ts +10 -0
- package/dist/setup/services/setupWizardService.js +7 -0
- package/dist/setup/services/setupWizardService.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +1 -0
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/ProjectExecutionUserPicker.js +15 -61
- package/dist/task-board/components/ProjectExecutionUserPicker.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.d.ts +1 -0
- package/dist/task-board/components/ProjectListContent.js.map +1 -1
- package/dist/task-board/components/ProjectSelector.d.ts +1 -0
- package/dist/task-board/components/ProjectSelector.js +7 -1
- package/dist/task-board/components/ProjectSelector.js.map +1 -1
- package/dist/task-board/taskBoardNavStore.d.ts +1 -0
- package/dist/task-board/taskBoardNavStore.js +1 -0
- package/dist/task-board/taskBoardNavStore.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/package.json +1 -1
- package/dist/editor/debugSessionLog.d.ts +0 -9
- package/dist/editor/debugSessionLog.js +0 -19
- package/dist/editor/debugSessionLog.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Field, FieldDescriptor, FullItem, ItemDescriptor, ItemStub } from "../pageModel";
|
|
2
|
-
import { EditedField } from "./editContext";
|
|
2
|
+
import { EditedField, ModifiedField } from "./editContext";
|
|
3
3
|
import { User } from "../../types";
|
|
4
|
+
import type { FieldModificationStore } from "./fieldModificationStore";
|
|
4
5
|
export type ItemChange = {
|
|
5
6
|
item: ItemDescriptor;
|
|
6
7
|
action: "add" | "delete" | "update";
|
|
@@ -18,24 +19,26 @@ export type DeletedItem = {
|
|
|
18
19
|
item: ItemDescriptor;
|
|
19
20
|
parentId: string;
|
|
20
21
|
};
|
|
22
|
+
export declare function shouldMarkFieldSaved(modifiedField: Pick<ModifiedField, "isDirty" | "saveSequence" | "value">, value: string | null, saveSequence: number): boolean;
|
|
23
|
+
export declare function markFieldSavedInStore(fieldModificationStore: FieldModificationStore | undefined, field: FieldDescriptor, value: string | null, saveSequence: number): void;
|
|
21
24
|
export type ItemsRepository = {
|
|
22
25
|
getItems: (descriptors: ItemDescriptor[]) => Promise<FullItem[]>;
|
|
23
26
|
getItemsStubs: (descriptors: ItemDescriptor[], pageItem?: ItemDescriptor) => Promise<ItemStub[]>;
|
|
24
27
|
getItem: (descriptor: ItemDescriptor) => Promise<FullItem | undefined>;
|
|
25
28
|
getField: (fieldDescriptor: FieldDescriptor) => Promise<Field | undefined>;
|
|
26
|
-
updateFieldValue: (fieldDescriptor: FieldDescriptor, user: User, isDirty: boolean, value: any | null, rawValue?: string | null) => Promise<number>;
|
|
29
|
+
updateFieldValue: (fieldDescriptor: FieldDescriptor, user: User, isDirty: boolean, value: any | null, rawValue?: string | null, fieldModificationStore?: FieldModificationStore) => Promise<number>;
|
|
27
30
|
refreshItems: (items: ItemDescriptor[], changes?: {
|
|
28
31
|
properties?: boolean;
|
|
29
32
|
children?: boolean;
|
|
30
33
|
fields?: string[];
|
|
31
34
|
}) => Promise<void>;
|
|
32
35
|
revision: number;
|
|
33
|
-
onFieldSaved: (field: FieldDescriptor, value: string | null, saveSequence: number) => void;
|
|
36
|
+
onFieldSaved: (field: FieldDescriptor, value: string | null, saveSequence: number, fieldModificationStore?: FieldModificationStore) => void;
|
|
34
37
|
onItemsDeleted: (items: DeletedItem[]) => void;
|
|
35
38
|
/** Invalidate version 0 cache entries for a specific item (call when version is added) */
|
|
36
39
|
invalidateVersionZeroCache: (itemId: string, language: string) => void;
|
|
37
40
|
subscribeItemsChanged: (callback: (changes: ItemChange[]) => void) => () => void;
|
|
38
41
|
clear: () => void;
|
|
39
|
-
clearDirtyState: (field: FieldDescriptor) => void;
|
|
42
|
+
clearDirtyState: (field: FieldDescriptor, fieldModificationStore?: FieldModificationStore) => void;
|
|
40
43
|
};
|
|
41
|
-
export declare function useItemsRepository(addRecentEdit: (edit: EditedField) => void, pageItem?: ItemDescriptor): ItemsRepository;
|
|
44
|
+
export declare function useItemsRepository(addRecentEdit: (edit: EditedField) => void, pageItem?: ItemDescriptor, getFieldModificationStores?: () => FieldModificationStore[]): ItemsRepository;
|
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
2
2
|
import { fetchItems, fetchItemStubs } from "../services/contentService";
|
|
3
3
|
import { getItemDescriptor } from "../utils";
|
|
4
|
-
import { fieldModificationStore } from "./fieldModificationStore";
|
|
5
4
|
import { convertFullItemToStub } from "../utils/itemConverters";
|
|
5
|
+
export function shouldMarkFieldSaved(modifiedField, value, saveSequence) {
|
|
6
|
+
if (!modifiedField.isDirty)
|
|
7
|
+
return false;
|
|
8
|
+
const sequenceMatches = modifiedField.saveSequence === saveSequence;
|
|
9
|
+
const valueMatches = modifiedField.value === value;
|
|
10
|
+
const noNewerEditPending = modifiedField.saveSequence <= saveSequence;
|
|
11
|
+
return sequenceMatches || (valueMatches && noNewerEditPending);
|
|
12
|
+
}
|
|
13
|
+
export function markFieldSavedInStore(fieldModificationStore, field, value, saveSequence) {
|
|
14
|
+
const modifiedField = fieldModificationStore?.getField(field.fieldId, field.item.id, field.item.language, field.item.version);
|
|
15
|
+
if (!fieldModificationStore || !modifiedField || !modifiedField.isDirty) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (shouldMarkFieldSaved(modifiedField, value, saveSequence)) {
|
|
19
|
+
fieldModificationStore.updateField({ ...modifiedField, isDirty: false });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
6
22
|
// Standard Sitecore template IDs for template-related items
|
|
7
23
|
const TEMPLATE_TEMPLATE_ID = "AB86861A-6030-46C5-B394-E8F99E8B87DB"; // Template template
|
|
8
24
|
const TEMPLATE_FIELD_TEMPLATE_ID = "455A3E98-A627-4B40-8035-E683A0331AC7"; // Template field template
|
|
@@ -24,7 +40,7 @@ const isTemplateChange = async (change) => {
|
|
|
24
40
|
return false;
|
|
25
41
|
}
|
|
26
42
|
};
|
|
27
|
-
export function useItemsRepository(addRecentEdit, pageItem) {
|
|
43
|
+
export function useItemsRepository(addRecentEdit, pageItem, getFieldModificationStores) {
|
|
28
44
|
const itemsMap = useRef(new Map());
|
|
29
45
|
const stubsMap = useRef(new Map());
|
|
30
46
|
const fallbackDependencyMap = useRef(new Map());
|
|
@@ -250,7 +266,7 @@ export function useItemsRepository(addRecentEdit, pageItem) {
|
|
|
250
266
|
return undefined;
|
|
251
267
|
}
|
|
252
268
|
}, [getItem]);
|
|
253
|
-
const updateFieldValue = useCallback(async (field, user, isDirty, value, rawValue) => {
|
|
269
|
+
const updateFieldValue = useCallback(async (field, user, isDirty, value, rawValue, fieldModificationStore) => {
|
|
254
270
|
const item = await getItem(field.item);
|
|
255
271
|
if (!item)
|
|
256
272
|
return 0;
|
|
@@ -271,8 +287,6 @@ export function useItemsRepository(addRecentEdit, pageItem) {
|
|
|
271
287
|
itemsMap.current.set(generateKey(field.item), updatedItem);
|
|
272
288
|
const val = rawValue !== undefined ? rawValue : value;
|
|
273
289
|
const currentSaveSequence = ++saveSequenceCounter.current;
|
|
274
|
-
// Update the field-specific store as the single source of truth
|
|
275
|
-
const prevField = fieldModificationStore.getField(field.fieldId, field.item.id, field.item.language, field.item.version);
|
|
276
290
|
const updatedField = {
|
|
277
291
|
...field,
|
|
278
292
|
value: val,
|
|
@@ -281,7 +295,7 @@ export function useItemsRepository(addRecentEdit, pageItem) {
|
|
|
281
295
|
timestamp: Date.now(),
|
|
282
296
|
saveSequence: currentSaveSequence,
|
|
283
297
|
};
|
|
284
|
-
fieldModificationStore
|
|
298
|
+
fieldModificationStore?.updateField(updatedField);
|
|
285
299
|
addRecentEdit({ ...field, timestamp: Date.now(), user });
|
|
286
300
|
triggerItemsChangedEvent([
|
|
287
301
|
{
|
|
@@ -365,10 +379,11 @@ export function useItemsRepository(addRecentEdit, pageItem) {
|
|
|
365
379
|
return true;
|
|
366
380
|
return field.rawValue !== x.value;
|
|
367
381
|
};
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
382
|
+
getFieldModificationStores?.().forEach((fieldModificationStore) => {
|
|
383
|
+
const prevFields = fieldModificationStore.getAllFields();
|
|
384
|
+
const newFields = updateModifiedFields(prevFields);
|
|
385
|
+
fieldModificationStore.updateFields(newFields);
|
|
386
|
+
});
|
|
372
387
|
setRevision((prev) => prev + 1);
|
|
373
388
|
}
|
|
374
389
|
triggerItemsChangedEvent(items.map((x) => ({
|
|
@@ -376,31 +391,9 @@ export function useItemsRepository(addRecentEdit, pageItem) {
|
|
|
376
391
|
action: "update",
|
|
377
392
|
changes: changes ?? {},
|
|
378
393
|
})));
|
|
379
|
-
}, [setRevision, fetchItemsFromServer]);
|
|
380
|
-
const onFieldSaved = useCallback((field, value, saveSequence) => {
|
|
381
|
-
|
|
382
|
-
if (modifiedField) {
|
|
383
|
-
// If the field is already clean (isDirty: false), no action needed
|
|
384
|
-
if (!modifiedField.isDirty) {
|
|
385
|
-
// Field was already marked as saved (possibly by refreshItems)
|
|
386
|
-
// No need to update again
|
|
387
|
-
}
|
|
388
|
-
else {
|
|
389
|
-
// Determine if we should mark the field as saved
|
|
390
|
-
const sequenceMatches = modifiedField.saveSequence === saveSequence;
|
|
391
|
-
const valueMatches = modifiedField.value === value;
|
|
392
|
-
const noNewerEditPending = modifiedField.saveSequence <= saveSequence;
|
|
393
|
-
// Mark as saved if:
|
|
394
|
-
// 1. The save sequence matches exactly (this save corresponds to the current edit), OR
|
|
395
|
-
// 2. The value matches AND no newer edit was made (handles out-of-order save confirmations)
|
|
396
|
-
if (sequenceMatches || (valueMatches && noNewerEditPending)) {
|
|
397
|
-
const savedField = { ...modifiedField, isDirty: false };
|
|
398
|
-
fieldModificationStore.updateField(savedField);
|
|
399
|
-
}
|
|
400
|
-
// If neither condition matches, a newer edit was made while saving.
|
|
401
|
-
// The field should remain dirty until that newer edit is saved.
|
|
402
|
-
}
|
|
403
|
-
}
|
|
394
|
+
}, [setRevision, fetchItemsFromServer, getFieldModificationStores]);
|
|
395
|
+
const onFieldSaved = useCallback((field, value, saveSequence, fieldModificationStore) => {
|
|
396
|
+
markFieldSavedInStore(fieldModificationStore, field, value, saveSequence);
|
|
404
397
|
// Refresh any items that depend on this field via fallback
|
|
405
398
|
const dependencies = fallbackDependencyMap.current.get(getItemIdLanguageKey(field.item));
|
|
406
399
|
if (dependencies) {
|
|
@@ -437,8 +430,8 @@ export function useItemsRepository(addRecentEdit, pageItem) {
|
|
|
437
430
|
}, []);
|
|
438
431
|
// Clear the dirty state for a field (used for error recovery)
|
|
439
432
|
// This prevents fields from getting stuck in "saving" state when an error occurs
|
|
440
|
-
const clearDirtyState = useCallback((field) => {
|
|
441
|
-
fieldModificationStore
|
|
433
|
+
const clearDirtyState = useCallback((field, fieldModificationStore) => {
|
|
434
|
+
fieldModificationStore?.clearDirtyState(field.fieldId, field.item.id, field.item.language, field.item.version);
|
|
442
435
|
}, []);
|
|
443
436
|
// Invalidate version 0 cache entries for a specific item
|
|
444
437
|
// Called when a new version is added via websocket to ensure "latest" resolves correctly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemsRepository.js","sourceRoot":"","sources":["../../../src/editor/client/itemsRepository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"itemsRepository.js","sourceRoot":"","sources":["../../../src/editor/client/itemsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import React from "react";
|
|
|
4
4
|
import { EditorConfiguration } from "../../config/types";
|
|
5
5
|
import { ConfirmationDialogHandle } from "../ConfirmationDialog";
|
|
6
6
|
import { ItemsRepository } from "./itemsRepository";
|
|
7
|
+
import type { FieldModificationStore } from "./fieldModificationStore";
|
|
7
8
|
import { EditorMode, LayoutMode } from "./editContext";
|
|
8
9
|
export declare function cleanupPendingSuggestedEditOperations(suggestedEdit: SuggestedEdit, user?: {
|
|
9
10
|
name: string;
|
|
@@ -32,6 +33,11 @@ export declare function getOperationsContext(state: {
|
|
|
32
33
|
layoutMode: LayoutMode;
|
|
33
34
|
setFocusFieldComponentId: (componentId: string) => void;
|
|
34
35
|
setInsertMode: (insertMode: boolean) => void;
|
|
36
|
+
getActiveSlotContext?: () => {
|
|
37
|
+
fieldModificationStore: FieldModificationStore;
|
|
38
|
+
} | undefined;
|
|
39
|
+
getFieldModificationStoreForSlot?: (slotId: string) => FieldModificationStore | undefined;
|
|
40
|
+
getActiveSlotId?: () => string | null;
|
|
35
41
|
}, ui: {
|
|
36
42
|
showErrorToast: (error: {
|
|
37
43
|
summary?: string;
|
|
@@ -46,12 +52,13 @@ export declare function getOperationsContext(state: {
|
|
|
46
52
|
lockItems: (items: ItemDescriptor[]) => Promise<void>;
|
|
47
53
|
unlockItems: (items: ItemDescriptor[]) => Promise<void>;
|
|
48
54
|
executeWorkflowCommand: (item: ItemDescriptor, commandId: string) => Promise<void>;
|
|
49
|
-
editField: ({ field, value, rawValue, forceMode, refresh, }: {
|
|
55
|
+
editField: ({ field, value, rawValue, forceMode, refresh, originatingSlotId, }: {
|
|
50
56
|
field: FieldDescriptor;
|
|
51
57
|
value?: string;
|
|
52
58
|
rawValue?: string | null;
|
|
53
59
|
forceMode?: EditorMode;
|
|
54
60
|
refresh?: "none" | "immediate" | "delayed" | "waitForQuietPeriod";
|
|
61
|
+
originatingSlotId?: string;
|
|
55
62
|
}) => Promise<void>;
|
|
56
63
|
updateRenderingParameters: (componentId: string, parameters: Record<string, string | null>) => Promise<void>;
|
|
57
64
|
updateRenderingRules: (componentId: string, rules: unknown) => Promise<void>;
|
|
@@ -320,7 +320,19 @@ export function getOperationsContext(state, ui) {
|
|
|
320
320
|
}
|
|
321
321
|
}, [itemsRepository, executeOp]);
|
|
322
322
|
const lastEditField = useRef(undefined);
|
|
323
|
-
const
|
|
323
|
+
const resolveOriginatingFieldModificationStore = useCallback((originatingSlotId) => {
|
|
324
|
+
if (originatingSlotId) {
|
|
325
|
+
return stateRef.current.getFieldModificationStoreForSlot?.(originatingSlotId);
|
|
326
|
+
}
|
|
327
|
+
const activeSlotStore = stateRef.current.getActiveSlotContext?.()?.fieldModificationStore;
|
|
328
|
+
if (activeSlotStore)
|
|
329
|
+
return activeSlotStore;
|
|
330
|
+
const activeSlotId = stateRef.current.getActiveSlotId?.();
|
|
331
|
+
return activeSlotId
|
|
332
|
+
? stateRef.current.getFieldModificationStoreForSlot?.(activeSlotId)
|
|
333
|
+
: undefined;
|
|
334
|
+
}, []);
|
|
335
|
+
const editField = useCallback(async ({ field, value, rawValue, forceMode, refresh = "immediate", originatingSlotId, }) => {
|
|
324
336
|
const effectiveMode = forceMode ?? stateRef.current.mode;
|
|
325
337
|
if (effectiveMode === "suggestions" && stateRef.current.page) {
|
|
326
338
|
// Create a unique key for this field to track pending saves
|
|
@@ -379,11 +391,12 @@ export function getOperationsContext(state, ui) {
|
|
|
379
391
|
}
|
|
380
392
|
return;
|
|
381
393
|
}
|
|
394
|
+
const fieldModificationStore = resolveOriginatingFieldModificationStore(originatingSlotId);
|
|
382
395
|
const saveSequence = await itemsRepository.updateFieldValue(field, stateRef.current.user ?? {
|
|
383
396
|
name: "unknown",
|
|
384
397
|
ai: false,
|
|
385
398
|
agentId: undefined,
|
|
386
|
-
}, true, value, rawValue);
|
|
399
|
+
}, true, value, rawValue, fieldModificationStore);
|
|
387
400
|
if (refresh === "immediate") {
|
|
388
401
|
return editFieldImmediate({
|
|
389
402
|
field,
|
|
@@ -391,6 +404,7 @@ export function getOperationsContext(state, ui) {
|
|
|
391
404
|
rawValue,
|
|
392
405
|
refresh,
|
|
393
406
|
saveSequence,
|
|
407
|
+
fieldModificationStore,
|
|
394
408
|
});
|
|
395
409
|
}
|
|
396
410
|
const isNewField = lastEditField.current?.fieldId !== field.fieldId ||
|
|
@@ -408,9 +422,14 @@ export function getOperationsContext(state, ui) {
|
|
|
408
422
|
rawValue,
|
|
409
423
|
refresh,
|
|
410
424
|
saveSequence,
|
|
425
|
+
fieldModificationStore,
|
|
411
426
|
});
|
|
412
|
-
}, [
|
|
413
|
-
|
|
427
|
+
}, [
|
|
428
|
+
itemsRepository,
|
|
429
|
+
getOrMergeSuggestedEditOp,
|
|
430
|
+
resolveOriginatingFieldModificationStore,
|
|
431
|
+
]);
|
|
432
|
+
const editFieldImmediate = useCallback(async ({ field, value, rawValue, refresh = "immediate", saveSequence, fieldModificationStore, }) => {
|
|
414
433
|
const val = rawValue !== undefined ? rawValue : value;
|
|
415
434
|
if (val === undefined)
|
|
416
435
|
return;
|
|
@@ -419,7 +438,7 @@ export function getOperationsContext(state, ui) {
|
|
|
419
438
|
// Clear dirty state so the field doesn't get stuck in "saving" state
|
|
420
439
|
if (!op) {
|
|
421
440
|
console.warn("[editFieldImmediate] Could not create edit operation for field:", field.fieldId);
|
|
422
|
-
itemsRepository.clearDirtyState(field);
|
|
441
|
+
itemsRepository.clearDirtyState(field, fieldModificationStore);
|
|
423
442
|
return;
|
|
424
443
|
}
|
|
425
444
|
try {
|
|
@@ -428,22 +447,22 @@ export function getOperationsContext(state, ui) {
|
|
|
428
447
|
// If result is undefined/null, the operation likely failed
|
|
429
448
|
if (!result) {
|
|
430
449
|
console.warn("[editFieldImmediate] Edit operation returned no result, clearing dirty state");
|
|
431
|
-
itemsRepository.clearDirtyState(field);
|
|
450
|
+
itemsRepository.clearDirtyState(field, fieldModificationStore);
|
|
432
451
|
return;
|
|
433
452
|
}
|
|
434
453
|
// Don't refresh here - the websocket handler will trigger a refresh when
|
|
435
454
|
// it receives the item-changed notification from the server. This avoids
|
|
436
455
|
// duplicate refresh calls for the same edit.
|
|
437
|
-
itemsRepository.onFieldSaved(field, val, saveSequence || 0);
|
|
456
|
+
itemsRepository.onFieldSaved(field, val, saveSequence || 0, fieldModificationStore);
|
|
438
457
|
}
|
|
439
458
|
catch (error) {
|
|
440
459
|
// Fix: Handle network errors and other exceptions
|
|
441
460
|
// Clear the dirty state to prevent the field from getting stuck in "saving" state
|
|
442
461
|
console.error("[editFieldImmediate] Error saving field:", error);
|
|
443
|
-
itemsRepository.clearDirtyState(field);
|
|
462
|
+
itemsRepository.clearDirtyState(field, fieldModificationStore);
|
|
444
463
|
}
|
|
445
464
|
}, [itemsRepository, executeOp]);
|
|
446
|
-
const executeEditFieldDebounced = useDebouncedCallback(async ({ field, value, rawValue, refresh, saveSequence, }) => {
|
|
465
|
+
const executeEditFieldDebounced = useDebouncedCallback(async ({ field, value, rawValue, refresh, saveSequence, fieldModificationStore, }) => {
|
|
447
466
|
// Fix: Use the saveSequence passed from editField instead of calling
|
|
448
467
|
// updateFieldValue again. This prevents the race condition where the
|
|
449
468
|
// field gets marked dirty twice with different sequences.
|
|
@@ -453,6 +472,7 @@ export function getOperationsContext(state, ui) {
|
|
|
453
472
|
rawValue,
|
|
454
473
|
refresh,
|
|
455
474
|
saveSequence,
|
|
475
|
+
fieldModificationStore,
|
|
456
476
|
});
|
|
457
477
|
}, stateRef.current.configuration.debounceFieldEditsInterval * 2, { trailing: true });
|
|
458
478
|
// Note: We intentionally keep a single save debounce window here.
|