@parhelia/core 0.2.12772 → 0.2.12775
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/editor/ConcurrentUserLimitDialog.d.ts +2 -1
- package/dist/editor/ConcurrentUserLimitDialog.js +26 -11
- package/dist/editor/ConcurrentUserLimitDialog.js.map +1 -1
- package/dist/editor/Editor.js +28 -3
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/FieldList.js +45 -4
- package/dist/editor/FieldList.js.map +1 -1
- package/dist/editor/FieldListField.js +4 -2
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/PictureCropper.js +1 -1
- package/dist/editor/PictureCropper.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.d.ts +13 -0
- package/dist/editor/ai/InlineAiDialog.js +42 -4
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/bridgeInlineTextReplace.d.ts +16 -0
- package/dist/editor/ai/bridgeInlineTextReplace.js +31 -0
- package/dist/editor/ai/bridgeInlineTextReplace.js.map +1 -0
- package/dist/editor/bridge/protocol.d.ts +9 -0
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.js +59 -18
- 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/hooks/useEditorWebSocket.d.ts +1 -0
- package/dist/editor/client/hooks/useEditorWebSocket.js +1 -0
- 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 +17 -5
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/operations.d.ts +1 -1
- package/dist/editor/client/operations.js +61 -54
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/sessionIdClaim.d.ts +22 -0
- package/dist/editor/client/sessionIdClaim.js +77 -0
- package/dist/editor/client/sessionIdClaim.js.map +1 -0
- package/dist/editor/client/suggestedEditFieldQueue.d.ts +2 -0
- package/dist/editor/client/suggestedEditFieldQueue.js +16 -0
- package/dist/editor/client/suggestedEditFieldQueue.js.map +1 -0
- package/dist/editor/client/waitForEditOperationTerminal.d.ts +2 -0
- package/dist/editor/client/waitForEditOperationTerminal.js +3 -5
- package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
- package/dist/editor/commands/deleteVersionCommand.js +1 -1
- package/dist/editor/commands/deleteVersionCommand.js.map +1 -1
- package/dist/editor/commands/itemCommands.js +31 -1
- package/dist/editor/commands/itemCommands.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ReactSlate.js +14 -1
- package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
- package/dist/editor/menubar/ActiveUsers.js +17 -15
- package/dist/editor/menubar/ActiveUsers.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.js +0 -1
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/activeUserSessions.d.ts +9 -0
- package/dist/editor/menubar/activeUserSessions.js +30 -0
- package/dist/editor/menubar/activeUserSessions.js.map +1 -0
- package/dist/editor/notifications/NotificationCenter.js +21 -3
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +119 -27
- package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/SuggestionVariantSwitcher.d.ts +6 -0
- package/dist/editor/page-editor-chrome/SuggestionVariantSwitcher.js +23 -0
- package/dist/editor/page-editor-chrome/SuggestionVariantSwitcher.js.map +1 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +8 -1
- package/dist/editor/page-editor-chrome/overlay/geometry.js +30 -0
- package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +3 -0
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +38 -11
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
- package/dist/editor/page-viewer/EditorForm.js +6 -1
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +131 -38
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +31 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js +68 -0
- package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
- package/dist/editor/page-viewer/bridgeInlineEditSession.d.ts +2 -0
- package/dist/editor/page-viewer/bridgeInlineEditSession.js +35 -5
- package/dist/editor/page-viewer/bridgeInlineEditSession.js.map +1 -1
- package/dist/editor/personalization/PersonalizationPanel.js +93 -29
- package/dist/editor/personalization/PersonalizationPanel.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +30 -64
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionDisplayPopover.js +76 -57
- package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/applySuggestedEditActions.d.ts +21 -0
- package/dist/editor/reviews/applySuggestedEditActions.js +242 -0
- package/dist/editor/reviews/applySuggestedEditActions.js.map +1 -0
- package/dist/editor/reviews/feedbackScrollTarget.js +3 -2
- package/dist/editor/reviews/feedbackScrollTarget.js.map +1 -1
- package/dist/editor/reviews/suggestedEditState.js +12 -1
- package/dist/editor/reviews/suggestedEditState.js.map +1 -1
- package/dist/editor/reviews/suggestionDisplayValue.d.ts +38 -1
- package/dist/editor/reviews/suggestionDisplayValue.js +99 -21
- package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -1
- package/dist/editor/reviews/suggestionPatch.d.ts +10 -0
- package/dist/editor/reviews/suggestionPatch.js +17 -0
- package/dist/editor/reviews/suggestionPatch.js.map +1 -0
- package/dist/editor/reviews/useMultiReview.js +9 -0
- package/dist/editor/reviews/useMultiReview.js.map +1 -1
- package/dist/editor/services/contentService.d.ts +1 -9
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +1 -0
- package/dist/editor/services/editService.js +10 -6
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/suggestedEditsService.d.ts +17 -5
- package/dist/editor/services/suggestedEditsService.js +23 -5
- package/dist/editor/services/suggestedEditsService.js.map +1 -1
- package/dist/editor/services/systemService.d.ts +1 -2
- package/dist/editor/services/systemService.js +0 -3
- package/dist/editor/services/systemService.js.map +1 -1
- package/dist/editor/settings/IndexOverview.js +1 -1
- package/dist/editor/settings/IndexOverview.js.map +1 -1
- package/dist/editor/settings/index/EmbeddingProviderInfo.js +2 -2
- package/dist/editor/settings/index/EmbeddingProviderInfo.js.map +1 -1
- package/dist/editor/settings/index/QueueErrorsDisplay.d.ts +1 -1
- package/dist/editor/settings/index/QueueErrorsDisplay.js +7 -3
- package/dist/editor/settings/index/QueueErrorsDisplay.js.map +1 -1
- package/dist/editor/settings/index/embeddingErrors.d.ts +7 -0
- package/dist/editor/settings/index/embeddingErrors.js +105 -0
- package/dist/editor/settings/index/embeddingErrors.js.map +1 -0
- package/dist/editor/settings/index/types.d.ts +1 -0
- package/dist/editor/settings/index/useIndexStatus.js +2 -2
- package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
- package/dist/editor/sidebar/DictionaryEditor.js +8 -8
- package/dist/editor/sidebar/DictionaryEditor.js.map +1 -1
- package/dist/editor/sidebar/Sessions.js +6 -3
- package/dist/editor/sidebar/Sessions.js.map +1 -1
- package/dist/editor/ui/SharedFolderSelectorDialog.js +17 -3
- package/dist/editor/ui/SharedFolderSelectorDialog.js.map +1 -1
- package/dist/editor/ui/SimpleTable.d.ts +2 -1
- package/dist/editor/ui/SimpleTable.js +2 -2
- package/dist/editor/ui/SimpleTable.js.map +1 -1
- package/dist/editor/utils.js +6 -0
- package/dist/editor/utils.js.map +1 -1
- package/dist/editor/version-diff/versionDiffTargets.js +2 -1
- package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/splash-screen/ModernSplashScreen.d.ts +1 -1
- package/dist/splash-screen/ModernSplashScreen.js +1 -1
- package/dist/types.d.ts +12 -5
- package/package.json +1 -1
|
@@ -1,4 +1,47 @@
|
|
|
1
1
|
import { logFieldValueDiagnostic, summarizeField, summarizeFieldValue, } from "../fieldValueDiagnostics";
|
|
2
|
+
export function buildRemoteCaretFieldPatches({ remoteCarets, structureFields, activeInlineEdit, }) {
|
|
3
|
+
const patches = [];
|
|
4
|
+
const patchedElementKeys = new Set();
|
|
5
|
+
for (const caret of Object.values(remoteCarets)) {
|
|
6
|
+
if (typeof caret.value !== "string" || !caret.fieldId || !caret.item) {
|
|
7
|
+
continue;
|
|
8
|
+
}
|
|
9
|
+
for (const structureField of structureFields) {
|
|
10
|
+
if (!structureField.elementKey ||
|
|
11
|
+
patchedElementKeys.has(structureField.elementKey) ||
|
|
12
|
+
!bridgeIdsMatch(caret.fieldId, structureField.fieldId) ||
|
|
13
|
+
!bridgeItemsMatch(caret.item, structureField.item) ||
|
|
14
|
+
structureField.elementKey === activeInlineEdit?.elementKey ||
|
|
15
|
+
activeInlineEditMatchesField(activeInlineEdit, structureField)) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
patchedElementKeys.add(structureField.elementKey);
|
|
19
|
+
patches.push({
|
|
20
|
+
elementKey: structureField.elementKey,
|
|
21
|
+
fieldId: structureField.fieldId,
|
|
22
|
+
isRichText: structureField.isRichText,
|
|
23
|
+
source: "remote-caret",
|
|
24
|
+
value: caret.value,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return patches;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* True when a remote session is live-syncing this field (an active remote
|
|
32
|
+
* caret carries a draft value for it). While that holds, saved-value echo
|
|
33
|
+
* patches must not be applied to the canvas: during active typing the saved
|
|
34
|
+
* value is always several keystrokes stale, and rolling the text back makes
|
|
35
|
+
* concurrent caret measurements map offsets against the shorter text — the
|
|
36
|
+
* remote caret visibly jumps backward and the text flickers.
|
|
37
|
+
*/
|
|
38
|
+
export function hasRemoteCaretDraftForField({ remoteCarets, fieldId, item, }) {
|
|
39
|
+
if (!remoteCarets || !fieldId || !item)
|
|
40
|
+
return false;
|
|
41
|
+
return Object.values(remoteCarets).some((caret) => typeof caret.value === "string" &&
|
|
42
|
+
bridgeIdsMatch(caret.fieldId ?? undefined, fieldId) &&
|
|
43
|
+
bridgeItemsMatch(caret.item, item));
|
|
44
|
+
}
|
|
2
45
|
export function isBridgePatchableTextField(field, isRichText) {
|
|
3
46
|
const fieldType = field.type.toLowerCase();
|
|
4
47
|
return (isRichText === true ||
|
|
@@ -15,6 +58,31 @@ export function getBridgeFieldPatchValue(field) {
|
|
|
15
58
|
return "";
|
|
16
59
|
return typeof field.value === "string" ? field.value : String(field.value);
|
|
17
60
|
}
|
|
61
|
+
export function buildBridgeFieldPatchSignature(patch, observedTextContent) {
|
|
62
|
+
return JSON.stringify({
|
|
63
|
+
value: patch.value,
|
|
64
|
+
isRichText: !!patch.isRichText,
|
|
65
|
+
source: patch.source ?? "",
|
|
66
|
+
observedTextContent: observedTextContent ?? "",
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* True when the last patch sent for a field (recorded as its dedupe signature)
|
|
71
|
+
* put a suggestion preview on the canvas. Such fields need an explicit restore
|
|
72
|
+
* patch when suggestion display turns off — the host markup still shows the
|
|
73
|
+
* merged suggestion text until something overwrites it.
|
|
74
|
+
*/
|
|
75
|
+
export function isSuggestionPreviewPatchSignature(signature) {
|
|
76
|
+
if (!signature)
|
|
77
|
+
return false;
|
|
78
|
+
try {
|
|
79
|
+
const parsed = JSON.parse(signature);
|
|
80
|
+
return parsed.source === "suggestion-preview";
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
18
86
|
export function buildBridgeFieldPatchPayload({ field, structureField, display, activeInlineEdit, }) {
|
|
19
87
|
if (!structureField.elementKey) {
|
|
20
88
|
logFieldValueDiagnostic("bridge-patch", "skipped patch", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeFieldPatch.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/bridgeFieldPatch.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"bridgeFieldPatch.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/bridgeFieldPatch.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAiClC,MAAM,UAAU,4BAA4B,CAAC,EAC3C,YAAY,EACZ,eAAe,EACf,gBAAgB,GAKjB;IACC,MAAM,OAAO,GAAoC,EAAE,CAAC;IACpD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE7C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACrE,SAAS;QACX,CAAC;QAED,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC7C,IACE,CAAC,cAAc,CAAC,UAAU;gBAC1B,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC;gBACjD,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;gBACtD,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;gBAClD,cAAc,CAAC,UAAU,KAAK,gBAAgB,EAAE,UAAU;gBAC1D,4BAA4B,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAC9D,CAAC;gBACD,SAAS;YACX,CAAC;YAED,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC;gBACX,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,YAAY,EACZ,OAAO,EACP,IAAI,GAKL;IACC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,cAAc,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO,CAAC;QACnD,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAA0B,EAC1B,UAA+B;IAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,CACL,UAAU,KAAK,IAAI;QACnB,SAAS,KAAK,WAAW;QACzB,SAAS,KAAK,kBAAkB;QAChC,SAAS,KAAK,iBAAiB;QAC/B,SAAS,KAAK,MAAM,CACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAwC;IAExC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACjE,OAAO,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,KAA6E,EAC7E,mBAAmC;IAEnC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;QAC1B,mBAAmB,EAAE,mBAAmB,IAAI,EAAE;KAC/C,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAC/C,SAA6B;IAE7B,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAyB,CAAC;QAC7D,OAAO,MAAM,CAAC,MAAM,KAAK,oBAAoB,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAC3C,KAAK,EACL,cAAc,EACd,OAAO,EACP,gBAAgB,GAMjB;IACC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QAC/B,uBAAuB,CAAC,cAAc,EAAE,eAAe,EAAE;YACvD,MAAM,EAAE,qBAAqB;YAC7B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;YAC5B,cAAc,EAAE,uBAAuB,CAAC,cAAc,CAAC;YACvD,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;YAChD,aAAa,EAAE,OAAO,CAAC,MAAM;SAC9B,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,uBAAuB,CAAC,cAAc,EAAE,eAAe,EAAE;YACvD,MAAM,EAAE,qBAAqB;YAC7B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;YAC5B,cAAc,EAAE,uBAAuB,CAAC,cAAc,CAAC;YACvD,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;YAChD,aAAa,EAAE,OAAO,CAAC,MAAM;SAC9B,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,cAAc,CAAC,UAAU,KAAK,gBAAgB,EAAE,UAAU;QAC1D,4BAA4B,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAC9D,CAAC;QACD,uBAAuB,CAAC,cAAc,EAAE,eAAe,EAAE;YACvD,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;YAC5B,cAAc,EAAE,uBAAuB,CAAC,cAAc,CAAC;YACvD,gBAAgB,EAAE,gBAAgB;gBAChC,CAAC,CAAC;oBACE,GAAG,gBAAgB;oBACnB,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,KAAK,CAAC;iBACnD;gBACH,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;YAChD,aAAa,EAAE,OAAO,CAAC,MAAM;SAC9B,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,UAAU,EACR,cAAc,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW;QACvE,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IACF,uBAAuB,CAAC,cAAc,EAAE,gBAAgB,EAAE;QACxD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;QAC5B,cAAc,EAAE,uBAAuB,CAAC,cAAc,CAAC;QACvD,KAAK,EAAE;YACL,GAAG,KAAK;YACR,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;SACxC;KACF,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2CAA2C,CAGzD,gBAAgD,EAChD,eAAyD;IAEzD,IAAI,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAEnC,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,CAAC,eAAe;QAAE,OAAO,gBAAgB,CAAC;IAE9C,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CACzC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,UAAU,KAAK,gBAAgB,CAAC,UAAU;QAChD,4BAA4B,CAAC,gBAAgB,EAAE,KAAK,CAAC,CACxD,CAAC;IACF,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,cAAc,CAAC,UAAU,KAAK,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAC9D,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,uCAAuC;IACvC,OAAO;QACL,GAAG,gBAAgB;QACnB,UAAU,EAAE,cAAc,CAAC,UAAU;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2CAA2C,CAGzD,gBAAgD,EAChD,KAAmC;IAEnC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,2CAA2C,CAChD,gBAAgB,EAChB,SAAS,CACV,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC/D,qEAAqE;QACrE,wEAAwE;QACxE,qEAAqE;QACrE,OAAO,gBAAgB,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,OAAO,2CAA2C,CAChD,gBAAgB,EAChB,KAAK,CAAC,MAAM,CACb,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAiC;IAChE,OAAO;QACL,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,WAAW,EAAE,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,gBAA2D,EAC3D,cAA2D;IAE3D,OAAO,CAAC,CAAC,CACP,gBAAgB,EAAE,OAAO;QACzB,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;QAChE,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,IAA6C,EAC7C,KAAuC;IAEvC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAElC,OAAO,CACL,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;QACjC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;YACjC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAwB,EAAE,KAAyB;IACzE,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyB;IACrD,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC5C,CAAC"}
|
|
@@ -34,8 +34,10 @@ export declare function createBridgeInlineEditSessionCoordinator({ stateRef, onS
|
|
|
34
34
|
completeBegin: (token: BridgeInlineEditBeginToken, authoritativeIdentity?: Partial<BridgeInlineEditIdentity>) => boolean;
|
|
35
35
|
end: (identity: BridgeInlineEditIdentity) => {
|
|
36
36
|
matched: boolean;
|
|
37
|
+
endedState: BridgeInlineEditState | null;
|
|
37
38
|
};
|
|
38
39
|
failBegin: (token: BridgeInlineEditBeginToken) => boolean;
|
|
40
|
+
getRecentlyClearedState: (identity: BridgeInlineEditIdentity) => BridgeInlineEditState | null;
|
|
39
41
|
getState: () => BridgeInlineEditState | null;
|
|
40
42
|
isCurrent: (token: BridgeInlineEditBeginToken) => boolean;
|
|
41
43
|
matches: (identity: BridgeInlineEditIdentity) => boolean;
|
|
@@ -6,6 +6,13 @@ export function createBridgeInlineEditSessionCoordinator({ stateRef, onStateChan
|
|
|
6
6
|
? globalThis.crypto.randomUUID()
|
|
7
7
|
: `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
|
|
8
8
|
let currentToken = null;
|
|
9
|
+
// The session most recently torn down by clear(). A mode change (e.g.
|
|
10
|
+
// leaving suggestions mode) clears the session while the bridge's final
|
|
11
|
+
// fieldValueChanged/inlineEditEnded commit is still in flight; that commit
|
|
12
|
+
// must still route by the session's modeAtStart or a value typed under
|
|
13
|
+
// suggestions mode is recorded as a direct edit. Consumed by end(),
|
|
14
|
+
// superseded by the next beginSession.
|
|
15
|
+
let recentlyClearedState = null;
|
|
9
16
|
const pendingByKey = new Map();
|
|
10
17
|
const publish = (state) => {
|
|
11
18
|
stateRef.current = state;
|
|
@@ -22,6 +29,8 @@ export function createBridgeInlineEditSessionCoordinator({ stateRef, onStateChan
|
|
|
22
29
|
currentToken = null;
|
|
23
30
|
};
|
|
24
31
|
const clear = () => {
|
|
32
|
+
if (stateRef.current)
|
|
33
|
+
recentlyClearedState = stateRef.current;
|
|
25
34
|
invalidateCurrent();
|
|
26
35
|
publish(null);
|
|
27
36
|
};
|
|
@@ -59,6 +68,7 @@ export function createBridgeInlineEditSessionCoordinator({ stateRef, onStateChan
|
|
|
59
68
|
sessionId: `inline-${coordinatorId}-${id}`,
|
|
60
69
|
};
|
|
61
70
|
currentToken = token;
|
|
71
|
+
recentlyClearedState = null;
|
|
62
72
|
publish({ ...identity, sessionId: token.sessionId });
|
|
63
73
|
const promise = (async () => {
|
|
64
74
|
try {
|
|
@@ -96,9 +106,16 @@ export function createBridgeInlineEditSessionCoordinator({ stateRef, onStateChan
|
|
|
96
106
|
return true;
|
|
97
107
|
};
|
|
98
108
|
const recordValue = (identity, value, modeAtStart) => {
|
|
99
|
-
if (!stateRef.current
|
|
100
|
-
|
|
101
|
-
|
|
109
|
+
if (!stateRef.current) {
|
|
110
|
+
// Re-establishing a session for a field whose session was just cleared
|
|
111
|
+
// (mode-change teardown) must keep the original modeAtStart — the
|
|
112
|
+
// caller's fallback is the editor's CURRENT mode, which the teardown
|
|
113
|
+
// already flipped.
|
|
114
|
+
const sessionModeAtStart = getRecentlyClearedState(identity)?.modeAtStart ?? modeAtStart;
|
|
115
|
+
if (sessionModeAtStart) {
|
|
116
|
+
publish({ ...identity, modeAtStart: sessionModeAtStart, value });
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
102
119
|
}
|
|
103
120
|
if (!matches(identity) || !stateRef.current)
|
|
104
121
|
return false;
|
|
@@ -112,11 +129,23 @@ export function createBridgeInlineEditSessionCoordinator({ stateRef, onStateChan
|
|
|
112
129
|
});
|
|
113
130
|
return true;
|
|
114
131
|
};
|
|
132
|
+
const getRecentlyClearedState = (identity) => recentlyClearedState &&
|
|
133
|
+
inlineEditSessionMatches(recentlyClearedState, identity)
|
|
134
|
+
? recentlyClearedState
|
|
135
|
+
: null;
|
|
115
136
|
const end = (identity) => {
|
|
116
137
|
const matched = matches(identity);
|
|
117
|
-
|
|
138
|
+
let endedState = null;
|
|
139
|
+
if (matched) {
|
|
140
|
+
endedState = stateRef.current;
|
|
141
|
+
// clear() retains the ended session as recentlyClearedState so commits
|
|
142
|
+
// still in flight for it can resolve their original mode.
|
|
118
143
|
clear();
|
|
119
|
-
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
endedState = getRecentlyClearedState(identity);
|
|
147
|
+
}
|
|
148
|
+
return { matched, endedState };
|
|
120
149
|
};
|
|
121
150
|
const reconcileForRefreshEvent = (event) => {
|
|
122
151
|
const current = stateRef.current;
|
|
@@ -134,6 +163,7 @@ export function createBridgeInlineEditSessionCoordinator({ stateRef, onStateChan
|
|
|
134
163
|
completeBegin,
|
|
135
164
|
end,
|
|
136
165
|
failBegin,
|
|
166
|
+
getRecentlyClearedState,
|
|
137
167
|
getState: () => stateRef.current,
|
|
138
168
|
isCurrent,
|
|
139
169
|
matches,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeInlineEditSession.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/bridgeInlineEditSession.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bridgeInlineEditSession.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/bridgeInlineEditSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,13 +32,39 @@ export function PersonalizationPanel({ component, pageItem, readonly, ruleSet: r
|
|
|
32
32
|
const [replaceUnsupported, setReplaceUnsupported] = useState(false);
|
|
33
33
|
const dirtyRef = useRef(false);
|
|
34
34
|
const savingRef = useRef(false);
|
|
35
|
+
const saveSequenceRef = useRef(0);
|
|
36
|
+
const saveTimerRef = useRef(undefined);
|
|
37
|
+
const saveChainRef = useRef(Promise.resolve());
|
|
38
|
+
const mountedRef = useRef(true);
|
|
39
|
+
const pendingSaveRef = useRef(undefined);
|
|
35
40
|
const ruleSet = ruleSetProp ?? EMPTY_RULE_SET;
|
|
41
|
+
const selectAppliedRule = (ruleId) => {
|
|
42
|
+
setSelectedRuleId(ruleId);
|
|
43
|
+
// Keep the owning EditorForm in sync in the same user event. A preview
|
|
44
|
+
// refresh can unmount this panel before the propagation effect runs.
|
|
45
|
+
onAppliedRuleChange?.(ruleId ?? null);
|
|
46
|
+
};
|
|
36
47
|
useEffect(() => {
|
|
37
48
|
dirtyRef.current = dirty;
|
|
38
49
|
}, [dirty]);
|
|
39
50
|
useEffect(() => {
|
|
40
51
|
savingRef.current = saving;
|
|
41
52
|
}, [saving]);
|
|
53
|
+
useEffect(() => () => {
|
|
54
|
+
mountedRef.current = false;
|
|
55
|
+
if (saveTimerRef.current !== undefined) {
|
|
56
|
+
window.clearTimeout(saveTimerRef.current);
|
|
57
|
+
saveTimerRef.current = undefined;
|
|
58
|
+
}
|
|
59
|
+
const pending = pendingSaveRef.current;
|
|
60
|
+
pendingSaveRef.current = undefined;
|
|
61
|
+
if (pending) {
|
|
62
|
+
// A component/page refresh must not discard the user's last edit.
|
|
63
|
+
saveChainRef.current = saveChainRef.current
|
|
64
|
+
.then(pending.save)
|
|
65
|
+
.catch(() => undefined);
|
|
66
|
+
}
|
|
67
|
+
}, []);
|
|
42
68
|
// The page model rebuilds after every iframe refresh, so depend on stable
|
|
43
69
|
// scalars rather than the pageItem object reference — otherwise the effect
|
|
44
70
|
// refires on every refresh and the panel flickers.
|
|
@@ -176,7 +202,12 @@ export function PersonalizationPanel({ component, pageItem, readonly, ruleSet: r
|
|
|
176
202
|
// a user-driven change that needs a preview refresh.
|
|
177
203
|
const lastAppliedRuleRef = useRef({});
|
|
178
204
|
useEffect(() => {
|
|
179
|
-
if (!loaded ||
|
|
205
|
+
if (!loaded ||
|
|
206
|
+
dirty ||
|
|
207
|
+
saving ||
|
|
208
|
+
!componentId ||
|
|
209
|
+
!pageItem ||
|
|
210
|
+
!editContext?.sessionId) {
|
|
180
211
|
return;
|
|
181
212
|
}
|
|
182
213
|
// After a component switch the new ruleSet arrives before the seed effect
|
|
@@ -208,48 +239,81 @@ export function PersonalizationPanel({ component, pageItem, readonly, ruleSet: r
|
|
|
208
239
|
}, [
|
|
209
240
|
componentId,
|
|
210
241
|
componentLoadKey,
|
|
242
|
+
dirty,
|
|
211
243
|
editContext?.sessionId,
|
|
212
244
|
loaded,
|
|
213
245
|
pageItemId,
|
|
214
246
|
pageItemLanguage,
|
|
215
247
|
pageItemVersion,
|
|
248
|
+
saving,
|
|
216
249
|
selectedRuleId,
|
|
217
250
|
]);
|
|
218
251
|
const selectedRule = useMemo(() => ruleSet.rules.find((rule) => rule.uid === selectedRuleId), [ruleSet.rules, selectedRuleId]);
|
|
219
252
|
const protectedMode = !!ruleSet.unsupported && !replaceUnsupported;
|
|
220
253
|
const disabled = readonly || !loaded || saving || protectedMode;
|
|
254
|
+
const runPendingSave = async (pending) => {
|
|
255
|
+
if (mountedRef.current) {
|
|
256
|
+
savingRef.current = true;
|
|
257
|
+
setSaving(true);
|
|
258
|
+
}
|
|
259
|
+
try {
|
|
260
|
+
await pending.save();
|
|
261
|
+
if (mountedRef.current &&
|
|
262
|
+
saveSequenceRef.current === pending.sequence) {
|
|
263
|
+
dirtyRef.current = false;
|
|
264
|
+
setDirty(false);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
// executeOp already surfaced the backend error toast; keep the panel dirty.
|
|
269
|
+
}
|
|
270
|
+
finally {
|
|
271
|
+
if (mountedRef.current) {
|
|
272
|
+
savingRef.current = false;
|
|
273
|
+
setSaving(false);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
const queueRulesSave = (rules) => {
|
|
278
|
+
const operations = editContext?.operations;
|
|
279
|
+
const targetComponentId = component?.id;
|
|
280
|
+
const targetPageItem = pageItem ? { ...pageItem } : undefined;
|
|
281
|
+
if (!operations || !targetComponentId || !targetPageItem)
|
|
282
|
+
return;
|
|
283
|
+
const sequence = ++saveSequenceRef.current;
|
|
284
|
+
const rulesSnapshot = cloneRule(rules);
|
|
285
|
+
const pending = {
|
|
286
|
+
sequence,
|
|
287
|
+
save: () => operations.updateRenderingRules(targetComponentId, { rules: rulesSnapshot }, targetPageItem),
|
|
288
|
+
};
|
|
289
|
+
dirtyRef.current = true;
|
|
290
|
+
setDirty(true);
|
|
291
|
+
pendingSaveRef.current = pending;
|
|
292
|
+
if (saveTimerRef.current !== undefined) {
|
|
293
|
+
window.clearTimeout(saveTimerRef.current);
|
|
294
|
+
}
|
|
295
|
+
saveTimerRef.current = window.setTimeout(() => {
|
|
296
|
+
saveTimerRef.current = undefined;
|
|
297
|
+
if (pendingSaveRef.current === pending) {
|
|
298
|
+
pendingSaveRef.current = undefined;
|
|
299
|
+
}
|
|
300
|
+
saveChainRef.current = saveChainRef.current
|
|
301
|
+
.then(() => runPendingSave(pending))
|
|
302
|
+
.catch(() => undefined);
|
|
303
|
+
}, 800);
|
|
304
|
+
};
|
|
221
305
|
const updateRules = (rules) => {
|
|
222
306
|
onRuleSetChange?.((current) => ({
|
|
223
307
|
...current,
|
|
224
308
|
rules,
|
|
225
309
|
unsupported: replaceUnsupported ? false : current.unsupported,
|
|
226
310
|
}));
|
|
227
|
-
|
|
311
|
+
queueRulesSave(rules);
|
|
228
312
|
};
|
|
229
|
-
useEffect(() => {
|
|
230
|
-
if (!dirty || disabled || !component?.id || !editContext?.operations)
|
|
231
|
-
return;
|
|
232
|
-
const timeout = window.setTimeout(async () => {
|
|
233
|
-
setSaving(true);
|
|
234
|
-
try {
|
|
235
|
-
await editContext.operations.updateRenderingRules(component.id, {
|
|
236
|
-
rules: ruleSet.rules,
|
|
237
|
-
});
|
|
238
|
-
setDirty(false);
|
|
239
|
-
}
|
|
240
|
-
catch {
|
|
241
|
-
// executeOp already surfaced the backend error toast; keep the panel dirty.
|
|
242
|
-
}
|
|
243
|
-
finally {
|
|
244
|
-
setSaving(false);
|
|
245
|
-
}
|
|
246
|
-
}, 800);
|
|
247
|
-
return () => window.clearTimeout(timeout);
|
|
248
|
-
}, [component?.id, dirty, disabled, editContext?.operations, ruleSet.rules]);
|
|
249
313
|
const addRule = () => {
|
|
250
314
|
const nextRule = createRule(`Rule ${ruleSet.rules.length + 1}`);
|
|
251
315
|
updateRules([...ruleSet.rules, nextRule]);
|
|
252
|
-
|
|
316
|
+
selectAppliedRule(nextRule.uid);
|
|
253
317
|
setExpandedRuleId(nextRule.uid);
|
|
254
318
|
};
|
|
255
319
|
const replaceExistingPersonalization = () => {
|
|
@@ -260,9 +324,9 @@ export function PersonalizationPanel({ component, pageItem, readonly, ruleSet: r
|
|
|
260
324
|
unsupported: false,
|
|
261
325
|
unsupportedReasons: [],
|
|
262
326
|
}));
|
|
263
|
-
|
|
327
|
+
selectAppliedRule(nextRule.uid);
|
|
264
328
|
setExpandedRuleId(nextRule.uid);
|
|
265
|
-
|
|
329
|
+
queueRulesSave([nextRule]);
|
|
266
330
|
};
|
|
267
331
|
if (!component || !pageItem) {
|
|
268
332
|
return (_jsx("div", { className: "text-neutral-grey-50 p-4 text-xs", children: "Select a component to configure personalization." }));
|
|
@@ -273,11 +337,11 @@ export function PersonalizationPanel({ component, pageItem, readonly, ruleSet: r
|
|
|
273
337
|
const renderRuleBody = (rule) => (_jsxs("div", { className: "space-y-4", children: [_jsxs("section", { className: "space-y-2", children: [_jsxs("h4", { className: "text-2xs text-neutral-grey-50 flex items-center gap-2 font-medium tracking-wide", children: [_jsx("span", { className: "bg-feedback-green inline-block size-1.5 rounded-full" }), "When"] }), _jsx(ConditionTreeEditor, { condition: rule.conditions, elements: elements, disabled: disabled, onChange: (conditions) => updateRules(ruleSet.rules.map((existing) => existing.uid === rule.uid
|
|
274
338
|
? { ...existing, conditions }
|
|
275
339
|
: existing)) })] }), _jsxs("section", { className: "space-y-2", children: [_jsxs("h4", { className: "text-2xs text-neutral-grey-50 flex items-center gap-2 font-medium tracking-wide", children: [_jsx("span", { className: "bg-highlight-100 inline-block size-1.5 rounded-full" }), "Then"] }), _jsx(ActionList, { actions: rule.actions || [], elements: elements, disabled: disabled, onChange: (actions) => updateRules(ruleSet.rules.map((existing) => existing.uid === rule.uid ? { ...existing, actions } : existing)) })] })] }));
|
|
276
|
-
return (_jsxs("div", { className: "space-y-4 p-3 text-xs", "data-testid": "personalization-panel", children: [_jsxs("header", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h2", { className: "text-neutral-grey-100 text-sm font-medium", children: "Personalization" }), component.name && (_jsx("div", { className: "text-2xs text-neutral-grey-50 truncate", title: component.name, children: component.name }))] }), _jsx(SaveIndicator, { saving: saving, dirty: dirty })] }), readonly && (_jsx("div", { className: "border-border-default bg-neutral-grey-5 text-2xs text-neutral-grey-50 rounded border p-3", children: "Personalization is read-only in the current editor mode." })), protectedMode && (_jsxs("div", { className: "border-feedback-orange bg-feedback-orange-light text-2xs text-feedback-orange space-y-2 rounded border p-3", children: [_jsx("div", { className: "text-xs font-medium", children: "Existing personalization is protected" }), _jsx("div", { children: "This rendering contains rules that Parhelia cannot fully edit yet. Saving is disabled to avoid overwriting Sitecore data." }), ruleSet.unsupportedReasons?.length ? (_jsx("ul", { className: "list-disc space-y-1 pl-4", children: ruleSet.unsupportedReasons.map((reason) => (_jsx("li", { children: reason }, reason))) })) : null, _jsx(Button, { type: "button", size: "xs", variant: "outline", disabled: readonly, onClick: replaceExistingPersonalization, children: "Replace existing personalization" })] })), ruleSet.rules.length === 0 ? (_jsxs("div", { className: "border-border-default space-y-3 rounded border border-dashed p-4 text-center", children: [_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "text-neutral-grey-100 text-xs font-medium", children: "No personalization yet" }), _jsx("div", { className: "text-2xs text-neutral-grey-50", children: "Add rules to show different content to different audiences. Each rule combines conditions with actions." })] }), _jsxs(Button, { type: "button", size: "xs", variant: "default", disabled: disabled, onClick: addRule, children: [_jsx(Plus, { strokeWidth: 1, className: "size-3" }), "Add first rule"] })] })) : (_jsxs(_Fragment, { children: [_jsx(RuleList, { rules: ruleSet.rules, selectedRuleId: expandedRuleId, appliedRuleId: selectedRule?.uid, disabled: disabled, onToggle: (uid) => setExpandedRuleId((current) => current === uid ? undefined : uid), onApply: (uid) =>
|
|
340
|
+
return (_jsxs("div", { className: "space-y-4 p-3 text-xs", "data-testid": "personalization-panel", children: [_jsxs("header", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h2", { className: "text-neutral-grey-100 text-sm font-medium", children: "Personalization" }), component.name && (_jsx("div", { className: "text-2xs text-neutral-grey-50 truncate", title: component.name, children: component.name }))] }), _jsx(SaveIndicator, { saving: saving, dirty: dirty })] }), readonly && (_jsx("div", { className: "border-border-default bg-neutral-grey-5 text-2xs text-neutral-grey-50 rounded border p-3", children: "Personalization is read-only in the current editor mode." })), protectedMode && (_jsxs("div", { className: "border-feedback-orange bg-feedback-orange-light text-2xs text-feedback-orange space-y-2 rounded border p-3", children: [_jsx("div", { className: "text-xs font-medium", children: "Existing personalization is protected" }), _jsx("div", { children: "This rendering contains rules that Parhelia cannot fully edit yet. Saving is disabled to avoid overwriting Sitecore data." }), ruleSet.unsupportedReasons?.length ? (_jsx("ul", { className: "list-disc space-y-1 pl-4", children: ruleSet.unsupportedReasons.map((reason) => (_jsx("li", { children: reason }, reason))) })) : null, _jsx(Button, { type: "button", size: "xs", variant: "outline", disabled: readonly, onClick: replaceExistingPersonalization, children: "Replace existing personalization" })] })), ruleSet.rules.length === 0 ? (_jsxs("div", { className: "border-border-default space-y-3 rounded border border-dashed p-4 text-center", children: [_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "text-neutral-grey-100 text-xs font-medium", children: "No personalization yet" }), _jsx("div", { className: "text-2xs text-neutral-grey-50", children: "Add rules to show different content to different audiences. Each rule combines conditions with actions." })] }), _jsxs(Button, { type: "button", size: "xs", variant: "default", disabled: disabled, onClick: addRule, children: [_jsx(Plus, { strokeWidth: 1, className: "size-3" }), "Add first rule"] })] })) : (_jsxs(_Fragment, { children: [_jsx(RuleList, { rules: ruleSet.rules, selectedRuleId: expandedRuleId, appliedRuleId: selectedRule?.uid, disabled: disabled, onToggle: (uid) => setExpandedRuleId((current) => current === uid ? undefined : uid), onApply: (uid) => selectAppliedRule(uid), onRename: (uid, name) => updateRules(ruleSet.rules.map((rule) => rule.uid === uid ? { ...rule, name } : rule)), onDelete: (uid) => {
|
|
277
341
|
const nextRules = ruleSet.rules.filter((rule) => rule.uid !== uid);
|
|
278
342
|
updateRules(nextRules);
|
|
279
343
|
if (selectedRuleId === uid) {
|
|
280
|
-
|
|
344
|
+
selectAppliedRule(nextRules[0]?.uid);
|
|
281
345
|
}
|
|
282
346
|
if (expandedRuleId === uid) {
|
|
283
347
|
setExpandedRuleId(nextRules[0]?.uid);
|
|
@@ -292,7 +356,7 @@ export function PersonalizationPanel({ component, pageItem, readonly, ruleSet: r
|
|
|
292
356
|
name: `${source.name || "Rule"} copy`,
|
|
293
357
|
};
|
|
294
358
|
updateRules([...ruleSet.rules, duplicate]);
|
|
295
|
-
|
|
359
|
+
selectAppliedRule(duplicate.uid);
|
|
296
360
|
setExpandedRuleId(duplicate.uid);
|
|
297
361
|
}, onMove: (uid, direction) => {
|
|
298
362
|
const index = ruleSet.rules.findIndex((rule) => rule.uid === uid);
|
|
@@ -319,7 +383,7 @@ export function PersonalizationPanel({ component, pageItem, readonly, ruleSet: r
|
|
|
319
383
|
return;
|
|
320
384
|
nextRules.splice(toIndex, 0, moved);
|
|
321
385
|
updateRules(nextRules);
|
|
322
|
-
}, renderRuleBody: renderRuleBody }), _jsxs(Button, { type: "button", size: "xs", variant: "outline", disabled: disabled, onClick: addRule, className: "w-full justify-center", children: [_jsx(Plus, { strokeWidth: 1, className: "size-3" }), "Add rule"] }), _jsxs("button", { type: "button", disabled: disabled, onClick: () =>
|
|
386
|
+
}, renderRuleBody: renderRuleBody }), _jsxs(Button, { type: "button", size: "xs", variant: "outline", disabled: disabled, onClick: addRule, className: "w-full justify-center", children: [_jsx(Plus, { strokeWidth: 1, className: "size-3" }), "Add rule"] }), _jsxs("button", { type: "button", disabled: disabled, onClick: () => selectAppliedRule(undefined), title: !selectedRule
|
|
323
387
|
? "Currently applied"
|
|
324
388
|
: "Show the default rendering (no rule applied)", className: `flex w-full items-center gap-1 rounded border px-1.5 py-1.5 text-left text-xs transition-colors ${!selectedRule
|
|
325
389
|
? "border-component-default bg-feedback-blue-light/40"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonalizationPanel.js","sourceRoot":"","sources":["../../../src/editor/personalization/PersonalizationPanel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PersonalizationPanel.js","sourceRoot":"","sources":["../../../src/editor/personalization/PersonalizationPanel.tsx"],"names":[],"mappings":"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"}
|