1.0.2 • Published 9 months ago

@apimediaru/driven-event v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

@apimediaru/driven-event

Обертка над объектом браузерного события. Добавляет возможность отслеживать вызов методов управления поведением по умолчанию и всплытия: stopPropagation, stopImmediatePropagation и preventDefault. Штатными средствами отследить возможно только preventDefault через свойство evt.defaultPrevented.

Используется в Dispatcher для управления возможностью обработки вложенных эффектов.

Установка

npm install @apimediaru/driven-event

API

createDrivenEvent(evt: Event): DrivenEvent

import { createDrivenEvent } from '@apimediaru/driven-event';

function compOne(event) {
  if (event.target.classList.has('js-stop')) {
    event.stopPropagation();
  }
}

function compTwo(event) {
  if (!event.isPropagationStopped()) {
    // Proceed
    console.log(event.customProperty);
  }
}

function someEventLogic(event) {
  event.preventDefault();
  compOne(event);
  compTwo(event);
}

document.addEventListener('click', (event) => {
  someEventLogic(createDrivenEvent(event));
});

Структура объекта события

type: string
Тип события

originalEvent: Event
Ссылка на оригинальное событие браузера

timeStamp?: number
Временная метка в милисекундах момента создания события

target
Ссылка на evt.target

currentTarget
Ссылка на evt.currentTarget

preventDefault(): void
Отменить действие бразуера по умолчанию

isDefaultPrevented(): boolean
Возвращает true если действие браузера по умолчанию было прекращено

stopPropagation(): void
Прекратить всплытие события

isPropagationStopped(): boolean
Возвращает true если всплытие было остановлено

stopImmediatePropagation: () => void
Останавливает цепочку вызова событий для последующих обработчиков DOM-элемента

isImmediatePropagationStopped(): boolean
Возвращает true если у экземпляра DrivenEvent был вызыван метод stopImmediatePropagation

simulate(): void
По умолчанию DrivenEvent полностью повторяет логику управления всплытием и действием браузера по умолчанию, однако это поведение можно отключить. Тогда фоном DrivenEvent не будет вызывать стандартные методы, но можно по прежнему отследить были ли вызываны функции у класса-обертки.

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago

0.2.33

10 months ago

0.2.32

10 months ago

0.2.31

10 months ago

0.3.0

9 months ago

0.2.27

11 months ago

0.2.26

11 months ago

0.2.25

11 months ago

0.2.24

11 months ago

0.2.23

12 months ago

0.2.29

11 months ago

0.2.28

11 months ago

0.2.16

1 year ago

0.2.15

1 year ago

0.2.14

1 year ago

0.2.13

1 year ago

0.2.12

1 year ago

0.2.22

12 months ago

0.2.21

12 months ago

0.2.10

1 year ago

0.2.20

12 months ago

0.2.19

12 months ago

0.2.18

12 months ago

0.2.17

1 year ago

0.2.7

1 year ago

0.2.6

1 year ago

0.2.8

1 year ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago