Skip to content

Commit

Permalink
Add callback for "Edit coverage" button
Browse files Browse the repository at this point in the history
  • Loading branch information
kudlajz committed Jul 16, 2024
1 parent c1882c0 commit 5489687
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const EXTENSION_ID = 'CoverageExtension';

export interface Parameters extends CoverageExtensionConfiguration {}

export const CoverageExtension = ({ dateFormat, fetchCoverage }: Parameters): Extension => ({
export const CoverageExtension = ({ dateFormat, fetchCoverage, onEdit }: Parameters): Extension => ({
id: EXTENSION_ID,
deserialize: {
element: composeElementDeserializer({
Expand Down Expand Up @@ -42,6 +42,7 @@ export const CoverageExtension = ({ dateFormat, fetchCoverage }: Parameters): Ex
dateFormat={dateFormat}
element={element}
fetchCoverage={fetchCoverage}
onEdit={onEdit}
>
{children}
</CoverageElement>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ interface Props extends RenderElementProps {
dateFormat: string;
element: CoverageNode;
fetchCoverage: (id: CoverageEntry['id']) => Promise<CoverageEntry>;
onEdit: (id: CoverageEntry['id']) => void;
}

export function CoverageElement({
Expand All @@ -36,6 +37,7 @@ export function CoverageElement({
dateFormat,
element,
fetchCoverage,
onEdit,
}: Props) {
const editor = useSlate();
const coverageId = element.coverage.id;
Expand All @@ -47,6 +49,10 @@ export function CoverageElement({
loadCoverage();
}, [loadCoverage]);

function handleEdit() {
onEdit(coverageId);
}

function handleRemove() {
if (removeCoverage(editor, element)) {
EventsEditor.dispatchEvent(editor, 'coverage-removed', { uuid: element.uuid });
Expand All @@ -65,7 +71,7 @@ export function CoverageElement({
<CoverageMenu
coverage={coverage}
element={element}
onEdit={() => {}} // TODO: Implement!
onEdit={handleEdit}
onRemove={handleRemove}
/>
) : undefined}
Expand Down
1 change: 1 addition & 0 deletions packages/slate-editor/src/extensions/coverage/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ export interface CoverageExtensionConfiguration {
*/
dateFormat: string;
fetchCoverage: (id: CoverageEntry['id']) => Promise<CoverageEntry>;
onEdit: (id: CoverageEntry['id']) => void;
}

0 comments on commit 5489687

Please sign in to comment.