Как использовать Mixin в декораторах для qooxdoo?
В документации по qooxdoo есть способы написания декораторов, но нет ясного способа их использования.
Так что если есть гуру qooxdoo, пожалуйста, просветите меня.
Я пробовал это:
qx.Mixin.define("phwabe.theme.MTextShadow", {
properties : {
textShadowColor : {
nullable : true,
check : "Color"
}
},
members : {
_styleTextShadow : function(styles) {
var color = this.getTextShadowColor();
if (color === null) {
return;
}
color = qx.theme.manager.Color.getInstance().resolve(color);
styles["text-shadow"] = color + " 1px 1px";
}
}
});
// patch the original decorator class
qx.Class.patch(qx.ui.decoration.Decorator, phwabe.theme.MTextShadow);
и это:
//in Decoration.js of theme
"chatitem": {
style: {
// width: 1,
color: "rgba(200,200,200,0.2)",
textShadowColor: red
}
Только в конечном итоге с этой неизвестной ошибкой свойства
phwabe.js?v=e7a4ce2e449b91add3c65027e524a0c7:210 Ошибка Uncaught: такого свойства нет: textShadowColor
1 ответ
Решение
Я нашел, как это исправить:
Ваш пользовательский миксин:
qx.Mixin.define("phwabe.theme.MTextShadow", {
properties : {
textShadowColor : {
nullable : true,
check : "Color"
}
},
members : {
_styleTextShadow : function(styles) {
var color = this.getTextShadowColor();
if (color === null) {
return;
}
color = qx.theme.manager.Color.getInstance().resolve(color);
styles["text-shadow"] = color + " 1px 1px";
}
}
});
// в украшении темы темы
qx.Class.patch(qx.ui.decoration.Decorator, phwabe.mixins.MTextShadow);
"chatitem": {
style: {
// width: 1,
color: "rgba(200,200,200,0.2)",
textShadowColor: red
}