From 2464e3af46e07e741e824dda57321c8e4389cd00 Mon Sep 17 00:00:00 2001 From: Beka Westberg Date: Thu, 18 Jul 2019 12:23:31 -0700 Subject: [PATCH] Added setting a colour fields options through JSON. (#2655) --- core/field_colour.js | 9 ++++++++- tests/blocks/test_blocks.js | 20 ++++++++++++++++++++ tests/playground.html | 1 + 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/core/field_colour.js b/core/field_colour.js index 5f26899ad..559ed95ec 100644 --- a/core/field_colour.js +++ b/core/field_colour.js @@ -63,7 +63,14 @@ goog.inherits(Blockly.FieldColour, Blockly.Field); * @nocollapse */ Blockly.FieldColour.fromJson = function(options) { - return new Blockly.FieldColour(options['colour']); + var field = new Blockly.FieldColour(options['colour']); + if (options['colourOptions']) { + field.setColours(options['colourOptions'], options['colourTitles']); + } + if (options['columns']) { + field.setColumns(options['columns']); + } + return field; }; /** diff --git a/tests/blocks/test_blocks.js b/tests/blocks/test_blocks.js index 19c9c5f26..611453bac 100644 --- a/tests/blocks/test_blocks.js +++ b/tests/blocks/test_blocks.js @@ -257,6 +257,26 @@ Blockly.defineBlocksWithJsonArray([ // BEGIN JSON EXTRACT "tooltip": "", "helpUrl": "" }, + { + "type": "test_fields_colour_options", + "message0": "colour options %1", + "args0": [ + { + "type": "field_colour", + "name": "COLOUR", + "colour": "#ff4040", + "colourOptions": + ['#ff4040', '#ff8080', '#ffc0c0', + '#4040ff', '#8080ff', '#c0c0ff'], + "colourTitles": + ['dark pink', 'pink', 'light pink', + 'dark blue', 'blue', 'light blue'], + "columns": 3 + } + ], + "style": "math_blocks", + "tooltip": "test tooltip" + }, { "type": "test_fields_variable", "message0": "variable %1", diff --git a/tests/playground.html b/tests/playground.html index 780daf2d3..b49326a5e 100644 --- a/tests/playground.html +++ b/tests/playground.html @@ -1305,6 +1305,7 @@ h1 { +