diff --git a/packages/mindplot/src/components/widget/ColorPalettePanel.js b/packages/mindplot/src/components/widget/ColorPalettePanel.js index c5ef4c45..3a95168d 100644 --- a/packages/mindplot/src/components/widget/ColorPalettePanel.js +++ b/packages/mindplot/src/components/widget/ColorPalettePanel.js @@ -21,9 +21,12 @@ import ToolbarPaneItem from './ToolbarPaneItem'; class ColorPalettePanel extends ToolbarPaneItem { constructor(buttonId, model, baseUrl) { - super(buttonId, model); - this._baseUrl = baseUrl; $assert($defined(baseUrl), 'baseUrl can not be null'); + super(buttonId, model, (() => this._setUrl(baseUrl))); + } + + _setUrl(baseUrl) { + this._baseUrl = baseUrl; } _load() { diff --git a/packages/mindplot/src/components/widget/ToolbarPaneItem.js b/packages/mindplot/src/components/widget/ToolbarPaneItem.js index cc64d825..cdb47b91 100644 --- a/packages/mindplot/src/components/widget/ToolbarPaneItem.js +++ b/packages/mindplot/src/components/widget/ToolbarPaneItem.js @@ -20,11 +20,16 @@ import ToolbarItem from './ToolbarItem'; import FloatingTip from './FloatingTip'; class ToolbarPaneItem extends ToolbarItem { - constructor(buttonId, model) { + constructor(buttonId, model, lazyInit) { $assert(buttonId, 'buttonId can not be null'); $assert(model, 'model can not be null'); super(buttonId, null, { topicAction: true, relAction: false }); + // delay initialization in case of bring required. + if (lazyInit) { + lazyInit.bind(this)(); + } + const handler = () => (this.isVisible() ? this.hide() : this.show()); this.setEventHandler(handler); this._model = model;