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.
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/uicore.iml +9 -0
- package/.idea/vcs.xml +6 -0
- package/LICENSE +21 -0
- package/README.md +5 -0
- package/compiledScripts/UIActionIndicator.d.ts +12 -0
- package/compiledScripts/UIActionIndicator.js +54 -0
- package/compiledScripts/UIActionIndicator.js.map +1 -0
- package/compiledScripts/UIBaseButton.d.ts +52 -0
- package/compiledScripts/UIBaseButton.js +268 -0
- package/compiledScripts/UIBaseButton.js.map +1 -0
- package/compiledScripts/UIButton.d.ts +54 -0
- package/compiledScripts/UIButton.js +247 -0
- package/compiledScripts/UIButton.js.map +1 -0
- package/compiledScripts/UIColor.d.ts +41 -0
- package/compiledScripts/UIColor.js +286 -0
- package/compiledScripts/UIColor.js.map +1 -0
- package/compiledScripts/UICore.d.ts +27 -0
- package/compiledScripts/UICore.js +105 -0
- package/compiledScripts/UICore.js.map +1 -0
- package/compiledScripts/UICoreExtensions.d.ts +60 -0
- package/compiledScripts/UICoreExtensions.js +527 -0
- package/compiledScripts/UICoreExtensions.js.map +1 -0
- package/compiledScripts/UIDateTimeInput.d.ts +40 -0
- package/compiledScripts/UIDateTimeInput.js +38 -0
- package/compiledScripts/UIDateTimeInput.js.map +1 -0
- package/compiledScripts/UIDialogView.d.ts +23 -0
- package/compiledScripts/UIDialogView.js +118 -0
- package/compiledScripts/UIDialogView.js.map +1 -0
- package/compiledScripts/UIImageView.d.ts +36 -0
- package/compiledScripts/UIImageView.js +170 -0
- package/compiledScripts/UIImageView.js.map +1 -0
- package/compiledScripts/UIKeyValueStringFilter.d.ts +21 -0
- package/compiledScripts/UIKeyValueStringFilter.js +98 -0
- package/compiledScripts/UIKeyValueStringFilter.js.map +1 -0
- package/compiledScripts/UIKeyValueStringSorter.d.ts +38 -0
- package/compiledScripts/UIKeyValueStringSorter.js +117 -0
- package/compiledScripts/UIKeyValueStringSorter.js.map +1 -0
- package/compiledScripts/UILayoutGrid.d.ts +8 -0
- package/compiledScripts/UILayoutGrid.js +22 -0
- package/compiledScripts/UILayoutGrid.js.map +1 -0
- package/compiledScripts/UILink.d.ts +25 -0
- package/compiledScripts/UILink.js +81 -0
- package/compiledScripts/UILink.js.map +1 -0
- package/compiledScripts/UILinkButton.d.ts +18 -0
- package/compiledScripts/UILinkButton.js +60 -0
- package/compiledScripts/UILinkButton.js.map +1 -0
- package/compiledScripts/UINativeScrollView.d.ts +20 -0
- package/compiledScripts/UINativeScrollView.js +121 -0
- package/compiledScripts/UINativeScrollView.js.map +1 -0
- package/compiledScripts/UIObject.d.ts +69 -0
- package/compiledScripts/UIObject.js +442 -0
- package/compiledScripts/UIObject.js.map +1 -0
- package/compiledScripts/UIPoint.d.ts +18 -0
- package/compiledScripts/UIPoint.js +68 -0
- package/compiledScripts/UIPoint.js.map +1 -0
- package/compiledScripts/UIRectangle.d.ts +61 -0
- package/compiledScripts/UIRectangle.js +421 -0
- package/compiledScripts/UIRectangle.js.map +1 -0
- package/compiledScripts/UIRoute.d.ts +39 -0
- package/compiledScripts/UIRoute.js +202 -0
- package/compiledScripts/UIRoute.js.map +1 -0
- package/compiledScripts/UIScrollView.d.ts +19 -0
- package/compiledScripts/UIScrollView.js +121 -0
- package/compiledScripts/UIScrollView.js.map +1 -0
- package/compiledScripts/UISlideScrollerView.d.ts +40 -0
- package/compiledScripts/UISlideScrollerView.js +242 -0
- package/compiledScripts/UISlideScrollerView.js.map +1 -0
- package/compiledScripts/UIStringFilter.d.ts +26 -0
- package/compiledScripts/UIStringFilter.js +107 -0
- package/compiledScripts/UIStringFilter.js.map +1 -0
- package/compiledScripts/UITableView.d.ts +61 -0
- package/compiledScripts/UITableView.js +383 -0
- package/compiledScripts/UITableView.js.map +1 -0
- package/compiledScripts/UITextArea.d.ts +7 -0
- package/compiledScripts/UITextArea.js +27 -0
- package/compiledScripts/UITextArea.js.map +1 -0
- package/compiledScripts/UITextField.d.ts +44 -0
- package/compiledScripts/UITextField.js +83 -0
- package/compiledScripts/UITextField.js.map +1 -0
- package/compiledScripts/UITextView.d.ts +89 -0
- package/compiledScripts/UITextView.js +237 -0
- package/compiledScripts/UITextView.js.map +1 -0
- package/compiledScripts/UITimer.d.ts +13 -0
- package/compiledScripts/UITimer.js +45 -0
- package/compiledScripts/UITimer.js.map +1 -0
- package/compiledScripts/UIView.d.ts +330 -0
- package/compiledScripts/UIView.js +1533 -0
- package/compiledScripts/UIView.js.map +1 -0
- package/compiledScripts/UIViewController.d.ts +38 -0
- package/compiledScripts/UIViewController.js +153 -0
- package/compiledScripts/UIViewController.js.map +1 -0
- package/compiledScripts/index.d.ts +29 -0
- package/compiledScripts/index.js +46 -0
- package/compiledScripts/index.js.map +1 -0
- package/package.json +36 -0
- package/scripts/UIActionIndicator.ts +139 -0
- package/scripts/UIBaseButton.ts +563 -0
- package/scripts/UIButton.ts +552 -0
- package/scripts/UIColor.ts +427 -0
- package/scripts/UICore.ts +223 -0
- package/scripts/UICoreExtensions.ts +949 -0
- package/scripts/UIDateTimeInput.ts +109 -0
- package/scripts/UIDialogView.ts +297 -0
- package/scripts/UIImageView.ts +366 -0
- package/scripts/UIKeyValueStringFilter.ts +260 -0
- package/scripts/UIKeyValueStringSorter.ts +337 -0
- package/scripts/UILayoutGrid.ts +83 -0
- package/scripts/UILink.ts +292 -0
- package/scripts/UILinkButton.ts +238 -0
- package/scripts/UINativeScrollView.ts +254 -0
- package/scripts/UIObject.ts +827 -0
- package/scripts/UIPoint.ts +123 -0
- package/scripts/UIRectangle.ts +730 -0
- package/scripts/UIRoute.ts +391 -0
- package/scripts/UIScrollView.ts +290 -0
- package/scripts/UISlideScrollerView.ts +530 -0
- package/scripts/UIStringFilter.ts +293 -0
- package/scripts/UITableView.ts +790 -0
- package/scripts/UITextArea.ts +91 -0
- package/scripts/UITextField.ts +218 -0
- package/scripts/UITextView.ts +561 -0
- package/scripts/UITimer.ts +107 -0
- package/scripts/UIView.ts +2789 -0
- package/scripts/UIViewController.ts +304 -0
- package/scripts/index.ts +36 -0
- package/tsconfig.json +59 -0
package/.idea/misc.xml
ADDED
package/.idea/uicore.iml
ADDED
|
@@ -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
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
|
+
}
|