uicore-ts 1.0.2 → 1.0.7

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 (147) hide show
  1. package/.jshintrc +4 -0
  2. package/README.md +1 -1
  3. package/compiledScripts/ClientCheckers.d.ts +2 -0
  4. package/compiledScripts/ClientCheckers.js +31 -0
  5. package/compiledScripts/ClientCheckers.js.map +7 -0
  6. package/compiledScripts/UIActionIndicator.js +70 -52
  7. package/compiledScripts/UIActionIndicator.js.map +7 -1
  8. package/compiledScripts/UIBaseButton.js +262 -257
  9. package/compiledScripts/UIBaseButton.js.map +7 -1
  10. package/compiledScripts/UIButton.js +249 -231
  11. package/compiledScripts/UIButton.js.map +7 -1
  12. package/compiledScripts/UIColor.js +292 -280
  13. package/compiledScripts/UIColor.js.map +7 -1
  14. package/compiledScripts/UICore.d.ts +6 -17
  15. package/compiledScripts/UICore.js +114 -100
  16. package/compiledScripts/UICore.js.map +7 -1
  17. package/compiledScripts/UICoreExtensionValueObject.d.ts +5 -0
  18. package/compiledScripts/UICoreExtensionValueObject.js +33 -0
  19. package/compiledScripts/UICoreExtensionValueObject.js.map +7 -0
  20. package/compiledScripts/UICoreExtensions.d.ts +4 -7
  21. package/compiledScripts/UICoreExtensions.js +382 -499
  22. package/compiledScripts/UICoreExtensions.js.map +7 -1
  23. package/compiledScripts/UICoreValues.d.ts +11 -0
  24. package/compiledScripts/UICoreValues.js +35 -0
  25. package/compiledScripts/UICoreValues.js.map +7 -0
  26. package/compiledScripts/UIDateTimeInput.js +54 -33
  27. package/compiledScripts/UIDateTimeInput.js.map +7 -1
  28. package/compiledScripts/UIDialogView.d.ts +1 -0
  29. package/compiledScripts/UIDialogView.js +142 -109
  30. package/compiledScripts/UIDialogView.js.map +7 -1
  31. package/compiledScripts/UIImageView.js +166 -168
  32. package/compiledScripts/UIImageView.js.map +7 -1
  33. package/compiledScripts/UIInterfaces.d.ts +11 -0
  34. package/compiledScripts/UIInterfaces.js +16 -0
  35. package/compiledScripts/UIInterfaces.js.map +7 -0
  36. package/compiledScripts/UIKeyValueStringFilter.d.ts +1 -1
  37. package/compiledScripts/UIKeyValueStringFilter.js +114 -88
  38. package/compiledScripts/UIKeyValueStringFilter.js.map +7 -1
  39. package/compiledScripts/{UIKeyValueStringFilterWebWorker.d.ts → UIKeyValueStringFilterWebWorker.worker.d.ts} +0 -0
  40. package/compiledScripts/UIKeyValueStringFilterWebWorker.worker.js +69 -0
  41. package/compiledScripts/UIKeyValueStringFilterWebWorker.worker.js.map +7 -0
  42. package/compiledScripts/UIKeyValueStringSorter.d.ts +1 -1
  43. package/compiledScripts/UIKeyValueStringSorter.js +128 -102
  44. package/compiledScripts/UIKeyValueStringSorter.js.map +7 -1
  45. package/compiledScripts/{UIKeyValueStringSorterWebWorker.d.ts → UIKeyValueStringSorterWebWorker.worker.d.ts} +0 -0
  46. package/compiledScripts/UIKeyValueStringSorterWebWorker.worker.js +77 -0
  47. package/compiledScripts/UIKeyValueStringSorterWebWorker.worker.js.map +7 -0
  48. package/compiledScripts/UILayoutGrid.js +40 -20
  49. package/compiledScripts/UILayoutGrid.js.map +7 -1
  50. package/compiledScripts/UILink.js +97 -80
  51. package/compiledScripts/UILink.js.map +7 -1
  52. package/compiledScripts/UILinkButton.js +74 -59
  53. package/compiledScripts/UILinkButton.js.map +7 -1
  54. package/compiledScripts/UINativeScrollView.js +131 -116
  55. package/compiledScripts/UINativeScrollView.js.map +7 -1
  56. package/compiledScripts/UIObject.d.ts +3 -4
  57. package/compiledScripts/UIObject.js +405 -378
  58. package/compiledScripts/UIObject.js.map +7 -1
  59. package/compiledScripts/UIPoint.js +86 -67
  60. package/compiledScripts/UIPoint.js.map +7 -1
  61. package/compiledScripts/UIRectangle.js +432 -420
  62. package/compiledScripts/UIRectangle.js.map +7 -1
  63. package/compiledScripts/UIRootViewController.d.ts +38 -0
  64. package/compiledScripts/UIRootViewController.js +258 -0
  65. package/compiledScripts/UIRootViewController.js.map +7 -0
  66. package/compiledScripts/UIRoute.d.ts +0 -7
  67. package/compiledScripts/UIRoute.js +178 -198
  68. package/compiledScripts/UIRoute.js.map +7 -1
  69. package/compiledScripts/UIScrollView.js +117 -119
  70. package/compiledScripts/UIScrollView.js.map +7 -1
  71. package/compiledScripts/UISlideScrollerView.js +246 -239
  72. package/compiledScripts/UISlideScrollerView.js.map +7 -1
  73. package/compiledScripts/UIStringFilter.d.ts +1 -1
  74. package/compiledScripts/UIStringFilter.js +130 -96
  75. package/compiledScripts/UIStringFilter.js.map +7 -1
  76. package/compiledScripts/{UIStringFilterWebWorker.d.ts → UIStringFilterWebWorker.worker.d.ts} +0 -0
  77. package/compiledScripts/UIStringFilterWebWorker.worker.js +55 -0
  78. package/compiledScripts/UIStringFilterWebWorker.worker.js.map +7 -0
  79. package/compiledScripts/UITableView.js +366 -360
  80. package/compiledScripts/UITableView.js.map +7 -1
  81. package/compiledScripts/UITextArea.d.ts +1 -1
  82. package/compiledScripts/UITextArea.js +44 -26
  83. package/compiledScripts/UITextArea.js.map +7 -1
  84. package/compiledScripts/UITextField.js +99 -79
  85. package/compiledScripts/UITextField.js.map +7 -1
  86. package/compiledScripts/UITextView.d.ts +1 -1
  87. package/compiledScripts/UITextView.js +244 -232
  88. package/compiledScripts/UITextView.js.map +7 -1
  89. package/compiledScripts/UITimer.d.ts +1 -2
  90. package/compiledScripts/UITimer.js +61 -41
  91. package/compiledScripts/UITimer.js.map +7 -1
  92. package/compiledScripts/UIView.d.ts +29 -6
  93. package/compiledScripts/UIView.js +1441 -1519
  94. package/compiledScripts/UIView.js.map +7 -1
  95. package/compiledScripts/UIViewController.d.ts +7 -11
  96. package/compiledScripts/UIViewController.js +169 -151
  97. package/compiledScripts/UIViewController.js.map +7 -1
  98. package/compiledScripts/index.d.ts +5 -0
  99. package/compiledScripts/index.js +50 -45
  100. package/compiledScripts/index.js.map +7 -1
  101. package/etsc.config.mjs +23 -0
  102. package/package.json +12 -3
  103. package/rollup.config.js +49 -0
  104. package/scripts/ClientCheckers.ts +2 -0
  105. package/scripts/UIActionIndicator.ts +1 -7
  106. package/scripts/UIBaseButton.ts +0 -4
  107. package/scripts/UIButton.ts +0 -4
  108. package/scripts/UIColor.ts +0 -5
  109. package/scripts/UICore.ts +49 -94
  110. package/scripts/UICoreExtensionValueObject.ts +12 -0
  111. package/scripts/UICoreExtensions.ts +76 -44
  112. package/scripts/UIDateTimeInput.ts +0 -8
  113. package/scripts/UIDialogView.ts +6 -5
  114. package/scripts/UIImageView.ts +0 -2
  115. package/scripts/UIInterfaces.ts +25 -0
  116. package/scripts/UIKeyValueStringFilter.ts +5 -7
  117. package/scripts/{UIKeyValueStringFilterWebWorker.ts → UIKeyValueStringFilterWebWorker.worker.ts} +45 -45
  118. package/scripts/UIKeyValueStringSorter.ts +5 -7
  119. package/scripts/{UIKeyValueStringSorterWebWorker.ts → UIKeyValueStringSorterWebWorker.worker.ts} +42 -54
  120. package/scripts/UILayoutGrid.ts +0 -3
  121. package/scripts/UILink.ts +0 -11
  122. package/scripts/UILinkButton.ts +0 -7
  123. package/scripts/UINativeScrollView.ts +0 -4
  124. package/scripts/UIObject.ts +19 -99
  125. package/scripts/UIPoint.ts +0 -3
  126. package/scripts/UIRectangle.ts +0 -4
  127. package/scripts/UIRootViewController.ts +320 -0
  128. package/scripts/UIRoute.ts +3 -77
  129. package/scripts/UIScrollView.ts +0 -5
  130. package/scripts/UISlideScrollerView.ts +0 -4
  131. package/scripts/UIStringFilter.ts +43 -43
  132. package/scripts/{UIStringFilterWebWorker.ts → UIStringFilterWebWorker.worker.ts} +36 -41
  133. package/scripts/UITableView.ts +0 -3
  134. package/scripts/UITextArea.ts +4 -8
  135. package/scripts/UITextField.ts +12 -19
  136. package/scripts/UITextView.ts +9 -13
  137. package/scripts/UITimer.ts +3 -9
  138. package/scripts/UIView.ts +87 -50
  139. package/scripts/UIViewController.ts +45 -87
  140. package/scripts/index.ts +6 -0
  141. package/tsconfig.json +20 -10
  142. package/compiledScripts/UIKeyValueStringFilterWebWorker.js +0 -76
  143. package/compiledScripts/UIKeyValueStringFilterWebWorker.js.map +0 -1
  144. package/compiledScripts/UIKeyValueStringSorterWebWorker.js +0 -81
  145. package/compiledScripts/UIKeyValueStringSorterWebWorker.js.map +0 -1
  146. package/compiledScripts/UIStringFilterWebWorker.js +0 -67
  147. package/compiledScripts/UIStringFilterWebWorker.js.map +0 -1
