@parhelia/core 0.3.12767 → 0.3.12768
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/FieldListField.js +4 -2
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +6 -0
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.js +34 -7
- 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/useSocketMessageHandler.d.ts +1 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +15 -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/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/commands/deleteVersionCommand.js +1 -1
- package/dist/editor/commands/deleteVersionCommand.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/VersionSelector.js +0 -1
- package/dist/editor/menubar/VersionSelector.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-viewer/EditorForm.js +6 -1
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +69 -30
- package/dist/editor/page-viewer/PageViewerFrame.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/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/sidebar/DictionaryEditor.js +8 -8
- package/dist/editor/sidebar/DictionaryEditor.js.map +1 -1
- package/dist/editor/ui/SharedFolderSelectorDialog.js +17 -3
- package/dist/editor/ui/SharedFolderSelectorDialog.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/types.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestedEditState.js","sourceRoot":"","sources":["../../../src/editor/reviews/suggestedEditState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"suggestedEditState.js","sourceRoot":"","sources":["../../../src/editor/reviews/suggestedEditState.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export type SuggestionDisplayField = {
|
|
|
7
7
|
language: string;
|
|
8
8
|
version: number;
|
|
9
9
|
pageItemId?: string;
|
|
10
|
+
pageItemLanguage?: string;
|
|
10
11
|
pageItemVersion?: number | null;
|
|
11
12
|
};
|
|
12
13
|
export type SuggestionDisplayModifiedField = {
|
|
@@ -21,10 +22,37 @@ export type SuggestionDisplayModifiedField = {
|
|
|
21
22
|
export type SuggestionDisplayResult = {
|
|
22
23
|
baselineValue: string;
|
|
23
24
|
mergedValue: string;
|
|
25
|
+
selectedValue: string;
|
|
24
26
|
displayValue: string;
|
|
25
27
|
suggestions: SuggestedEdit[];
|
|
26
28
|
hasSuggestions: boolean;
|
|
29
|
+
variants: SuggestionVariant[];
|
|
30
|
+
conflicts: SuggestedEdit[];
|
|
31
|
+
selectedVariantId?: string;
|
|
27
32
|
};
|
|
33
|
+
export type SuggestionVariant = {
|
|
34
|
+
id: string;
|
|
35
|
+
value: string;
|
|
36
|
+
suggestion?: SuggestedEdit;
|
|
37
|
+
};
|
|
38
|
+
export type SuggestionMergeResult = {
|
|
39
|
+
mergedValue: string;
|
|
40
|
+
cleanSuggestions: SuggestedEdit[];
|
|
41
|
+
conflicts: SuggestedEdit[];
|
|
42
|
+
};
|
|
43
|
+
export declare function getSuggestedEditItemLanguage(suggestion: SuggestedEdit): string;
|
|
44
|
+
export declare function getSuggestedEditItemVersion(suggestion: SuggestedEdit): number;
|
|
45
|
+
export declare function getSuggestionFieldIdentityKey({ itemId, language, version, fieldId, }: {
|
|
46
|
+
itemId: string;
|
|
47
|
+
language: string;
|
|
48
|
+
version: number;
|
|
49
|
+
fieldId: string;
|
|
50
|
+
}): string;
|
|
51
|
+
export declare function getSuggestionSelectionKey({ itemId, language, fieldId, }: {
|
|
52
|
+
itemId: string;
|
|
53
|
+
language: string;
|
|
54
|
+
fieldId: string;
|
|
55
|
+
}): string;
|
|
28
56
|
export declare function getPendingFieldSuggestions(suggestedEdits: SuggestedEdit[], field: SuggestionDisplayField): SuggestedEdit[];
|
|
29
57
|
export declare function getBaselineFieldValue({ repositoryValue, modifiedFields, field, }: {
|
|
30
58
|
repositoryValue: string | null | undefined;
|
|
@@ -32,12 +60,21 @@ export declare function getBaselineFieldValue({ repositoryValue, modifiedFields,
|
|
|
32
60
|
field: SuggestionDisplayField;
|
|
33
61
|
}): string;
|
|
34
62
|
export declare function mergePendingSuggestionValues(baselineValue: string, suggestions: SuggestedEdit[]): string;
|
|
63
|
+
export declare function partitionPendingSuggestionValues(baselineValue: string, suggestions: SuggestedEdit[]): SuggestionMergeResult;
|
|
64
|
+
/**
|
|
65
|
+
* Returns the pending suggestions that cannot coexist with the requested
|
|
66
|
+
* suggestion. Conflict membership is deliberately pairwise and symmetric:
|
|
67
|
+
* the suggestion chosen as the fold baseline must not appear conflict-free
|
|
68
|
+
* merely because it sorted first.
|
|
69
|
+
*/
|
|
70
|
+
export declare function getConflictingSuggestionPeers(suggestions: SuggestedEdit[], suggestionId: string): SuggestedEdit[];
|
|
35
71
|
export declare function getSuggestionDiffHtml(baselineValue: string, mergedValue: string): string;
|
|
36
|
-
export declare function getSuggestionDisplayValue({ repositoryValue, modifiedFields, suggestedEdits, field, mode, format, }: {
|
|
72
|
+
export declare function getSuggestionDisplayValue({ repositoryValue, modifiedFields, suggestedEdits, field, mode, format, selectedVariantId: requestedVariantId, }: {
|
|
37
73
|
repositoryValue: string | null | undefined;
|
|
38
74
|
modifiedFields?: SuggestionDisplayModifiedField[];
|
|
39
75
|
suggestedEdits: SuggestedEdit[];
|
|
40
76
|
field: SuggestionDisplayField;
|
|
41
77
|
mode: SuggestionDisplayMode;
|
|
42
78
|
format?: SuggestionDisplayFormat;
|
|
79
|
+
selectedVariantId?: string;
|
|
43
80
|
}): SuggestionDisplayResult;
|
|
@@ -1,4 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { diffWords } from "diff";
|
|
2
|
+
import { applySuggestionPatchToValue } from "./suggestionPatch";
|
|
3
|
+
export function getSuggestedEditItemLanguage(suggestion) {
|
|
4
|
+
return suggestion.itemLanguage ?? suggestion.mainItemLanguage;
|
|
5
|
+
}
|
|
6
|
+
export function getSuggestedEditItemVersion(suggestion) {
|
|
7
|
+
return suggestion.itemVersion ?? suggestion.mainItemVersion;
|
|
8
|
+
}
|
|
9
|
+
function normalizeIdentityPart(value) {
|
|
10
|
+
return (value ?? "").trim().toLowerCase().replace(/[{}]/g, "");
|
|
11
|
+
}
|
|
12
|
+
export function getSuggestionFieldIdentityKey({ itemId, language, version, fieldId, }) {
|
|
13
|
+
return [
|
|
14
|
+
normalizeIdentityPart(itemId),
|
|
15
|
+
normalizeIdentityPart(language),
|
|
16
|
+
version,
|
|
17
|
+
normalizeIdentityPart(fieldId),
|
|
18
|
+
].join(":");
|
|
19
|
+
}
|
|
20
|
+
export function getSuggestionSelectionKey({ itemId, language, fieldId, }) {
|
|
21
|
+
return [
|
|
22
|
+
normalizeIdentityPart(itemId),
|
|
23
|
+
normalizeIdentityPart(language),
|
|
24
|
+
normalizeIdentityPart(fieldId),
|
|
25
|
+
].join(":");
|
|
26
|
+
}
|
|
2
27
|
function toTimestamp(value) {
|
|
3
28
|
if (!value)
|
|
4
29
|
return 0;
|
|
@@ -6,17 +31,20 @@ function toTimestamp(value) {
|
|
|
6
31
|
return Number.isFinite(timestamp) ? timestamp : 0;
|
|
7
32
|
}
|
|
8
33
|
function matchesFieldSuggestion(suggestion, field) {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
34
|
+
const pageVersionMatches = field.pageItemVersion == null ||
|
|
35
|
+
suggestion.mainItemVersion === 0 ||
|
|
36
|
+
suggestion.mainItemVersion === field.pageItemVersion;
|
|
37
|
+
const itemVersion = getSuggestedEditItemVersion(suggestion);
|
|
38
|
+
const fieldVersionMatches = itemVersion === 0 || itemVersion === field.version;
|
|
14
39
|
return (suggestion.status === "pending" &&
|
|
15
40
|
suggestion.fieldId === field.fieldId &&
|
|
16
41
|
suggestion.itemId === field.itemId &&
|
|
17
|
-
suggestion
|
|
42
|
+
getSuggestedEditItemLanguage(suggestion) === field.language &&
|
|
18
43
|
(!field.pageItemId || suggestion.mainItemId === field.pageItemId) &&
|
|
19
|
-
|
|
44
|
+
(!field.pageItemLanguage ||
|
|
45
|
+
suggestion.mainItemLanguage === field.pageItemLanguage) &&
|
|
46
|
+
pageVersionMatches &&
|
|
47
|
+
fieldVersionMatches);
|
|
20
48
|
}
|
|
21
49
|
export function getPendingFieldSuggestions(suggestedEdits, field) {
|
|
22
50
|
return suggestedEdits
|
|
@@ -34,16 +62,43 @@ export function getBaselineFieldValue({ repositoryValue, modifiedFields, field,
|
|
|
34
62
|
return modifiedField ? (modifiedField.value ?? "") : (repositoryValue ?? "");
|
|
35
63
|
}
|
|
36
64
|
export function mergePendingSuggestionValues(baselineValue, suggestions) {
|
|
65
|
+
return partitionPendingSuggestionValues(baselineValue, suggestions)
|
|
66
|
+
.mergedValue;
|
|
67
|
+
}
|
|
68
|
+
export function partitionPendingSuggestionValues(baselineValue, suggestions) {
|
|
37
69
|
let mergedValue = baselineValue;
|
|
70
|
+
const cleanSuggestions = [];
|
|
71
|
+
const conflicts = [];
|
|
38
72
|
for (const suggestion of suggestions) {
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
73
|
+
const patchedCandidate = applySuggestionPatchToValue(mergedValue, suggestion.oldValue, suggestion.newValue);
|
|
74
|
+
if (patchedCandidate === false || typeof patchedCandidate !== "string") {
|
|
75
|
+
conflicts.push(suggestion);
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
mergedValue = patchedCandidate;
|
|
79
|
+
cleanSuggestions.push(suggestion);
|
|
45
80
|
}
|
|
46
|
-
return mergedValue;
|
|
81
|
+
return { mergedValue, cleanSuggestions, conflicts };
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Returns the pending suggestions that cannot coexist with the requested
|
|
85
|
+
* suggestion. Conflict membership is deliberately pairwise and symmetric:
|
|
86
|
+
* the suggestion chosen as the fold baseline must not appear conflict-free
|
|
87
|
+
* merely because it sorted first.
|
|
88
|
+
*/
|
|
89
|
+
export function getConflictingSuggestionPeers(suggestions, suggestionId) {
|
|
90
|
+
const suggestion = suggestions.find((candidate) => candidate.id === suggestionId);
|
|
91
|
+
if (!suggestion)
|
|
92
|
+
return [];
|
|
93
|
+
return suggestions.filter((candidate) => {
|
|
94
|
+
if (candidate.id === suggestion.id)
|
|
95
|
+
return false;
|
|
96
|
+
if (candidate.newValue === suggestion.newValue)
|
|
97
|
+
return false;
|
|
98
|
+
const candidateAfterSuggestion = applySuggestionPatchToValue(suggestion.newValue, candidate.oldValue, candidate.newValue);
|
|
99
|
+
const suggestionAfterCandidate = applySuggestionPatchToValue(candidate.newValue, suggestion.oldValue, suggestion.newValue);
|
|
100
|
+
return (candidateAfterSuggestion === false && suggestionAfterCandidate === false);
|
|
101
|
+
});
|
|
47
102
|
}
|
|
48
103
|
function escapeHtml(value) {
|
|
49
104
|
return value
|
|
@@ -67,7 +122,7 @@ export function getSuggestionDiffHtml(baselineValue, mergedValue) {
|
|
|
67
122
|
})
|
|
68
123
|
.join("");
|
|
69
124
|
}
|
|
70
|
-
export function getSuggestionDisplayValue({ repositoryValue, modifiedFields, suggestedEdits, field, mode, format = "plain", }) {
|
|
125
|
+
export function getSuggestionDisplayValue({ repositoryValue, modifiedFields, suggestedEdits, field, mode, format = "plain", selectedVariantId: requestedVariantId, }) {
|
|
71
126
|
const baselineValue = getBaselineFieldValue({
|
|
72
127
|
repositoryValue,
|
|
73
128
|
modifiedFields,
|
|
@@ -76,18 +131,41 @@ export function getSuggestionDisplayValue({ repositoryValue, modifiedFields, sug
|
|
|
76
131
|
const suggestions = mode === "suggestions"
|
|
77
132
|
? getPendingFieldSuggestions(suggestedEdits, field)
|
|
78
133
|
: [];
|
|
79
|
-
const
|
|
80
|
-
?
|
|
81
|
-
: baselineValue;
|
|
134
|
+
const partition = suggestions.length
|
|
135
|
+
? partitionPendingSuggestionValues(baselineValue, suggestions)
|
|
136
|
+
: { mergedValue: baselineValue, cleanSuggestions: [], conflicts: [] };
|
|
137
|
+
const mergedValue = partition.mergedValue;
|
|
138
|
+
const variants = partition.conflicts.length
|
|
139
|
+
? [
|
|
140
|
+
{ id: "merged", value: mergedValue },
|
|
141
|
+
...partition.conflicts.map((suggestion) => ({
|
|
142
|
+
id: suggestion.id,
|
|
143
|
+
value: suggestion.newValue,
|
|
144
|
+
suggestion,
|
|
145
|
+
})),
|
|
146
|
+
]
|
|
147
|
+
: [];
|
|
148
|
+
const fallbackVariantId = partition.cleanSuggestions.length
|
|
149
|
+
? "merged"
|
|
150
|
+
: partition.conflicts[0]?.id;
|
|
151
|
+
const selectedVariantId = variants.some((variant) => variant.id === requestedVariantId)
|
|
152
|
+
? requestedVariantId
|
|
153
|
+
: fallbackVariantId;
|
|
154
|
+
const selectedValue = variants.find((variant) => variant.id === selectedVariantId)?.value ??
|
|
155
|
+
mergedValue;
|
|
82
156
|
const displayValue = mode === "suggestions" && suggestions.length && format === "diff"
|
|
83
|
-
? getSuggestionDiffHtml(baselineValue,
|
|
84
|
-
:
|
|
157
|
+
? getSuggestionDiffHtml(baselineValue, selectedValue)
|
|
158
|
+
: selectedValue;
|
|
85
159
|
return {
|
|
86
160
|
baselineValue,
|
|
87
161
|
mergedValue,
|
|
162
|
+
selectedValue,
|
|
88
163
|
displayValue,
|
|
89
164
|
suggestions,
|
|
90
165
|
hasSuggestions: suggestions.length > 0,
|
|
166
|
+
variants,
|
|
167
|
+
conflicts: partition.conflicts,
|
|
168
|
+
selectedVariantId,
|
|
91
169
|
};
|
|
92
170
|
}
|
|
93
171
|
//# sourceMappingURL=suggestionDisplayValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestionDisplayValue.js","sourceRoot":"","sources":["../../../src/editor/reviews/suggestionDisplayValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"suggestionDisplayValue.js","sourceRoot":"","sources":["../../../src/editor/reviews/suggestionDisplayValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applies a suggestion's line-based change to the current field value.
|
|
3
|
+
*
|
|
4
|
+
* Suggestion compatibility is determined by the lines the suggestion actually
|
|
5
|
+
* changes. Including diff's default surrounding context makes independent
|
|
6
|
+
* edits conflict on short fields (for example, changing line one and line
|
|
7
|
+
* three of a three-line value), because every unchanged line becomes part of
|
|
8
|
+
* both patches.
|
|
9
|
+
*/
|
|
10
|
+
export declare function applySuggestionPatchToValue(currentValue: string, oldValue: string, newValue: string): string | false;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { applyPatch, createPatch } from "diff";
|
|
2
|
+
/**
|
|
3
|
+
* Applies a suggestion's line-based change to the current field value.
|
|
4
|
+
*
|
|
5
|
+
* Suggestion compatibility is determined by the lines the suggestion actually
|
|
6
|
+
* changes. Including diff's default surrounding context makes independent
|
|
7
|
+
* edits conflict on short fields (for example, changing line one and line
|
|
8
|
+
* three of a three-line value), because every unchanged line becomes part of
|
|
9
|
+
* both patches.
|
|
10
|
+
*/
|
|
11
|
+
export function applySuggestionPatchToValue(currentValue, oldValue, newValue) {
|
|
12
|
+
const patch = createPatch("field", oldValue, newValue, undefined, undefined, {
|
|
13
|
+
context: 0,
|
|
14
|
+
});
|
|
15
|
+
return applyPatch(currentValue, patch);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=suggestionPatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggestionPatch.js","sourceRoot":"","sources":["../../../src/editor/reviews/suggestionPatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,YAAoB,EACpB,QAAgB,EAChB,QAAgB;IAEhB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;QAC3E,OAAO,EAAE,CAAC;KACX,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1,18 +1,30 @@
|
|
|
1
|
+
import { type ExecutionResult } from "./serviceHelper";
|
|
1
2
|
import { SuggestedEdit } from "../../types";
|
|
2
3
|
/**
|
|
3
4
|
* Creates or updates a suggested edit.
|
|
4
5
|
*/
|
|
5
|
-
export
|
|
6
|
+
export type SuggestedEditConflictResult = {
|
|
7
|
+
type: "conflict";
|
|
8
|
+
response: Response;
|
|
9
|
+
summary?: string;
|
|
10
|
+
suggestion?: SuggestedEdit;
|
|
11
|
+
fieldValue?: string;
|
|
12
|
+
};
|
|
13
|
+
export type SuggestedEditSaveResult = ExecutionResult<SuggestedEdit> | SuggestedEditConflictResult;
|
|
14
|
+
export declare function createOrUpdateSuggestedEdit(suggestedEdit: SuggestedEdit, options?: {
|
|
15
|
+
expectedUpdated?: string;
|
|
16
|
+
expectedFieldHash?: string;
|
|
17
|
+
}): Promise<SuggestedEditSaveResult>;
|
|
6
18
|
/**
|
|
7
19
|
* Retrieves all suggested edits for a given main item based on its ID, language, and version.
|
|
8
20
|
*/
|
|
9
|
-
export declare function getSuggestedEdits(mainItemId: string, mainItemLanguage: string, mainItemVersion: number, reviewId?: string): Promise<
|
|
10
|
-
export declare function getLatestSuggestedEdits(take?: number, language?: string): Promise<
|
|
21
|
+
export declare function getSuggestedEdits(mainItemId: string, mainItemLanguage: string, mainItemVersion: number, reviewId?: string): Promise<ExecutionResult<SuggestedEdit[]>>;
|
|
22
|
+
export declare function getLatestSuggestedEdits(take?: number, language?: string): Promise<ExecutionResult<SuggestedEdit[]>>;
|
|
11
23
|
/**
|
|
12
24
|
* Retrieves a single suggested edit by its unique identifier.
|
|
13
25
|
*/
|
|
14
|
-
export declare function getSuggestedEditById(id: string): Promise<
|
|
26
|
+
export declare function getSuggestedEditById(id: string): Promise<ExecutionResult<SuggestedEdit>>;
|
|
15
27
|
/**
|
|
16
28
|
* Deletes the given suggested edit.
|
|
17
29
|
*/
|
|
18
|
-
export declare function deleteSuggestedEdit(suggestedEdit: SuggestedEdit): Promise<
|
|
30
|
+
export declare function deleteSuggestedEdit(suggestedEdit: SuggestedEdit): Promise<ExecutionResult<unknown>>;
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { get, post } from "./serviceHelper";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
export async function createOrUpdateSuggestedEdit(suggestedEdit, options = {}) {
|
|
3
|
+
const params = new URLSearchParams();
|
|
4
|
+
if (options.expectedUpdated) {
|
|
5
|
+
params.set("expectedUpdated", options.expectedUpdated);
|
|
6
|
+
}
|
|
7
|
+
if (options.expectedFieldHash) {
|
|
8
|
+
params.set("expectedFieldHash", options.expectedFieldHash);
|
|
9
|
+
}
|
|
10
|
+
const query = params.toString();
|
|
11
|
+
const result = await post(`/parhelia/suggested-edits/add${query ? `?${query}` : ""}`, suggestedEdit);
|
|
12
|
+
if (result.response?.status !== 409)
|
|
13
|
+
return result;
|
|
14
|
+
try {
|
|
15
|
+
const payload = JSON.parse(result.rawDetails || "{}");
|
|
16
|
+
return { type: "conflict", response: result.response, ...payload };
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return {
|
|
20
|
+
type: "conflict",
|
|
21
|
+
response: result.response,
|
|
22
|
+
summary: result.summary || "Suggestion changed while saving.",
|
|
23
|
+
};
|
|
24
|
+
}
|
|
7
25
|
}
|
|
8
26
|
/**
|
|
9
27
|
* Retrieves all suggested edits for a given main item based on its ID, language, and version.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestedEditsService.js","sourceRoot":"","sources":["../../../src/editor/services/suggestedEditsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"suggestedEditsService.js","sourceRoot":"","sources":["../../../src/editor/services/suggestedEditsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAwB,MAAM,iBAAiB,CAAC;AAiBlE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,aAA4B,EAC5B,UAAoE,EAAE;IAEtE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,gCAAgC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC1D,aAAa,CACd,CAAC;IACF,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAInD,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,kCAAkC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,gBAAwB,EACxB,eAAuB,EACvB,QAAiB;IAEjB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,UAAU;QACV,gBAAgB;QAChB,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;KAC5C,CAAC,CAAC;IACH,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,GAAG,CACR,mCAAmC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACvD,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,IAAa,EAAE,QAAiB;IACtE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,IAAI,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,GAAG,CACR,mCAAmC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,GAAG,CAAgB,oCAAoC,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAA4B;IAC9D,OAAO,IAAI,CAAC,uCAAuC,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -22,12 +22,12 @@ export function DictionaryEditor({}) {
|
|
|
22
22
|
const [siteName, setSiteName] = useState();
|
|
23
23
|
const [loading, setLoading] = useState(false);
|
|
24
24
|
const [error, setError] = useState();
|
|
25
|
+
const activeSiteName = context?.getActiveSlotContext()?.primaryPageViewContext?.site?.name;
|
|
25
26
|
useEffect(() => {
|
|
26
|
-
|
|
27
|
-
if (!pageViewContext?.site)
|
|
27
|
+
if (!activeSiteName)
|
|
28
28
|
return;
|
|
29
|
-
setSiteName(
|
|
30
|
-
}, [context?.activeSlotId,
|
|
29
|
+
setSiteName(activeSiteName);
|
|
30
|
+
}, [context?.activeSlotId, activeSiteName]);
|
|
31
31
|
useEffect(() => {
|
|
32
32
|
const loadSites = async () => {
|
|
33
33
|
setLoading(true);
|
|
@@ -46,9 +46,9 @@ export function DictionaryEditor({}) {
|
|
|
46
46
|
};
|
|
47
47
|
loadSites();
|
|
48
48
|
}, []);
|
|
49
|
-
const
|
|
49
|
+
const currentItemLanguage = context?.currentItemDescriptor?.language;
|
|
50
50
|
useEffect(() => {
|
|
51
|
-
if (!siteName || !
|
|
51
|
+
if (!siteName || !currentItemLanguage)
|
|
52
52
|
return;
|
|
53
53
|
const loadDictionary = async (site, language) => {
|
|
54
54
|
setLoading(true);
|
|
@@ -65,8 +65,8 @@ export function DictionaryEditor({}) {
|
|
|
65
65
|
setLoading(false);
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
|
-
loadDictionary(siteName,
|
|
69
|
-
}, [siteName,
|
|
68
|
+
loadDictionary(siteName, currentItemLanguage);
|
|
69
|
+
}, [siteName, currentItemLanguage]);
|
|
70
70
|
useEffect(() => {
|
|
71
71
|
const findAllKeys = (component, keys) => {
|
|
72
72
|
component.renderedDictionaryKeys.forEach((k) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DictionaryEditor.js","sourceRoot":"","sources":["../../../src/editor/sidebar/DictionaryEditor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,MAAM,UAAU,gBAAgB,CAAC,EAAM;IACrC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAA6B,CAAC;IAC1E,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GACvD,QAAQ,EAAY,CAAC;IACvB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAY,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAqB,CAAC;IAChE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAqB,CAAC;IAChE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAC;IAC7C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAU,CAAC;IACnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAC;IAE7C,
|
|
1
|
+
{"version":3,"file":"DictionaryEditor.js","sourceRoot":"","sources":["../../../src/editor/sidebar/DictionaryEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,12 +18,14 @@ export function SharedFolderSelectorDialog(props) {
|
|
|
18
18
|
const normalizedInitialFolderId = normalizeItemId(props.initialFolderId);
|
|
19
19
|
const openedAtRef = useRef(Date.now());
|
|
20
20
|
const suppressNextImplicitCloseRef = useRef(false);
|
|
21
|
+
const selectionRequestRef = useRef(0);
|
|
21
22
|
const [selectedItem, setSelectedItem] = useState(null);
|
|
22
23
|
useEffect(() => {
|
|
23
24
|
let isMounted = true;
|
|
24
25
|
const initializeSelection = async () => {
|
|
25
26
|
if (!normalizedInitialFolderId)
|
|
26
27
|
return;
|
|
28
|
+
const requestId = ++selectionRequestRef.current;
|
|
27
29
|
// Set immediate selection for visual highlight while permissions are loading.
|
|
28
30
|
setSelectedItem({
|
|
29
31
|
id: normalizedInitialFolderId,
|
|
@@ -36,7 +38,7 @@ export function SharedFolderSelectorDialog(props) {
|
|
|
36
38
|
version: 0,
|
|
37
39
|
language: props.language,
|
|
38
40
|
});
|
|
39
|
-
if (!isMounted)
|
|
41
|
+
if (!isMounted || selectionRequestRef.current !== requestId)
|
|
40
42
|
return;
|
|
41
43
|
setSelectedItem({
|
|
42
44
|
id: normalizedInitialFolderId,
|
|
@@ -80,14 +82,26 @@ export function SharedFolderSelectorDialog(props) {
|
|
|
80
82
|
suppressNextImplicitCloseRef.current = true;
|
|
81
83
|
}, children: [_jsx(StyledDialogTitle, { icon: _jsx(FolderTree, { strokeWidth: 1 }), title: props.header ?? "Select Shared Folder" }), _jsxs("div", { className: "flex h-full flex-1 flex-col overflow-hidden", children: [_jsx("div", { className: "relative min-h-0 flex-1 px-6 pt-6 pb-0", children: _jsx("div", { className: "h-full overflow-hidden rounded-xl bg-white p-1", children: _jsx(ScrollingContentTree, { selectedItemId: selectedItem?.id ?? normalizedInitialFolderId, expandedItemId: normalizedInitialFolderId, rootItemId: rootItemId, onSelectionChange: async (node) => {
|
|
82
84
|
if (!node[0]) {
|
|
85
|
+
selectionRequestRef.current += 1;
|
|
83
86
|
setSelectedItem(null);
|
|
84
87
|
return;
|
|
85
88
|
}
|
|
86
|
-
const
|
|
87
|
-
|
|
89
|
+
const requestId = ++selectionRequestRef.current;
|
|
90
|
+
const nextSelection = {
|
|
88
91
|
id: node[0].id,
|
|
89
92
|
version: 0,
|
|
90
93
|
language: props.language,
|
|
94
|
+
};
|
|
95
|
+
// The tree updates its selected row synchronously. Clear the
|
|
96
|
+
// previous folder's permission at the same time so the user
|
|
97
|
+
// cannot submit that stale folder while this lookup is in
|
|
98
|
+
// flight.
|
|
99
|
+
setSelectedItem({ ...nextSelection, canCreate: false });
|
|
100
|
+
const item = await props.editContext.itemsRepository.getItem(node[0]);
|
|
101
|
+
if (selectionRequestRef.current !== requestId)
|
|
102
|
+
return;
|
|
103
|
+
setSelectedItem({
|
|
104
|
+
...nextSelection,
|
|
91
105
|
canCreate: item?.canCreate ?? false,
|
|
92
106
|
});
|
|
93
107
|
} }) }) }), _jsxs(DialogButtons, { hideBorder: true, className: "mt-4", children: [_jsx(Button, { onClick: handleCancel, variant: "ghost", children: "Cancel" }), _jsx(Button, { onClick: handleOk, variant: "default", disabled: !selectedItem || !selectedItem.canCreate, className: "min-w-[140px]", children: props.label ?? "Use folder" })] })] })] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharedFolderSelectorDialog.js","sourceRoot":"","sources":["../../../src/editor/ui/SharedFolderSelectorDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU1C,SAAS,eAAe,CAAC,EAAW;IAClC,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAoE;IAEpE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,yBAAyB,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,4BAA4B,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SharedFolderSelectorDialog.js","sourceRoot":"","sources":["../../../src/editor/ui/SharedFolderSelectorDialog.tsx"],"names":[],"mappings":"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"}
|
package/dist/revision.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "0.3.
|
|
2
|
-
export declare const buildDate = "2026-07-
|
|
1
|
+
export declare const version = "0.3.12768";
|
|
2
|
+
export declare const buildDate = "2026-07-19 21:10:33";
|
package/dist/revision.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export const version = "0.3.
|
|
2
|
-
export const buildDate = "2026-07-
|
|
1
|
+
export const version = "0.3.12768";
|
|
2
|
+
export const buildDate = "2026-07-19 21:10:33";
|
|
3
3
|
//# sourceMappingURL=revision.js.map
|
package/dist/types.d.ts
CHANGED