From d75a604fa650a67f510c828f3db5d4e7f0791449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Berker=20=C3=96zer?= Date: Sun, 7 Sep 2025 01:38:07 +0300 Subject: [PATCH 1/2] refactor: FieldGridDropdown registration --- plugins/field-grid-dropdown/README.md | 9 +++++++-- plugins/field-grid-dropdown/src/index.ts | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/field-grid-dropdown/README.md b/plugins/field-grid-dropdown/README.md index 395f8055b1..bf4eb8e9f1 100644 --- a/plugins/field-grid-dropdown/README.md +++ b/plugins/field-grid-dropdown/README.md @@ -36,7 +36,11 @@ in Blockly core. The config object bag passed into this field accepts additional ```js import * as Blockly from 'blockly'; -import {FieldGridDropdown} from '@blockly/field-grid-dropdown'; +import { + FieldGridDropdown, + registerFieldGridDropdown, +} from '@blockly/field-grid-dropdown'; +registerFieldGridDropdown(); Blockly.Blocks['test_field_grid_dropdown'] = { init: function () { this.appendDummyInput() @@ -62,7 +66,8 @@ Blockly.Blocks['test_field_grid_dropdown'] = { ```js import * as Blockly from 'blockly'; -import '@blockly/field-grid-dropdown'; +import {registerFieldGridDropdown} from '@blockly/field-grid-dropdown'; +registerFieldGridDropdown(); Blockly.defineBlocksWithJsonArray([ { type: 'test_field_grid_dropdown', diff --git a/plugins/field-grid-dropdown/src/index.ts b/plugins/field-grid-dropdown/src/index.ts index 1e62920fc7..baa956b218 100644 --- a/plugins/field-grid-dropdown/src/index.ts +++ b/plugins/field-grid-dropdown/src/index.ts @@ -208,7 +208,10 @@ export class FieldGridDropdown extends Blockly.FieldDropdown { } } -Blockly.fieldRegistry.register('field_grid_dropdown', FieldGridDropdown); +/** Register the field and any dependencies. */ +export function registerFieldGridDropdown() { + Blockly.fieldRegistry.register('field_grid_dropdown', FieldGridDropdown); +} /** * CSS for grid field. From c8a9d5168eaed8381b454a326c9da8c29b07053a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Berker=20=C3=96zer?= Date: Sun, 7 Sep 2025 01:42:56 +0300 Subject: [PATCH 2/2] refactor:register field-grid-dropdown safely to prevent duplicate registration --- plugins/field-colour/src/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/field-colour/src/index.ts b/plugins/field-colour/src/index.ts index b0474b0b48..d2cb8afab6 100644 --- a/plugins/field-colour/src/index.ts +++ b/plugins/field-colour/src/index.ts @@ -4,6 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ +import {registerFieldGridDropdown} from '@blockly/field-grid-dropdown'; +registerFieldGridDropdown(); export * from './field_colour'; import * as colourPicker from './blocks/colourPicker';