@@ -1,268 +1,273 @@
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();
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var UIBaseButton_exports = {};
19
+ __export(UIBaseButton_exports, {
20
+ UIBaseButton: () => UIBaseButton
21
+ });
22
+ module.exports = __toCommonJS(UIBaseButton_exports);
23
+ var import_UIColor = require("./UIColor");
24
+ var import_UIObject = require("./UIObject");
25
+ var import_UIView = require("./UIView");
26
+ class UIBaseButton extends import_UIView.UIView {
27
+ constructor(elementID, elementType, initViewData) {
28
+ super(elementID, import_UIObject.nil, elementType, initViewData);
29
+ this._selected = import_UIObject.NO;
30
+ this._highlighted = import_UIObject.NO;
31
+ this._isToggleable = import_UIObject.NO;
32
+ this.initViewStateControl();
33
+ }
34
+ initViewStateControl() {
35
+ this.class.superclass = import_UIView.UIView;
36
+ this._isPointerInside = import_UIObject.NO;
37
+ const setHovered = function() {
38
+ this.hovered = import_UIObject.YES;
39
+ }.bind(this);
40
+ this.addTargetForControlEvent(import_UIView.UIView.controlEvent.PointerHover, setHovered);
41
+ const setNotHovered = function() {
42
+ this.hovered = import_UIObject.NO;
43
+ }.bind(this);
44
+ this.addTargetForControlEvents([
45
+ import_UIView.UIView.controlEvent.PointerLeave,
46
+ import_UIView.UIView.controlEvent.PointerCancel,
47
+ import_UIView.UIView.controlEvent.MultipleTouches
48
+ ], setNotHovered);
49
+ var highlightingTime;
50
+ const setHighlighted = function() {
51
+ this.highlighted = import_UIObject.YES;
52
+ highlightingTime = Date.now();
53
+ }.bind(this);
54
+ this.addTargetForControlEvent(import_UIView.UIView.controlEvent.PointerDown, setHighlighted);
55
+ this.addTargetForControlEvent(import_UIView.UIView.controlEvent.PointerEnter, setHighlighted);
56
+ const setNotHighlighted = function() {
57
+ this.highlighted = import_UIObject.NO;
58
+ }.bind(this);
59
+ const setNotHighlightedWithMinimumDuration = function() {
60
+ const minimumDurationInMilliseconds = 50;
61
+ const elapsedTime = Date.now() - highlightingTime;
62
+ if (minimumDurationInMilliseconds < elapsedTime) {
63
+ this.highlighted = import_UIObject.NO;
64
+ } else {
65
+ setTimeout(function() {
66
+ this.highlighted = import_UIObject.NO;
67
+ }.bind(this), minimumDurationInMilliseconds - elapsedTime);
68
+ }
69
+ }.bind(this);
70
+ this.addTargetForControlEvents([
71
+ import_UIView.UIView.controlEvent.PointerLeave,
72
+ import_UIView.UIView.controlEvent.PointerCancel,
73
+ import_UIView.UIView.controlEvent.MultipleTouches
74
+ ], setNotHighlighted);
75
+ this.addTargetForControlEvent(import_UIView.UIView.controlEvent.PointerUp, setNotHighlightedWithMinimumDuration);
76
+ this.addTargetForControlEvent(import_UIView.UIView.controlEvent.EnterDown, function() {
77
+ setHighlighted();
78
+ setNotHighlightedWithMinimumDuration();
79
+ });
80
+ this.addTargetForControlEvent(
81
+ import_UIView.UIView.controlEvent.Focus,
82
+ function(sender, event) {
83
+ this.focused = import_UIObject.YES;
84
+ }.bind(this)
85
+ );
86
+ this.addTargetForControlEvent(
87
+ import_UIView.UIView.controlEvent.Blur,
88
+ function(sender, event) {
89
+ this.focused = import_UIObject.NO;
90
+ }.bind(this)
91
+ );
92
+ this.updateContentForCurrentState();
93
+ this.pausesPointerEvents = import_UIObject.YES;
94
+ this.tabIndex = 1;
95
+ this.style.cursor = "pointer";
96
+ this.nativeSelectionEnabled = import_UIObject.NO;
97
+ this.addTargetForControlEvents([
98
+ import_UIView.UIView.controlEvent.EnterDown,
99
+ import_UIView.UIView.controlEvent.PointerUpInside
100
+ ], function(sender, event) {
101
+ if (this.isToggleable) {
102
+ this.toggleSelectedState();
103
+ }
104
+ }.bind(this));
105
+ }
106
+ set hovered(hovered) {
107
+ this._hovered = hovered;
108
+ this.updateContentForCurrentState();
109
+ }
110
+ get hovered() {
111
+ return this._hovered;
112
+ }
113
+ set highlighted(highlighted) {
114
+ this._highlighted = highlighted;
115
+ this.updateContentForCurrentState();
116
+ }
117
+ get highlighted() {
118
+ return this._highlighted;
119
+ }
120
+ set focused(focused) {
121
+ this._focused = focused;
122
+ if (focused) {
123
+ this.focus();
124
+ } else {
125
+ this.blur();
17
126
  }
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));
127
+ this.updateContentForCurrentState();
128
+ }
129
+ get focused() {
130
+ return this._focused;
131
+ }
132
+ set selected(selected) {
133
+ this._selected = selected;
134
+ this.updateContentForCurrentState();
135
+ }
136
+ get selected() {
137
+ return this._selected;
138
+ }
139
+ updateContentForCurrentState() {
140
+ var updateFunction = this.updateContentForNormalState;
141
+ if (this.selected && this.highlighted) {
142
+ updateFunction = this.updateContentForSelectedAndHighlightedState;
143
+ } else if (this.selected) {
144
+ updateFunction = this.updateContentForSelectedState;
145
+ } else if (this.focused) {
146
+ updateFunction = this.updateContentForFocusedState;
147
+ } else if (this.highlighted) {
148
+ updateFunction = this.updateContentForHighlightedState;
149
+ } else if (this.hovered) {
150
+ updateFunction = this.updateContentForHoveredState;
82
151
  }
83
- set hovered(hovered) {
84
- this._hovered = hovered;
85
- this.updateContentForCurrentState();
152
+ if (!(0, import_UIObject.IS)(updateFunction)) {
153
+ this.backgroundColor = import_UIColor.UIColor.nilColor;
154
+ } else {
155
+ updateFunction.call(this);
86
156
  }
87
- get hovered() {
88
- return this._hovered;
157
+ }
158
+ updateContentForNormalState() {
159
+ }
160
+ updateContentForHoveredState() {
161
+ this.updateContentForNormalState();
162
+ }
163
+ updateContentForFocusedState() {
164
+ this.updateContentForHoveredState();
165
+ }
166
+ updateContentForHighlightedState() {
167
+ }
168
+ updateContentForSelectedState() {
169
+ }
170
+ updateContentForSelectedAndHighlightedState() {
171
+ this.updateContentForSelectedState();
172
+ }
173
+ set enabled(enabled) {
174
+ super.enabled = enabled;
175
+ this.updateContentForCurrentEnabledState();
176
+ }
177
+ get enabled() {
178
+ return super.enabled;
179
+ }
180
+ updateContentForCurrentEnabledState() {
181
+ if (this.enabled) {
182
+ this.alpha = 1;
183
+ } else {
184
+ this.alpha = 0.5;
89
185
  }
90
- set highlighted(highlighted) {
91
- this._highlighted = highlighted;
92
- this.updateContentForCurrentState();
186
+ this.userInteractionEnabled = this.enabled;
187
+ }
188
+ addStyleClass(styleClassName) {
189
+ super.addStyleClass(styleClassName);
190
+ if (this.styleClassName != styleClassName) {
191
+ this.updateContentForCurrentState.call(this);
93
192
  }
94
- get highlighted() {
95
- return this._highlighted;
193
+ }
194
+ didReceiveBroadcastEvent(event) {
195
+ super.didReceiveBroadcastEvent(event);
196
+ if (event.name == import_UIView.UIView.broadcastEventName.PageDidScroll || event.name == import_UIView.UIView.broadcastEventName.AddedToViewTree) {
197
+ this.hovered = import_UIObject.NO;
198
+ this.highlighted = import_UIObject.NO;
96
199
  }
97
- set focused(focused) {
98
- this._focused = focused;
99
- if (focused) {
100
- this.focus();
101
- }
102
- else {
103
- this.blur();
104
- }
105
- this.updateContentForCurrentState();
200
+ }
201
+ toggleSelectedState() {
202
+ this.selected = !this.selected;
203
+ }
204
+ set isToggleable(isToggleable) {
205
+ this._isToggleable = isToggleable;
206
+ }
207
+ get isToggleable() {
208
+ return this._isToggleable;
209
+ }
210
+ layoutSubviews() {
211
+ super.layoutSubviews();
212
+ const bounds = this.bounds;
213
+ }
214
+ sendControlEventForKey(eventKey, nativeEvent) {
215
+ if (eventKey == import_UIView.UIView.controlEvent.PointerUpInside && !this.highlighted) {
216
+ const asd = 1;
217
+ } else {
218
+ super.sendControlEventForKey(eventKey, nativeEvent);
106
219
  }
107
- get focused() {
108
- return this._focused;
220
+ }
221
+ static getEventCoordinatesInDocument(touchOrMouseEvent) {
222
+ var posx = 0;
223
+ var posy = 0;
224
+ var e = touchOrMouseEvent;
225
+ if (!e) {
226
+ e = window.event;
109
227
  }
110
- set selected(selected) {
111
- this._selected = selected;
112
- this.updateContentForCurrentState();
228
+ if (e.pageX || e.pageY) {
229
+ posx = e.pageX;
230
+ posy = e.pageY;
231
+ } else if (e.clientX || e.clientY) {
232
+ posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
233
+ posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
113
234
  }
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;
235
+ const coordinates = { "x": posx, "y": posy };
236
+ return coordinates;
237
+ }
238
+ static getElementPositionInDocument(el) {
239
+ var xPosition = 0;
240
+ var yPosition = 0;
241
+ while (el) {
242
+ if (el.tagName == "BODY") {
243
+ } else {
244
+ xPosition += el.offsetLeft - el.scrollLeft + el.clientLeft;
245
+ yPosition += el.offsetTop - el.scrollTop + el.clientTop;
246
+ }
247
+ el = el.offsetParent;
265
248
  }
249
+ return {
250
+ x: xPosition,
251
+ y: yPosition
252
+ };
253
+ }
254
+ static convertCoordinatesFromDocumentToElement(x, y, element) {
255
+ const elementPositionInDocument = this.getElementPositionInDocument(element);
256
+ const coordinatesInElement = { "x": x - elementPositionInDocument.x, "y": y - elementPositionInDocument.y };
257
+ return coordinatesInElement;
258
+ }
259
+ static getEventCoordinatesInElement(touchOrMouseEvent, element) {
260
+ const coordinatesInDocument = this.getEventCoordinatesInDocument(touchOrMouseEvent);
261
+ const coordinatesInElement = this.convertCoordinatesFromDocumentToElement(
262
+ coordinatesInDocument.x,
263
+ coordinatesInDocument.y,
264
+ element
265
+ );
266
+ return coordinatesInElement;
267
+ }
266
268
  }
267
- exports.UIBaseButton = UIBaseButton;
268
- //# sourceMappingURL=UIBaseButton.js.map
269
+ // Annotate the CommonJS export names for ESM import in node:
270
+ 0 && (module.exports = {
271
+ UIBaseButton
272
+ });
273
+ //# sourceMappingURL=UIBaseButton.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"UIBaseButton.js","sourceRoot":"","sources":["../scripts/UIBaseButton.ts"],"names":[],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../scripts/UIBaseButton.ts"],
4
+ "sourcesContent": ["import { UIColor } from \"./UIColor\"\nimport { IS, nil, NO, YES } from \"./UIObject\"\nimport { UIView, UIViewBroadcastEvent } from \"./UIView\"\n\n\n\n\n\nexport class UIBaseButton extends UIView {\n \n _selected: boolean = NO\n _highlighted: boolean = NO\n \n _isPointerInside: boolean\n \n \n _isToggleable: boolean = NO\n _hovered: boolean\n _focused: boolean\n \n \n \n \n \n constructor(elementID: string, elementType?: string, initViewData?: any) {\n \n super(elementID, nil, elementType, initViewData)\n \n this.initViewStateControl()\n \n }\n \n \n \n \n \n initViewStateControl() {\n \n this.class.superclass = UIView\n \n // Instance variables\n \n \n this._isPointerInside = NO\n \n \n const setHovered = function () {\n this.hovered = YES\n }.bind(this)\n this.addTargetForControlEvent(UIView.controlEvent.PointerHover, setHovered)\n \n const setNotHovered = function () {\n \n this.hovered = NO\n \n }.bind(this)\n \n this.addTargetForControlEvents([\n UIView.controlEvent.PointerLeave, UIView.controlEvent.PointerCancel, UIView.controlEvent.MultipleTouches\n ], setNotHovered)\n \n \n var highlightingTime\n const setHighlighted = function () {\n this.highlighted = YES\n highlightingTime = Date.now()\n }.bind(this)\n this.addTargetForControlEvent(UIView.controlEvent.PointerDown, setHighlighted)\n this.addTargetForControlEvent(UIView.controlEvent.PointerEnter, setHighlighted)\n \n const setNotHighlighted = function () {\n this.highlighted = NO\n }.bind(this)\n const setNotHighlightedWithMinimumDuration = function () {\n const minimumDurationInMilliseconds = 50\n const elapsedTime = Date.now() - highlightingTime\n if (minimumDurationInMilliseconds < elapsedTime) {\n this.highlighted = NO\n }\n else {\n setTimeout(function () {\n this.highlighted = NO\n }.bind(this), minimumDurationInMilliseconds - elapsedTime)\n }\n }.bind(this)\n this.addTargetForControlEvents([\n UIView.controlEvent.PointerLeave, UIView.controlEvent.PointerCancel, UIView.controlEvent.MultipleTouches\n ], setNotHighlighted)\n this.addTargetForControlEvent(UIView.controlEvent.PointerUp, setNotHighlightedWithMinimumDuration)\n \n // Handle enter key press\n this.addTargetForControlEvent(UIView.controlEvent.EnterDown, function () {\n \n setHighlighted()\n setNotHighlightedWithMinimumDuration()\n \n })\n \n \n this.addTargetForControlEvent(\n UIView.controlEvent.Focus,\n function (this: UIBaseButton, sender: UIView, event: Event) {\n \n this.focused = YES\n \n }.bind(this)\n )\n \n this.addTargetForControlEvent(\n UIView.controlEvent.Blur,\n function (this: UIBaseButton, sender: UIView, event: Event) {\n \n this.focused = NO\n \n }.bind(this)\n )\n \n \n this.updateContentForCurrentState()\n \n this.pausesPointerEvents = YES\n this.tabIndex = 1\n \n this.style.cursor = \"pointer\"\n \n //this.style.outline = \"none\";\n \n \n this.nativeSelectionEnabled = NO\n \n \n this.addTargetForControlEvents([\n UIView.controlEvent.EnterDown, UIView.controlEvent.PointerUpInside\n ], function (this: UIBaseButton, sender, event) {\n \n if (this.isToggleable) {\n \n this.toggleSelectedState()\n \n }\n \n }.bind(this))\n \n \n }\n \n \n \n \n \n public set hovered(hovered: boolean) {\n this._hovered = hovered\n this.updateContentForCurrentState()\n }\n \n public get hovered(): boolean {\n return this._hovered\n }\n \n public set highlighted(highlighted: boolean) {\n this._highlighted = highlighted\n this.updateContentForCurrentState()\n }\n \n public get highlighted(): boolean {\n return this._highlighted\n }\n \n public set focused(focused: boolean) {\n this._focused = focused\n if (focused) {\n this.focus()\n }\n else {\n this.blur()\n }\n this.updateContentForCurrentState()\n }\n \n public get focused(): boolean {\n return this._focused\n }\n \n public set selected(selected: boolean) {\n this._selected = selected\n this.updateContentForCurrentState()\n }\n \n public get selected(): boolean {\n return this._selected\n }\n \n \n \n \n \n updateContentForCurrentState() {\n \n var updateFunction: Function = this.updateContentForNormalState\n if (this.selected && this.highlighted) {\n updateFunction = this.updateContentForSelectedAndHighlightedState\n }\n else if (this.selected) {\n updateFunction = this.updateContentForSelectedState\n }\n else if (this.focused) {\n updateFunction = this.updateContentForFocusedState\n }\n else if (this.highlighted) {\n updateFunction = this.updateContentForHighlightedState\n }\n else if (this.hovered) {\n updateFunction = this.updateContentForHoveredState\n }\n \n if (!IS(updateFunction)) {\n this.backgroundColor = UIColor.nilColor\n }\n else {\n updateFunction.call(this)\n }\n \n }\n \n updateContentForNormalState() {\n \n \n \n }\n \n updateContentForHoveredState() {\n \n this.updateContentForNormalState()\n \n }\n \n updateContentForFocusedState() {\n \n this.updateContentForHoveredState()\n \n }\n \n updateContentForHighlightedState() {\n \n \n \n }\n \n updateContentForSelectedState() {\n \n \n \n }\n \n updateContentForSelectedAndHighlightedState() {\n \n this.updateContentForSelectedState()\n \n }\n \n \n set enabled(enabled: boolean) {\n \n super.enabled = enabled\n \n this.updateContentForCurrentEnabledState()\n \n }\n \n get enabled() {\n \n return super.enabled\n \n }\n \n updateContentForCurrentEnabledState() {\n \n if (this.enabled) {\n this.alpha = 1\n }\n else {\n this.alpha = 0.5\n }\n \n this.userInteractionEnabled = this.enabled\n \n }\n \n \n \n addStyleClass(styleClassName: string) {\n \n super.addStyleClass(styleClassName)\n \n if (this.styleClassName != styleClassName) {\n \n this.updateContentForCurrentState.call(this)\n \n }\n \n }\n \n \n \n \n \n didReceiveBroadcastEvent(event: UIViewBroadcastEvent) {\n \n super.didReceiveBroadcastEvent(event)\n \n if (event.name == UIView.broadcastEventName.PageDidScroll || event.name ==\n UIView.broadcastEventName.AddedToViewTree) {\n \n this.hovered = NO\n \n this.highlighted = NO\n \n \n }\n \n \n }\n \n \n \n \n \n toggleSelectedState() {\n \n \n this.selected = !this.selected\n \n \n }\n \n set isToggleable(isToggleable: boolean) {\n \n this._isToggleable = isToggleable\n \n }\n \n get isToggleable() {\n \n return this._isToggleable\n \n }\n \n \n \n \n layoutSubviews() {\n \n super.layoutSubviews()\n \n const bounds = this.bounds\n \n \n \n \n }\n \n \n \n \n \n sendControlEventForKey(eventKey: string, nativeEvent: Event) {\n \n if (eventKey == UIView.controlEvent.PointerUpInside && !this.highlighted) {\n \n // Do not send the event in this case\n //super.sendControlEventForKey(eventKey, nativeEvent);\n \n const asd = 1\n \n }\n else {\n \n super.sendControlEventForKey(eventKey, nativeEvent)\n \n }\n \n }\n \n \n \n \n \n static getEventCoordinatesInDocument(touchOrMouseEvent) {\n // http://www.quirksmode.org/js/events_properties.html\n var posx = 0\n var posy = 0\n var e = touchOrMouseEvent\n if (!e) {\n e = window.event\n }\n if (e.pageX || e.pageY) {\n posx = e.pageX\n posy = e.pageY\n }\n else if (e.clientX || e.clientY) {\n posx = e.clientX + document.body.scrollLeft\n + document.documentElement.scrollLeft\n posy = e.clientY + document.body.scrollTop\n + document.documentElement.scrollTop\n }\n // posx and posy contain the mouse position relative to the document\n \n const coordinates = { \"x\": posx, \"y\": posy }\n \n return coordinates\n \n }\n \n \n \n static getElementPositionInDocument(el) {\n //https://www.kirupa.com/html5/getting_mouse_click_position.htm\n var xPosition = 0\n var yPosition = 0\n \n while (el) {\n if (el.tagName == \"BODY\") {\n \n // Coordinates in document are coordinates in body, therefore subtracting the scroll position of the body is not needed\n \n // // deal with browser quirks with body/window/document and page scroll\n // var xScrollPos = el.scrollLeft || document.documentElement.scrollLeft;\n // var yScrollPos = el.scrollTop || document.documentElement.scrollTop;\n //\n // xPosition += (el.offsetLeft - xScrollPos + el.clientLeft);\n // yPosition += (el.offsetTop - yScrollPos + el.clientTop);\n }\n else {\n xPosition += (el.offsetLeft - el.scrollLeft + el.clientLeft)\n yPosition += (el.offsetTop - el.scrollTop + el.clientTop)\n }\n \n el = el.offsetParent\n }\n return {\n x: xPosition,\n y: yPosition\n }\n }\n \n static convertCoordinatesFromDocumentToElement(x, y, element) {\n const elementPositionInDocument = this.getElementPositionInDocument(element)\n const coordinatesInElement = { \"x\": x - elementPositionInDocument.x, \"y\": y - elementPositionInDocument.y }\n return coordinatesInElement\n }\n \n static getEventCoordinatesInElement(touchOrMouseEvent, element) {\n const coordinatesInDocument = this.getEventCoordinatesInDocument(touchOrMouseEvent)\n const coordinatesInElement = this.convertCoordinatesFromDocumentToElement(\n coordinatesInDocument.x,\n coordinatesInDocument.y,\n element\n )\n return coordinatesInElement\n }\n \n \n \n \n \n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }