From 20a80597580494132fd359c0776b2d03ac9cf110 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Fri, 20 Mar 2020 20:00:03 +0000 Subject: [PATCH] [groups] Add style options for group label --- .../editor-client/locales/en-US/editor.json | 2 +- .../src/js/ui/common/colorPicker.js | 223 ++++++++++++++++++ .../editor-client/src/js/ui/group.js | 139 ++++++++++- .../@node-red/editor-client/src/js/ui/view.js | 62 ++++- .../editor-client/src/sass/editor.scss | 52 +++- 5 files changed, 461 insertions(+), 17 deletions(-) create mode 100644 packages/node_modules/@node-red/editor-client/src/js/ui/common/colorPicker.js diff --git a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json index a5254661b..2b3cb691b 100755 --- a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json @@ -15,7 +15,7 @@ "next": "Next", "clone": "Clone project", "cont": "Continue", - "stroke": "Stroke", + "line": "Outline", "fill": "Fill" }, "type": { diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/common/colorPicker.js b/packages/node_modules/@node-red/editor-client/src/js/ui/common/colorPicker.js new file mode 100644 index 000000000..47f4cfed2 --- /dev/null +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/common/colorPicker.js @@ -0,0 +1,223 @@ +RED.colorPicker = (function() { + + function getDarkerColor(c) { + var r,g,b; + if (/^#[a-f0-9]{6}$/i.test(c)) { + r = parseInt(c.substring(1, 3), 16); + g = parseInt(c.substring(3, 5), 16); + b = parseInt(c.substring(5, 7), 16); + } else if (/^#[a-f0-9]{3}$/i.test(c)) { + r = parseInt(c.substring(1, 2)+c.substring(1, 2), 16); + g = parseInt(c.substring(2, 3)+c.substring(2, 3), 16); + b = parseInt(c.substring(3, 4)+c.substring(3, 4), 16); + } else { + return c; + } + var l = 0.3 * r/255 + 0.59 * g/255 + 0.11 * b/255 ; + r = Math.max(0,r-50); + g = Math.max(0,g-50); + b = Math.max(0,b-50); + return '#'+((r<<16) + (g<<8) + b).toString(16).padStart(6,'0') + } + + function create(options) { + var color = options.value; + var id = options.id; + var colorPalette = options.palette || []; + var width = options.cellWidth || 30; + var height = options.cellHeight || 30; + var margin = options.cellMargin || 2; + var perRow = options.cellPerRow || 6; + + var container = $("
",{style:"display:inline-block"}); + var colorHiddenInput = $("", { id: id, type: "hidden", value: color }).appendTo(container); + var opacityHiddenInput = $("", { id: id+"-opacity", type: "hidden", value: options.hasOwnProperty('opacity')?options.opacity:"1" }).appendTo(container); + + var colorButton = $('