Commit Graph

68 Commits

Author SHA1 Message Date
Martin Yankov
2d2144f02e fix safe area calculations with flat action bar 2018-09-20 10:51:58 +03:00
Vasil Chimev
e1828d56cd refactor: rename iosExpandSafeArea to iosOverflowSafeArea
Update type definitions.
2018-09-04 11:26:20 +03:00
Vasil Chimev
4379760dab refactor: delete isContentScrollable function
BREAKING CHANGES:

The `scrollableContent` property is no more - use `iosExpandSafeArea` instead.
2018-09-04 10:25:28 +03:00
Martin Yankov
4fceb54451 fix tabview safe areas 2018-09-04 10:23:35 +03:00
Martin Yankov
4f8d4a66cd fix scrollview 2018-09-03 14:48:18 +03:00
Vasil Chimev
9f8d15701f refactor: add locationInWindow usage 2018-08-30 15:11:22 +03:00
Martin Yankov
f3b3a47eaa remove rounding when conversing to native pixels 2018-08-29 16:07:23 +03:00
Vasil Chimev
fc64bfb551 chore: fix a tslint error 2018-08-29 13:30:30 +03:00
Vasil Chimev
3c43657cdc refactor: View.applySafeAreaInsets(frame)
Split to `ios.shrinkToSafeArea()` and `ios.expandBeyondSafeArea()`.
Update trace logs.
2018-08-29 11:22:21 +03:00
Vasil Chimev
b8fec327dd refactor: update safe area traces 2018-08-28 18:15:04 +03:00
Martin Yankov
c2f31855f8 remove locationOnScreen usage 2018-08-28 18:15:04 +03:00
Martin Yankov
d9d847ec91 move frame position conversion methods to ios namespace 2018-08-28 18:15:04 +03:00
Martin Yankov
261d94037f remove getSafeArea and geFullscreen methods 2018-08-28 18:15:04 +03:00
Martin Yankov
30731e000c enable iosExpandSafeArea property on Views too 2018-08-28 18:15:04 +03:00
Vasil Chimev
1c94c38491 feat: add iosExpandSafeArea property
Also apply insets on page's children.
2018-08-28 18:15:04 +03:00
Martin Yankov
13795fd949 apply bottom and right safe area inset to views 2018-08-28 18:15:04 +03:00
Martin Yankov
03e7644a8e layout viewcontroller in fullscreen if has childviewcontrollers 2018-08-28 18:15:04 +03:00
Martin Yankov
fe78210709 fix iOS 10 fictional safe area layout 2018-08-28 18:15:04 +03:00
Martin Yankov
2ccfb36ca7 refactor safe area application code 2018-08-28 18:15:04 +03:00
Martin Yankov
0571f4a97d add safe area support for scroll view 2018-08-28 18:10:19 +03:00
Martin Yankov
8a624e4cc7 fix safe area for ios 10 and less 2018-08-28 18:10:19 +03:00
Martin Yankov
9b7b060cd4 add right and bottom to insets 2018-08-28 18:10:19 +03:00
Martin Yankov
ec5fc4b07e ensure correct position values after safe area reposition 2018-08-28 18:10:19 +03:00
Martin Yankov
f056362d45 feat(ios): enable safe area for stack and grid 2018-08-28 18:10:19 +03:00
Alexander Vakrilov
b5b8d51b0d fix(modal): parent page invalid hierarchy handling [extended] (#5966)
* fix(modal): parent page invalid hierarchy handling

* refactor(modals): Refactor safe guard in show/hide modal
2018-06-20 16:10:03 +03:00
Alexander Vakrilov
4b5754a6d4 fix(ios): safeAreaLayoutGuide fallback for iOS 10 cases (#5960) 2018-06-20 07:28:06 +03:00
Alexander Djenkov
e59d1567a5 fix(ios-dialogs): unable to show dialog from modal view without a page (#5881)
* fix(ios-dialogs): unable to show dialog from modal view

* tests(modal-navigation): add test that opens dialog inside modal view
2018-05-29 18:06:02 +03:00
Alexander Djenkov
0fc1547a19 feat(view): introduce LayoutChanged event on every View component (#5825)
* feat(view): introduce LayoutChanged event

* test(view): add LayoutChanged event tests

* chore(view-android): attach to onLayoutChange only if listener attached

* feat(view-android): override on/off in order to attach and detach from OnLayoutChangeListener
2018-05-21 17:22:40 +03:00
Manol Donev
2fc1d8a8d4 chore(tsc): enable noUnusedLocals compiler option for tns-core-modules (#5755) 2018-05-10 16:12:59 +03:00
Manol Donev
03cfc0cee3 chore(tslint): update tslint rules and fix errors (#5747)
* chore(tslint): fix tslint config & errors
* chore(tslint): enable double quotes, whitespace, and arrow-return-shorthand rules and fix errors
2018-04-26 18:36:32 +03:00
Alexander Vakrilov
49ea10b81e fix(layout): IOS Layout not invalidated with custom root (#5724)
* fix(layout): Buuple up layout trough viewControllers

* test: Layout invalidates correctly with different root view

* chore: tslint
2018-04-23 15:47:27 +03:00
Alexander Djenkov
31ee774a6b fix-next(ios-modal): fix empty modal screen when using common layout as root (#5618) 2018-04-05 09:44:03 +03:00
Manol Donev
81a2cbd0fe refactor(ios): clean up iOS8 or lower specific checks in codebase (#5581) 2018-03-26 13:37:21 +03:00
Alexander Djenkov
0138873ee3 feat(modal): introduce stretched param to showModal method (#5496)
* fix-next(ios-modal-view): force stretch alignment

* feat(modal): introduce stretched param to showModal method

* test(modal-view): add modal view stretched test
2018-03-07 18:17:52 +02:00
Alexander Djenkov
b8e0beccdd fix(ios-layouts): switch contentInsetAdjustmentBehavior on ScrollView (#5411)
* fix(layouts): switch contentInsetAdjustmentBehavior on ScrollView

* chore(ui-tests-app): add test for ScrollView as a root Page element
2018-02-15 09:27:16 +02:00
Alexander Vakrilov
923d48b23a fix: layoutParent crash with ProxyViewContainer (#5315) 2018-01-24 18:27:00 +02:00
Alexander Vakrilov
b492996647 fix(layouts): Set automaticallyAdjustsScrollViewInsets (#5311) 2018-01-23 17:53:31 +02:00
Hristo Hristov
016c64fe04 showModal & closeModal can be called on any View
fix livesync implementation to be compatible with 3.4 and to replace mainEntry for 4.0 when root is not Frame
some refactoring of page.ios in order to allow showing multiple modal dialogs
2018-01-18 13:34:25 +02:00
Hristo Hristov
3384112ce8 When application start is called we don't set Frame to be styleScope
Added requestLayout for TextView
Round desiredSize in nativeMeasure
2018-01-09 13:17:50 +02:00
Hristo Hristov
058a216ac9 Move styleScope from Page to View
Fix image-source test for API 27
setupAsRootView now makes the component styleScope
set css, addCss & addCssFile makes view to be styleScopeHost which cannot be overriden later from parent
Android modals now call setupAsRootView
Small fixes on ios layouts
launch event fired in andriod too
Moved some requestLayout calls to ios files where they belongs
2017-12-19 16:35:15 +02:00
Hristo Hristov
63ab46eb2a Layout improvements 2017-12-15 17:11:51 +02:00
Hristo Hristov
ac04ede97e Implemented showModal on View 2017-12-15 13:08:15 +02:00
Hristo Hristov
04c1132541 Fix broken merge conflict 2017-12-15 13:06:34 +02:00
Hristo Hristov
edb0eb1721 Bring back ios property of CustomLayoutView 2017-12-15 13:06:34 +02:00
Hristo Hristov
a35e603d85 Fix to always get the same bounds no matter if we are shown modally or not (for iOS).
Remove code that moves actionBar when there is incoming call. We now depend on the autolayout to position us correctly.
_addView, _removeView won't request layout for iOS.
LayoutBase: addChild & remvoeChild will request layout.
ContentView: content change will request layout.
2017-12-15 13:06:34 +02:00
Hristo Hristov
f3aecad369 ScrollingContent is not checking innerviews anymore 2017-12-15 13:06:34 +02:00
Hristo Hristov
199d83c902 Generated platforms declarations for iOS 11
Fixed broken unit-tests
ios layout now run only for the innermost viewcontoller
ios layout for viewcontrollers now implemented with constraints
Added ios11 safeAreas layout support
onMeasure back for frame and tab-view so that they won't throw exception if measure is called on them
Page parents layout updated after page is layout so that inner layout flags are correct
2017-12-15 13:06:34 +02:00
Hristo Hristov
af034089ca iOS Frame, Page and TabView measure/layout methods removed. We now rely on the framework positioning. This will result in a change that width, height, minWidth, minHeight, margins not respected on these controls
iOS layout positioning now respects native properties like automaticallyAdjustsScrollViewInsets, edgesForExtendedLayout, extendedLayoutIncludesOpaqueBars, navigationBar.translucent, tabBar.translucent
Removed frame-tests.ios.ts - those tests are now invalid
Added new layout tests inside page-tests.ios.ts
Commented few asserts in scroll-view-tests
View now expose ios namespace with layoutView method and UILayoutViewController used by page, tab-view and application module
ViewBase now expose viewController property that should be set from all widgets that are using viewcontrollers internally (like Page, Frame, TabView)
ViewBase now sets ios property to either the view returned from createNativeView or to nativeViewProptected
fragment.transitions now use animation/transition start to add fragments to waitingQueue. Before we did it manually in navigate/goBack. This way we can reuse the fragment.transition when calling showDialog. Also when animation/transition ends we check the animation/transition to see if this fragment should be set as current.
Frame expose new loadViewFromEntry method (to load a view from URI)
Frame navigation happens once frame is loaded
Frame now supports Page as a child in XML
Fixed GridLayout row, rowSpan, column, columnSpan properties type
Fixed bug in GridLayout where add/remove of columns/rows won't update the internal state of the grid (backport from android when GridLayout is recycled)
ListView will no longer invalidate layout when cell is removed
Fixed bug in ScrollView ios where effectiveMinWidth/Height was multiplied to density (it is already on device pixels so no need to multiply)
TabView android now calls loaded only on the selected child (not all)
Core refactoring
2017-12-15 13:06:34 +02:00
Hristo Hristov
43fbabb5e9 Fixed most module cyclic references. There is one left for ios and android: (#4978)
- http -> http-request -> image-source
that can't be fixed easily and will be removed once we delete image-source module because it is obsolete anyway.
There is one more for android:
- frame -> fragment that could be removed if we use global object.
Updated madge bersion
2017-11-10 15:47:02 +02:00
Hristo Hristov
1b9610b4dd The original issue described here: https://github.com/NativeScript/NativeScript/issues/4804 is fixed in 3.2 but there is another bug which doesn't render borderRadius on Image element. (#4963) 2017-10-20 08:33:08 +03:00