Commit Graph

76 Commits

Author SHA1 Message Date
Hristo Hristov
63ab46eb2a Layout improvements 2017-12-15 17:11:51 +02:00
Hristo Hristov
33cd058718 Call loaded/unloaded on the rootView when application is resumed/suspended
Remove dead code from frame.ios
2017-12-15 15:26:23 +02:00
Hristo Hristov
ac04ede97e Implemented showModal on View 2017-12-15 13:08:15 +02:00
Hristo Hristov
2a10b7a220 Remove public iOS types from view.d.ts 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
Panayot Cankov
d356339520 feat: Register ./app.css instead of app.css so it can be provided by webpack context (#5158)
This will let us register the app.css in webpack from a context, and potentially
have a configuration such as:
```
const appCssContext = require.context("~/", false, /^\.\/app\.(css|scss|less|sass)$/);
global.registerWebpackModules(appCssContext);
```
That will work with all of the app.css, app.scss, app.less etc. without further manual reconfiguration.
2017-12-12 14:34:38 +02:00
Panayot Cankov
ec2ce7fe45 Profile iOS keypoints in the UINavigationViewController (#5108) 2017-12-04 17:43:48 +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
Panayot Cankov
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
Hristo Hristov
c98443b331 Fix breaking change - nativeView property should have setter (#4750)
Exposed savedInstanceState on LaunchEventArgs so some controls that need Bundle to initialize could get it from there.
2017-08-25 11:13:51 +03:00
Panayot Cankov
3a447b6f3f Added @profile on several key methods in the Android lifecycle, refactored by extracting into methods a little (#4685) 2017-08-24 13:10:53 +03:00
Eddy Verbruggen
6e06eba218 Fixed a bunch of typo's and minor errors in TypeScript definition files. (#4707)
* Fix a bunch of typo's and minor errors in TypeScript definition files.

* Implemented the requested change by @hshristov
2017-08-21 11:22:04 +03:00
Hristo Hristov
bba7a82bdf Disable recycling, refactoring & fixes (#4705)
* Added tests for native view recycling
Disabled android native view recycling
Move toString from view-common to view-base
Fix crash on application restore and navigation back on API26
Added setAsRootView method
Added missing logo into perf-tests/recycling app

* additional fix for image-source-tests. ios is case sensitive.

* Add @private to some internal properties
Fix where padding is not respected when background is reset.
2017-08-17 09:15:35 +03:00
Eddy Verbruggen
7eb9cbfcb0 My IDE was screaming at me that commas were unacceptable here.. so I made it shut up 🤐 (#4641) 2017-08-04 11:59:42 +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
Panayot Cankov
655509c64d Refactored getting root view in android (#4463) 2017-06-28 15:54:55 +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
Panayot Cankov
610794f709 Add 'displayed' event on application for iOS 2017-05-16 16:10:50 +03:00
Panayot Cankov
90d36b26d3 Add 'displayed' event for android, close to the Displayed point logged in the android monitor for activity startup 2017-05-16 10:55:10 +03:00
Panayot Cankov
0cae034a64 Changing module docs so they can appear in typedoc. 2017-05-10 11:55:47 +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
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
f2898f84d5 NativeView recycled for android 2017-03-28 18:08:59 +03:00
vakrilov
32a1a4760a FIX: IOS measure bug + livesinc 2017-03-14 11:50:40 +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
Panayot Cankov
d38e99cabd Expose hasLaunched() on the application, style-scope will load css-es if app hasLaunched 2017-03-13 10:57:51 +02:00
Panayot Cankov
b487aa0790 Fix application.cssFile var, promoted to get/set function 2017-03-09 13:47:36 +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
d5bd9be1f2 add missing export in application-common 2017-03-07 10:01:06 +02:00
Hristo Hristov
a6fa0781f7 Observable needs __extends function which comes from globals in the case of Snapshot. 2017-03-06 18:18:31 +02:00
Hristo Hristov
ea22eb9c20 refactoring circular imports 2017-03-06 14:05:55 +02:00
Hristo Hristov
347755367e make tslint happy :( 2017-03-06 14:05:55 +02:00
Hristo Hristov
2224cd6150 Reorganize imports/exports in order to make snapshot happy 2017-03-06 14:05:55 +02:00
Hristo Hristov
7a56197ba7 Observable should be imported first. 2017-03-06 14:05:55 +02:00
Hristo Hristov
6012ea04ba Move global merge in application before any require. 2017-03-06 14:05:55 +02:00
Hristo Hristov
dc25c85e97 addCssFile on application module wasn’t changing the app styles (#3666) 2017-02-21 09:28:51 +02:00
Hristo Hristov
a582adc561 Hhristov/fix (#3653)
* Fix action-bar systemIcon
Fix CSS applying

* refactoring

* fix console

* remove StyleScope import - it is private and cannot be imported in public .d.ts
2017-02-17 17:21:57 +02:00
Hristo Deshev
86481cce4a Make typings compatible with @types/node.
Fixes name clashes and uses Node-compatible typings where possible.

Changes:
 - setTimout et al now return NodeJS.Timer instead of number
 - No "console" module anymore. Everyone uses it through global.console
 anyway.
 - We have a typed "global" instance with exposed properties now. Any
 "freeform" accesses must go through a `(<any>global).blah` cast.
 - remove tns-core-modules.{base,es6,es2015}.d.ts. Those were needed
 as workarounds for the ES6/DOM/Node type clashes.
2017-02-15 13:01:10 +02:00
vakrilov
6b61335675 Fix: Modal crashes in Android and IOS 2017-01-30 15:41:45 +02:00
Rossen Hristov
177222f548 Remove two console.log's 2017-01-04 16:29:05 +02:00
Rossen Hristov
d8e062da85 Fix: application.setCssFileName does not work 2017-01-04 15:23:59 +02:00
Rossen Hristov
e6d64799d8 Fix: Android platform.screen.mainScreen props are not invalidated after orientation change
Resolves #3270
2017-01-03 11:17:06 +02:00
Rossen Hristov
295f9a432f apps app can now compile 2016-12-20 11:35:04 +02:00
Panayot Cankov
6feeb140e3 Fixing type errors in tests 2016-12-19 10:36:25 +02:00
Hristo Hristov
19ee47ba24 got to layouts 2016-12-13 15:51:18 +02:00
Vladimir Enchev
d908874a5d Allow iOS app to be started multiple times (#3231)
Integration with existing iOS app
2016-12-02 17:00:34 +02:00
Nedyalko Nikolov
0b7ea27fd5 Export set function for cssFile and resources. 2016-11-25 14:55:22 +02:00
Nedyalko Nikolov
303b609573 Adding request for write storage permissions. 2016-11-22 14:34:14 +02:00