Commit Graph

97 Commits

Author SHA1 Message Date
Hristo Hristov
ac3c895c89 Fix crash on iOS (#5071)
* Fix crash on iOS where JS object that extend NSObject was not hold into memory.

* TS fix
2017-11-14 13:36:23 +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
7c68953009 Fix clear history transition (#4951)
* fix: Navigation test app added

* Removed native popToBackstack call.
Implemented custom fragment save/restore state.
When navigating back we reverse manually transitions/animations because we no longer add them to navite backstack.
Fragment instance stored on entry.
Animation and Transition listeners now holds reference to entry instead of fragment for easier update of fragment.
Animation and Transition listeners removed when entry removed from backstack.
Animation and Transition removed from fragment when fragment activity is destroyed.

* Revert package.json start up entry
Fixed bug where goBack took the last element in backstack while navigationQueue is not empty.
Fixed bug where goBack to specific entry in the backstack was removing that entry...
Removed duplicated method
Refactored method name
Fixed TS
2017-10-20 08:37:36 +03:00
Peter Kanev
374f31cbf7 fix(minor): reword missing-xml-error to be clearer (#4947) 2017-10-18 10:43:17 +03:00
Peter Kanev
cb029225c3 Elements tab support for iOS Chrome DevTools (#4930)
* add initial implementation of the dom agent for ios

* add implementation of the css agent for ios

* refactor devtools inspector methods to somewhat accomodate ios and android

patch elements dom-node tests to test for ios too

* fix android dom-node test

* fix ios dom-node-tests to mock the ios devtools inspector properly

* fix: minor changes
2017-10-12 11:32:31 +03:00
Hristo Hristov
27773e96a6 Initial transitions are ingored on android (as they are on ios) because on API 21+ Transition class requires at least one layout pass before transitions are executed. If we don't ignore it our transition handlers won't execute and frame navigation won't execute because it thinks there is a pending navigation. (#4896)
Fix https://github.com/NativeScript/NativeScript/issues/4895
2017-09-28 09:19:06 +03:00
Panayot Cankov
6d7c1ff295 Avoid applying CSS multiple times (#4784)
* Move the applyStyleFromScope to onLoaded, when the views are created and id or className properties are set the CSS selectors are queried and applied multiple times

* Condense the changes when applying properties
2017-09-25 18:32:00 +03:00
Nikolay Tsonev
cf48c9f6dd edit broken link (#4799) 2017-09-05 18:22:26 +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
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
Hristo Hristov
075e70e336 cache page on forward navigation (#4652)
* cache page on forward navigation
Still some failing navigation tests

* Current page is kept alive when navigating forward
Refactoring code and removing all hacks and flags
Remove one module circular reference

* Disable Page recycling because when there is transition between pages the nativeView stays animated (e.g. when transition is Fade the hidden page nativeView stays with Alpha 0)
Disable recycling if there is native anitmation

* Fix failing tests on ios & android API17
Fix wrong urls in http tests
Made some timer tests async

* Animations are not stored in BackstackEntry instead of Fragment because fragments could die (activity die) and recreated and we lose animations.

* Fix android crash when activity is recreated.
Refactoring transitionListener.
2017-08-07 17:24:12 +03:00
Hristo Hristov
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
kssfilo
48836cbd4c Fix iOS ActionBar problem while internet sharing #4283 (#4447) 2017-06-28 15:00:01 +03:00
Panayot Cankov
1420fa8fcc Fixes the old snapshot build (#4457) 2017-06-27 13:50:08 +03:00
Panayot Cankov
bbffa5480e Used the wrong flag to check if snapshot was enabled (#4446) 2017-06-23 17:30:41 +03:00
Panayot Cankov
b94a61f9a5 Globals in snapshot are overriden by the V8 on start, so they have to be installed later (#4387) 2017-06-15 10:36:50 +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
51b351f5b6 Add timeline traces in the console, let enabling them through the package.json 2017-06-02 16:34:15 +03:00
Stanimira Vlaeva
90a0da2863 fix(livesync): attach __onLiveSyncCore to global object (#4215)
That method needs to be exposed because it's used in NativeScript Angular (https://github.com/NativeScript/nativescript-angular/blob/master/nativescript-angular/platform-common.ts#L91).
2017-05-18 17:13:24 +03:00
vakrilov
f954d64d79 Fix: ActionBar update in IOS with modal dialogs 2017-05-15 14:41:22 +03:00
Panayot Cankov
0cae034a64 Changing module docs so they can appear in typedoc. 2017-05-10 11:55:47 +03:00
Hristo Hristov
cf63da608a If page.parent is already the same frame - don’t add page to frame. This happens if activity is recreated. (#4096) 2017-05-04 10:39:39 +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
vakrilov
740d71a238 Apply page css when using nav-entry with create method 2017-04-03 14:51:57 +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
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
Hristo Deshev
9d67e44cdf Work around an issue with webpack's extension resolution.
Not resolving ../utils imports.
2017-03-20 16:12:10 +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
vakrilov
789e2e0235 FIX: Livesync event not firing for frame 2017-03-13 10:49:09 +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
vakrilov
f3afaf5abe fixed tslint errors 2017-02-20 09:45:10 +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
vakrilov
d448f3dc7f Animated nav-bar 2017-01-25 10:48:48 +02:00
Rossen Hristov
fec5e92dbe Fix tracing 2017-01-16 13:29:46 +02:00
vakrilov
e983295952 Style tests fixes 2017-01-12 14:24:12 +02:00
vakrilov
cd3cd13075 View tests turned green 2017-01-11 17:34:25 +02:00
vakrilov
c30be0d606 View lifecycle methods 2017-01-04 17:18:45 +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
PanayotCankov
7931ecd4f8 Fix tslint errors 2016-12-21 17:42:31 +02:00
Hristo Hristov
f5905f072d fix tab-view, segmented-bar, action-bar, all ViewBases (#3340) 2016-12-21 12:02:02 +02:00
Hristo Hristov
19ee47ba24 got to layouts 2016-12-13 15:51:18 +02:00
Hristo Hristov
befb494a50 up to segmented-bar.ios 2016-12-13 15:51:18 +02:00