@nativescript/core 8.2.0-alpha.1 → 8.2.0-alpha.10
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/accessibility/index.android.js +2 -5
- package/accessibility/index.android.js.map +1 -1
- package/application/application-common.d.ts +2 -0
- package/application/application-common.js +2 -0
- package/application/application-common.js.map +1 -1
- package/application/index.android.d.ts +13 -0
- package/application/index.android.js +32 -1
- package/application/index.android.js.map +1 -1
- package/application/index.d.ts +37 -0
- package/application/index.ios.d.ts +6 -0
- package/application/index.ios.js +62 -16
- package/application/index.ios.js.map +1 -1
- package/color/color-common.js +4 -2
- package/color/color-common.js.map +1 -1
- package/config/config.interface.d.ts +1 -1
- package/css/parser.js +0 -1
- package/css/parser.js.map +1 -1
- package/image-asset/index.ios.js +2 -7
- package/image-asset/index.ios.js.map +1 -1
- package/image-source/index.ios.js +20 -17
- package/image-source/index.ios.js.map +1 -1
- package/index.d.ts +4 -3
- package/index.js +10 -3
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/platforms/android/widgets-release.aar +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Info.plist +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Info.plist +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/TNSWidgets +0 -0
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/_CodeSignature/CodeResources +1 -1
- package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
- package/platforms/ios/src/NativeScriptUtils.h +16 -0
- package/platforms/ios/src/NativeScriptUtils.m +134 -0
- package/platforms/ios/src/UIView+NativeScript.h +13 -0
- package/platforms/ios/src/UIView+NativeScript.m +127 -0
- package/platforms/ios/src/module.modulemap +10 -0
- package/platforms/ios/typings/objc!NativeScriptUtils.d.ts +19 -0
- package/references.d.ts +1 -0
- package/ui/action-bar/index.android.d.ts +2 -0
- package/ui/action-bar/index.android.js +30 -1
- package/ui/action-bar/index.android.js.map +1 -1
- package/ui/animation/index.android.js +40 -62
- package/ui/animation/index.android.js.map +1 -1
- package/ui/animation/index.ios.js +10 -1
- package/ui/animation/index.ios.js.map +1 -1
- package/ui/animation/keyframe-animation.js +1 -2
- package/ui/animation/keyframe-animation.js.map +1 -1
- package/ui/builder/binding-builder.js +1 -1
- package/ui/builder/binding-builder.js.map +1 -1
- package/ui/button/index.android.d.ts +2 -0
- package/ui/button/index.android.js +26 -0
- package/ui/button/index.android.js.map +1 -1
- package/ui/core/bindable/bindable-expressions.js +14 -7
- package/ui/core/bindable/bindable-expressions.js.map +1 -1
- package/ui/core/view/index.android.d.ts +4 -0
- package/ui/core/view/index.android.js +89 -4
- package/ui/core/view/index.android.js.map +1 -1
- package/ui/core/view/index.d.ts +10 -2
- package/ui/core/view/index.ios.js +1 -0
- package/ui/core/view/index.ios.js.map +1 -1
- package/ui/core/view/view-common.d.ts +6 -2
- package/ui/core/view/view-common.js +39 -1
- package/ui/core/view/view-common.js.map +1 -1
- package/ui/core/view-base/index.d.ts +10 -0
- package/ui/core/view-base/index.js +2 -2
- package/ui/core/view-base/index.js.map +1 -1
- package/ui/frame/fragment.transitions.android.js +4 -0
- package/ui/frame/fragment.transitions.android.js.map +1 -1
- package/ui/frame/index.android.js +11 -8
- package/ui/frame/index.android.js.map +1 -1
- package/ui/gestures/gestures-common.d.ts +4 -1
- package/ui/gestures/gestures-common.js +3 -0
- package/ui/gestures/gestures-common.js.map +1 -1
- package/ui/gestures/index.d.ts +10 -0
- package/ui/gestures/touch-manager.d.ts +53 -0
- package/ui/gestures/touch-manager.js +205 -0
- package/ui/gestures/touch-manager.js.map +1 -0
- package/ui/image/image-common.d.ts +1 -0
- package/ui/image/image-common.js +4 -0
- package/ui/image/image-common.js.map +1 -1
- package/ui/image/index.ios.d.ts +2 -0
- package/ui/image/index.ios.js +64 -27
- package/ui/image/index.ios.js.map +1 -1
- package/ui/index.d.ts +2 -2
- package/ui/index.js +1 -1
- package/ui/index.js.map +1 -1
- package/ui/layouts/root-layout/index.android.js +17 -2
- package/ui/layouts/root-layout/index.android.js.map +1 -1
- package/ui/layouts/root-layout/index.d.ts +2 -0
- package/ui/layouts/root-layout/index.ios.d.ts +3 -0
- package/ui/layouts/root-layout/index.ios.js +30 -9
- package/ui/layouts/root-layout/index.ios.js.map +1 -1
- package/ui/layouts/root-layout/root-layout-common.d.ts +5 -2
- package/ui/layouts/root-layout/root-layout-common.js +76 -62
- package/ui/layouts/root-layout/root-layout-common.js.map +1 -1
- package/ui/scroll-view/index.android.js +2 -1
- package/ui/scroll-view/index.android.js.map +1 -1
- package/ui/styling/background-common.d.ts +1 -2
- package/ui/styling/background-common.js.map +1 -1
- package/ui/styling/background.android.d.ts +1 -3
- package/ui/styling/background.android.js +2 -124
- package/ui/styling/background.android.js.map +1 -1
- package/ui/styling/background.d.ts +60 -56
- package/ui/styling/background.ios.js +3 -34
- package/ui/styling/background.ios.js.map +1 -1
- package/ui/styling/css-animation-parser.js +1 -1
- package/ui/styling/css-animation-parser.js.map +1 -1
- package/ui/styling/font-common.js +5 -10
- package/ui/styling/font-common.js.map +1 -1
- package/ui/styling/font.ios.js +9 -91
- package/ui/styling/font.ios.js.map +1 -1
- package/ui/styling/linear-gradient.d.ts +6 -1
- package/ui/styling/linear-gradient.js.map +1 -1
- package/ui/tab-view/index.android.d.ts +1 -0
- package/ui/tab-view/index.android.js +22 -2
- package/ui/tab-view/index.android.js.map +1 -1
- package/ui/tab-view/index.d.ts +9 -0
- package/ui/tab-view/index.ios.d.ts +13 -3
- package/ui/tab-view/index.ios.js +47 -40
- package/ui/tab-view/index.ios.js.map +1 -1
- package/ui/tab-view/tab-view-common.d.ts +2 -0
- package/ui/tab-view/tab-view-common.js +2 -0
- package/ui/tab-view/tab-view-common.js.map +1 -1
- package/ui/text-base/index.android.js +5 -8
- package/ui/text-base/index.android.js.map +1 -1
- package/ui/text-base/index.ios.d.ts +7 -6
- package/ui/text-base/index.ios.js +69 -193
- package/ui/text-base/index.ios.js.map +1 -1
- package/ui/utils.d.ts +31 -1
- package/ui/utils.ios.d.ts +16 -0
- package/ui/utils.ios.js +41 -0
- package/ui/utils.ios.js.map +1 -1
- package/utils/index.d.ts +5 -0
- package/utils/native-helper.android.js +7 -1
- package/utils/native-helper.android.js.map +1 -1
- package/utils/utils-common.d.ts +1 -0
- package/utils/utils-common.js +12 -0
- package/utils/utils-common.js.map +1 -1
- package/ui/styling/gradient.d.ts +0 -17
package/ui/image/index.ios.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ImageBase, stretchProperty, imageSourceProperty, tintColorProperty, srcProperty } from './image-common';
|
|
2
2
|
import { Trace } from '../../trace';
|
|
3
|
-
import { layout } from '../../utils';
|
|
3
|
+
import { layout, queueGC } from '../../utils';
|
|
4
4
|
export * from './image-common';
|
|
5
5
|
export class Image extends ImageBase {
|
|
6
6
|
constructor() {
|
|
@@ -17,28 +17,60 @@ export class Image extends ImageBase {
|
|
|
17
17
|
super.initNativeView();
|
|
18
18
|
this._setNativeClipToBounds();
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.
|
|
20
|
+
disposeImageSource() {
|
|
21
|
+
var _a, _b, _c;
|
|
22
|
+
if (((_a = this.nativeViewProtected) === null || _a === void 0 ? void 0 : _a.image) === ((_b = this.imageSource) === null || _b === void 0 ? void 0 : _b.ios)) {
|
|
23
|
+
this.nativeViewProtected.image = null;
|
|
24
|
+
}
|
|
25
|
+
if ((_c = this.imageSource) === null || _c === void 0 ? void 0 : _c.ios) {
|
|
26
|
+
this.imageSource.ios = null;
|
|
24
27
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
this.imageSource = null;
|
|
29
|
+
queueGC();
|
|
30
|
+
}
|
|
31
|
+
disposeNativeView() {
|
|
32
|
+
var _a;
|
|
33
|
+
super.disposeNativeView();
|
|
34
|
+
if ((_a = this.nativeViewProtected) === null || _a === void 0 ? void 0 : _a.image) {
|
|
35
|
+
this.nativeViewProtected.image = null;
|
|
36
|
+
}
|
|
37
|
+
this.disposeImageSource();
|
|
38
|
+
}
|
|
39
|
+
setTintColor(value) {
|
|
40
|
+
if (this.nativeViewProtected) {
|
|
41
|
+
if (value && this.nativeViewProtected.image && !this._templateImageWasCreated) {
|
|
42
|
+
this.nativeViewProtected.image = this.nativeViewProtected.image.imageWithRenderingMode(2 /* AlwaysTemplate */);
|
|
43
|
+
this._templateImageWasCreated = true;
|
|
44
|
+
queueGC();
|
|
45
|
+
}
|
|
46
|
+
else if (!value && this.nativeViewProtected.image && this._templateImageWasCreated) {
|
|
47
|
+
this._templateImageWasCreated = false;
|
|
48
|
+
this.nativeViewProtected.image = this.nativeViewProtected.image.imageWithRenderingMode(0 /* Automatic */);
|
|
49
|
+
queueGC();
|
|
50
|
+
}
|
|
51
|
+
this.nativeViewProtected.tintColor = value ? value.ios : null;
|
|
28
52
|
}
|
|
29
|
-
this.nativeViewProtected.tintColor = value ? value.ios : null;
|
|
30
53
|
}
|
|
31
54
|
_setNativeImage(nativeImage) {
|
|
32
|
-
|
|
55
|
+
var _a, _b;
|
|
56
|
+
if ((_a = this.nativeViewProtected) === null || _a === void 0 ? void 0 : _a.image) {
|
|
57
|
+
this.nativeViewProtected.image = null;
|
|
58
|
+
queueGC();
|
|
59
|
+
}
|
|
60
|
+
if (this.nativeViewProtected) {
|
|
61
|
+
this.nativeViewProtected.image = nativeImage;
|
|
62
|
+
}
|
|
33
63
|
this._templateImageWasCreated = false;
|
|
34
|
-
this.setTintColor(this.style.tintColor);
|
|
64
|
+
this.setTintColor((_b = this.style) === null || _b === void 0 ? void 0 : _b.tintColor);
|
|
35
65
|
if (this._imageSourceAffectsLayout) {
|
|
36
66
|
this.requestLayout();
|
|
37
67
|
}
|
|
38
68
|
}
|
|
39
69
|
_setNativeClipToBounds() {
|
|
40
|
-
|
|
41
|
-
|
|
70
|
+
if (this.nativeViewProtected) {
|
|
71
|
+
// Always set clipsToBounds for images
|
|
72
|
+
this.nativeViewProtected.clipsToBounds = true;
|
|
73
|
+
}
|
|
42
74
|
}
|
|
43
75
|
onMeasure(widthMeasureSpec, heightMeasureSpec) {
|
|
44
76
|
// We don't call super because we measure native view with specific size.
|
|
@@ -96,26 +128,31 @@ export class Image extends ImageBase {
|
|
|
96
128
|
return { width: scaleW, height: scaleH };
|
|
97
129
|
}
|
|
98
130
|
[stretchProperty.setNative](value) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
131
|
+
if (this.nativeViewProtected) {
|
|
132
|
+
switch (value) {
|
|
133
|
+
case 'aspectFit':
|
|
134
|
+
this.nativeViewProtected.contentMode = 1 /* ScaleAspectFit */;
|
|
135
|
+
break;
|
|
136
|
+
case 'aspectFill':
|
|
137
|
+
this.nativeViewProtected.contentMode = 2 /* ScaleAspectFill */;
|
|
138
|
+
break;
|
|
139
|
+
case 'fill':
|
|
140
|
+
this.nativeViewProtected.contentMode = 0 /* ScaleToFill */;
|
|
141
|
+
break;
|
|
142
|
+
case 'none':
|
|
143
|
+
default:
|
|
144
|
+
this.nativeViewProtected.contentMode = 9 /* TopLeft */;
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
113
147
|
}
|
|
114
148
|
}
|
|
115
149
|
[tintColorProperty.setNative](value) {
|
|
116
150
|
this.setTintColor(value);
|
|
117
151
|
}
|
|
118
152
|
[imageSourceProperty.setNative](value) {
|
|
153
|
+
if (value !== this.imageSource) {
|
|
154
|
+
this.disposeImageSource();
|
|
155
|
+
}
|
|
119
156
|
this._setNativeImage(value ? value.ios : null);
|
|
120
157
|
}
|
|
121
158
|
[srcProperty.setNative](value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../../packages/core/ui/image/index.ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGjH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../../packages/core/ui/image/index.ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGjH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE9C,cAAc,gBAAgB,CAAC;AAE/B,MAAM,OAAO,KAAM,SAAQ,SAAS;IAApC;;QAES,8BAAyB,GAAG,IAAI,CAAC;IA0L1C,CAAC;IAvLO,gBAAgB;QACtB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,SAAS,CAAC,WAAW,yBAAmC,CAAC;QACzD,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAExC,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,cAAc;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC/B,CAAC;IAEM,kBAAkB;;QACxB,IAAI,CAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,KAAK,OAAK,MAAA,IAAI,CAAC,WAAW,0CAAE,GAAG,CAAA,EAAE;YAC9D,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC;SACtC;QAED,IAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC;SAC5B;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,OAAO,EAAE,CAAC;IACX,CAAC;IAEM,iBAAiB;;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,MAAA,IAAI,CAAC,mBAAmB,0CAAE,KAAK,EAAE;YACpC,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC;SACtC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAEO,YAAY,CAAC,KAAY;QAChC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAC9E,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,sBAAsB,wBAAqC,CAAC;gBAC5H,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACrC,OAAO,EAAE,CAAC;aACV;iBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,IAAI,CAAC,wBAAwB,EAAE;gBACrF,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,sBAAsB,mBAAgC,CAAC;gBACvH,OAAO,EAAE,CAAC;aACV;YACD,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;SAC9D;IACF,CAAC;IAEM,eAAe,CAAC,WAAoB;;QAC1C,IAAI,MAAA,IAAI,CAAC,mBAAmB,0CAAE,KAAK,EAAE;YACpC,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC;YAEtC,OAAO,EAAE,CAAC;SACV;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,WAAW,CAAC;SAC7C;QACD,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,CAAC,CAAC;QAEzC,IAAI,IAAI,CAAC,yBAAyB,EAAE;YACnC,IAAI,CAAC,aAAa,EAAE,CAAC;SACrB;IACF,CAAC;IAED,sBAAsB;QACrB,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC7B,sCAAsC;YACtC,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG,IAAI,CAAC;SAC9C;IACF,CAAC;IAEM,SAAS,CAAC,gBAAwB,EAAE,iBAAyB;QACnE,yEAAyE;QACzE,MAAM,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3F,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjE,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEpE,MAAM,WAAW,GAAY,SAAS,KAAK,MAAM,CAAC,WAAW,CAAC;QAC9D,MAAM,YAAY,GAAY,UAAU,KAAK,MAAM,CAAC,WAAW,CAAC;QAEhE,IAAI,CAAC,yBAAyB,GAAG,SAAS,KAAK,MAAM,CAAC,OAAO,IAAI,UAAU,KAAK,MAAM,CAAC,OAAO,CAAC;QAE/F,IAAI,WAAW,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,EAAE;YAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAExD,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAEnE,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBACtB,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,GAAG,iBAAiB,GAAG,WAAW,GAAG,kBAAkB,GAAG,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aAC7I;SACD;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,cAAc,GAAG,KAAK,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAEvF,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,YAAoB,EAAE,aAAqB,EAAE,aAAsB,EAAE,cAAuB,EAAE,WAAmB,EAAE,YAAoB,EAAE,YAAoB;QAC9L,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,IAAI,CAAC,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,WAAW,IAAI,YAAY,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,cAAc,CAAC,EAAE;YACpI,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,IAAI,CAAC,aAAa,EAAE;gBACnB,MAAM,GAAG,MAAM,CAAC;aAChB;iBAAM,IAAI,CAAC,cAAc,EAAE;gBAC3B,MAAM,GAAG,MAAM,CAAC;aAChB;iBAAM;gBACN,0BAA0B;gBAC1B,QAAQ,YAAY,EAAE;oBACrB,KAAK,WAAW;wBACf,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC3C,MAAM,GAAG,MAAM,CAAC;wBAChB,MAAM;oBACP,KAAK,YAAY;wBAChB,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC3C,MAAM,GAAG,MAAM,CAAC;wBAChB,MAAM;iBACP;aACD;SACD;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;IAED,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAmD;QAC9E,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC7B,QAAQ,KAAK,EAAE;gBACd,KAAK,WAAW;oBACf,IAAI,CAAC,mBAAmB,CAAC,WAAW,yBAAmC,CAAC;oBACxE,MAAM;gBAEP,KAAK,YAAY;oBAChB,IAAI,CAAC,mBAAmB,CAAC,WAAW,0BAAoC,CAAC;oBACzE,MAAM;gBAEP,KAAK,MAAM;oBACV,IAAI,CAAC,mBAAmB,CAAC,WAAW,sBAAgC,CAAC;oBACrE,MAAM;gBAEP,KAAK,MAAM,CAAC;gBACZ;oBACC,IAAI,CAAC,mBAAmB,CAAC,WAAW,kBAA4B,CAAC;oBACjE,MAAM;aACP;SACD;IACF,CAAC;IAED,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,KAAY;QACzC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAkB;QACjD,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE;YAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC1B;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAU;QACjC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;CACD"}
|
package/ui/index.d.ts
CHANGED
|
@@ -23,8 +23,8 @@ export type { DialogOptions, CancelableOptions, AlertOptions, PromptResult, Prom
|
|
|
23
23
|
export * from './editable-text-base';
|
|
24
24
|
export { Frame, setActivityCallbacks } from './frame';
|
|
25
25
|
export type { NavigationEntry, NavigationContext, NavigationTransition, BackstackEntry, ViewEntry, AndroidActivityCallbacks } from './frame';
|
|
26
|
-
export { GesturesObserver, TouchAction, GestureTypes, GestureStateTypes, SwipeDirection, GestureEvents } from './gestures';
|
|
27
|
-
export type { GestureEventData, GestureEventDataWithState, TapGestureEventData, PanGestureEventData, PinchGestureEventData, RotationGestureEventData, SwipeGestureEventData, TouchGestureEventData } from './gestures';
|
|
26
|
+
export { GesturesObserver, TouchAction, GestureTypes, GestureStateTypes, SwipeDirection, GestureEvents, TouchManager } from './gestures';
|
|
27
|
+
export type { GestureEventData, GestureEventDataWithState, TapGestureEventData, PanGestureEventData, PinchGestureEventData, RotationGestureEventData, SwipeGestureEventData, TouchGestureEventData, TouchAnimationOptions } from './gestures';
|
|
28
28
|
export { HtmlView } from './html-view';
|
|
29
29
|
export { Image } from './image';
|
|
30
30
|
export { Cache as ImageCache } from './image-cache';
|
package/ui/index.js
CHANGED
|
@@ -16,7 +16,7 @@ export { DatePicker } from './date-picker';
|
|
|
16
16
|
export { DialogStrings, action, alert, confirm, login, prompt, getCurrentPage, Dialogs, inputType, capitalizationType } from './dialogs';
|
|
17
17
|
export * from './editable-text-base';
|
|
18
18
|
export { Frame, setActivityCallbacks } from './frame';
|
|
19
|
-
export { GesturesObserver, TouchAction, GestureTypes, GestureStateTypes, SwipeDirection, GestureEvents } from './gestures';
|
|
19
|
+
export { GesturesObserver, TouchAction, GestureTypes, GestureStateTypes, SwipeDirection, GestureEvents, TouchManager } from './gestures';
|
|
20
20
|
export { HtmlView } from './html-view';
|
|
21
21
|
export { Image } from './image';
|
|
22
22
|
export { Cache as ImageCache } from './image-cache';
|
package/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAErH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAExG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1J,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACtM,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,uEAAuE;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGzI,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/ui/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Color } from '../../../color';
|
|
2
2
|
import { RootLayoutBase, defaultShadeCoverOptions } from './root-layout-common';
|
|
3
|
+
import { parseLinearGradient } from '../../../css/parser';
|
|
4
|
+
import { LinearGradient } from '../../styling/linear-gradient';
|
|
3
5
|
export * from './root-layout-common';
|
|
4
6
|
export class RootLayout extends RootLayoutBase {
|
|
5
7
|
constructor() {
|
|
@@ -49,14 +51,27 @@ export class RootLayout extends RootLayoutBase {
|
|
|
49
51
|
return this._playAnimation(this._getAnimationSet(view, exitState), exitState === null || exitState === void 0 ? void 0 : exitState.duration);
|
|
50
52
|
}
|
|
51
53
|
_getAnimationSet(view, shadeCoverAnimation, backgroundColor = defaultShadeCoverOptions.color) {
|
|
52
|
-
const
|
|
54
|
+
const backgroundIsGradient = backgroundColor.startsWith('linear-gradient');
|
|
55
|
+
const animationSet = Array.create(android.animation.Animator, backgroundIsGradient ? 6 : 7);
|
|
53
56
|
animationSet[0] = android.animation.ObjectAnimator.ofFloat(view.nativeViewProtected, 'translationX', [shadeCoverAnimation.translateX]);
|
|
54
57
|
animationSet[1] = android.animation.ObjectAnimator.ofFloat(view.nativeViewProtected, 'translationY', [shadeCoverAnimation.translateY]);
|
|
55
58
|
animationSet[2] = android.animation.ObjectAnimator.ofFloat(view.nativeViewProtected, 'scaleX', [shadeCoverAnimation.scaleX]);
|
|
56
59
|
animationSet[3] = android.animation.ObjectAnimator.ofFloat(view.nativeViewProtected, 'scaleY', [shadeCoverAnimation.scaleY]);
|
|
57
60
|
animationSet[4] = android.animation.ObjectAnimator.ofFloat(view.nativeViewProtected, 'rotation', [shadeCoverAnimation.rotate]);
|
|
58
61
|
animationSet[5] = android.animation.ObjectAnimator.ofFloat(view.nativeViewProtected, 'alpha', [shadeCoverAnimation.opacity]);
|
|
59
|
-
|
|
62
|
+
if (backgroundIsGradient) {
|
|
63
|
+
if (view.backgroundColor) {
|
|
64
|
+
view.backgroundColor = undefined;
|
|
65
|
+
}
|
|
66
|
+
const parsedGradient = parseLinearGradient(backgroundColor);
|
|
67
|
+
view.backgroundImage = LinearGradient.parse(parsedGradient.value);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
if (view.backgroundImage) {
|
|
71
|
+
view.backgroundImage = undefined;
|
|
72
|
+
}
|
|
73
|
+
animationSet[6] = this._getBackgroundColorAnimator(view, backgroundColor);
|
|
74
|
+
}
|
|
60
75
|
return animationSet;
|
|
61
76
|
}
|
|
62
77
|
_getBackgroundColorAnimator(view, backgroundColor) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../../../packages/core/ui/layouts/root-layout/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../../../packages/core/ui/layouts/root-layout/index.android.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export class RootLayout extends GridLayout {
|
|
|
7
7
|
bringToFront(view: View, animated?: boolean): Promise<void>;
|
|
8
8
|
closeAll(): Promise<void>;
|
|
9
9
|
getShadeCover(): View;
|
|
10
|
+
openShadeCover(options: ShadeCoverOptions): void;
|
|
11
|
+
closeShadeCover(shadeCoverOptions?: ShadeCoverOptions): Promise<void>;
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
export function getRootLayout(): RootLayout;
|
|
@@ -3,11 +3,14 @@ import { RootLayoutBase } from './root-layout-common';
|
|
|
3
3
|
import { ShadeCoverOptions } from '.';
|
|
4
4
|
export * from './root-layout-common';
|
|
5
5
|
export declare class RootLayout extends RootLayoutBase {
|
|
6
|
+
private _currentGradient;
|
|
7
|
+
private _gradientLayer;
|
|
6
8
|
constructor();
|
|
7
9
|
protected _bringToFront(view: View): void;
|
|
8
10
|
protected _initShadeCover(view: View, shadeOptions: ShadeCoverOptions): void;
|
|
9
11
|
protected _updateShadeCover(view: View, shadeOptions: ShadeCoverOptions): Promise<void>;
|
|
10
12
|
protected _closeShadeCover(view: View, shadeOptions: ShadeCoverOptions): Promise<void>;
|
|
13
|
+
protected _cleanupPlatformShadeCover(): void;
|
|
11
14
|
private _applyAnimationProperties;
|
|
12
15
|
private _convertDurationToSeconds;
|
|
13
16
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Color } from '../../../color';
|
|
2
2
|
import { RootLayoutBase, defaultShadeCoverOptions } from './root-layout-common';
|
|
3
|
+
import { LinearGradient } from '../../styling/linear-gradient';
|
|
4
|
+
import { ios as iosViewUtils } from '../../utils';
|
|
5
|
+
import { parseLinearGradient } from '../../../css/parser';
|
|
3
6
|
export * from './root-layout-common';
|
|
4
7
|
export class RootLayout extends RootLayoutBase {
|
|
5
8
|
constructor() {
|
|
@@ -17,10 +20,22 @@ export class RootLayout extends RootLayoutBase {
|
|
|
17
20
|
return new Promise((resolve) => {
|
|
18
21
|
var _a, _b;
|
|
19
22
|
const options = Object.assign(Object.assign({}, defaultShadeCoverOptions), shadeOptions);
|
|
20
|
-
if (view
|
|
23
|
+
if (view === null || view === void 0 ? void 0 : view.nativeViewProtected) {
|
|
21
24
|
const duration = this._convertDurationToSeconds(((_b = (_a = options.animation) === null || _a === void 0 ? void 0 : _a.enterFrom) === null || _b === void 0 ? void 0 : _b.duration) || defaultShadeCoverOptions.animation.enterFrom.duration);
|
|
25
|
+
if (options.color && options.color.startsWith('linear-gradient')) {
|
|
26
|
+
if (options.color !== this._currentGradient) {
|
|
27
|
+
this._currentGradient = options.color;
|
|
28
|
+
const parsedGradient = parseLinearGradient(options.color);
|
|
29
|
+
this._gradientLayer = iosViewUtils.drawGradient(view.nativeViewProtected, LinearGradient.parse(parsedGradient.value), 0);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
22
32
|
UIView.animateWithDurationAnimationsCompletion(duration, () => {
|
|
23
|
-
|
|
33
|
+
if (this._gradientLayer) {
|
|
34
|
+
this._gradientLayer.opacity = 1;
|
|
35
|
+
}
|
|
36
|
+
else if (options.color && (view === null || view === void 0 ? void 0 : view.nativeViewProtected)) {
|
|
37
|
+
view.nativeViewProtected.backgroundColor = new Color(options.color).ios;
|
|
38
|
+
}
|
|
24
39
|
this._applyAnimationProperties(view, {
|
|
25
40
|
translateX: 0,
|
|
26
41
|
translateY: 0,
|
|
@@ -48,14 +63,20 @@ export class RootLayout extends RootLayoutBase {
|
|
|
48
63
|
}
|
|
49
64
|
});
|
|
50
65
|
}
|
|
66
|
+
_cleanupPlatformShadeCover() {
|
|
67
|
+
this._currentGradient = null;
|
|
68
|
+
this._gradientLayer = null;
|
|
69
|
+
}
|
|
51
70
|
_applyAnimationProperties(view, shadeCoverAnimation) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
71
|
+
if (view === null || view === void 0 ? void 0 : view.nativeViewProtected) {
|
|
72
|
+
const translate = CGAffineTransformMakeTranslation(shadeCoverAnimation.translateX, shadeCoverAnimation.translateY);
|
|
73
|
+
// ios doesn't like scale being 0, default it to a small number greater than 0
|
|
74
|
+
const scale = CGAffineTransformMakeScale(shadeCoverAnimation.scaleX || 0.1, shadeCoverAnimation.scaleY || 0.1);
|
|
75
|
+
const rotate = CGAffineTransformMakeRotation((shadeCoverAnimation.rotate * Math.PI) / 180); // convert degress to radians
|
|
76
|
+
const translateAndScale = CGAffineTransformConcat(translate, scale);
|
|
77
|
+
view.nativeViewProtected.transform = CGAffineTransformConcat(rotate, translateAndScale);
|
|
78
|
+
view.nativeViewProtected.alpha = shadeCoverAnimation.opacity;
|
|
79
|
+
}
|
|
59
80
|
}
|
|
60
81
|
_convertDurationToSeconds(duration) {
|
|
61
82
|
return duration / 1000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../../../packages/core/ui/layouts/root-layout/index.ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,cAAc,sBAAsB,CAAC;AAErC,MAAM,OAAO,UAAW,SAAQ,cAAc;
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../../../packages/core/ui/layouts/root-layout/index.ios.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,10 @@ export declare class RootLayoutBase extends GridLayout {
|
|
|
9
9
|
open(view: View, options?: RootLayoutOptions): Promise<void>;
|
|
10
10
|
close(view: View, exitTo?: TransitionAnimation): Promise<void>;
|
|
11
11
|
closeAll(): Promise<void>;
|
|
12
|
-
bringToFront(view: View, animated?: boolean): Promise<void>;
|
|
13
12
|
getShadeCover(): View;
|
|
13
|
+
openShadeCover(options: ShadeCoverOptions): void;
|
|
14
|
+
closeShadeCover(shadeCoverOptions?: ShadeCoverOptions): Promise<void>;
|
|
15
|
+
bringToFront(view: View, animated?: boolean): Promise<void>;
|
|
14
16
|
private getPopupIndex;
|
|
15
17
|
private getViewInitialState;
|
|
16
18
|
private getViewExitState;
|
|
@@ -18,14 +20,15 @@ export declare class RootLayoutBase extends GridLayout {
|
|
|
18
20
|
private applyDefaultState;
|
|
19
21
|
private getEnterAnimation;
|
|
20
22
|
private getExitAnimation;
|
|
23
|
+
private getExitAnimationDefinition;
|
|
21
24
|
private createShadeCover;
|
|
22
25
|
private updateShadeCover;
|
|
23
26
|
private hasChild;
|
|
24
|
-
private closeShadeCover;
|
|
25
27
|
protected _bringToFront(view: View): void;
|
|
26
28
|
protected _initShadeCover(view: View, shadeOption: ShadeCoverOptions): void;
|
|
27
29
|
protected _updateShadeCover(view: View, shadeOption: ShadeCoverOptions): Promise<void>;
|
|
28
30
|
protected _closeShadeCover(view: View, shadeOptions: ShadeCoverOptions): Promise<void>;
|
|
31
|
+
protected _cleanupPlatformShadeCover(): void;
|
|
29
32
|
}
|
|
30
33
|
export declare function getRootLayout(): RootLayout;
|
|
31
34
|
export declare const defaultTransitionAnimation: TransitionAnimation;
|
|
@@ -26,15 +26,16 @@ let RootLayoutBase = class RootLayoutBase extends GridLayout {
|
|
|
26
26
|
else {
|
|
27
27
|
// keep track of the views locally to be able to use their options later
|
|
28
28
|
this.popupViews.push({ view: view, options: options });
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
if (options === null || options === void 0 ? void 0 : options.shadeCover) {
|
|
30
|
+
// perf optimization note: we only need 1 layer of shade cover
|
|
31
|
+
// we just update properties if needed by additional overlaid views
|
|
32
|
+
if (this.shadeCover) {
|
|
33
|
+
// overwrite current shadeCover options if topmost popupview has additional shadeCover configurations
|
|
34
|
+
this.updateShadeCover(this.shadeCover, options.shadeCover);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.openShadeCover(options.shadeCover);
|
|
38
|
+
}
|
|
38
39
|
}
|
|
39
40
|
view.opacity = 0; // always begin with view invisible when adding dynamically
|
|
40
41
|
this.insertChild(view, this.getChildrenCount() + 1);
|
|
@@ -66,44 +67,45 @@ let RootLayoutBase = class RootLayoutBase extends GridLayout {
|
|
|
66
67
|
// ability to remove any view instance from composite views
|
|
67
68
|
close(view, exitTo) {
|
|
68
69
|
return new Promise((resolve, reject) => {
|
|
69
|
-
var _a, _b, _c, _d, _e
|
|
70
|
+
var _a, _b, _c, _d, _e;
|
|
70
71
|
if (this.hasChild(view)) {
|
|
72
|
+
const cleanupAndFinish = () => {
|
|
73
|
+
this.removeChild(view);
|
|
74
|
+
resolve();
|
|
75
|
+
};
|
|
71
76
|
try {
|
|
72
77
|
const popupIndex = this.getPopupIndex(view);
|
|
73
|
-
// use exitAnimation that is passed in and fallback to the exitAnimation passed in when opening
|
|
74
|
-
const exitAnimationDefinition = exitTo || ((_c = (_b = (_a = this.popupViews[popupIndex]) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.animation) === null || _c === void 0 ? void 0 : _c.exitTo);
|
|
75
|
-
// Remove view from local array
|
|
76
78
|
const poppedView = this.popupViews[popupIndex];
|
|
79
|
+
// use exitAnimation that is passed in and fallback to the exitAnimation passed in when opening
|
|
80
|
+
const exitAnimationDefinition = exitTo || ((_b = (_a = poppedView === null || poppedView === void 0 ? void 0 : poppedView.options) === null || _a === void 0 ? void 0 : _a.animation) === null || _b === void 0 ? void 0 : _b.exitTo);
|
|
81
|
+
// Remove view from tracked popupviews
|
|
77
82
|
this.popupViews.splice(popupIndex, 1);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
83
|
+
if (this.shadeCover) {
|
|
84
|
+
// update shade cover with the topmost popupView options (if not specifically told to ignore)
|
|
85
|
+
if (!((_c = poppedView === null || poppedView === void 0 ? void 0 : poppedView.options) === null || _c === void 0 ? void 0 : _c.shadeCover.ignoreShadeRestore)) {
|
|
86
|
+
const shadeCoverOptions = (_e = (_d = this.popupViews[this.popupViews.length - 1]) === null || _d === void 0 ? void 0 : _d.options) === null || _e === void 0 ? void 0 : _e.shadeCover;
|
|
87
|
+
if (shadeCoverOptions) {
|
|
88
|
+
this.updateShadeCover(this.shadeCover, shadeCoverOptions);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// remove shade cover animation if this is the last opened popup view
|
|
92
|
+
if (this.popupViews.length === 0) {
|
|
93
|
+
this.closeShadeCover(poppedView.options.shadeCover);
|
|
94
|
+
}
|
|
82
95
|
}
|
|
83
96
|
if (exitAnimationDefinition) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
if (this.popupViews.length === 0 && this.shadeCover) {
|
|
88
|
-
exitAnimations.push(this.closeShadeCover(poppedView.options.shadeCover));
|
|
89
|
-
}
|
|
90
|
-
return Promise.all(exitAnimations)
|
|
91
|
-
.then(() => {
|
|
92
|
-
this.removeChild(view);
|
|
93
|
-
resolve();
|
|
94
|
-
})
|
|
97
|
+
this.getExitAnimation(view, exitAnimationDefinition)
|
|
98
|
+
.play()
|
|
99
|
+
.then(cleanupAndFinish.bind(this))
|
|
95
100
|
.catch((ex) => {
|
|
96
101
|
if (Trace.isEnabled()) {
|
|
97
102
|
Trace.write(`Error playing exit animation: ${ex}`, Trace.categories.Layout, Trace.messageType.error);
|
|
98
103
|
}
|
|
99
104
|
});
|
|
100
105
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (this.popupViews.length === 0) {
|
|
104
|
-
this.closeShadeCover(poppedView.options.shadeCover);
|
|
106
|
+
else {
|
|
107
|
+
cleanupAndFinish();
|
|
105
108
|
}
|
|
106
|
-
resolve();
|
|
107
109
|
}
|
|
108
110
|
catch (ex) {
|
|
109
111
|
if (Trace.isEnabled()) {
|
|
@@ -134,6 +136,42 @@ let RootLayoutBase = class RootLayoutBase extends GridLayout {
|
|
|
134
136
|
}
|
|
135
137
|
});
|
|
136
138
|
}
|
|
139
|
+
getShadeCover() {
|
|
140
|
+
return this.shadeCover;
|
|
141
|
+
}
|
|
142
|
+
openShadeCover(options) {
|
|
143
|
+
if (this.shadeCover) {
|
|
144
|
+
if (Trace.isEnabled()) {
|
|
145
|
+
Trace.write(`RootLayout shadeCover already open.`, Trace.categories.Layout, Trace.messageType.warn);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// create the one and only shade cover
|
|
150
|
+
this.shadeCover = this.createShadeCover(options);
|
|
151
|
+
// insert shade cover at index right above the first layout
|
|
152
|
+
this.insertChild(this.shadeCover, this.staticChildCount + 1);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
closeShadeCover(shadeCoverOptions) {
|
|
156
|
+
return new Promise((resolve) => {
|
|
157
|
+
// if shade cover is displayed and the last popup is closed, also close the shade cover
|
|
158
|
+
if (this.shadeCover) {
|
|
159
|
+
return this._closeShadeCover(this.shadeCover, shadeCoverOptions).then(() => {
|
|
160
|
+
if (this.shadeCover) {
|
|
161
|
+
this.shadeCover.off('loaded');
|
|
162
|
+
if (this.shadeCover.parent) {
|
|
163
|
+
this.removeChild(this.shadeCover);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
this.shadeCover = null;
|
|
167
|
+
// cleanup any platform specific details related to shade cover
|
|
168
|
+
this._cleanupPlatformShadeCover();
|
|
169
|
+
resolve();
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
resolve();
|
|
173
|
+
});
|
|
174
|
+
}
|
|
137
175
|
// bring any view instance open on the rootlayout to front of all the children visually
|
|
138
176
|
bringToFront(view, animated = false) {
|
|
139
177
|
return new Promise((resolve, reject) => {
|
|
@@ -202,9 +240,6 @@ let RootLayoutBase = class RootLayoutBase extends GridLayout {
|
|
|
202
240
|
}
|
|
203
241
|
});
|
|
204
242
|
}
|
|
205
|
-
getShadeCover() {
|
|
206
|
-
return this.shadeCover;
|
|
207
|
-
}
|
|
208
243
|
getPopupIndex(view) {
|
|
209
244
|
return this.popupViews.findIndex((popupView) => popupView.view === view);
|
|
210
245
|
}
|
|
@@ -264,18 +299,10 @@ let RootLayoutBase = class RootLayoutBase extends GridLayout {
|
|
|
264
299
|
]);
|
|
265
300
|
}
|
|
266
301
|
getExitAnimation(targetView, exitTo) {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
translate: { x: animationOptions.translateX, y: animationOptions.translateY },
|
|
272
|
-
scale: { x: animationOptions.scaleX, y: animationOptions.scaleY },
|
|
273
|
-
rotate: animationOptions.rotate,
|
|
274
|
-
opacity: animationOptions.opacity,
|
|
275
|
-
duration: animationOptions.duration,
|
|
276
|
-
curve: animationOptions.curve,
|
|
277
|
-
},
|
|
278
|
-
]);
|
|
302
|
+
return new Animation([this.getExitAnimationDefinition(targetView, exitTo)]);
|
|
303
|
+
}
|
|
304
|
+
getExitAnimationDefinition(targetView, exitTo) {
|
|
305
|
+
return Object.assign(Object.assign(Object.assign({ target: targetView }, defaultTransitionAnimation), (exitTo || {})), { translate: { x: exitTo.translateX || defaultTransitionAnimation.translateX, y: exitTo.translateY || defaultTransitionAnimation.translateY }, scale: { x: exitTo.scaleX || defaultTransitionAnimation.scaleX, y: exitTo.scaleY || defaultTransitionAnimation.scaleY } });
|
|
279
306
|
}
|
|
280
307
|
createShadeCover(shadeOptions) {
|
|
281
308
|
const shadeCover = new GridLayout();
|
|
@@ -300,20 +327,6 @@ let RootLayoutBase = class RootLayoutBase extends GridLayout {
|
|
|
300
327
|
hasChild(view) {
|
|
301
328
|
return this.getChildIndex(view) >= 0;
|
|
302
329
|
}
|
|
303
|
-
closeShadeCover(shadeCoverOptions) {
|
|
304
|
-
return new Promise((resolve) => {
|
|
305
|
-
// if shade cover is displayed and the last popup is closed, also close the shade cover
|
|
306
|
-
if (this.shadeCover) {
|
|
307
|
-
return this._closeShadeCover(this.shadeCover, shadeCoverOptions).then(() => {
|
|
308
|
-
this.removeChild(this.shadeCover);
|
|
309
|
-
this.shadeCover.off('loaded');
|
|
310
|
-
this.shadeCover = null;
|
|
311
|
-
resolve();
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
resolve();
|
|
315
|
-
});
|
|
316
|
-
}
|
|
317
330
|
_bringToFront(view) { }
|
|
318
331
|
_initShadeCover(view, shadeOption) { }
|
|
319
332
|
_updateShadeCover(view, shadeOption) {
|
|
@@ -322,6 +335,7 @@ let RootLayoutBase = class RootLayoutBase extends GridLayout {
|
|
|
322
335
|
_closeShadeCover(view, shadeOptions) {
|
|
323
336
|
return new Promise(() => { });
|
|
324
337
|
}
|
|
338
|
+
_cleanupPlatformShadeCover() { }
|
|
325
339
|
};
|
|
326
340
|
RootLayoutBase = __decorate([
|
|
327
341
|
CSSType('RootLayout'),
|