Commit Graph

986 Commits

Author SHA1 Message Date
Peter Staev
b29f04ff16 feat(listview): add required interface for generalized listview comonent (#5524) 2018-03-22 12:43:39 +02:00
Shiva Prasad
7cd8e7ef54 fix(text): Allow -1 to be a valid binding value for text views (#5563)
* fix(android/text ios/text): allow -1 to be a valid binding value

Instead of using -1 as special value, use Symbol(-1)
so that it can't be reset accidentally

Closes issue #5559

* renamed the symbol
2018-03-21 11:37:30 +01:00
Brendan Ingham
4b244921d4 feat(List-View) : Add the ability to check if an item is visible or not. (#5557)
* feat(list-view): Adds the ability to check whether or not an Item at index is Visible on screen within a listView

* feat(list-view): add the unit-test for checking if list-item is visible.

* clean(list-view): fix invalid reference in list-view-common

* chore(list-view): remove unused logic

* test(list-view) updates the tests for checking if item at index is visible

* chore(ListView Tests): update the test_check_if_item_at_index_is_visible unit test to include 40 children, and test if the last item is visible or not.

* Chore(ListView IOS): Apply requested changes to the for-loop, and replace with Array.some for readability.

* chore(ListView android): Fix TSLint issues.
2018-03-21 07:18:01 +01:00
Manol Donev
7506905770 fix(image): image aspect dimensions for ImageSource.fromAsset(...) (#5556) 2018-03-19 17:01:26 +02:00
slsumathi
c02bb283a9 Update http.ts (#5551) 2018-03-19 08:01:50 +01:00
Iva Koevska
4cadb3f1a6 Updated reference to native iOS component (#5558) 2018-03-19 08:00:07 +01:00
Noumaan Shah
9fddec517a Update enums.d.ts (#5530)
I believe aspectFill vs aspectFit definitions are reversed.
2018-03-15 19:47:08 +01:00
Manol Donev
75ee84cdd2 fix(image): fix(image): apply tintColor correctly on iOS (#5546)
only reset image to non-template when tintColor is changed to a non-color (removed)
2018-03-15 18:41:02 +02:00
Nikolay Tsonev
310edf70cf add zonedCallback in connectivity module (#5531) 2018-03-15 16:25:43 +02:00
Manol Donev
75bd1d2c49 fix(uilabel): line height setter should not break line break mode (#5544)
fix(uilabel): line height setter should not break line break mode
2018-03-15 16:21:03 +02:00
Vasil Chimev
e43c7546bd fix-next(frame): remove current entry fragment on reset root view (#5533)
* chore(e2e): add @types as devDependencies

Update `tsconfig.json` file.

* fix-next(frame): remove current entry fragment on reset root view

* refactor(e2e): undo skip tab root tests

* refactor(frame): extract disposeCurrentFragment() method

Extract the common logic from _onRootViewReset() and onUnloaded() methods to avoid code duplication.
2018-03-14 19:56:15 +02:00
Martin Yankov
cf8dcfa40c feat(view): expose method for android back override (#5537)
Expose method on View class onBackPressed(). Third party controls
like RadSideDrawer can use this method to override the default Android
back button handling. By default the app closes.
2018-03-14 18:15:05 +02:00
Martin Yankov
dfa70dd384 feat(frame): rework frame retrieval api (#5527)
Rework the frame api to support working with multiple Frames.
* frameModule.topmost() - now returns the last navigated Frame or
the currently selected tab item's Frame if the tab item's view is a
Frame.
* frameModule.getFrameById(id: string) - returns a navigated Frame by id.
* args.object.page.frame - can be used in page elements event handlers.
Returns the Frame of the current element's page.
* chore: Update madge-android npm script path
2018-03-13 18:10:45 +02:00
Sudhanshu Siddh
319c153360 feat(ios-image-source): standardize quality scale in image-source (#5517)
* feat(ios-image-source): standardize quality scale in image-source for both platforms

Normalize quality in saveToFile and toBase64String to follow 0-100 scale - standardize implementation on both platforms

closes #5474
2018-03-13 15:19:24 +01:00
Panayot Cankov
1cbb1e8d0d feat(webpack): mark the CSS type for stylable views explicitly (#5257)
We want webpack's uglification to mangle function and class names
but that's what the current implementation of the CSS in {N} relys on
to get the CSS type for each view when targeted by CSS type selectors.

The implementation is changed a little so now the CSS type can be set
directly on the prototype of each View class or for TS, through decorator.

BREAKING CHANGES:


Extending classes requires marking the derived class with @CSSType
The root classes are not marked with CSSType and classes derived from ViewBase and View
will continue to work as expected. More concrete view classes (Button, Label, etc.) are
marked with @CSSType now and store their cssType on the prototype suppressing the previous
implementation that looked up the class function name. So clien classes that derive from one of
our @CSSType decorated classes will now have to be marked with @CSSType.
2018-03-12 16:34:25 +02:00
Nathan Walker
fa80355464 fix(animations): change throw -> trace to avoid unnecessary app crash (#5475)
* fix(animations): change throw -> trace to avoid unnecessary app crash

Fixes major cause of crashes/bugs in production apps using animation.

* Fix fix animation throw (#1)

* chore(tests): Cleanup code snippets comments

* refactor(animations): Plat-specific cancel and play methods refactored
2018-03-08 20:42:33 +02:00
Martin Yankov
8141737f74 fix-next(tabview): visually pre-load tab items on android (#5495) 2018-03-08 14:39:59 +02: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
6509efa430 fix(android-images): set decodeHeight/decodeWidth default values to dip (#5490)
BREAKING CHANGE: change decodeHeight/decodeWidth properties to accept device independent pixels by default
2018-03-07 15:56:28 +02:00
Manol Donev
92148833d3 fix-next(tabview): fix tab title layout in modal root tabview Fixes #5392 (#5435)
BREAKING CHANGE: [Android] NativeScript no longer overwrites the horizontal/vertical alignment on the user-defined root visual element when opening it in modal dialog window (i.e. not fullscreen).

If your application logic relied on the previous behavior you need to manually set `horizontalAlignment="center"` and `verticalAlignment="middle"` on the root visual element you are showing modally.
2018-03-02 13:27:21 +02:00
Vladimir Amiorkov
fb5c97cf57 fix-next(css): CSS not applied to "drawerContent" when RadSideDrawer is used as root (#5466)
* fix(XMLBuilder): Pass the "module path name" when building "custom component"
* test(root-view): root view css applied tests
2018-03-01 15:55:21 +02:00
Stanimira Vlaeva
9ce08196f8 fix: throw if global css file is not found in webpack context (#5186) 2018-03-01 11:05:12 +02:00
Manol Donev
2704915384 fix(frame): add generic frame cleanup logic after modal dialog close (#5479) 2018-03-01 10:37:26 +02:00
Markus Schlichting
eb76a3b859 fix bug in case statement, allow jpg and jpeg (#5473)
the current implementation does not work if one specifies "jpg", it works only with "jpeg" due to the || syntax used. 
This is a proposal to fix it.
2018-03-01 09:11:59 +02:00
Alexander Djenkov
b878143b63 fix(ios-action-bar): enable NavigationButton text change on first navigation (#5458) 2018-02-28 15:36:26 +02:00
Dimitar Tachev
a94ec9946f Improve ImageAsset scaling (#5110)
* Do not depend on current device screen while calculating Image Asset size.

* Scale the image asset to the exact requested size.

* Process image assets natively, pass keepAspectRatio based on the stretch property and Asset options.

* Fixed the splashscreen resource name as it cannot be read when containing a dot.

* Updated the Image Asset scale and rotate logic based on the Native one.

* Make the ImageAsset size more important than the Image decode size as its more specific.

* Fixed tslint errors.

* Added filePath support in the ImageAsset constructor for iOS in order to unify it with the Android implementation, support for relative files and file not found support errors.

* Added unit tests for ImageAssets.

* Added a sample app for UI testing of image-view with ImageAsset src.

* chore: apply PR comments
2018-02-28 14:04:01 +02:00
Martin Yankov
27622d83ba fix-next: ensure proper events on tab change (#5468) 2018-02-28 10:40:05 +02:00
Deyan Ginev
0b34e67699 fix(inspector): Fix --debug-brk issue with Inspector (#5460) 2018-02-26 11:47:24 +02:00
Alexander Djenkov
c54e069f57 fix(ios-action-bar): NavigationButton cannot be hidden if navigating with transition (#5451) 2018-02-26 09:44:58 +02:00
Manol Donev
4898c33a04 fix-next(modal) fix crash when closing modal dialog with root tabview inside (#5446) 2018-02-23 16:46:49 +02:00
Martin Yankov
4ce45666a5 test: add reset root view tests (#5437) 2018-02-21 11:38:37 +02:00
Martin Yankov
68d86fb6c6 fix(profiling): resetProfiles doesn't reset all profiles (#5425) 2018-02-19 13:18:50 +02:00
Alexander Djenkov
714af6bb02 fix(ios-frame): do not update backstack when navigating the same page (#5426) 2018-02-19 11:53:04 +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
Manol Donev
2edef3de3b fix(frame): root tabview with modal frame when suspend/resume app (#5408) 2018-02-12 16:09:51 +02:00
Martin Yankov
b113b0021a feat: Add methods to get the root view and set a different root view at run time (#5386)
* feat: add option to set a different root view at run time

* feat: expose application getRootView method

* refactor: Introduce ViewEntry interface

* fix: Respect root view rturned from launch event in Android

* refactor: getRootView() code + caching root view per activity.

* refactor: add app-root.xml in apps

* refactor: http test made async
2018-02-09 16:04:20 +02:00
Vasil Chimev
0c8275fa06 refactor: unmark startActivity as deprecated (#5405)
https://github.com/NativeScript/NativeScript/issues/5307
2018-02-08 17:44:53 +02:00
Alexander Djenkov
f8dce08f0e feat(tab-view-android): enable tabs repositioning (#5385)
* feat(tab-view-android): enable tabs repositioning

* feat(tab-view-android): enable tabs repositioning

* chore(apps): add bottom tab view example
2018-02-08 11:06:07 +02:00
Manol Donev
85dc75e09a fix-next: navigation events' workflow in modal dialog scenarios (#5341) 2018-02-06 19:18:28 +02:00
tbozhikov
b728a7384d chore: delete redundant LICENSE files (#5383)
* chore: delete redundant LICENSE files

* chore: add back updated LICENSE in tns-core-modules folder
2018-02-05 13:37:52 +01:00
Martin Yankov
f042417f10 refactor(android-tabview): tab adapter data changed event is called too many times (#5364) 2018-02-05 13:52:32 +02:00
Peter Kanev
0b1c36192d refactor(console): remove the console module (#5338)
* refactor(console): remove the console module

Removing the console module implementation eliminates some error-prone
formatting logic, and certain platform-specific checks. The
implementation was also android-specific. Left a stub Console class
implementation as one is necessary to avoid errors with `console` being
undefined during the snapshot stage for android.

The console module is replaced by a 'console' implementation in the Android Runtime. See
android-runtime/PR #884

* fix(tests): update console module tests
2018-02-04 23:29:58 +02:00
Alexander Vakrilov
c0a7a45ab9 refactor: Handle TS2.7 stricter tuples checks (#5366) 2018-02-01 13:04:55 +02:00
Vasil Chimev
6e0cb2e7c2 fix-next: register ui/frame module in global (#5356)
This is required in order the XML component builder to be able to find the `ui/frame` module for the `<Frame>` element.
2018-01-30 20:07:31 +02:00
Martin Yankov
2b843195e4 fix-next(android-tabview): handle tab fragments attach/detach properly (#5333) 2018-01-29 17:25:36 +02:00
Dimitar Tachev
01fab68e58 feat: support intent replacement in the android activity (#5337) 2018-01-29 16:54:07 +02:00
Stanimira Vlaeva
1c78e4784c feat(ios): fire onDisplayed event when first frame is ready to be displayed (#5344)
* feat: add a 'profiling: lifecycle' to track startup times

* feat: log when displayed event fires

* feat(ios): fire onDisplayed event when first frame is ready to be
displayed
2018-01-29 13:47:35 +02:00
Panayot Cankov
2166d1e415 feat(observable): Implement observable .once (#5309)
Node has a handy one-liner method on its EventEmitter called "once".
It is similar to "on", but fires a single time and automatically unsubscribes.
2018-01-25 11:38:27 +02:00
Alexander Djenkov
9d7f0e5315 fix(frame): recreate frame if no cached one found on app resume #5318 (#5330) 2018-01-25 11:37:47 +02:00
Alexander Djenkov
af934ccabf feature(frame): introduce src property (#5320) 2018-01-25 10:57:13 +02:00