@@ -14,6 +14,7 @@ import { VB_EmptyBlockParentClass } from "../..";
1414import Config from "../../configManager/configManager" ;
1515import { isCollabThread } from "../generators/generateThread" ;
1616import { getEntryPermissionsCached } from "../utils/getEntryPermissionsCached" ;
17+ import { EntryPermissions } from "../utils/getEntryPermissions" ;
1718
1819const config = Config . get ( ) ;
1920export interface HandleMouseHoverParams
@@ -235,24 +236,36 @@ async function handleMouseHover(params: HandleMouseHoverParams): Promise<void> {
235236 ( fieldSchema ) => {
236237 if ( ! fieldSchema ) return ;
237238
239+ let entryAcl : EntryPermissions | undefined ;
238240 getEntryPermissionsCached ( {
239241 entryUid : fieldMetadata . entry_uid ,
240242 contentTypeUid : fieldMetadata . content_type_uid ,
241243 locale : fieldMetadata . locale ,
242- } ) . then ( ( entryAcl ) => {
243- if ( ! params . customCursor ) return ;
244- const { isDisabled : fieldDisabled } = isFieldDisabled (
245- fieldSchema ,
246- eventDetails ,
247- entryAcl
248- ) ;
249- const fieldType = getFieldType ( fieldSchema ) ;
250- generateCustomCursor ( {
251- fieldType,
252- customCursor : params . customCursor ,
253- fieldDisabled,
244+ } )
245+ . then ( ( data ) => {
246+ entryAcl = data ;
247+ } )
248+ . catch ( ( error ) => {
249+ console . error (
250+ "[Visual Builder] Error retrieving entry permissions:" ,
251+ error
252+ ) ;
253+ } )
254+ . finally ( ( ) => {
255+ if ( ! params . customCursor ) return ;
256+ const { isDisabled : fieldDisabled } =
257+ isFieldDisabled (
258+ fieldSchema ,
259+ eventDetails ,
260+ entryAcl
261+ ) ;
262+ const fieldType = getFieldType ( fieldSchema ) ;
263+ generateCustomCursor ( {
264+ fieldType,
265+ customCursor : params . customCursor ,
266+ fieldDisabled,
267+ } ) ;
254268 } ) ;
255- } ) ;
256269 }
257270 ) ;
258271
@@ -267,19 +280,31 @@ async function handleMouseHover(params: HandleMouseHoverParams): Promise<void> {
267280 addOutline ( editableElement ) ;
268281 FieldSchemaMap . getFieldSchema ( content_type_uid , fieldPath ) . then (
269282 ( fieldSchema ) => {
283+ let entryAcl : EntryPermissions | undefined ;
270284 if ( ! fieldSchema ) return ;
271285 getEntryPermissionsCached ( {
272286 entryUid : fieldMetadata . entry_uid ,
273287 contentTypeUid : fieldMetadata . content_type_uid ,
274288 locale : fieldMetadata . locale ,
275- } ) . then ( ( entryAcl ) => {
276- const { isDisabled : fieldDisabled } = isFieldDisabled (
277- fieldSchema ,
278- eventDetails ,
279- entryAcl
280- ) ;
281- addOutline ( editableElement , fieldDisabled ) ;
282- } ) ;
289+ } )
290+ . then ( ( data ) => {
291+ entryAcl = data ;
292+ } )
293+ . catch ( ( error ) => {
294+ console . error (
295+ "[Visual Builder] Error retrieving entry permissions:" ,
296+ error
297+ ) ;
298+ } )
299+ . finally ( ( ) => {
300+ const { isDisabled : fieldDisabled } =
301+ isFieldDisabled (
302+ fieldSchema ,
303+ eventDetails ,
304+ entryAcl
305+ ) ;
306+ addOutline ( editableElement , fieldDisabled ) ;
307+ } ) ;
283308 }
284309 ) ;
285310 }
0 commit comments