AEM组件的拾色器

时间:2015-03-04 23:09:56

标签: extjs cq5 aem

我正在尝试为我的AEM组件添加颜色选择器,因此用户可以在组件对话框中设置颜色。以前它只是一个带有文本选项的选择列表...

<selectList  jcr:primaryType="cq:Widget" fieldLabel="Color" name="./color1" type="select" xtype="selection" options="/etc/designs/my-project/colors.json" />

我想使用ColorMenuColorPalette经过一些试验和错误,我在组件对话框中有以下ColorPalette ...

<colorMenu jcr:primaryType="cq:Widget" fieldLabel="Color" xtype="colorpalette" name="./color2" colors="" plugins="customColorPlugin"/>

customColorPlugin函数设置colors数组。 UI类型的作品和调色板具有可供选择的颜色。 enter image description here

但我无法弄清楚如何处理click事件以将所选颜色放入我的AEM组件属性中。

打开对话框时出现以下JS控制台错误

  

未捕获的TypeError:undefined不是函数
  CQ.Ext.layout.AnchorLayout.CQ.Ext.extend.onLayout   CQ.Ext.layout.ContainerLayout.CQ.Ext.extend.layout   CQ.Ext.layout.ContainerLayout.CQ.Ext.extend.runLayout

当我点击颜色

时,我得到了这个
  

未捕获的TypeError:无法读取null的属性“addClass”   CQ.Ext.ColorPalette.CQ.Ext.extend.select   CQ.Ext.ColorPalette.CQ.Ext.extend.handleClick

1 个答案:

答案 0 :(得分:4)

当插件提供的颜色的十六进制代码为小写时,会出现

Cannot read property 'addClass' of null,它会显示颜色,但会在点击时中断。只需将它们转换为大写,它应该工作。您还可以查看colorfield xtype。