UNPKG

@contentstack/live-preview-utils

Version:

Contentstack provides the Live Preview SDK to establish a communication channel between the various Contentstack SDKs and your website, transmitting live changes to the preview pane.

1 lines 2.36 kB
{"version":3,"sources":["../../../../src/visualBuilder/eventManager/useHighlightCommentIcon.ts"],"sourcesContent":["import React from \"preact/compat\";\nimport visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\nimport { highlightCommentIconOnCanvas, removeAllHighlightedCommentIcons } from \"../generators/generateHighlightedComment\";\nimport { CslpData } from \"../../cslp/types/cslp.types\";\nimport { ISchemaFieldMap } from \"../utils/types/index.types\";\nimport { IActiveDiscussion } from \"../components/CommentIcon\";\n\n// Define the event data for handling comments\nexport interface IHighlightFieldMetadata extends Omit<CslpData, 'instance' | 'multipleFieldMetadata'> {}\nexport type IFieldSchemaForDiscussion = Pick<\n ISchemaFieldMap,\n \"uid\" | \"display_name\" | \"data_type\"\n>;\nexport interface IHighlightCommentData {\n fieldMetadata: IHighlightFieldMetadata; \n fieldSchema: IFieldSchemaForDiscussion;\n discussion: IActiveDiscussion;\n absolutePath: string;\n}\n\nexport interface IHighlightComments {\n payload: IHighlightCommentData[]; // Array of paths where comments exist\n}\n\nexport interface IHighlightCommentsEvent {\n data: IHighlightComments;\n}\n\nconst handleAddCommentIcons = (event: IHighlightCommentsEvent) => {\n const { payload } = event.data; // Get the array of path and its data\n highlightCommentIconOnCanvas(payload);\n};\n\nconst handleRemoveCommentIcons = (): void => {\n removeAllHighlightedCommentIcons()\n};\n\nexport const useHighlightCommentIcon = () => {\n visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.HIGHLIGHT_ACTIVE_COMMENTS,\n handleAddCommentIcons\n );\n visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.REMOVE_HIGHLIGHTED_COMMENTS,\n handleRemoveCommentIcons\n );\n};"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sCAAqC;AACrC,yBAA+C;AAC/C,wCAA+E;AA0B/E,IAAM,wBAAwB,CAAC,UAAmC;AAC9D,QAAM,EAAE,QAAQ,IAAI,MAAM;AAC1B,sEAA6B,OAAO;AACxC;AAEA,IAAM,2BAA2B,MAAY;AACzC,0EAAiC;AACrC;AAEO,IAAM,0BAA0B,MAAM;AAtC7C;AAuCI,wCAAAA,YAAA,mBAA0B;AAAA,IACtB,kDAA+B;AAAA,IAC/B;AAAA;AAEJ,wCAAAA,YAAA,mBAA0B;AAAA,IACtB,kDAA+B;AAAA,IAC/B;AAAA;AAER;","names":["visualBuilderPostMessage"]}