Commit Graph

908 Commits

Author SHA1 Message Date
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
a03065c527 fix(flexbox-ios): resolve text size issue for ListView with flexbox layout template (#5799)
* fix(flexbox-layout-ios): resolve text size issue for ListView with flexbox template

* fix(flexbox-layout-ios): resolve text size issue for ListView
2018-05-25 11:43:00 +03:00
Vasil Chimev
7851629a27 fix: crash at application launch on Android P (#5831)
* fix: crash at application launch on Android P

Reference: https://developer.android.com/preview/restrictions-non-sdk-interfaces

Android P introduces new restrictions on the use of non-SDK interfaces, whether directly, via reflection, or via JNI. These restrictions are applied whenever an app references a non-SDK interface or attempts to obtain its handle using reflection or JNI.

In particular, remove reflection via Class.getDeclaredField() and fallback default transition to fade transition.

* refactor: create default transition based on SDK version

Create default transition and setup default animations based on SDK version.
This is to avoid reflection via Class.getDeclaredMethod() for Android P where it throws.

* refactor: extract isAndroidP method
2018-05-23 14:59:24 +03:00
Alexander Djenkov
f9d66de79c fix(styling-gradient): change imports in definition files (#5852) 2018-05-23 09:57:24 +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
Stanimira Vlaeva
f671f778f3 fix(builder): check for custom components registered at build time (#5834) 2018-05-19 11:41:36 +03:00
Manol Donev
1365f13594 fix(modal): innerView.closeModal(...) not passing back context (#5833) 2018-05-18 16:50:27 +03:00
Alexander Djenkov
3f8af4cc0e fix(styling-gradient): introduce gradient definition file (#5828) 2018-05-17 15:44:40 +03:00
Manol Donev
ca444aa8ed fix(android-textfield): returnPress fired twice for GO/SEARCH/SEND (#5727) 2018-05-16 15:13:09 +03:00
Manol Donev
a86d41e7db fix(android): fix sporadic issue with transition cleanup logic called twice (#5805) 2018-05-14 18:11:02 +03:00
Manol Donev
2fc1d8a8d4 chore(tsc): enable noUnusedLocals compiler option for tns-core-modules (#5755) 2018-05-10 16:12:59 +03:00
Alexander Djenkov
9d21a743c4 Revert 5772 revert 5534 css gradients (#5779)
* Revert "Revert "Css gradients" (#5772)"

This reverts commit 7edf56197a.

* chore(): fix LinearGradient circular dependency
2018-05-10 10:44:35 +03:00
Martin Yankov
11f0d6e98d feat(tabview): add tab text font size property (#5752)
* feat(tabview): add tab text font size property

* chore(tabview): set tab font size default value

* chore(tabview): move font implementation to widget

* chore(tabview): fix font size get return type
2018-05-09 17:13:34 +03:00
Manol Donev
481043fa2b fix: label text wrapping inside flexbox layout (#5781) 2018-05-08 15:09:52 +03:00
Alexander Djenkov
7edf56197a Revert "Css gradients" (#5772)
This reverts commit 5a83a1c858.
2018-05-03 18:17:07 +03:00
vultix
5a83a1c858 Css gradients (#5534)
* feat(ios): Added support for css gradients.

* feat(android): Added support for css gradients.

* fix: Fixed gradient borders on ios

* fix(gradient): added backgroundGradient to View and Style.

* fix(ios-gradients): fixed ios gradients covering view content.

* test(gradient): Added ui app tests for background gradients.

* test(gradient): Added a test ensuring background gradient property is applied to style.

* style(gradient): Fixed tslint errors.

* fix(gradient): Removed the background-gradient property and added the gradient to background-image.

* style: fixed a consecutive blank line tslint error.

* fix(tests): fixed the bug that was causing tests to fail.

* chore(linear-gradient): fix equality comparer

* test(gradient): add linear gradients test app

* chore(tslint): update with latest tslint rules
2018-05-03 13:24:41 +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
Manol Donev
a767c8efd4 chore(modal): update dts for showModal(...) args (#5734) 2018-04-26 00:20:10 +03:00
Manol Donev
451589dbd6 fix(modal): exception when calling ViewBase.showModal(...) (#5737) 2018-04-26 00:19:44 +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
Manol Donev
4f5887b0ad fix(android): lollipop crash on changing activity context after navigation w/transition (#5700) 2018-04-20 13:46:03 +03:00
Alexander Djenkov
b9806bad1c fix(list-view-ios): fix rowHeight property to apply proper item size for iOS (#5693)
* fix(list-view-ios): fix rowHeight property to apply proper item size for iOS

* chore(apps-tests): add rowHeight tests
2018-04-18 10:47:19 +03:00
Martin Yankov
6fb7481327 feat(builder): enable reading xml from bundle (#5668) 2018-04-17 17:27:32 +03:00
Manol Donev
555e5920c3 fix(ios-searchbar): fix searchbar auto sizing in iOS11 (#5658) 2018-04-12 14:13:21 +03:00
Alexander Djenkov
cf2ed824bf chore(image): expose decode image properties for the public API (#5629) 2018-04-11 14:24:47 +03:00
Manol Donev
cf950e1ebb fix(navigation): fix frame.navigate call inside page.navigatedTo handler (#5649) 2018-04-11 11:25:54 +03:00
Vasil Chimev
9ec2839bde fix-next(style): rename SliderBase CSSType to Slider (#5627) 2018-04-05 15:21:06 +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
Alexander Vakrilov
38e6f6688e fix(style): Styles are not applied to dialogs (#5612) 2018-04-03 17:06:21 +02:00
Alexander Djenkov
70f01123df feat(frame): handle back navigation when common layout is used as a root element (#5608)
* test(e2e): update modal navigation app

Add layout as root.
Add show modal layout.

* chore(frame): move frame stack modifiers in a separate frame-stack module

* feat(frame): handle back navigation when using common layout as root element
2018-04-02 22:27:44 +03:00
Martin Yankov
8a1958e82e chore(view): expose onBackPressed in d.ts (#5607) 2018-04-02 15:49:31 +03:00
Gustavo Edinger
1931669f79 refactor(ios-webview): remove useless js evaluation (#5584) 2018-03-27 11:08:19 +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
52c044891e feat(ios-list-view): introduce iosEstimatedRowHeight property. (#5568)
* feat(ios-list-view): introduce iosEstimatedRowHeight property.

* chore(ui-tests-app): add test for auto measured ListView.
2018-03-22 14:03:54 +02:00
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
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
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
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