Commit Graph

288 Commits

Author SHA1 Message Date
Hristo Hristov
09535627b9 disable recycling on specific button (#4527)
* disable recycling on specific button
add more thorough test for view recycling
fix memory leak with android ActionBar
improve padding reset when view is recycled
improve reset of several controls

* stopping local animations when view is recycled
fix tns-ios version in tests/package.json

* Fix isClickable on android when reusing nativeView
2017-07-11 09:48:08 +03:00
Hristo Hristov
974ef9d932 Fix CssAnimationProperty default value (#4510) 2017-07-06 09:25:17 +03:00
Panayot Cankov
8adb2fdfef Fix TypeScript 2.4 errors, introduced mainly due weak types and covariant checking for callbacks (#4476) 2017-07-03 11:57:00 +03:00
Alexander Vakrilov
23757e5dfc Enable recycling of nativeView 2 (#4467)
* enable recycling of nativeView

* backgroundInternal is reset if setting new value leads to background.isEmpty() == true.

* android background.getDefault always return copy of the background. Now all controls that mutate the background can be reset to initial state (e.g. Button & ActionBar)
passing resources to copied background so it respect density.
fix properties initNativeView

* reset padding when backgroundInternal is reset.

* Fix text reset
Fix padding reset

* fix tsc errors

* fix ugly text rendering.

* Add unit tests for recycling native views
Fix several issues that came from the above tests
Fix maxLength property missing a converter callback
Remove old files

* Remove old files

* Revert backgroundInternal setter

* change the order of tests so that appium can work again

* Remove suggestion on every TextView & TextField init (strangely it is enabled after view is recycled....)

* Fix function to get parent layout if specified

* Button stateListAnimator restored when button is recycled
zIndex defaultValue is now undefined instead of NaN

* revert zIndex.setNative to always clear stateListAnimator because it was breaking one UI test (setting value=0 was returning the previous stateListAnimator)

* fix search-bar backgound-color recycling

* Fix alignments setters

* Fix imageView recycling
Fix button recycling
Fix edit-text recycling
resetNativeView is called only if recycleNativeView flag is true

* Fix incorrect merge

* Fix text-view & text-field textTransform

* Fix EditText text reset

* Fix runtime crash on ARM emulator API 21

* Fix text-base minHeight. maxHeight reset
Fix reset of isUserInteractionEnabled
2017-06-29 18:01:22 +03:00
Alexander Vakrilov
f2462158fb Chrome devtools elements tab support for Android (#4351)
* Enable chrome-devtools elemets tab

* Trigger updates when property is chaned form native

* Tslint fixes

* Don't run dom-elemet tests in IOS

* fix tests

* Create package.json

* Update package.json

* domNode changed to field for performance
2017-06-12 16:48:27 +03:00
Panayot Cankov
014e7a8e0f add profile for functions, profile CSS-es on startup, use __time (#4227)
Call native setters once when a page is instantiated.

Fix background not being reset, Label's background is now set to background, not layer

Make the nativeView field instead of property for performance reasons
2017-06-08 09:51:09 +03:00
Panayot Cankov
51b351f5b6 Add timeline traces in the console, let enabling them through the package.json 2017-06-02 16:34:15 +03:00
Stanimira Vlaeva
26e2748f24 fix(animations): remove default getters for tranform properties (#4286) 2017-05-29 17:39:32 +03:00
vakrilov
e7d9fe5b24 Support getDefault for CssAnimationProperty 2017-05-19 18:46:26 +03:00
Panayot Cankov
7986e479cd Performance improvements after profiling the android flexbox example 2017-05-18 18:00:31 +03:00
Hristo Hristov
188a1c2c34 Binding to ViewBase as source now works (#4195)
* Fix 4127

* Move back Binding class to bindable module
2017-05-16 13:33:02 +03:00
Panayot Cankov
0cae034a64 Changing module docs so they can appear in typedoc. 2017-05-10 11:55:47 +03:00
Panayot Cankov
e26032f5fe Revert the translateX/Y to be in dip 2017-04-25 14:49:12 +03:00
Hristo Hristov
9e3222781a backgroundImage property now use Fetcher & Cache as Image component (#4030)
* backgroundImage property now use Fetcher & Cache as Image component
Fix GridLayout tests on iPhone Plus - actualLength wasn’t rounded
ImageCache is closed when activity is stopped

* Fix reset of background drawable.

* additional check for drawable

* imageCache init cache on activity Started
2017-04-21 16:50:12 +03:00
Panayot Cankov
d098ff43f5 Add module names for the typedoc, make it work
Mark members with @private for typedoc.
2017-04-20 16:58:30 +03:00
Panayot Cankov
7108fc6954 Merge pull request #3979 from NativeScript/fix-ios-zero-scale
Setting scale to 0 in iOS was actually using 0, it will now use 1e-6
2017-04-12 11:12:58 +03:00
Panayot Cankov
108f4c287d Inital animations were not played in android, since CSS in android is now applied before the native view is created/assigned 2017-04-12 10:40:45 +03:00
Panayot Cankov
078bd48909 Scaling to zero should be avoided in iOS as the underlying system won't be able to decompose the resulting affine matrix, but in cases of 0 we were setting it to 1, we will now set it to 1e-6. 2017-04-12 10:30:53 +03:00
Panayot Cankov
17b6f1c5f6 Property change notifications raise value and oldValue 2017-04-07 17:12:39 +03:00
Panayot Cankov
92d015b8d8 Animations were always played as keyframes and kept overriding the local values. Android setAlpha has deprecated int overload, now it is guided to use the float one. Android background color was animated using css values instead of local or the keyframe one. 2017-04-06 14:50:40 +03:00
Hristo Hristov
f350f7191d textTransform, whiteSpace & textAlignment defaultValue is now “initia” (#3948)
removed enum namespaces
add valueConverter to clipToBounds
2017-04-06 09:50:37 +03:00
Panayot Cankov
4105083dd4 Fix iOS animations, transition was workin in DIP, when css class is change objects were flickering 2017-04-03 17:17:59 +03:00
vakrilov
740d71a238 Apply page css when using nav-entry with create method 2017-04-03 14:51:57 +03:00
Hristo Hristov
00d82010ae propagate inheritable values only on child added. (#3926)
segmented bar createNativeView returns the nativeView
2017-04-03 11:08:11 +03:00
Hristo Hristov
e802206f0e nativeView not cleared in iOS (#3912) 2017-03-31 11:01:04 +03:00
Hristo Hristov
e6250e718a Disable recycling of native views
createNativeView will set iOS nativeView if it is null/undefined
2017-03-28 18:08:59 +03:00
Hristo Hristov
84e726e6b9 Resolving comments 2017-03-28 18:08:59 +03:00
Hristo Hristov
c18a76c93a rename:
_createNativeView to createNativeView;
_initNativeView to initNativeView
_disposeNativeView to disposeNativeView
_resetNativeView to resetNativeView
2017-03-28 18:08:59 +03:00
Hristo Hristov
f2898f84d5 NativeView recycled for android 2017-03-28 18:08:59 +03:00
Panayot Cankov
2b28730011 Split get/set native to getDefault setNative 2017-03-22 16:37:52 +02:00
Hristo Hristov
f8b13acce6 Label textWrap fix for iOS (#3842) 2017-03-21 15:33:52 +02:00
Hristo Hristov
fe54ac6ead Layout round instead of ceiling (#3833)
* Layout round instead of cailing
Add helper method to layout module to convert to/from dips to px and measure the native view
whiteSpace affects layout added for iOS
Fix bug in switch onMeasure implementation
Fix bug in cssValueToDevicePixels iOS implementation
ActionBar for iOS is measured with AT_MOST modifier

* Fix switch measure routine
2017-03-20 16:11:16 +02:00
Hristo Hristov
f165382bb7 Apply gravity in android if LayoutParams have gravity field. (#3814)
ActionBar titleView aligments are applied only if no alignment are set to titleView and after view is added to visual tree otherwise they were reset in addView method
2017-03-20 15:09:23 +02:00
Panayot Cankov
636a3f5036 Fix ios px not converted to dip for sizeThatFits (#3816) 2017-03-16 16:41:38 +02:00
Hristo Deshev
308fa55e02 Fix disappearing list item styles when navigating back to a page.
Do not clear style scope on unload event. Do it when removing child
views instead.
2017-03-16 15:54:59 +02:00
Stanimira Vlaeva
3ea7365871 fix(animations): register both style's "name" and "cssName" (#3810) 2017-03-16 15:20:08 +02:00
Alexander Vakrilov
57bad3f6ff Merge pull request #3804 from NativeScript/borders-clip
Borders clip
2017-03-16 09:43:11 +02:00
vakrilov
4196b9e50b Apply clip when there are any borders in ios 2017-03-15 18:26:59 +02:00
Panayot Cankov
2bd9d6f167 All units ceil up, except percents that do round 2017-03-15 17:49:47 +02:00
Hristo Hristov
7b5ef052fd Tests moved into separate folders (#3794)
Fix android crash on application exit
2017-03-15 12:26:54 +02:00
Hristo Hristov
a64bba62aa whiteSpace default value change to undefined (#3782)
TKUnit default message change to empty string
isSet method is now instance method of Property classes
fix detaching from parent bindingContext - were using oldParent.parent instead of parent
editable-text-base.android - onTextChanged implementation commented. Does nothing.
frame - onCreateView wrapped in try/catch and shows label with exception message if any
text-base.android - should support reset of nativeView. TransformationMethod won’t be set if TextField is secure
Change some types to their string couterparts
TextField.android won’t support multilines anymore in order to work as iOS
In android when page is removed from native backstack we won’t call tearDownUI again a second time
2017-03-14 10:26:45 +02:00
Hristo Deshev
629eb6e683 Use relative imports in tns-core-modules.
Use tns-core-modules/* imports in outside code (apps, tests, etc)
2017-03-13 14:37:59 +02:00
Hristo Hristov
1d49f5f3c3 fix padding on text-view & text-field (#3758)
* fix padding on text-view & text-field
text-base is now snapshotable
view.android is now snapshotable

* createNativeView returns the nativeView for android
Fix image tests
Implement test for image loaded from res://
EffectivePaddings updated when nativeView have some from its native theme
2017-03-09 16:09:53 +02:00
Panayot Cankov
6d6564af16 Fix dp vs dip conversions in iOS for errors of tests 2017-03-08 09:24:31 +02:00
Panayot Cankov
9f1ebc11ca Add support for 'px' on Length in iOS 2017-03-08 09:01:17 +02:00
Hristo Deshev
b45cbe929b No more ambient modules for tns-core-modules/* subpackages.
- Use path mappings in tsconfig.json to resolve module typings
- Only use ambient mobules for global API's
- Move single-file modules to a subdir with the same name so that
we can provide a hand-written typing next to it (via package.json)
- Delete all mentions of tns-core-modules.d.ts
- Delete reference d.ts assembly build steps. Not needed anymore.
- HACK! Use a <reference> for global typings in application.d.ts
to avoid publishing a separate @types/tns-core-modules package.
- Rename declarations.d.ts to tns-core-modules.d.ts to preserve
JS project mappings in references.d.ts (the only place we use those)
2017-03-07 17:59:02 +02:00
Hristo Hristov
ea22eb9c20 refactoring circular imports 2017-03-06 14:05:55 +02:00
Hristo Hristov
33aa48bdfd Add support for snapshot
Fix Layout class getMeasuredWidth & getMeasuredHeight
Move some classes to widgets
Fix API17 tests
2017-03-06 14:05:55 +02:00
Panayot Cankov
3066dbd072 Clipping is required for iOS even with uniform borders, as long as the radius is > 0 2017-02-27 16:07:21 +02:00
Panayot Cankov
06970d058a Mass replace fontAttributes with fontWeight and fontStyle 2017-02-23 17:09:19 +02:00