75 Commits

Author SHA1 Message Date
7da835dfd4 feat: add traitCollectionDidChange to controllers 2019-09-26 16:32:40 +03:00
dfcbe6c319 style: formatting and whitespaces (#7840) 2019-09-19 15:40:31 +03:00
4f39fb728b chore: update tslint rules (#7391) 2019-06-26 15:13:48 +03:00
6d36041823 fix back navigation 2019-06-04 17:50:26 +03:00
30d06f2d7e fix iOS back transition after hmr 2019-05-31 19:16:33 +03:00
7c22ffed45 fix(hmr): support for multi module replacement 2019-05-31 16:17:55 +03:00
0aca08755a fix(hmr): quick fade upon replace navigation (#7251) 2019-05-22 11:45:55 +03:00
d35e14ed0f feat(hmr): preserve navigation history on applying changes (#7146) 2019-04-23 17:47:29 +03:00
1dc395215d fix(ios): flat action bar incorrect layout after navigation (#7077)
* fix(action-bar): incorrect layout after navigation

* set extended layout for opaque bars earlier
2019-03-29 13:36:45 +02:00
09fa0856b8 fix(ios): opaque bars break ui layout (#6929)
* fix(ios): opaque bars break ui layout

* test(): change flat action bar tests

* test(): revert test flat change test
2019-02-20 18:46:14 +02:00
603c901be4 feat(action-bar): flat mode breaks ios safe area (#6862) 2019-02-06 13:13:03 +02:00
19dfd163e0 fix: call onNavigatingFrom event only if it exists (#6773)
I ran into an issue where `owner.onNavigatingFrom` didn't exist when rendering a view was blocked by the biometric scanner and then user hit the back button to navigate back.

This code simply adds a check to see if `onNavigatingFrom` exists on the owner
2019-01-21 15:23:43 +02:00
58c9d424f5 fix-next(ios): handle nesting in proxyViewContainer ng (#6475) 2018-10-30 14:00:00 +02:00
7625d6cb21 fix-next: handle view controller nesting in ng (#6472) 2018-10-29 19:22:30 +02:00
e48782511d fix-next: handle action bar safe area nesting (#6455) 2018-10-26 14:05:14 +03:00
04233b65c1 fix-next: ios 10 safe area backwards compat (#6364)
* fix-next: ios 10 safe area backwards compat

* refactor: update a comment

* fix-next: ios 10 page on layout fix

* fix-next: handle ios 11 flat action bar
2018-10-09 10:16:31 +03:00
982acdc168 feat(iOS): Safe Area Support (#6230) 2018-09-28 18:21:50 +03:00
46705ee332 refactor(core-modules): implement createNativeView and initNativeView for all components
refactor(core-modules): implement createNativeView and initNativeView for all components
2018-09-26 13:59:12 +03:00
2fc1d8a8d4 chore(tsc): enable noUnusedLocals compiler option for tns-core-modules (#5755) 2018-05-10 16:12:59 +03:00
714af6bb02 fix(ios-frame): do not update backstack when navigating the same page (#5426) 2018-02-19 11:53:04 +02:00
85dc75e09a fix-next: navigation events' workflow in modal dialog scenarios (#5341) 2018-02-06 19:18:28 +02:00
b492996647 fix(layouts): Set automaticallyAdjustsScrollViewInsets (#5311) 2018-01-23 17:53:31 +02:00
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
3f2f5f41f0 Fix page styleScope for iOS 2018-01-12 12:43:55 +02:00
63ab46eb2a Layout improvements 2017-12-15 17:11:51 +02:00
ac04ede97e Implemented showModal on View 2017-12-15 13:08:15 +02:00
04c1132541 Fix broken merge conflict 2017-12-15 13:06:34 +02:00
28f1a5875e Fix crash on android where we queue few back navigations an exception is thrown.
Fix https://github.com/NativeScript/NativeScript/issues/4986
2017-12-15 13:06:34 +02:00
1778ba1eb9 Fix showModal on iOS 2017-12-15 13:06:34 +02:00
501b954c47 Fix issue with angular not rendering... 2017-12-15 13:06:34 +02:00
53b92ad83a Fix broken TS 2017-12-15 13:06:34 +02:00
5bcccd28a8 Fix: when page disappears because parent viewController is removed (e.g. selecting different tab in TabBar) our navigation stack was incorrectly removing backstack entry. This fix may not work if the tab is hosted in Page but it is unlikely that someone will host Page->TabView->Frame->Page 2017-12-15 13:06:34 +02:00
a7ae124ad8 ActionBar is measured the moment we create native buttons otherwise it won't show correctly 2017-12-15 13:06:34 +02:00
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
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
ec2ce7fe45 Profile iOS keypoints in the UINavigationViewController (#5108) 2017-12-04 17:43:48 +02:00
f7a3a36b9c Housekeeping node tests, renamed to unit-tests (#4936)
Add parsers for the background css shorthand property, make ViewBase unit testable in node environment

Add background parser and linear-gradient parser

Use sticky regexes

Simplify some types, introduce generic Parsed<T> instead of & TokenRange

Apply each parser to return a { start, end, value } object

Move the css selector parser to the css/parser and unify types

Add the first steps toward building homegrown css parser

Add somewhat standards compliant tokenizer, add baseline, rework and shady css parsers

Enable all tests again, skip flaky perf test

Improve css parser tokenizer by converting some char token types to simple string

Implement 'parse a stylesheet'

Add gonzales css-parser

Add parseLib and css-tree perf

Add a thin parser layer that will convert CSS3 tokens to values, for now output is compatible with rework

Make root tsc green

Return the requires of tns-core-modules to use relative paths for webpack to work

Implement support for '@import 'url-string';

Fix function parser, function-token is no-longer neglected

Make the style-scope be able to load from "css" and "css-ast" modules

Add a loadAppCss event so theme can be added to snapshot separately from loaded
2017-10-20 10:42:07 +03:00
0f14101238 recycling now happens only if nativeView and android properties are not accessed. (#4627)
recycleNativeView filed now accepts: "always" | "never" | "auto". Always will recycle the nativeView no matter if its nativeView or android proprties are accessed. Never will disable recycling. Auto will recycle it only if nativeView and android properties are not accessed.
2017-08-01 15:04:16 +03:00
51b351f5b6 Add timeline traces in the console, let enabling them through the package.json 2017-06-02 16:34:15 +03:00
a61943fe88 fix ios modal layout issue #4151 2017-05-16 16:37:10 +03:00
f2898f84d5 NativeView recycled for android 2017-03-28 18:08:59 +03:00
2b28730011 Split get/set native to getDefault setNative 2017-03-22 16:37:52 +02:00
9d67e44cdf Work around an issue with webpack's extension resolution.
Not resolving ../utils imports.
2017-03-20 16:12:10 +02:00
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
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
cec256f809 Fix modal page ios dips 2017-03-10 11:28:01 +02:00
ea22eb9c20 refactoring circular imports 2017-03-06 14:05:55 +02:00
6b61335675 Fix: Modal crashes in Android and IOS 2017-01-30 15:41:45 +02:00
00589c801d FIX: disappearing navigation bar on back 2017-01-27 15:00:33 +02:00
d448f3dc7f Animated nav-bar 2017-01-25 10:48:48 +02:00