diff --git a/.changeset/spotty-pans-kick.md b/.changeset/spotty-pans-kick.md new file mode 100644 index 0000000000..1b0907631e --- /dev/null +++ b/.changeset/spotty-pans-kick.md @@ -0,0 +1,5 @@ +--- +"@directus/app": patch +--- + +Resolved browser freeze in field conditions by delaying the retrieving of field context diff --git a/app/src/interfaces/_system/system-interface-options/system-interface-options.vue b/app/src/interfaces/_system/system-interface-options/system-interface-options.vue index 51d164f481..a76d5722a1 100644 --- a/app/src/interfaces/_system/system-interface-options/system-interface-options.vue +++ b/app/src/interfaces/_system/system-interface-options/system-interface-options.vue @@ -40,7 +40,7 @@ const props = defineProps<{ interface?: string; collection?: string; disabled?: boolean; - context?: ExtensionOptionsContext; + context?: () => ExtensionOptionsContext; }>(); const emit = defineEmits<{ @@ -76,7 +76,7 @@ const optionsFields = computed(() => { if (typeof selectedInterface.value.options === 'function') { optionsObjectOrArray = selectedInterface.value.options( - props.context ?? { + props.context?.() ?? { field: { type: 'unknown', }, diff --git a/app/src/modules/settings/routes/data-model/field-detail/field-detail-advanced/field-detail-advanced-conditions.vue b/app/src/modules/settings/routes/data-model/field-detail/field-detail-advanced/field-detail-advanced-conditions.vue index fec2d0f808..129f7032bb 100644 --- a/app/src/modules/settings/routes/data-model/field-detail/field-detail-advanced/field-detail-advanced-conditions.vue +++ b/app/src/modules/settings/routes/data-model/field-detail/field-detail-advanced/field-detail-advanced-conditions.vue @@ -92,7 +92,7 @@ const repeaterFields = computed[]>(() => [ interface: 'system-interface-options', options: { interface: interfaceId.value, - context: fieldDetailStore, + context: useFieldDetailStore, }, }, },