easy 19.0.7 → 20.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +18 -136
  2. package/example.js +535 -609
  3. package/lib/constants.js +1 -13
  4. package/lib/document.js +3 -5
  5. package/lib/element/button.js +3 -1
  6. package/lib/element/checkbox.js +6 -5
  7. package/lib/element/input.js +151 -0
  8. package/lib/element/link.js +3 -1
  9. package/lib/element/select.js +6 -41
  10. package/lib/element/textarea.js +151 -0
  11. package/lib/element.js +8 -26
  12. package/lib/example/view/div.js +184 -0
  13. package/lib/example/view.js +3 -66
  14. package/lib/index.js +5 -9
  15. package/lib/mixins/element.js +27 -4
  16. package/lib/mixins/event.js +19 -8
  17. package/lib/mixins/focus.js +45 -0
  18. package/lib/mixins/input.js +21 -13
  19. package/lib/mixins/mouse.js +1 -1
  20. package/lib/mixins/resize.js +2 -34
  21. package/lib/mixins/scroll.js +5 -5
  22. package/lib/mixins/selection.js +46 -2
  23. package/lib/mixins/textElement.js +20 -0
  24. package/lib/textElement.js +4 -5
  25. package/lib/utilities/string.js +2 -3
  26. package/lib/window.js +20 -11
  27. package/package.json +1 -1
  28. package/src/constants.js +0 -3
  29. package/src/document.js +2 -4
  30. package/src/element/button.js +3 -0
  31. package/src/element/checkbox.js +5 -5
  32. package/src/element/input.js +14 -0
  33. package/src/element/link.js +3 -0
  34. package/src/element/select.js +5 -13
  35. package/src/element/textarea.js +14 -0
  36. package/src/element.js +7 -17
  37. package/src/example/view/div.js +40 -0
  38. package/src/example/view.js +4 -66
  39. package/src/index.js +4 -8
  40. package/src/mixins/element.js +6 -6
  41. package/src/mixins/event.js +25 -10
  42. package/src/mixins/focus.js +33 -0
  43. package/src/mixins/input.js +15 -9
  44. package/src/mixins/mouse.js +1 -5
  45. package/src/mixins/resize.js +1 -58
  46. package/src/mixins/scroll.js +3 -3
  47. package/src/mixins/selection.js +35 -2
  48. package/src/mixins/textElement.js +12 -0
  49. package/src/textElement.js +3 -5
  50. package/src/utilities/string.js +1 -3
  51. package/src/window.js +19 -6
  52. package/lib/example/view/checkbox.js +0 -97
  53. package/lib/inputElement/input.js +0 -99
  54. package/lib/inputElement/textarea.js +0 -99
  55. package/lib/inputElement.js +0 -214
  56. package/lib/mixins/change.js +0 -24
  57. package/lib/mixins/window.js +0 -17
  58. package/src/example/view/checkbox.js +0 -10
  59. package/src/inputElement/input.js +0 -7
  60. package/src/inputElement/textarea.js +0 -7
  61. package/src/inputElement.js +0 -34
  62. package/src/mixins/change.js +0 -14
  63. package/src/mixins/window.js +0 -8
package/src/document.js CHANGED
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import keyMixins from "./mixins/key";
4
- import clickMixins from "./mixins/click";
5
4
  import eventMixins from "./mixins/event";
6
5
  import mouseMixins from "./mixins/mouse";
6
+ import clickMixins from "./mixins/click";
7
7
  import selectionMixins from "./mixins/selection";
8
- import customEventMixins from "./mixins/customEvent";
9
8
 
10
9
  import { UNDEFINED } from "./constants";
11
10
 
