Добавление и переопределение компонентов

Здравствуйте.
Подскажите пожалуйста как изменить\переопределить существующий компонент. И как добавить свой.
На данный момент в модуле в котором использую компонент делаю так:

Ext.define("Terrasoft.controls.UsrTextEdit", {
        extend: "Terrasoft.BaseEdit",
        alternateClassName: "Terrasoft.UsrTextEdit",
        left: "",
        top: "",
        combineStyles: function() {
                var styles = this.callParent(arguments);
                var left = this.left ? this.left : "";
                var top = this.top ? this.top : "";
                var wrapStyle = styles.wrapStyle;
                if (left) {
                        wrapStyle.left = left;
                }
                if (top) {
                        wrapStyle.top = top;
                }
                return styles;
        },
        init: function() {
                this.callParent(arguments);
                this.addEvents(
                        "onmousedown",
                        "onmousemove",
                        "onmouseup"
                );
        },
        initDomEvents: function() {
                this.callParent(arguments);
                var el = this.getEl();
                el.on({
                        "onmousedown": {
                                fn: this.onMouseDown,
                                scope: this
                        },
                        "onmousemove": {
                                fn: this.onMouseMove,
                                scope: this
                        },
                        "onmouseup": {
                                fn: this.onMouseUp,
                                scope: this
                        }
                });
        },
        onMouseDown: function(e) {
                Console.Log('onMouseDown');
                this.fireEvent("onmousedown", this, e);
        },
        onMouseMove: function(e) {
                Console.Log('onMouseMove');
                this.fireEvent("onmousemove", this, e);
        },
        onMouseUp: function(e) {
                Console.Log('onMouseUp');
                this.fireEvent("onmouseup", this, e);
        }
});

Но таким способом не получилось подписаться на новые события, в лог ничего не выводиться, combineStyles отрабатывает нормально.

Нравится

2 комментария

Добрый день!

Попробуйте убрать приставку "on" из названия событий "onmousedown", "onmousemove", "onmouseup". Фреймворк должен сам определять, нужна она или нет.

Также для вывода в консоль необходимо использовать нижний регистр: console.log(...).

Олег, спасибо. Нужно было без приставки on.

Показать все комментарии