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
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UIKeyValueStringSorter = void 0;
4
+ const UIObject_1 = require("./UIObject");
5
+ class UIKeyValueStringSorter extends UIObject_1.UIObject {
6
+ constructor(useSeparateWebWorkerHolder = UIObject_1.NO) {
7
+ super();
8
+ this._isThreadClosed = UIObject_1.NO;
9
+ this._webWorkerHolder = UIKeyValueStringSorter._sharedWebWorkerHolder;
10
+ this._class = UIKeyValueStringSorter;
11
+ this.superclass = UIObject_1.UIObject;
12
+ if (useSeparateWebWorkerHolder) {
13
+ this._webWorkerHolder = { webWorker: new Worker("compiledScripts//UIKeyValueStringSorterWebWorker.js") };
14
+ }
15
+ UIKeyValueStringSorter._instanceNumber = UIKeyValueStringSorter._instanceNumber + 1;
16
+ this._instanceNumber = UIKeyValueStringSorter._instanceNumber;
17
+ if ((0, UIObject_1.IS_NOT)(this._webWorkerHolder.webWorker.onmessage)) {
18
+ this._webWorkerHolder.webWorker.onmessage = message => {
19
+ this.isWorkerBusy = UIObject_1.NO;
20
+ this.postNextMessageIfNeeded();
21
+ const key = "" + message.data.identifier + message.data.instanceIdentifier;
22
+ const completionFunction = this.completionFunctions[key];
23
+ if ((0, UIObject_1.IS)(completionFunction)) {
24
+ //console.log("Filtering took " + (Date.now() - startTime) + " ms");
25
+ completionFunction(message.data.sortedData, message.data.sortedIndexes, message.data.identifier);
26
+ }
27
+ delete this.completionFunctions[key];
28
+ var asd = 1;
29
+ };
30
+ }
31
+ }
32
+ get instanceIdentifier() {
33
+ return this._instanceNumber;
34
+ }
35
+ get completionFunctions() {
36
+ const key = "UICore_completionFunctions";
37
+ var result = this._webWorkerHolder[key];
38
+ if ((0, UIObject_1.IS_NOT)(result)) {
39
+ result = {};
40
+ this._webWorkerHolder[key] = result;
41
+ }
42
+ return result;
43
+ }
44
+ get messagesToPost() {
45
+ const key = "UICore_messagesToPost";
46
+ var result = this._webWorkerHolder[key];
47
+ if ((0, UIObject_1.IS_NOT)(result)) {
48
+ result = [];
49
+ this._webWorkerHolder[key] = result;
50
+ }
51
+ return result;
52
+ }
53
+ set isWorkerBusy(isWorkerBusy) {
54
+ this._webWorkerHolder["UICore_isWorking"] = isWorkerBusy;
55
+ }
56
+ get isWorkerBusy() {
57
+ return (0, UIObject_1.IS)(this._webWorkerHolder["UICore_isWorking"]);
58
+ }
59
+ postNextMessageIfNeeded() {
60
+ if (this.messagesToPost.length && (0, UIObject_1.IS_NOT)(this.isWorkerBusy)) {
61
+ this._webWorkerHolder.webWorker.postMessage(this.messagesToPost.firstElement);
62
+ this.messagesToPost.removeElementAtIndex(0);
63
+ this.isWorkerBusy = UIObject_1.YES;
64
+ }
65
+ }
66
+ sortData(data, sortingInstructions, identifier, completion) {
67
+ if (this._isThreadClosed) {
68
+ return;
69
+ }
70
+ const instanceIdentifier = this.instanceIdentifier;
71
+ const key = "" + identifier + instanceIdentifier;
72
+ this.completionFunctions[key] = completion;
73
+ try {
74
+ this.messagesToPost.push({
75
+ "data": data,
76
+ "sortingInstructions": sortingInstructions,
77
+ "identifier": identifier,
78
+ "instanceIdentifier": instanceIdentifier
79
+ });
80
+ this.postNextMessageIfNeeded();
81
+ }
82
+ catch (exception) {
83
+ completion([], [], identifier);
84
+ }
85
+ }
86
+ sortedData(data, sortingInstructions, identifier = (0, UIObject_1.MAKE_ID)()) {
87
+ const result = new Promise((resolve, reject) => {
88
+ this.sortData(data, sortingInstructions, identifier, (sortedData, sortedIndexes, sortedIdentifier) => {
89
+ if (sortedIdentifier == identifier) {
90
+ resolve({
91
+ sortedData: sortedData,
92
+ sortedIndexes: sortedIndexes,
93
+ identifier: sortedIdentifier
94
+ });
95
+ }
96
+ });
97
+ });
98
+ return result;
99
+ }
100
+ closeThread() {
101
+ this._isThreadClosed = UIObject_1.YES;
102
+ if (this._webWorkerHolder != UIKeyValueStringSorter._sharedWebWorkerHolder) {
103
+ this._webWorkerHolder.webWorker.terminate();
104
+ }
105
+ }
106
+ }
107
+ exports.UIKeyValueStringSorter = UIKeyValueStringSorter;
108
+ UIKeyValueStringSorter._sharedWebWorkerHolder = { webWorker: new Worker("compiledScripts//UIKeyValueStringSorterWebWorker.js") };
109
+ UIKeyValueStringSorter._instanceNumber = -1;
110
+ UIKeyValueStringSorter.dataType = {
111
+ "string": "string"
112
+ };
113
+ UIKeyValueStringSorter.direction = {
114
+ "descending": "descending",
115
+ "ascending": "ascending"
116
+ };
117
+ //# sourceMappingURL=UIKeyValueStringSorter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIKeyValueStringSorter.js","sourceRoot":"","sources":["../scripts/UIKeyValueStringSorter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { UIObject } from "./UIObject";
2
+ import { UIRectangle } from "./UIRectangle";
3
+ export declare class UILayoutGrid extends UIObject {
4
+ _frame: UIRectangle;
5
+ _subframes: UILayoutGrid[];
6
+ constructor(frame: UIRectangle);
7
+ splitXInto(numberOfFrames: number): void;
8
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UILayoutGrid = void 0;
4
+ const UIObject_1 = require("./UIObject");
5
+ class UILayoutGrid extends UIObject_1.UIObject {
6
+ constructor(frame) {
7
+ super();
8
+ this._subframes = [];
9
+ this._class = UILayoutGrid;
10
+ this.superclass = UIObject_1.UIObject;
11
+ this._frame = frame;
12
+ }
13
+ splitXInto(numberOfFrames) {
14
+ if (this._subframes.length == 0) {
15
+ for (var i = 0; i < numberOfFrames; i++) {
16
+ const asd = 1;
17
+ }
18
+ }
19
+ }
20
+ }
21
+ exports.UILayoutGrid = UILayoutGrid;
22
+ //# sourceMappingURL=UILayoutGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UILayoutGrid.js","sourceRoot":"","sources":["../scripts/UILayoutGrid.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAIrC,MAAa,YAAa,SAAQ,mBAAQ;IAStC,YAAY,KAAkB;QAE1B,KAAK,EAAE,CAAA;QALX,eAAU,GAAmB,EAAE,CAAA;QAO3B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,mBAAQ,CAAA;QAE1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IAEvB,CAAC;IAMD,UAAU,CAAC,cAAsB;QAI7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAI7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;gBAErC,MAAM,GAAG,GAAG,CAAC,CAAA;aAIhB;SAEJ;IAKL,CAAC;CAMJ;AAnDD,oCAmDC"}
@@ -0,0 +1,25 @@
1
+ import { UIBaseButton } from "./UIBaseButton";
2
+ import { UIButtonColorSpecifier } from "./UIButton";
3
+ import { UIRoute } from "./UIRoute";
4
+ import { UIViewBroadcastEvent } from "./UIView";
5
+ export declare class UILink extends UIBaseButton {
6
+ private _colors;
7
+ constructor(elementID: string, initViewData?: any);
8
+ initView(elementID: any, viewHTMLElement: any, initViewData: {
9
+ titleType: string;
10
+ }): void;
11
+ get colors(): UIButtonColorSpecifier;
12
+ set colors(value: UIButtonColorSpecifier);
13
+ get viewHTMLElement(): HTMLLinkElement;
14
+ set text(text: string);
15
+ get text(): string;
16
+ set target(target: string);
17
+ get target(): string;
18
+ set targetRouteForCurrentState(targetRouteForCurrentState: () => (UIRoute | string));
19
+ get targetRouteForCurrentState(): () => (UIRoute | string);
20
+ _targetRouteForCurrentState(): string | UIRoute;
21
+ didReceiveBroadcastEvent(event: UIViewBroadcastEvent): void;
22
+ wasAddedToViewTree(): void;
23
+ updateTarget(): void;
24
+ layoutSubviews(): void;
25
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UILink = void 0;
4
+ const UIBaseButton_1 = require("./UIBaseButton");
5
+ const UICore_1 = require("./UICore");
6
+ const UIObject_1 = require("./UIObject");
7
+ const UIRoute_1 = require("./UIRoute");
8
+ class UILink extends UIBaseButton_1.UIBaseButton {
9
+ constructor(elementID, initViewData = UIObject_1.nil) {
10
+ super(elementID, "a", initViewData);
11
+ this._class = UILink;
12
+ this.superclass = UIBaseButton_1.UIBaseButton;
13
+ this.stopsPointerEventPropagation = UIObject_1.NO;
14
+ this.pausesPointerEvents = UIObject_1.NO;
15
+ }
16
+ initView(elementID, viewHTMLElement, initViewData) {
17
+ super.initView(elementID, viewHTMLElement, initViewData);
18
+ this.class.superclass = UIBaseButton_1.UIBaseButton;
19
+ // Instance variables
20
+ //this.style.position = "relative"
21
+ viewHTMLElement.onclick = this.blur.bind(this);
22
+ }
23
+ get colors() {
24
+ return this._colors;
25
+ }
26
+ set colors(value) {
27
+ this._colors = value;
28
+ }
29
+ get viewHTMLElement() {
30
+ // @ts-ignore
31
+ return super.viewHTMLElement;
32
+ }
33
+ set text(text) {
34
+ this.viewHTMLElement.textContent = text;
35
+ }
36
+ get text() {
37
+ return this.viewHTMLElement.textContent;
38
+ }
39
+ set target(target) {
40
+ this.viewHTMLElement.setAttribute("href", target);
41
+ }
42
+ get target() {
43
+ const result = this.viewHTMLElement.getAttribute("href");
44
+ return result;
45
+ }
46
+ set targetRouteForCurrentState(targetRouteForCurrentState) {
47
+ this._targetRouteForCurrentState = targetRouteForCurrentState;
48
+ this.updateTarget();
49
+ }
50
+ get targetRouteForCurrentState() {
51
+ return this._targetRouteForCurrentState;
52
+ }
53
+ _targetRouteForCurrentState() {
54
+ const result = UIRoute_1.UIRoute.currentRoute.routeByRemovingComponentsOtherThanOnesNamed(["settings"]);
55
+ return result;
56
+ }
57
+ didReceiveBroadcastEvent(event) {
58
+ super.didReceiveBroadcastEvent(event);
59
+ if (event.name == UICore_1.UICore.broadcastEventName.RouteDidChange) {
60
+ this.updateTarget();
61
+ }
62
+ }
63
+ wasAddedToViewTree() {
64
+ super.wasAddedToViewTree();
65
+ this.updateTarget();
66
+ }
67
+ updateTarget() {
68
+ const route = this.targetRouteForCurrentState();
69
+ if (route instanceof UIRoute_1.UIRoute) {
70
+ this.target = route.linkRepresentation;
71
+ return;
72
+ }
73
+ this.target = route;
74
+ }
75
+ layoutSubviews() {
76
+ super.layoutSubviews();
77
+ const bounds = this.bounds;
78
+ }
79
+ }
80
+ exports.UILink = UILink;
81
+ //# sourceMappingURL=UILink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UILink.js","sourceRoot":"","sources":["../scripts/UILink.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { UIButton, UIButtonColorSpecifier } from "./UIButton";
2
+ import { UILink } from "./UILink";
3
+ export declare class UILinkButton extends UILink {
4
+ button: UIButton;
5
+ constructor(elementID: string, elementType?: string, titleType?: string);
6
+ initView(elementID: any, viewHTMLElement: any, initViewData: {
7
+ titleType: string;
8
+ elementType: string;
9
+ }): void;
10
+ get titleLabel(): import("./UITextView").UITextView;
11
+ get imageView(): import("./UIImageView").UIImageView;
12
+ set colors(colors: UIButtonColorSpecifier);
13
+ get colors(): UIButtonColorSpecifier;
14
+ get viewHTMLElement(): HTMLLinkElement;
15
+ set target(target: string);
16
+ get target(): string;
17
+ layoutSubviews(): void;
18
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UILinkButton = void 0;
4
+ const UIButton_1 = require("./UIButton");
5
+ const UILink_1 = require("./UILink");
6
+ class UILinkButton extends UILink_1.UILink {
7
+ //link = new UILink(this.elementID + "Link");
8
+ constructor(elementID, elementType, titleType) {
9
+ super(elementID, { "elementType": elementType, "titleType": titleType });
10
+ this._class = UILinkButton;
11
+ this.superclass = UILink_1.UILink;
12
+ this.button.addTargetForControlEvents([
13
+ UIButton_1.UIButton.controlEvent.EnterDown, UIButton_1.UIButton.controlEvent.PointerUpInside
14
+ ], function (sender, event) {
15
+ const asd = 1;
16
+ window.location = this.target;
17
+ }.bind(this));
18
+ // this.link.hidden = YES;
19
+ // this.addSubview(this.link);
20
+ }
21
+ initView(elementID, viewHTMLElement, initViewData) {
22
+ super.initView(elementID, viewHTMLElement, initViewData);
23
+ this.class.superclass = UILink_1.UILink;
24
+ // Instance variables
25
+ this.button = new UIButton_1.UIButton(this.elementID + "Button", initViewData.elementType, initViewData.titleType);
26
+ this.addSubview(this.button);
27
+ this.style.position = "absolute";
28
+ }
29
+ get titleLabel() {
30
+ return this.button.titleLabel;
31
+ }
32
+ get imageView() {
33
+ return this.button.imageView;
34
+ }
35
+ set colors(colors) {
36
+ this.button.colors = colors;
37
+ }
38
+ get colors() {
39
+ return this.button.colors;
40
+ }
41
+ get viewHTMLElement() {
42
+ // @ts-ignore
43
+ return super.viewHTMLElement;
44
+ }
45
+ set target(target) {
46
+ this.viewHTMLElement.setAttribute("href", target);
47
+ }
48
+ get target() {
49
+ const result = this.viewHTMLElement.getAttribute("href");
50
+ return result;
51
+ }
52
+ layoutSubviews() {
53
+ super.layoutSubviews();
54
+ const bounds = this.bounds;
55
+ this.button.frame = bounds;
56
+ this.button.layoutSubviews();
57
+ }
58
+ }
59
+ exports.UILinkButton = UILinkButton;
60
+ //# sourceMappingURL=UILinkButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UILinkButton.js","sourceRoot":"","sources":["../scripts/UILinkButton.ts"],"names":[],"mappings":";;;AAAA,yCAA6D;AAC7D,qCAAiC;AAKjC,MAAa,YAAa,SAAQ,eAAM;IAKpC,6CAA6C;IAM7C,YAAY,SAAiB,EAAE,WAAoB,EAAE,SAAkB;QAEnE,KAAK,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;QAExE,IAAI,CAAC,MAAM,GAAG,YAAY,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,eAAM,CAAA;QAGxB,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC;YAClC,mBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,mBAAQ,CAAC,YAAY,CAAC,eAAe;SACzE,EAAE,UAA8B,MAAgB,EAAE,KAAY;YAE3D,MAAM,GAAG,GAAG,CAAC,CAAA;YAEb,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAa,CAAA;QAGxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAEb,0BAA0B;QAE1B,8BAA8B;IAGlC,CAAC;IAMD,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,YAAwD;QAEzF,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,CAAC,CAAA;QAExD,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,eAAM,CAAA;QAE9B,qBAAqB;QAErB,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;QAEvG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE5B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAA;IAMpC,CAAC;IAMD,IAAI,UAAU;QAEV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA;IAEjC,CAAC;IAED,IAAI,SAAS;QAET,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA;IAEhC,CAAC;IAGD,IAAI,MAAM,CAAC,MAA8B;QAErC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IAE/B,CAAC;IAGD,IAAI,MAAM;QAEN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAE7B,CAAC;IAMD,IAAI,eAAe;QAEf,aAAa;QACb,OAAO,KAAK,CAAC,eAAkC,CAAA;IAEnD,CAAC;IAGD,IAAI,MAAM,CAAC,MAAc;QAErB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAErD,CAAC;IAED,IAAI,MAAM;QAEN,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAExD,OAAO,MAAM,CAAA;IAEjB,CAAC;IAMD,cAAc;QAEV,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAE1B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAA;QAE1B,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;IAGhC,CAAC;CAMJ;AA1ID,oCA0IC"}
@@ -0,0 +1,20 @@
1
+ import { UIPoint } from "./UIPoint";
2
+ import { UIView } from "./UIView";
3
+ export declare class UINativeScrollView extends UIView {
4
+ animationDuration: number;
5
+ constructor(elementID: any, viewHTMLElement?: any);
6
+ didScrollToPosition(offsetPosition: UIPoint): void;
7
+ get scrollsX(): boolean;
8
+ set scrollsX(scrolls: boolean);
9
+ get scrollsY(): boolean;
10
+ set scrollsY(scrolls: boolean);
11
+ get contentOffset(): UIPoint;
12
+ set contentOffset(offsetPoint: UIPoint);
13
+ scrollToBottom(): void;
14
+ scrollToTop(): void;
15
+ get isScrolledToBottom(): boolean;
16
+ get isScrolledToTop(): boolean;
17
+ scrollYTo(element: any, to: any, duration: any): void;
18
+ scrollXTo(element: any, to: any, duration: any): void;
19
+ easeInOut(currentTime: any, start: any, change: any, duration: any): any;
20
+ }
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UINativeScrollView = void 0;
4
+ const UIObject_1 = require("./UIObject");
5
+ const UIPoint_1 = require("./UIPoint");
6
+ const UIView_1 = require("./UIView");
7
+ class UINativeScrollView extends UIView_1.UIView {
8
+ constructor(elementID, viewHTMLElement) {
9
+ super(elementID, viewHTMLElement);
10
+ this.animationDuration = 0;
11
+ this._class = UINativeScrollView;
12
+ this.superclass = UIView_1.UIView;
13
+ this.style.cssText = this.style.cssText + "-webkit-overflow-scrolling: touch;";
14
+ this.style.overflow = "auto";
15
+ // this.scrollsX = YES;
16
+ // this.scrollsY = YES;
17
+ this.viewHTMLElement.addEventListener("scroll", function (event) {
18
+ this.didScrollToPosition(new UIPoint_1.UIPoint(this.viewHTMLElement.scrollLeft, this.viewHTMLElement.scrollTop));
19
+ this.broadcastEventInSubtree({
20
+ name: UIView_1.UIView.broadcastEventName.PageDidScroll,
21
+ parameters: UIObject_1.nil
22
+ });
23
+ }.bind(this));
24
+ }
25
+ didScrollToPosition(offsetPosition) {
26
+ }
27
+ get scrollsX() {
28
+ const result = (this.style.overflowX == "scroll");
29
+ return result;
30
+ }
31
+ set scrollsX(scrolls) {
32
+ if (scrolls) {
33
+ this.style.overflowX = "scroll";
34
+ }
35
+ else {
36
+ this.style.overflowX = "hidden";
37
+ }
38
+ }
39
+ get scrollsY() {
40
+ const result = (this.style.overflowY == "scroll");
41
+ return result;
42
+ }
43
+ set scrollsY(scrolls) {
44
+ if (scrolls) {
45
+ this.style.overflowY = "scroll";
46
+ }
47
+ else {
48
+ this.style.overflowY = "hidden";
49
+ }
50
+ }
51
+ get contentOffset() {
52
+ const result = new UIPoint_1.UIPoint(this.viewHTMLElement.scrollLeft, this.viewHTMLElement.scrollTop);
53
+ return result;
54
+ }
55
+ set contentOffset(offsetPoint) {
56
+ if (this.animationDuration) {
57
+ this.scrollXTo(this.viewHTMLElement, offsetPoint.x, this.animationDuration);
58
+ this.scrollYTo(this.viewHTMLElement, offsetPoint.y, this.animationDuration);
59
+ return;
60
+ }
61
+ this.viewHTMLElement.scrollLeft = offsetPoint.x;
62
+ this.viewHTMLElement.scrollTop = offsetPoint.y;
63
+ }
64
+ scrollToBottom() {
65
+ this.contentOffset = new UIPoint_1.UIPoint(this.contentOffset.x, this.scrollSize.height - this.frame.height);
66
+ }
67
+ scrollToTop() {
68
+ this.contentOffset = new UIPoint_1.UIPoint(this.contentOffset.x, 0);
69
+ }
70
+ get isScrolledToBottom() {
71
+ return this.contentOffset.isEqualTo(new UIPoint_1.UIPoint(this.contentOffset.x, this.scrollSize.height -
72
+ this.frame.height));
73
+ }
74
+ get isScrolledToTop() {
75
+ return this.contentOffset.isEqualTo(new UIPoint_1.UIPoint(this.contentOffset.x, 0));
76
+ }
77
+ scrollYTo(element, to, duration) {
78
+ duration = duration * 1000;
79
+ const start = element.scrollTop;
80
+ const change = to - start;
81
+ const increment = 10;
82
+ const animateScroll = function (elapsedTime) {
83
+ elapsedTime += increment;
84
+ const position = this.easeInOut(elapsedTime, start, change, duration);
85
+ element.scrollTop = position;
86
+ if (elapsedTime < duration) {
87
+ setTimeout(function () {
88
+ animateScroll(elapsedTime);
89
+ }, increment);
90
+ }
91
+ }.bind(this);
92
+ animateScroll(0);
93
+ }
94
+ scrollXTo(element, to, duration) {
95
+ duration = duration * 1000;
96
+ const start = element.scrollTop;
97
+ const change = to - start;
98
+ const increment = 10;
99
+ const animateScroll = function (elapsedTime) {
100
+ elapsedTime += increment;
101
+ const position = this.easeInOut(elapsedTime, start, change, duration);
102
+ element.scrollLeft = position;
103
+ if (elapsedTime < duration) {
104
+ setTimeout(function () {
105
+ animateScroll(elapsedTime);
106
+ }, increment);
107
+ }
108
+ }.bind(this);
109
+ animateScroll(0);
110
+ }
111
+ easeInOut(currentTime, start, change, duration) {
112
+ currentTime /= duration / 2;
113
+ if (currentTime < 1) {
114
+ return change / 2 * currentTime * currentTime + start;
115
+ }
116
+ currentTime -= 1;
117
+ return -change / 2 * (currentTime * (currentTime - 2) - 1) + start;
118
+ }
119
+ }
120
+ exports.UINativeScrollView = UINativeScrollView;
121
+ //# sourceMappingURL=UINativeScrollView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UINativeScrollView.js","sourceRoot":"","sources":["../scripts/UINativeScrollView.ts"],"names":[],"mappings":";;;AAAA,yCAAgC;AAChC,uCAAmC;AACnC,qCAAiC;AAMjC,MAAa,kBAAmB,SAAQ,eAAM;IAK1C,YAAY,SAAS,EAAE,eAAgB;QAEnC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;QAJrC,sBAAiB,GAAG,CAAC,CAAA;QAMjB,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAA;QAChC,IAAI,CAAC,UAAU,GAAG,eAAM,CAAA;QAGxB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,oCAAoC,CAAA;QAE9E,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAA;QAE5B,uBAAuB;QACvB,uBAAuB;QAEvB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAoC,KAAc;YAG9F,IAAI,CAAC,mBAAmB,CAAC,IAAI,iBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAA;YAEtG,IAAI,CAAC,uBAAuB,CAAC;gBAEzB,IAAI,EAAE,eAAM,CAAC,kBAAkB,CAAC,aAAa;gBAC7C,UAAU,EAAE,cAAG;aAElB,CAAC,CAAA;QAGN,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAGjB,CAAC;IAMD,mBAAmB,CAAC,cAAuB;IAI3C,CAAC;IAID,IAAI,QAAQ;QACR,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAA;QACjD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,IAAI,QAAQ,CAAC,OAAgB;QACzB,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAA;SAClC;aACI;YACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAA;SAClC;IACL,CAAC;IAID,IAAI,QAAQ;QACR,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAA;QACjD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,IAAI,QAAQ,CAAC,OAAgB;QACzB,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAA;SAClC;aACI;YACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAA;SAClC;IACL,CAAC;IAID,IAAI,aAAa;QACb,MAAM,MAAM,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAC3F,OAAO,MAAM,CAAA;IACjB,CAAC;IAGD,IAAI,aAAa,CAAC,WAAoB;QAElC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAExB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAC3E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAE3E,OAAM;SAET;QAGD,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAA;QAC/C,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,CAAA;IAElD,CAAC;IAGD,cAAc;QAEV,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAEtG,CAAC;IAED,WAAW;QAEP,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE7D,CAAC;IAED,IAAI,kBAAkB;QAElB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,iBAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YACxF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAE3B,CAAC;IAED,IAAI,eAAe;QAEf,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,iBAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE7E,CAAC;IAMD,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ;QAE3B,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAA;QAE1B,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAA;QAC/B,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,CAAA;QACzB,MAAM,SAAS,GAAG,EAAE,CAAA;QAEpB,MAAM,aAAa,GAAG,UAAU,WAAW;YACvC,WAAW,IAAI,SAAS,CAAA;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;YACrE,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAA;YAC5B,IAAI,WAAW,GAAG,QAAQ,EAAE;gBACxB,UAAU,CAAC;oBACP,aAAa,CAAC,WAAW,CAAC,CAAA;gBAC9B,CAAC,EAAE,SAAS,CAAC,CAAA;aAChB;QACL,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,aAAa,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ;QAE3B,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAA;QAE1B,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAA;QAC/B,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,CAAA;QACzB,MAAM,SAAS,GAAG,EAAE,CAAA;QAEpB,MAAM,aAAa,GAAG,UAAU,WAAW;YACvC,WAAW,IAAI,SAAS,CAAA;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;YACrE,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAA;YAC7B,IAAI,WAAW,GAAG,QAAQ,EAAE;gBACxB,UAAU,CAAC;oBACP,aAAa,CAAC,WAAW,CAAC,CAAA;gBAC9B,CAAC,EAAE,SAAS,CAAC,CAAA;aAChB;QACL,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,aAAa,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ;QAC1C,WAAW,IAAI,QAAQ,GAAG,CAAC,CAAA;QAC3B,IAAI,WAAW,GAAG,CAAC,EAAE;YACjB,OAAO,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,WAAW,GAAG,KAAK,CAAA;SACxD;QACD,WAAW,IAAI,CAAC,CAAA;QAChB,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;IACtE,CAAC;CAMJ;AAhMD,gDAgMC"}
@@ -0,0 +1,69 @@
1
+ export declare function NilFunction(): any;
2
+ export declare var nil: any;
3
+ export declare function wrapInNil<T>(object?: T): T;
4
+ export declare const YES = true;
5
+ export declare const NO = false;
6
+ export declare function IS(object: any): boolean;
7
+ export declare function IS_NOT(object: any): boolean;
8
+ export declare function IS_DEFINED(object: any): boolean;
9
+ export declare function IS_UNDEFINED(object: any): boolean;
10
+ export declare function IS_NIL(object: any): boolean;
11
+ export declare function IS_NOT_NIL(object: any): boolean;
12
+ export declare function IS_LIKE_NULL(object: any): boolean;
13
+ export declare function IS_NOT_LIKE_NULL(object: any): boolean;
14
+ export declare function IS_AN_EMAIL_ADDRESS(email: string): boolean;
15
+ export declare function FIRST_OR_NIL<T>(...objects: T[]): T;
16
+ export declare function FIRST<T>(...objects: T[]): T;
17
+ export declare function MAKE_ID(randomPartLength?: number): string;
18
+ export declare function RETURNER<T>(value?: T): (...objects: any[]) => T;
19
+ export declare type UIIFBlockReceiver<T> = (functionToCall: () => any) => UIIFEvaluator<T>;
20
+ export declare type UIIFEvaluatorBase<T> = () => T;
21
+ export interface UIIFEvaluator<T> extends UIIFEvaluatorBase<T> {
22
+ ELSE_IF: (otherValue: any) => UIIFBlockReceiver<T>;
23
+ ELSE: (functionToCall: () => any) => T;
24
+ }
25
+ export declare function IF<T = any>(value: any): UIIFBlockReceiver<T>;
26
+ export declare class UIFunctionCall<T extends (...args: any) => any> {
27
+ isAUIFunctionCallObject: boolean;
28
+ parameters: Parameters<T>[];
29
+ constructor(...parameters: Parameters<T>);
30
+ callFunction(functionToCall: T): void;
31
+ }
32
+ export declare function CALL<T extends (...args: any) => any>(...objects: Parameters<T>): UIFunctionCall<T>;
33
+ export declare class UIFunctionExtender<T extends (...args: any) => any> {
34
+ isAUIFunctionExtenderObject: boolean;
35
+ extendingFunction: T;
36
+ constructor(extendingFunction: T);
37
+ extendedFunction(functionToExtend: T): (...objects: any[]) => void;
38
+ }
39
+ export declare function EXTEND<T extends (...args: any) => any>(extendingFunction: T): UIFunctionExtender<T>;
40
+ export declare class UILazyPropertyValue<T> {
41
+ isAUILazyPropertyValueObject: boolean;
42
+ initFunction: () => T;
43
+ constructor(initFunction: () => T);
44
+ setLazyPropertyValue(key: string, target: object): void;
45
+ }
46
+ export declare function LAZY_VALUE<T>(initFunction: () => T): UILazyPropertyValue<T>;
47
+ export declare type UIInitializerObject<T> = {
48
+ [P in keyof T]?: T[P] extends (...args: any) => any ? UIFunctionCall<T[P]> | UIFunctionExtender<T[P]> | T[P] : T[P] extends object ? UIInitializerObject<T[P]> | UILazyPropertyValue<T[P]> : T[P];
49
+ };
50
+ export declare class UIObject {
51
+ _class: any;
52
+ constructor();
53
+ get class(): any;
54
+ get superclass(): any;
55
+ set superclass(superclass: any);
56
+ static wrapObject<T>(object: T): UIObject & T;
57
+ isKindOfClass(classObject: any): boolean;
58
+ isMemberOfClass(classObject: any): boolean;
59
+ valueForKey(key: string): any;
60
+ valueForKeyPath(keyPath: string): any;
61
+ static valueForKeyPath(keyPath: string, object: any): any;
62
+ setValueForKeyPath(keyPath: string, value: any, createPath?: boolean): boolean;
63
+ static setValueForKeyPath(keyPath: string, value: any, currentObject: any, createPath: any): boolean;
64
+ configureWithObject(object: UIInitializerObject<this>): this;
65
+ configuredWithObject(object: UIInitializerObject<this>): this;
66
+ static configureWithObject<T extends object>(configurationTarget: T, object: UIInitializerObject<T>): T;
67
+ performFunctionWithSelf(functionToPerform: (self: this) => any): any;
68
+ performFunctionWithDelay(delay: number, functionToCall: Function): void;
69
+ }