2015-08-05 3 views
1

В документации qooxdoo есть как писать декораторы, но нет четкого способа ее использования.Как использовать Mixin в декораторах для 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 Error: No such property: textShadowColor

ответ

0

я нашел, как исправить это:

Ваш cus Том Mixin:

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"; 
    } 
    } 
}); 

// в Decoration.js по теме

qx.Class.patch(qx.ui.decoration.Decorator, phwabe.mixins.MTextShadow); 
"chatitem": { 
    style: { 
    // width: 1, 
    color: "rgba(200,200,200,0.2)", 
    textShadowColor: red 
    } 
Смежные вопросы