61 lines
1.8 KiB
JavaScript
61 lines
1.8 KiB
JavaScript
modules.define(
|
|
'y-block-event',
|
|
[
|
|
'inherit'
|
|
],
|
|
function (
|
|
provide,
|
|
inherit
|
|
) {
|
|
|
|
/**
|
|
* Класс, представляющий событие блока.
|
|
*/
|
|
var YBlockEvent = inherit({
|
|
/**
|
|
* @param {String} type Тип события.
|
|
* @param {Boolean} [isPropagationStopped=false] Запрещает распространение события.
|
|
* @param {Boolean} [isDefaultPrevented=false] Запрещает действие по умолчанию.
|
|
*/
|
|
__constructor: function (type, isPropagationStopped, isDefaultPrevented) {
|
|
this.type = type;
|
|
this._isPropagationStopped = Boolean(isPropagationStopped);
|
|
this._isDefaultPrevented = Boolean(isDefaultPrevented);
|
|
},
|
|
|
|
/**
|
|
* Определяет, прекращено ли распространение события.
|
|
*
|
|
* @returns {Boolean}
|
|
*/
|
|
isPropagationStopped: function () {
|
|
return this._isPropagationStopped;
|
|
},
|
|
|
|
/**
|
|
* Проверяет, отменена ли реакция по умолчанию на событие.
|
|
*
|
|
* @returns {Boolean}
|
|
*/
|
|
isDefaultPrevented: function () {
|
|
return this._isDefaultPrevented;
|
|
},
|
|
|
|
/**
|
|
* Прекращает распространение события.
|
|
*/
|
|
stopPropagation: function () {
|
|
this._isPropagationStopped = true;
|
|
},
|
|
|
|
/**
|
|
* Отменяет реакцию по умолчанию на событие.
|
|
*/
|
|
preventDefault: function () {
|
|
this._isDefaultPrevented = true;
|
|
}
|
|
});
|
|
|
|
provide(YBlockEvent);
|
|
});
|