uicore-ts 1.0.1

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 (128) hide show
  1. package/.idea/misc.xml +6 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/uicore.iml +9 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/LICENSE +21 -0
  6. package/README.md +5 -0
  7. package/compiledScripts/UIActionIndicator.d.ts +12 -0
  8. package/compiledScripts/UIActionIndicator.js +54 -0
  9. package/compiledScripts/UIActionIndicator.js.map +1 -0
  10. package/compiledScripts/UIBaseButton.d.ts +52 -0
  11. package/compiledScripts/UIBaseButton.js +268 -0
  12. package/compiledScripts/UIBaseButton.js.map +1 -0
  13. package/compiledScripts/UIButton.d.ts +54 -0
  14. package/compiledScripts/UIButton.js +247 -0
  15. package/compiledScripts/UIButton.js.map +1 -0
  16. package/compiledScripts/UIColor.d.ts +41 -0
  17. package/compiledScripts/UIColor.js +286 -0
  18. package/compiledScripts/UIColor.js.map +1 -0
  19. package/compiledScripts/UICore.d.ts +27 -0
  20. package/compiledScripts/UICore.js +105 -0
  21. package/compiledScripts/UICore.js.map +1 -0
  22. package/compiledScripts/UICoreExtensions.d.ts +60 -0
  23. package/compiledScripts/UICoreExtensions.js +527 -0
  24. package/compiledScripts/UICoreExtensions.js.map +1 -0
  25. package/compiledScripts/UIDateTimeInput.d.ts +40 -0
  26. package/compiledScripts/UIDateTimeInput.js +38 -0
  27. package/compiledScripts/UIDateTimeInput.js.map +1 -0
  28. package/compiledScripts/UIDialogView.d.ts +23 -0
  29. package/compiledScripts/UIDialogView.js +118 -0
  30. package/compiledScripts/UIDialogView.js.map +1 -0
  31. package/compiledScripts/UIImageView.d.ts +36 -0
  32. package/compiledScripts/UIImageView.js +170 -0
  33. package/compiledScripts/UIImageView.js.map +1 -0
  34. package/compiledScripts/UIKeyValueStringFilter.d.ts +21 -0
  35. package/compiledScripts/UIKeyValueStringFilter.js +98 -0
  36. package/compiledScripts/UIKeyValueStringFilter.js.map +1 -0
  37. package/compiledScripts/UIKeyValueStringSorter.d.ts +38 -0
  38. package/compiledScripts/UIKeyValueStringSorter.js +117 -0
  39. package/compiledScripts/UIKeyValueStringSorter.js.map +1 -0
  40. package/compiledScripts/UILayoutGrid.d.ts +8 -0
  41. package/compiledScripts/UILayoutGrid.js +22 -0
  42. package/compiledScripts/UILayoutGrid.js.map +1 -0
  43. package/compiledScripts/UILink.d.ts +25 -0
  44. package/compiledScripts/UILink.js +81 -0
  45. package/compiledScripts/UILink.js.map +1 -0
  46. package/compiledScripts/UILinkButton.d.ts +18 -0
  47. package/compiledScripts/UILinkButton.js +60 -0
  48. package/compiledScripts/UILinkButton.js.map +1 -0
  49. package/compiledScripts/UINativeScrollView.d.ts +20 -0
  50. package/compiledScripts/UINativeScrollView.js +121 -0
  51. package/compiledScripts/UINativeScrollView.js.map +1 -0
  52. package/compiledScripts/UIObject.d.ts +69 -0
  53. package/compiledScripts/UIObject.js +442 -0
  54. package/compiledScripts/UIObject.js.map +1 -0
  55. package/compiledScripts/UIPoint.d.ts +18 -0
  56. package/compiledScripts/UIPoint.js +68 -0
  57. package/compiledScripts/UIPoint.js.map +1 -0
  58. package/compiledScripts/UIRectangle.d.ts +61 -0
  59. package/compiledScripts/UIRectangle.js +421 -0
  60. package/compiledScripts/UIRectangle.js.map +1 -0
  61. package/compiledScripts/UIRoute.d.ts +39 -0
  62. package/compiledScripts/UIRoute.js +202 -0
  63. package/compiledScripts/UIRoute.js.map +1 -0
  64. package/compiledScripts/UIScrollView.d.ts +19 -0
  65. package/compiledScripts/UIScrollView.js +121 -0
  66. package/compiledScripts/UIScrollView.js.map +1 -0
  67. package/compiledScripts/UISlideScrollerView.d.ts +40 -0
  68. package/compiledScripts/UISlideScrollerView.js +242 -0
  69. package/compiledScripts/UISlideScrollerView.js.map +1 -0
  70. package/compiledScripts/UIStringFilter.d.ts +26 -0
  71. package/compiledScripts/UIStringFilter.js +107 -0
  72. package/compiledScripts/UIStringFilter.js.map +1 -0
  73. package/compiledScripts/UITableView.d.ts +61 -0
  74. package/compiledScripts/UITableView.js +383 -0
  75. package/compiledScripts/UITableView.js.map +1 -0
  76. package/compiledScripts/UITextArea.d.ts +7 -0
  77. package/compiledScripts/UITextArea.js +27 -0
  78. package/compiledScripts/UITextArea.js.map +1 -0
  79. package/compiledScripts/UITextField.d.ts +44 -0
  80. package/compiledScripts/UITextField.js +83 -0
  81. package/compiledScripts/UITextField.js.map +1 -0
  82. package/compiledScripts/UITextView.d.ts +89 -0
  83. package/compiledScripts/UITextView.js +237 -0
  84. package/compiledScripts/UITextView.js.map +1 -0
  85. package/compiledScripts/UITimer.d.ts +13 -0
  86. package/compiledScripts/UITimer.js +45 -0
  87. package/compiledScripts/UITimer.js.map +1 -0
  88. package/compiledScripts/UIView.d.ts +330 -0
  89. package/compiledScripts/UIView.js +1533 -0
  90. package/compiledScripts/UIView.js.map +1 -0
  91. package/compiledScripts/UIViewController.d.ts +38 -0
  92. package/compiledScripts/UIViewController.js +153 -0
  93. package/compiledScripts/UIViewController.js.map +1 -0
  94. package/compiledScripts/index.d.ts +29 -0
  95. package/compiledScripts/index.js +46 -0
  96. package/compiledScripts/index.js.map +1 -0
  97. package/package.json +36 -0
  98. package/scripts/UIActionIndicator.ts +139 -0
  99. package/scripts/UIBaseButton.ts +563 -0
  100. package/scripts/UIButton.ts +552 -0
  101. package/scripts/UIColor.ts +427 -0
  102. package/scripts/UICore.ts +223 -0
  103. package/scripts/UICoreExtensions.ts +949 -0
  104. package/scripts/UIDateTimeInput.ts +109 -0
  105. package/scripts/UIDialogView.ts +297 -0
  106. package/scripts/UIImageView.ts +366 -0
  107. package/scripts/UIKeyValueStringFilter.ts +260 -0
  108. package/scripts/UIKeyValueStringSorter.ts +337 -0
  109. package/scripts/UILayoutGrid.ts +83 -0
  110. package/scripts/UILink.ts +292 -0
  111. package/scripts/UILinkButton.ts +238 -0
  112. package/scripts/UINativeScrollView.ts +254 -0
  113. package/scripts/UIObject.ts +827 -0
  114. package/scripts/UIPoint.ts +123 -0
  115. package/scripts/UIRectangle.ts +730 -0
  116. package/scripts/UIRoute.ts +391 -0
  117. package/scripts/UIScrollView.ts +290 -0
  118. package/scripts/UISlideScrollerView.ts +530 -0
  119. package/scripts/UIStringFilter.ts +293 -0
  120. package/scripts/UITableView.ts +790 -0
  121. package/scripts/UITextArea.ts +91 -0
  122. package/scripts/UITextField.ts +218 -0
  123. package/scripts/UITextView.ts +561 -0
  124. package/scripts/UITimer.ts +107 -0
  125. package/scripts/UIView.ts +2789 -0
  126. package/scripts/UIViewController.ts +304 -0
  127. package/scripts/index.ts +36 -0
  128. package/tsconfig.json +59 -0
