From 6a4251b11a4d4c9c04254dba1302a7d1bcfc87a1 Mon Sep 17 00:00:00 2001 From: Sam El-Husseini Date: Tue, 14 Jan 2020 13:27:47 -0800 Subject: [PATCH] Add constant for field dropdown arrow padding (#3581) * Add constants for field dropdown arrow padding for more control over where the arrow shows up. --- core/field_dropdown.js | 2 +- core/renderers/common/constants.js | 29 +++++++++++++++++++++++++++++ core/renderers/zelos/constants.js | 24 ++---------------------- 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/core/field_dropdown.js b/core/field_dropdown.js index 8a4aba774..849d15b85 100644 --- a/core/field_dropdown.js +++ b/core/field_dropdown.js @@ -683,7 +683,7 @@ Blockly.FieldDropdown.prototype.positionSVGArrow_ = function(x, y) { if (!this.svgArrow_) { return 0; } - var padding = this.constants_.FIELD_BORDER_RECT_X_PADDING; + var padding = this.constants_.FIELD_DROPDOWN_SVG_ARROW_PADDING; var svgArrowSize = this.constants_.FIELD_DROPDOWN_SVG_ARROW_SIZE; var arrowX = this.sourceBlock_.RTL ? padding : x + padding; this.svgArrow_.setAttribute('transform', diff --git a/core/renderers/common/constants.js b/core/renderers/common/constants.js index e623b18f9..dbfd4a6dd 100644 --- a/core/renderers/common/constants.js +++ b/core/renderers/common/constants.js @@ -342,6 +342,35 @@ Blockly.blockRendering.ConstantProvider = function() { */ this.FIELD_DROPDOWN_SVG_ARROW = false; + /** + * A dropdown field's SVG arrow padding. + * @type {number} + */ + this.FIELD_DROPDOWN_SVG_ARROW_PADDING = this.FIELD_BORDER_RECT_X_PADDING; + + /** + * A dropdown field's SVG arrow size. + * @type {number} + */ + this.FIELD_DROPDOWN_SVG_ARROW_SIZE = 12; + + /** + * A dropdown field's SVG arrow datauri. + * @type {string} + */ + this.FIELD_DROPDOWN_SVG_ARROW_DATAURI = + 'data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllci' + + 'AxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMi43MSIgaG' + + 'VpZ2h0PSI4Ljc5IiB2aWV3Qm94PSIwIDAgMTIuNzEgOC43OSI+PHRpdGxlPmRyb3Bkb3duLW' + + 'Fycm93PC90aXRsZT48ZyBvcGFjaXR5PSIwLjEiPjxwYXRoIGQ9Ik0xMi43MSwyLjQ0QTIuND' + + 'EsMi40MSwwLDAsMSwxMiw0LjE2TDguMDgsOC4wOGEyLjQ1LDIuNDUsMCwwLDEtMy40NSwwTD' + + 'AuNzIsNC4xNkEyLjQyLDIuNDIsMCwwLDEsMCwyLjQ0LDIuNDgsMi40OCwwLDAsMSwuNzEuNz' + + 'FDMSwwLjQ3LDEuNDMsMCw2LjM2LDBTMTEuNzUsMC40NiwxMiwuNzFBMi40NCwyLjQ0LDAsMC' + + 'wxLDEyLjcxLDIuNDRaIiBmaWxsPSIjMjMxZjIwIi8+PC9nPjxwYXRoIGQ9Ik02LjM2LDcuNz' + + 'lhMS40MywxLjQzLDAsMCwxLTEtLjQyTDEuNDIsMy40NWExLjQ0LDEuNDQsMCwwLDEsMC0yYz' + + 'AuNTYtLjU2LDkuMzEtMC41Niw5Ljg3LDBhMS40NCwxLjQ0LDAsMCwxLDAsMkw3LjM3LDcuMz' + + 'dBMS40MywxLjQzLDAsMCwxLDYuMzYsNy43OVoiIGZpbGw9IiNmZmYiLz48L3N2Zz4='; + /** * Whether or not to show a box shadow around the widget div. This is only a * feature of full block fields. diff --git a/core/renderers/zelos/constants.js b/core/renderers/zelos/constants.js index 135d61130..f4ca8189d 100644 --- a/core/renderers/zelos/constants.js +++ b/core/renderers/zelos/constants.js @@ -314,29 +314,9 @@ Blockly.zelos.ConstantProvider = function() { this.FIELD_DROPDOWN_SVG_ARROW = true; /** - * A dropdown field's SVG arrow size. - * @type {number} - * @const + * @override */ - this.FIELD_DROPDOWN_SVG_ARROW_SIZE = 3 * this.GRID_UNIT; - - /** - * A dropdown field's SVG arrow datauri. - * @type {string} - * @const - */ - this.FIELD_DROPDOWN_SVG_ARROW_DATAURI = - 'data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllci' + - 'AxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMi43MSIgaG' + - 'VpZ2h0PSI4Ljc5IiB2aWV3Qm94PSIwIDAgMTIuNzEgOC43OSI+PHRpdGxlPmRyb3Bkb3duLW' + - 'Fycm93PC90aXRsZT48ZyBvcGFjaXR5PSIwLjEiPjxwYXRoIGQ9Ik0xMi43MSwyLjQ0QTIuND' + - 'EsMi40MSwwLDAsMSwxMiw0LjE2TDguMDgsOC4wOGEyLjQ1LDIuNDUsMCwwLDEtMy40NSwwTD' + - 'AuNzIsNC4xNkEyLjQyLDIuNDIsMCwwLDEsMCwyLjQ0LDIuNDgsMi40OCwwLDAsMSwuNzEuNz' + - 'FDMSwwLjQ3LDEuNDMsMCw2LjM2LDBTMTEuNzUsMC40NiwxMiwuNzFBMi40NCwyLjQ0LDAsMC' + - 'wxLDEyLjcxLDIuNDRaIiBmaWxsPSIjMjMxZjIwIi8+PC9nPjxwYXRoIGQ9Ik02LjM2LDcuNz' + - 'lhMS40MywxLjQzLDAsMCwxLTEtLjQyTDEuNDIsMy40NWExLjQ0LDEuNDQsMCwwLDEsMC0yYz' + - 'AuNTYtLjU2LDkuMzEtMC41Niw5Ljg3LDBhMS40NCwxLjQ0LDAsMCwxLDAsMkw3LjM3LDcuMz' + - 'dBMS40MywxLjQzLDAsMCwxLDYuMzYsNy43OVoiIGZpbGw9IiNmZmYiLz48L3N2Zz4='; + this.FIELD_DROPDOWN_SVG_ARROW_PADDING = this.FIELD_BORDER_RECT_X_PADDING; /** * @override