@@ -26,8 +25,7 @@ class Document {
26
25
  export default (typeof document === UNDEFINED) ? undefined : new Document(); ///
27
26
 
28
27
  Object.assign(Document.prototype, keyMixins);
29
- Object.assign(Document.prototype, clickMixins);
30
28
  Object.assign(Document.prototype, eventMixins);
31
29
  Object.assign(Document.prototype, mouseMixins);
30
+ Object.assign(Document.prototype, clickMixins);
32
31
  Object.assign(Document.prototype, selectionMixins);
33
- Object.assign(Document.prototype, customEventMixins);
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import Element from "../element";
4
+ import focusMixins from "../mixins/focus";
4
5
 
5
6
  export default class Button extends Element {
6
7
  static tagName = "button";
7
8
  }
9
+
10
+ Object.assign(Button.prototype, focusMixins);
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import Element from "../element";
4
- import changeMixins from "../mixins/change";
4
+ import inputMixins from "../mixins/input";
5
+ import focusMixins from "../mixins/focus";
5
6
 
6
- class Checkbox extends Element {
7
+ export default class Checkbox extends Element {
7
8
  isChecked() { return this.domElement.checked; }
8
9
 
9
10
  check(checked = true) { this.domElement.checked = checked; }
@@ -15,6 +16,5 @@ class Checkbox extends Element {
15
16
  };
16
17
  }
17
18
 
18
- Object.assign(Checkbox.prototype, changeMixins);
19
-
20
- export default Checkbox;
19
+ Object.assign(Checkbox.prototype, inputMixins);
20
+ Object.assign(Checkbox.prototype, focusMixins);
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import Element from "../element";
4
+ import inputMixins from "../mixins/input";
5
+ import focusMixins from "../mixins/focus";
6
+ import selectionMixins from "../mixins/selection";
7
+
8
+ export default class Input extends Element {
9
+ static tagName = "input";
10
+ }
11
+
12
+ Object.assign(Input.prototype, inputMixins);
13
+ Object.assign(Input.prototype, focusMixins);
14
+ Object.assign(Input.prototype, selectionMixins);
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import Element from "../element";
4
+ import focusMixins from "../mixins/focus";
4
5
 
5
6
  export default class Link extends Element {
6
7
  getHRef() { return this.getAttribute("href"); }
@@ -9,3 +10,5 @@ export default class Link extends Element {
9
10
 
10
11
  static tagName = "a";
11
12
  }
13
+
14
+ Object.assign(Link.prototype, focusMixins);
@@ -1,20 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  import Element from "../element";
4
- import changeMixins from "../mixins/change";
5
-
6
- class Select extends Element {
7
- onResize(resizeHandler, element) {} ///
8
-
9
- offResize(resizeHandler, element) {} ///
10
-
11
- getValue() { return this.domElement.value; }
12
-
13
- setValue(value) { this.domElement.value = value; }
4
+ import inputMixins from "../mixins/input";
5
+ import focusMixins from "../mixins/focus";
14
6
 
7
+ export default class Select extends Element {
15
8
  static tagName = "select";
16
9
  }
17
10
 
18
- Object.assign(Select.prototype, changeMixins);
19
-
20
- export default Select;
11
+ Object.assign(Select.prototype, inputMixins);
12
+ Object.assign(Select.prototype, focusMixins);
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import Element from "../element";
4
+ import inputMixins from "../mixins/input";
5
+ import focusMixins from "../mixins/focus";
6
+ import selectionMixins from "../mixins/selection";
7
+
8
+ export default class Textarea extends Element {
9
+ static tagName = "textarea";
10
+ }
11
+
12
+ Object.assign(Textarea.prototype, inputMixins);
13
+ Object.assign(Textarea.prototype, focusMixins);
14
+ Object.assign(Textarea.prototype, selectionMixins);
package/src/element.js CHANGED
@@ -4,12 +4,13 @@ import Offset from "./offset";
4
4
  import Bounds from "./bounds";
5
5
  import jsxMixins from "./mixins/jsx";
6
6
  import keyMixins from "./mixins/key";
7
- import clickMixins from "./mixins/click";
8
7
  import stateMixins from "./mixins/state";
9
8
  import eventMixins from "./mixins/event";
10
9
  import mouseMixins from "./mixins/mouse";
11
- import resizeMixins from "./mixins/resize";
10
+ import clickMixins from "./mixins/click";
11
+ import focusMixins from "./mixins/focus";
12
12
  import scrollMixins from "./mixins/scroll";
13
+ import resizeMixins from "./mixins/resize";
13
14
  import elementMixins from "./mixins/element";
14
15
  import customEventMixins from "./mixins/customEvent";
15
16
 
@@ -29,7 +30,7 @@ import { NONE,
29
30
  DEFAULT_PROPERTIES,
30
31
  IGNORED_PROPERTIES } from "./constants";
31
32
 
32
- class Element {
33
+ export default class Element {
33
34
  constructor(selector) {
34
35
  if (selector) {
35
36
  this.domElement = document.querySelector(selector);
@@ -294,16 +295,6 @@ class Element {
294
295
  });
295
296
  }
296
297
 
297
- blur() { this.domElement.blur(); }
298
-
299
- focus() { this.domElement.focus(); }
300
-
301
- hasFocus() {
302
- const focus = (document.activeElement === this.domElement); ///
303
-
304
- return focus;
305
- }
306
-
307
298
  static fromClass(Class, properties, ...remainingArguments) {
308
299
  const { tagName } = Class,
309
300
  element = elementFromTagName(Class, tagName, ...remainingArguments),
@@ -333,17 +324,16 @@ class Element {
333
324
 
334
325
  Object.assign(Element.prototype, jsxMixins);
335
326
  Object.assign(Element.prototype, keyMixins);
327
+ Object.assign(Element.prototype, mouseMixins);
336
328
  Object.assign(Element.prototype, clickMixins);
337
329
  Object.assign(Element.prototype, stateMixins);
338
330
  Object.assign(Element.prototype, eventMixins);
339
- Object.assign(Element.prototype, mouseMixins);
340
- Object.assign(Element.prototype, resizeMixins);
331
+ Object.assign(Element.prototype, focusMixins);
341
332
  Object.assign(Element.prototype, scrollMixins);
333
+ Object.assign(Element.prototype, resizeMixins);
342
334
  Object.assign(Element.prototype, elementMixins);
343
335
  Object.assign(Element.prototype, customEventMixins);
344
336
 
345
- export default Element;
346
-
347
337
  function elementFromTagName(Class, tagName, ...remainingArguments) {
348
338
  const selector = null,
349
339
  element = new (Function.prototype.bind.call(Class, null, selector, ...remainingArguments));
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ import { Element } from "../../index"; ///
4
+
5
+ export default class Div extends Element {
6
+ mouseMoveHandler = (event, element) => {
7
+ const { pageX, pageY } = event;
8
+
9
+ console.log(pageX, pageY)
10
+ }
11
+
12
+ resizeHandler = (event, element) => {
13
+ const width = this.getWidth(),
14
+ height = this.getHeight();
15
+
16
+ console.log(width, height)
17
+ }
18
+
19
+ didMount() {
20
+ this.onResize(this.resizeHandler, this);
21
+ this.onMouseMove(this.mouseMoveHandler, this);
22
+ }
23
+
24
+ willUnmount() {
25
+ this.offMouseMove(this.mouseMoveHandler, this);
26
+ this.offResize(this.resizeHandler, this);
27
+ }
28
+
29
+ childElements() {
30
+ return (
31
+
32
+ <p>
33
+ A paragraph contained in a div with resize and mouse move handlers.
34
+ </p>
35
+
36
+ );
37
+ }
38
+
39
+ static tagName = "div";
40
+ }
@@ -1,41 +1,16 @@
1
1
  "use strict";
2
2
 
3
- import { Button, Element, Textarea, mouseButtons } from "../index"; ///
3
+ import { Element } from "../index"; ///
4
4
 
5
- import Checkbox from "./view/checkbox";
6
-
7
- const { LEFT_MOUSE_BUTTON } = mouseButtons;
5
+ import Div from "./view/div";
8
6
 
9
7
  export default class View extends Element {
10
8
  childElements() {
11
- return ([
12
-
13
- <Checkbox onChange={(event, element) => {
14
- console.log("Changed")
15
- }}
16
- checked
17
- />,
18
- <Textarea onChange={(event, element) => {
19
- console.log("change")
20
- }}
21
- onScroll={function(event, element) { ///
22
- const scrollTop = this.getScrollTop(),
23
- scrollLeft = this.getScrollLeft();
24
-
25
- console.log(scrollTop, scrollLeft)
26
- }}
27
- />,
28
- <Button onClick={(event, element) => {
29
- const { button } = event;
9
+ return (
30
10
 
31
- console.log(button === LEFT_MOUSE_BUTTON)
32
- }}
33
- >
34
- Submit
35
- </Button>,
36
11
  <Div/>
37
12
 
38
- ]);
13
+ );
39
14
  }
40
15
 
41
16
  static tagName = "div";
@@ -44,40 +19,3 @@ export default class View extends Element {
44
19
  className: "view"
45
20
  };
46
21
  }
47
-
48
- class Div extends Element {
49
- mouseMoveHandler = (event, element) => {
50
- const { pageX, pageY } = event;
51
-
52
- console.log(pageX, pageY)
53
- }
54
-
55
- resizeHandler = (event, element) => {
56
- const width = this.getWidth(),
57
- height = this.getHeight();
58
-
59
- console.log(width, height)
60
- }
61
-
62
- didMount() {
63
- this.onResize(this.resizeHandler, this);
64
- this.onMouseMove(this.mouseMoveHandler, this);
65
- }
66
-
67
- willUnmount() {
68
- this.offMouseMove(this.mouseMoveHandler, this);
69
- this.offResize(this.resizeHandler, this);
70
- }
71
-
72
- childElements() {
73
- return (
74
-
75
- <p>
76
- A paragraph contained in a div with resize and mouse move handlers.
77
- </p>
78
-
79
- );
80
- }
81
-
82
- static tagName = "div";
83
- }
package/src/index.js CHANGED
@@ -3,21 +3,17 @@
3
3
  export { default as React } from "./react";
4
4
  export { default as Bounds } from "./bounds";
5
5
  export { default as Offset } from "./offset";
6
-
6
+ export { default as Element } from "./element";
7
+ export { default as TextElement } from "./textElement";
7
8
  export { default as Body } from "./element/body";
8
9
  export { default as Link } from "./element/link";
9
- export { default as Input } from "./inputElement/input";
10
+ export { default as Input } from "./element/input";
10
11
  export { default as Button } from "./element/button";
11
12
  export { default as Select } from "./element/select";
12
- export { default as Element } from "./element";
13
13
  export { default as Checkbox } from "./element/checkbox";
14
- export { default as Textarea } from "./inputElement/textarea";
15
- export { default as TextElement } from "./textElement";
16
- export { default as InputElement } from "./inputElement";
17
-
14
+ export { default as Textarea } from "./element/textarea";
18
15
  export { default as window } from "./window";
19
16
  export { default as document } from "./document";
20
17
  export { default as eventTypes } from "./eventTypes";
21
18
  export { default as mouseButtons } from "./mouseButtons";
22
-
23
19
  export { default as elementUtilities } from "./utilities/element";
@@ -4,7 +4,7 @@ import { first } from "../utilities/array";
4
4
  import { WILDCARD } from "../constants";
5
5
  import { domNodeMatchesSelector, elementsFromDOMElements, filterDOMNodesBySelector, ascendantDOMNodesFromDOMNode, descendantDOMNodesFromDOMNode } from "../utilities/dom";
6
6
 
7
- function getParentElement(selector = WILDCARD) {
7
+ export function getParentElement(selector = WILDCARD) {
8
8
  let parentElement = null;
9
9
 
10
10
  const parentDOMElement = this.domElement.parentElement; ///
@@ -24,7 +24,7 @@ function getParentElement(selector = WILDCARD) {
24
24
  return parentElement;
25
25
  }
26
26
 
27
- function getChildElements(selector = WILDCARD) {
27
+ export function getChildElements(selector = WILDCARD) {
28
28
  const childDOMNodes = this.domElement.childNodes, ///
29
29
  childDOMElements = filterDOMNodesBySelector(childDOMNodes, selector),
30
30
  childElements = elementsFromDOMElements(childDOMElements);
@@ -32,7 +32,7 @@ function getChildElements(selector = WILDCARD) {
32
32
  return childElements;
33
33
  }
34
34
 
35
- function getAscendantElements(selector = WILDCARD, maximumHeight = Infinity) {
35
+ export function getAscendantElements(selector = WILDCARD, maximumHeight = Infinity) {
36
36
  const height = maximumHeight, ///
37
37
  domNode = this.domElement, ///
38
38
  ascendantDOMNodes = ascendantDOMNodesFromDOMNode(domNode, height),
@@ -42,7 +42,7 @@ function getAscendantElements(selector = WILDCARD, maximumHeight = Infinity) {
42
42
  return ascendantElements;
43
43
  }
44
44
 
45
- function getDescendantElements(selector = WILDCARD, maximumDepth = Infinity) {
45
+ export function getDescendantElements(selector = WILDCARD, maximumDepth = Infinity) {
46
46
  const depth = maximumDepth, ///
47
47
  domNode = this.domElement, ///
48
48
  descendantDOMNodes = descendantDOMNodesFromDOMNode(domNode, depth),
@@ -52,7 +52,7 @@ function getDescendantElements(selector = WILDCARD, maximumDepth = Infinity) {
52
52
  return descendantElements;
53
53
  }
54
54
 
55
- function getNextSiblingElement(selector = WILDCARD) {
55
+ export function getNextSiblingElement(selector = WILDCARD) {
56
56
  let nextSiblingElement = null;
57
57
 
58
58
  const nextSiblingDOMNode = this.domElement.nextSibling; ///
@@ -64,7 +64,7 @@ function getNextSiblingElement(selector = WILDCARD) {
64
64
  return nextSiblingElement;
65
65
  }
66
66
 
67
- function getPreviousSiblingElement(selector = WILDCARD) {
67
+ export function getPreviousSiblingElement(selector = WILDCARD) {
68
68
  let previousSiblingElement = null;
69
69
 
70
70
  const previousSiblingDOMNode = this.domElement.previousSibling; ///
@@ -2,7 +2,6 @@
2
2
 
3
3
  import { SPACE } from "../constants";
4
4
  import { RESIZE_EVENT_TYPE } from "../eventTypes";
5
- import { removeResizeObject } from "../mixins/resize";
6
5
 
7
6
  function onEvent(eventTypes, handler, element = this) {
8
7
  eventTypes = eventTypes.split(SPACE); ///
@@ -13,13 +12,25 @@ function onEvent(eventTypes, handler, element = this) {
13
12
  resizeEventListenersLength = resizeEventListeners.length;
14
13
 
15
14
  if (resizeEventListenersLength === 0) {
16
- this.addResizeObject();
15
+ this.resizeObserver = new ResizeObserver((entries) => {
16
+ const resizeEventListeners = this.findEventListeners(RESIZE_EVENT_TYPE);
17
+
18
+ resizeEventListeners.forEach((resizeEventListener) => {
19
+ const event = null;
20
+
21
+ resizeEventListener(event);
22
+ });
23
+ });
24
+
25
+ this.resizeObserver.observe(this.domElement)
17
26
  }
18
- }
19
27
 
20
- const eventListener = this.addEventListener(eventType, handler, element);
28
+ this.addEventListener(eventType, handler, element);
29
+ } else {
30
+ const eventListener = this.addEventListener(eventType, handler, element);
21
31
 
22
- this.domElement.addEventListener(eventType, eventListener);
32
+ this.domElement.addEventListener(eventType, eventListener);
33
+ }
23
34
  });
24
35
  }
25
36
 
@@ -27,17 +38,21 @@ function offEvent(eventTypes, handler, element = this) {
27
38
  eventTypes = eventTypes.split(SPACE); ///
28
39
 
29
40
  eventTypes.forEach((eventType) => {
30
- const eventListener = this.removeEventListener(eventType, handler, element);
31
-
32
- this.domElement.removeEventListener(eventType, eventListener);
33
-
34
41
  if (eventType === RESIZE_EVENT_TYPE) {
42
+ this.removeEventListener(eventType, handler, element);
43
+
35
44
  const resizeEventListeners = this.findEventListeners(RESIZE_EVENT_TYPE),
36
45
  resizeEventListenersLength = resizeEventListeners.length;
37
46
 
38
47
  if (resizeEventListenersLength === 0) {
39
- this.removeResizeObject();
48
+ this.resizeObserver.unobserve(this.domElement);
49
+
50
+ delete this.resizeObserver;
40
51
  }
52
+ } else {
53
+ const eventListener = this.removeEventListener(eventType, handler, element);
54
+
55
+ this.domElement.removeEventListener(eventType, eventListener);
41
56
  }
42
57
  });
43
58
  }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ import { BLUR_EVENT_TYPE, FOCUS_EVENT_TYPE } from "../eventTypes";
4
+
5
+ function onBlur(blurHandler, element) { this.onEvent(BLUR_EVENT_TYPE, blurHandler, element); }
6
+
7
+ function offBlur(blurHandler, element) { this.offEvent(BLUR_EVENT_TYPE, blurHandler, element); }
8
+
9
+ function onFocus(focusHandler, element) { this.onEvent(FOCUS_EVENT_TYPE, focusHandler, element); }
10
+
11
+ function offFocus(focusHandler, element) { this.offEvent(FOCUS_EVENT_TYPE, focusHandler, element); }
12
+
13
+ function blur() { this.domElement.blur(); }
14
+
15
+ function focus() { this.domElement.focus(); }
16
+
17
+ function hasFocus() {
18
+ const focus = (document.activeElement === this.domElement); ///
19
+
20
+ return focus;
21
+ }
22
+
23
+ const focusMixins = {
24
+ onBlur,
25
+ offBlur,
26
+ onFocus,
27
+ offFocus,
28
+ blur,
29
+ focus,
30
+ hasFocus
31
+ };
32
+
33
+ export default focusMixins;
@@ -1,20 +1,26 @@
1
1
  "use strict";
2
2
 
3
- import { BLUR_EVENT_TYPE, FOCUS_EVENT_TYPE } from "../eventTypes";
3
+ import { CHANGE_EVENT_TYPE } from "../eventTypes";
4
4
 
5
- function onBlur(blurHandler, element) { this.onEvent(BLUR_EVENT_TYPE, blurHandler, element); }
5
+ function onChange(changeHandler, element) { this.onEvent(CHANGE_EVENT_TYPE, changeHandler, element); }
6
6
 
7
- function offBlur(blurHandler, element) { this.offEvent(BLUR_EVENT_TYPE, blurHandler, element); }
7
+ function offChange(changeHandler, element) { this.offEvent(CHANGE_EVENT_TYPE, changeHandler, element); }
8
8
 
9
- function onFocus(focusHandler, element) { this.onEvent(FOCUS_EVENT_TYPE, focusHandler, element); }
9
+ function getValue() { return this.domElement.value; }
10
10
 
11
- function offFocus(focusHandler, element) { this.offEvent(FOCUS_EVENT_TYPE, focusHandler, element); }
11
+ function setValue(value) { this.domElement.value = value; }
12
+
13
+ function isReadOnly() { return this.domElement.readOnly; }
14
+
15
+ function setReadOnly(readOnly) { this.domElement.readOnly = readOnly; }
12
16
 
13
17
  const inputMixins = {
14
- onBlur,
15
- offBlur,
16
- onFocus,
17
- offFocus
18
+ onChange,
19
+ offChange,
20
+ getValue,
21
+ setValue,
22
+ isReadOnly,
23
+ setReadOnly
18
24
  };
19
25
 
20
26
  export default inputMixins;
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { MOUSEUP_EVENT_TYPE,
4
- MOUSEOUT_EVENT_TYPE,
5
- MOUSEDOWN_EVENT_TYPE,
6
- MOUSEOVER_EVENT_TYPE,
7
- MOUSEMOVE_EVENT_TYPE } from "../eventTypes";
3
+ import { MOUSEUP_EVENT_TYPE, MOUSEOUT_EVENT_TYPE, MOUSEDOWN_EVENT_TYPE, MOUSEOVER_EVENT_TYPE, MOUSEMOVE_EVENT_TYPE } from "../eventTypes";
8
4
 
9
5
  function onMouseUp(mouseUpHandler, element) { this.onEvent(MOUSEUP_EVENT_TYPE, mouseUpHandler, element); }
10
6
 
@@ -1,71 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  import { RESIZE_EVENT_TYPE } from "../eventTypes";
4
- import { OBJECT, TEXT_HTML, ABOUT_BLANK } from "../constants";
5
4
 
6
5
  export function onResize(resizeHandler, element) { this.onEvent(RESIZE_EVENT_TYPE, resizeHandler, element); }
7
6
 
8
7
  export function offResize(resizeHandler, element) { this.offEvent(RESIZE_EVENT_TYPE, resizeHandler, element); }
9
8
 
10
- function addResizeObject() {
11
- const resizeObject = document.createElement(OBJECT),
12
- type = TEXT_HTML, ///
13
- data = ABOUT_BLANK, ///
14
- style = `display: block;
15
- position: absolute;
16
- top: 0;
17
- left: 0;
18
- height: 100%;
19
- width: 100%;
20
- overflow: hidden;
21
- pointer-events: none;
22
- z-index: -1;`;
23
-
24
- Object.assign(resizeObject, {
25
- type,
26
- data
27
- });
28
-
29
- resizeObject.setAttribute("style", style);
30
-
31
- this.__resizeObject__ = resizeObject; ///
32
-
33
- resizeObject.onload = () => {
34
- resizeObjectLoadHandler(this);
35
- };
36
-
37
- this.domElement.appendChild(resizeObject);
38
- }
39
-
40
- function removeResizeObject() {
41
- const resizeObject = this.__resizeObject__, ///
42
- objectWindow = resizeObject.contentDocument.defaultView; ///
43
-
44
- objectWindow.removeEventListener(RESIZE_EVENT_TYPE, resizeEventListener);
45
-
46
- this.domElement.removeChild(resizeObject);
47
-
48
- delete this.__resizeObject__;
49
- }
50
-
51
9
  const resizeMixins = {
52
10
  onResize,
53
- offResize,
54
- addResizeObject,
55
- removeResizeObject
11
+ offResize
56
12
  };
57
13
 
58
14
  export default resizeMixins;
59
-
60
- function resizeObjectLoadHandler(element) {
61
- const resizeObject = element.__resizeObject__,
62
- resizeObjectWindow = resizeObject.contentDocument.defaultView; ///
63
-
64
- resizeObjectWindow.addEventListener(RESIZE_EVENT_TYPE, (event) => {
65
- const resizeEventListeners = element.findEventListeners(RESIZE_EVENT_TYPE);
66
-
67
- resizeEventListeners.forEach((resizeEventListener) => {
68
- resizeEventListener(event);
69
- });
70
- });
71
- }
@@ -6,12 +6,12 @@ function onScroll(scrollHandler, element) { this.onEvent(SCROLL_EVENT_TYPE, scro
6
6
 
7
7
  function offScroll(scrollHandler, element) { this.offEvent(SCROLL_EVENT_TYPE, scrollHandler, element); }
8
8
 
9
+ function scrollTo(scrollTop, scrollLeft) { this.domElement.scrollTo(scrollTop, scrollLeft); }
10
+
9
11
  function getScrollTop() { return this.domElement.scrollTop; }
10
12
 
11
13
  function getScrollLeft() { return this.domElement.scrollLeft; }
12
14
 
13
- function scrollTo(scrollTop, scrollLeft) { this.domElement.scrollTo(scrollTop, scrollLeft); }
14
-
15
15
  function setScrollTop(scrollTop) { this.domElement.scrollTop = scrollTop; }
16
16
 
17
17
  function setScrollLeft(scrollLeft) { this.domElement.scrollLeft = scrollLeft; }
@@ -19,9 +19,9 @@ function setScrollLeft(scrollLeft) { this.domElement.scrollLeft = scrollLeft; }
19
19
  const scrollMixins = {
20
20
  onScroll,
21
21
  offScroll,
22
+ scrollTo,
22
23
  getScrollTop,
23
24
  getScrollLeft,
24
- scrollTo,
25
25
  setScrollTop,
26
26
  setScrollLeft
27
27
  };