package/.idea/misc.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager">
4
+ <output url="file://$PROJECT_DIR$/out" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/uicore.iml" filepath="$PROJECT_DIR$/.idea/uicore.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="JAVA_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+ <exclude-output />
5
+ <content url="file://$MODULE_DIR$" />
6
+ <orderEntry type="inheritedJdk" />
7
+ <orderEntry type="sourceFolder" forTests="false" />
8
+ </component>
9
+ </module>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 inimeseke
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # uicore
2
+
3
+
4
+
5
+ UICore is a library to build native-like user interfaces using pure Typescript. No HTML is needed at all. Components are described as TS classes and all user interactions are handled explicitly. This library is strongly inspired by the UIKit framework that is used in IOS. In addition, UICore has tools to handle URL based routing, array sorting and filtering and adds a number of other utilities for convenience.
@@ -0,0 +1,12 @@
1
+ import { UIView } from "./UIView";
2
+ export declare class UIActionIndicator extends UIView {
3
+ indicatorView: UIView;
4
+ _size: number;
5
+ constructor(elementID?: string);
6
+ set size(size: number);
7
+ get size(): number;
8
+ set hidden(hidden: boolean);
9
+ start(): void;
10
+ stop(): void;
11
+ layoutSubviews(): void;
12
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UIActionIndicator = void 0;
4
+ const UIObject_1 = require("./UIObject");
5
+ const UIView_1 = require("./UIView");
6
+ class UIActionIndicator extends UIView_1.UIView {
7
+ constructor(elementID) {
8
+ super(elementID);
9
+ this._size = 50;
10
+ this._class = UIActionIndicator;
11
+ this.superclass = UIView_1.UIView;
12
+ this.indicatorView = new UIView_1.UIView(this.elementID + "IndicatorView");
13
+ this.addSubview(this.indicatorView);
14
+ this.indicatorView.viewHTMLElement.classList.add("LukeHaasLoader");
15
+ this.hidden = UIObject_1.YES;
16
+ }
17
+ set size(size) {
18
+ this._size = size;
19
+ this.setNeedsLayoutUpToRootView();
20
+ }
21
+ get size() {
22
+ return this._size;
23
+ }
24
+ set hidden(hidden) {
25
+ super.hidden = hidden;
26
+ if (hidden) {
27
+ this.indicatorView.removeFromSuperview();
28
+ }
29
+ else {
30
+ this.addSubview(this.indicatorView);
31
+ }
32
+ }
33
+ start() {
34
+ this.hidden = UIObject_1.NO;
35
+ }
36
+ stop() {
37
+ this.hidden = UIObject_1.YES;
38
+ }
39
+ layoutSubviews() {
40
+ super.layoutSubviews();
41
+ const bounds = this.bounds;
42
+ //this.indicatorView.centerInContainer();
43
+ this.indicatorView.style.height = "" + this._size.integerValue + "px";
44
+ this.indicatorView.style.width = "" + this._size.integerValue + "px";
45
+ const minSize = Math.min(this.bounds.height, this.bounds.width);
46
+ this.indicatorView.style.maxHeight = "" + minSize.integerValue + "px";
47
+ this.indicatorView.style.maxWidth = "" + minSize.integerValue + "px";
48
+ const size = Math.min(this._size, minSize);
49
+ this.indicatorView.style.left = "" + ((bounds.width - size) * 0.5 - 11).integerValue + "px";
50
+ this.indicatorView.style.top = "" + ((bounds.height - size) * 0.5 - 11).integerValue + "px";
51
+ }
52
+ }
53
+ exports.UIActionIndicator = UIActionIndicator;
54
+ //# sourceMappingURL=UIActionIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIActionIndicator.js","sourceRoot":"","sources":["../scripts/UIActionIndicator.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,qCAAiC;AAGjC,MAAa,iBAAkB,SAAQ,eAAM;IAOzC,YAAY,SAAkB;QAE1B,KAAK,CAAC,SAAS,CAAC,CAAA;QAJpB,UAAK,GAAW,EAAE,CAAA;QAMd,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAA;QAC/B,IAAI,CAAC,UAAU,GAAG,eAAM,CAAA;QAExB,IAAI,CAAC,aAAa,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,CAAA;QAEjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAEnC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAElE,IAAI,CAAC,MAAM,GAAG,cAAG,CAAA;IAGrB,CAAC;IAMD,IAAI,IAAI,CAAC,IAAY;QAEjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QAEjB,IAAI,CAAC,0BAA0B,EAAE,CAAA;IAErC,CAAC;IAED,IAAI,IAAI;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAA;IAErB,CAAC;IAID,IAAI,MAAM,CAAC,MAAe;QAEtB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;QAErB,IAAI,MAAM,EAAE;YAER,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAA;SAE3C;aACI;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;SAEtC;IAEL,CAAC;IAED,KAAK;QAED,IAAI,CAAC,MAAM,GAAG,aAAE,CAAA;IAEpB,CAAC;IAED,IAAI;QAEA,IAAI,CAAC,MAAM,GAAG,cAAG,CAAA;IAErB,CAAC;IAID,cAAc;QAEV,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAE1B,yCAAyC;QAEzC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;QACrE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;QAEpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE/D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;QACrE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;QAEpE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAE1C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,YAAY,GAAG,IAAI,CAAA;QAC3F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,YAAY,GAAG,IAAI,CAAA;IAK/F,CAAC;CAMJ;AA1GD,8CA0GC"}
@@ -0,0 +1,52 @@
1
+ import { UIView, UIViewBroadcastEvent } from "./UIView";
2
+ export declare class UIBaseButton extends UIView {
3
+ _selected: boolean;
4
+ _highlighted: boolean;
5
+ _isPointerInside: boolean;
6
+ _isToggleable: boolean;
7
+ _hovered: boolean;
8
+ _focused: boolean;
9
+ constructor(elementID: string, elementType?: string, initViewData?: any);
10
+ initViewStateControl(): void;
11
+ set hovered(hovered: boolean);
12
+ get hovered(): boolean;
13
+ set highlighted(highlighted: boolean);
14
+ get highlighted(): boolean;
15
+ set focused(focused: boolean);
16
+ get focused(): boolean;
17
+ set selected(selected: boolean);
18
+ get selected(): boolean;
19
+ updateContentForCurrentState(): void;
20
+ updateContentForNormalState(): void;
21
+ updateContentForHoveredState(): void;
22
+ updateContentForFocusedState(): void;
23
+ updateContentForHighlightedState(): void;
24
+ updateContentForSelectedState(): void;
25
+ updateContentForSelectedAndHighlightedState(): void;
26
+ set enabled(enabled: boolean);
27
+ get enabled(): boolean;
28
+ updateContentForCurrentEnabledState(): void;
29
+ addStyleClass(styleClassName: string): void;
30
+ didReceiveBroadcastEvent(event: UIViewBroadcastEvent): void;
31
+ toggleSelectedState(): void;
32
+ set isToggleable(isToggleable: boolean);
33
+ get isToggleable(): boolean;
34
+ layoutSubviews(): void;
35
+ sendControlEventForKey(eventKey: string, nativeEvent: Event): void;
36
+ static getEventCoordinatesInDocument(touchOrMouseEvent: any): {
37
+ x: number;
38
+ y: number;
39
+ };
40
+ static getElementPositionInDocument(el: any): {
41
+ x: number;
42
+ y: number;
43
+ };
44
+ static convertCoordinatesFromDocumentToElement(x: any, y: any, element: any): {
45
+ x: number;
46
+ y: number;
47
+ };
48
+ static getEventCoordinatesInElement(touchOrMouseEvent: any, element: any): {
49
+ x: number;
50
+ y: number;
51
+ };
52
+ }
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UIBaseButton = void 0;
4
+ const UIButton_1 = require("./UIButton");
5
+ const UIColor_1 = require("./UIColor");
6
+ const UIObject_1 = require("./UIObject");
7
+ const UIView_1 = require("./UIView");
8
+ class UIBaseButton extends UIView_1.UIView {
9
+ constructor(elementID, elementType, initViewData) {
10
+ super(elementID, UIObject_1.nil, elementType, initViewData);
11
+ this._selected = UIObject_1.NO;
12
+ this._highlighted = UIObject_1.NO;
13
+ this._isToggleable = UIObject_1.NO;
14
+ this._class = UIButton_1.UIButton;
15
+ this.superclass = UIView_1.UIView;
16
+ this.initViewStateControl();
17
+ }
18
+ initViewStateControl() {
19
+ this.class.superclass = UIView_1.UIView;
20
+ // Instance variables
21
+ this._isPointerInside = UIObject_1.NO;
22
+ const setHovered = function () {
23
+ this.hovered = UIObject_1.YES;
24
+ }.bind(this);
25
+ this.addTargetForControlEvent(UIView_1.UIView.controlEvent.PointerHover, setHovered);
26
+ const setNotHovered = function () {
27
+ this.hovered = UIObject_1.NO;
28
+ }.bind(this);
29
+ this.addTargetForControlEvents([
30
+ UIView_1.UIView.controlEvent.PointerLeave, UIView_1.UIView.controlEvent.PointerCancel, UIView_1.UIView.controlEvent.MultipleTouches
31
+ ], setNotHovered);
32
+ var highlightingTime;
33
+ const setHighlighted = function () {
34
+ this.highlighted = UIObject_1.YES;
35
+ highlightingTime = Date.now();
36
+ }.bind(this);
37
+ this.addTargetForControlEvent(UIView_1.UIView.controlEvent.PointerDown, setHighlighted);
38
+ this.addTargetForControlEvent(UIView_1.UIView.controlEvent.PointerEnter, setHighlighted);
39
+ const setNotHighlighted = function () {
40
+ this.highlighted = UIObject_1.NO;
41
+ }.bind(this);
42
+ const setNotHighlightedWithMinimumDuration = function () {
43
+ const minimumDurationInMilliseconds = 50;
44
+ const elapsedTime = Date.now() - highlightingTime;
45
+ if (minimumDurationInMilliseconds < elapsedTime) {
46
+ this.highlighted = UIObject_1.NO;
47
+ }
48
+ else {
49
+ setTimeout(function () {
50
+ this.highlighted = UIObject_1.NO;
51
+ }.bind(this), minimumDurationInMilliseconds - elapsedTime);
52
+ }
53
+ }.bind(this);
54
+ this.addTargetForControlEvents([
55
+ UIView_1.UIView.controlEvent.PointerLeave, UIView_1.UIView.controlEvent.PointerCancel, UIView_1.UIView.controlEvent.MultipleTouches
56
+ ], setNotHighlighted);
57
+ this.addTargetForControlEvent(UIView_1.UIView.controlEvent.PointerUp, setNotHighlightedWithMinimumDuration);
58
+ // Handle enter key press
59
+ this.addTargetForControlEvent(UIView_1.UIView.controlEvent.EnterDown, function () {
60
+ setHighlighted();
61
+ setNotHighlightedWithMinimumDuration();
62
+ });
63
+ this.addTargetForControlEvent(UIView_1.UIView.controlEvent.Focus, function (sender, event) {
64
+ this.focused = UIObject_1.YES;
65
+ }.bind(this));
66
+ this.addTargetForControlEvent(UIView_1.UIView.controlEvent.Blur, function (sender, event) {
67
+ this.focused = UIObject_1.NO;
68
+ }.bind(this));
69
+ this.updateContentForCurrentState();
70
+ this.pausesPointerEvents = UIObject_1.YES;
71
+ this.tabIndex = 1;
72
+ this.style.cursor = "pointer";
73
+ //this.style.outline = "none";
74
+ this.nativeSelectionEnabled = UIObject_1.NO;
75
+ this.addTargetForControlEvents([
76
+ UIView_1.UIView.controlEvent.EnterDown, UIView_1.UIView.controlEvent.PointerUpInside
77
+ ], function (sender, event) {
78
+ if (this.isToggleable) {
79
+ this.toggleSelectedState();
80
+ }
81
+ }.bind(this));
82
+ }
83
+ set hovered(hovered) {
84
+ this._hovered = hovered;
85
+ this.updateContentForCurrentState();
86
+ }
87
+ get hovered() {
88
+ return this._hovered;
89
+ }
90
+ set highlighted(highlighted) {
91
+ this._highlighted = highlighted;
92
+ this.updateContentForCurrentState();
93
+ }
94
+ get highlighted() {
95
+ return this._highlighted;
96
+ }
97
+ set focused(focused) {
98
+ this._focused = focused;
99
+ if (focused) {
100
+ this.focus();
101
+ }
102
+ else {
103
+ this.blur();
104
+ }
105
+ this.updateContentForCurrentState();
106
+ }
107
+ get focused() {
108
+ return this._focused;
109
+ }
110
+ set selected(selected) {
111
+ this._selected = selected;
112
+ this.updateContentForCurrentState();
113
+ }
114
+ get selected() {
115
+ return this._selected;
116
+ }
117
+ updateContentForCurrentState() {
118
+ var updateFunction = this.updateContentForNormalState;
119
+ if (this.selected && this.highlighted) {
120
+ updateFunction = this.updateContentForSelectedAndHighlightedState;
121
+ }
122
+ else if (this.selected) {
123
+ updateFunction = this.updateContentForSelectedState;
124
+ }
125
+ else if (this.focused) {
126
+ updateFunction = this.updateContentForFocusedState;
127
+ }
128
+ else if (this.highlighted) {
129
+ updateFunction = this.updateContentForHighlightedState;
130
+ }
131
+ else if (this.hovered) {
132
+ updateFunction = this.updateContentForHoveredState;
133
+ }
134
+ if (!(0, UIObject_1.IS)(updateFunction)) {
135
+ this.backgroundColor = UIColor_1.UIColor.nilColor;
136
+ }
137
+ else {
138
+ updateFunction.call(this);
139
+ }
140
+ }
141
+ updateContentForNormalState() {
142
+ }
143
+ updateContentForHoveredState() {
144
+ this.updateContentForNormalState();
145
+ }
146
+ updateContentForFocusedState() {
147
+ this.updateContentForHoveredState();
148
+ }
149
+ updateContentForHighlightedState() {
150
+ }
151
+ updateContentForSelectedState() {
152
+ }
153
+ updateContentForSelectedAndHighlightedState() {
154
+ this.updateContentForSelectedState();
155
+ }
156
+ set enabled(enabled) {
157
+ super.enabled = enabled;
158
+ this.updateContentForCurrentEnabledState();
159
+ }
160
+ get enabled() {
161
+ return super.enabled;
162
+ }
163
+ updateContentForCurrentEnabledState() {
164
+ if (this.enabled) {
165
+ this.alpha = 1;
166
+ }
167
+ else {
168
+ this.alpha = 0.5;
169
+ }
170
+ this.userInteractionEnabled = this.enabled;
171
+ }
172
+ addStyleClass(styleClassName) {
173
+ super.addStyleClass(styleClassName);
174
+ if (this.styleClassName != styleClassName) {
175
+ this.updateContentForCurrentState.call(this);
176
+ }
177
+ }
178
+ didReceiveBroadcastEvent(event) {
179
+ super.didReceiveBroadcastEvent(event);
180
+ if (event.name == UIView_1.UIView.broadcastEventName.PageDidScroll || event.name ==
181
+ UIView_1.UIView.broadcastEventName.AddedToViewTree) {
182
+ this.hovered = UIObject_1.NO;
183
+ this.highlighted = UIObject_1.NO;
184
+ }
185
+ }
186
+ toggleSelectedState() {
187
+ this.selected = !this.selected;
188
+ }
189
+ set isToggleable(isToggleable) {
190
+ this._isToggleable = isToggleable;
191
+ }
192
+ get isToggleable() {
193
+ return this._isToggleable;
194
+ }
195
+ layoutSubviews() {
196
+ super.layoutSubviews();
197
+ const bounds = this.bounds;
198
+ }
199
+ sendControlEventForKey(eventKey, nativeEvent) {
200
+ if (eventKey == UIView_1.UIView.controlEvent.PointerUpInside && !this.highlighted) {
201
+ // Do not send the event in this case
202
+ //super.sendControlEventForKey(eventKey, nativeEvent);
203
+ const asd = 1;
204
+ }
205
+ else {
206
+ super.sendControlEventForKey(eventKey, nativeEvent);
207
+ }
208
+ }
209
+ static getEventCoordinatesInDocument(touchOrMouseEvent) {
210
+ // http://www.quirksmode.org/js/events_properties.html
211
+ var posx = 0;
212
+ var posy = 0;
213
+ var e = touchOrMouseEvent;
214
+ if (!e) {
215
+ e = window.event;
216
+ }
217
+ if (e.pageX || e.pageY) {
218
+ posx = e.pageX;
219
+ posy = e.pageY;
220
+ }
221
+ else if (e.clientX || e.clientY) {
222
+ posx = e.clientX + document.body.scrollLeft
223
+ + document.documentElement.scrollLeft;
224
+ posy = e.clientY + document.body.scrollTop
225
+ + document.documentElement.scrollTop;
226
+ }
227
+ // posx and posy contain the mouse position relative to the document
228
+ const coordinates = { "x": posx, "y": posy };
229
+ return coordinates;
230
+ }
231
+ static getElementPositionInDocument(el) {
232
+ //https://www.kirupa.com/html5/getting_mouse_click_position.htm
233
+ var xPosition = 0;
234
+ var yPosition = 0;
235
+ while (el) {
236
+ if (el.tagName == "BODY") {
237
+ // Coordinates in document are coordinates in body, therefore subtracting the scroll position of the body is not needed
238
+ // // deal with browser quirks with body/window/document and page scroll
239
+ // var xScrollPos = el.scrollLeft || document.documentElement.scrollLeft;
240
+ // var yScrollPos = el.scrollTop || document.documentElement.scrollTop;
241
+ //
242
+ // xPosition += (el.offsetLeft - xScrollPos + el.clientLeft);
243
+ // yPosition += (el.offsetTop - yScrollPos + el.clientTop);
244
+ }
245
+ else {
246
+ xPosition += (el.offsetLeft - el.scrollLeft + el.clientLeft);
247
+ yPosition += (el.offsetTop - el.scrollTop + el.clientTop);
248
+ }
249
+ el = el.offsetParent;
250
+ }
251
+ return {
252
+ x: xPosition,
253
+ y: yPosition
254
+ };
255
+ }
256
+ static convertCoordinatesFromDocumentToElement(x, y, element) {
257
+ const elementPositionInDocument = this.getElementPositionInDocument(element);
258
+ const coordinatesInElement = { "x": x - elementPositionInDocument.x, "y": y - elementPositionInDocument.y };
259
+ return coordinatesInElement;
260
+ }
261
+ static getEventCoordinatesInElement(touchOrMouseEvent, element) {
262
+ const coordinatesInDocument = this.getEventCoordinatesInDocument(touchOrMouseEvent);
263
+ const coordinatesInElement = this.convertCoordinatesFromDocumentToElement(coordinatesInDocument.x, coordinatesInDocument.y, element);
264
+ return coordinatesInElement;
265
+ }
266
+ }
267
+ exports.UIBaseButton = UIBaseButton;
268
+ //# sourceMappingURL=UIBaseButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIBaseButton.js","sourceRoot":"","sources":["../scripts/UIBaseButton.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { UIBaseButton } from "./UIBaseButton";
2
+ import { UIColor } from "./UIColor";
3
+ import { UIImageView } from "./UIImageView";
4
+ import { UITextView } from "./UITextView";
5
+ export interface UIButtonColorSpecifier {
6
+ titleLabel: UIButtonElementColorSpecifier;
7
+ background: UIButtonElementColorSpecifier;
8
+ }
9
+ export interface UIButtonElementColorSpecifier {
10
+ normal: UIColor;
11
+ hovered?: UIColor;
12
+ highlighted: UIColor;
13
+ focused?: UIColor;
14
+ selected: UIColor;
15
+ selectedAndHighlighted?: UIColor;
16
+ }
17
+ export declare class UIButton extends UIBaseButton {
18
+ _contentPadding: any;
19
+ _titleLabel: UITextView;
20
+ _imageView: UIImageView;
21
+ usesAutomaticTitleFontSize: boolean;
22
+ minAutomaticFontSize: number;
23
+ maxAutomaticFontSize: number;
24
+ colors: UIButtonColorSpecifier;
25
+ constructor(elementID: string, elementType?: string, titleType?: string);
26
+ initView(elementID: any, viewHTMLElement: any, initViewData: {
27
+ titleType: string;
28
+ }): void;
29
+ get contentPadding(): any;
30
+ set contentPadding(contentPadding: any);
31
+ set hovered(hovered: boolean);
32
+ get hovered(): boolean;
33
+ set highlighted(highlighted: boolean);
34
+ get highlighted(): boolean;
35
+ set focused(focused: boolean);
36
+ get focused(): boolean;
37
+ set selected(selected: boolean);
38
+ get selected(): boolean;
39
+ updateContentForCurrentState(): void;
40
+ updateContentForNormalState(): void;
41
+ updateContentForHoveredState(): void;
42
+ updateContentForFocusedState(): void;
43
+ updateContentForHighlightedState(): void;
44
+ updateContentForSelectedState(): void;
45
+ updateContentForSelectedAndHighlightedState(): void;
46
+ set enabled(enabled: boolean);
47
+ get enabled(): boolean;
48
+ updateContentForCurrentEnabledState(): void;
49
+ addStyleClass(styleClassName: string): void;
50
+ get titleLabel(): UITextView;
51
+ get imageView(): UIImageView;
52
+ layoutSubviews(): void;
53
+ initViewStyleSelectors(): void;
54
+ }