mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-18 05:18:39 +08:00
Merge pull request #825 from NativeScript/segmented-bar-event
segmented bar selectedIndexChanged fix
This commit is contained in:
@ -15,4 +15,8 @@ export function checkNativeItemsTextColor(bar: segmentedBarModule.SegmentedBar):
|
||||
}
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
export function setNativeSelectedIndex(bar: segmentedBarModule.SegmentedBar, index: number): void {
|
||||
(<android.widget.TabHost>bar.android).setCurrentTab(index);
|
||||
}
|
@ -2,5 +2,6 @@
|
||||
import segmentedBarModule = require("ui/segmented-bar");
|
||||
|
||||
export declare function getNativeItemsCount(bar: segmentedBarModule.SegmentedBar): number;
|
||||
export declare function setNativeSelectedIndex(bar: segmentedBarModule.SegmentedBar, index: number): void;
|
||||
|
||||
export declare function checkNativeItemsTextColor(bar: segmentedBarModule.SegmentedBar): boolean;
|
||||
|
@ -11,4 +11,9 @@ export function checkNativeItemsTextColor(bar: segmentedBarModule.SegmentedBar):
|
||||
isValid = bar.color && attrs && attrs.valueForKey(NSForegroundColorAttributeName) === bar.color.ios;
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
export function setNativeSelectedIndex(bar: segmentedBarModule.SegmentedBar, index: number): void {
|
||||
bar.ios.selectedSegmentIndex = index;
|
||||
(<UISegmentedControl>bar.ios).sendActionsForControlEvents(UIControlEvents.UIControlEventValueChanged);
|
||||
}
|
@ -221,3 +221,32 @@ export var testSelectedIndexChangedIsReisedCorrectlyIfSelectedIndexIsSet = funct
|
||||
TKUnit.assertEqual(newIndex, 9);
|
||||
});
|
||||
}
|
||||
|
||||
export var testSelectedIndexChangedIsReisedCorrectlyIfSelectedIndexIsSetNative = function () {
|
||||
var oldIndex;
|
||||
var newIndex;
|
||||
var segmentedBar = _createSegmentedBar();
|
||||
|
||||
segmentedBar.on(segmentedBarModule.SegmentedBar.selectedIndexChangedEvent, (args: segmentedBarModule.SelectedIndexChangedEventData) => {
|
||||
oldIndex = args.oldIndex;
|
||||
newIndex = args.newIndex;
|
||||
});
|
||||
|
||||
segmentedBar.items = _createItems(10);
|
||||
|
||||
helper.buildUIAndRunTest(segmentedBar, function (views: Array<viewModule.View>) {
|
||||
var segmentedBar = <segmentedBarModule.SegmentedBar>views[0];
|
||||
|
||||
segmentedBarTestsNative.setNativeSelectedIndex(segmentedBar, 6);
|
||||
TKUnit.assertEqual(oldIndex, 0);
|
||||
TKUnit.assertEqual(newIndex, 6);
|
||||
|
||||
segmentedBarTestsNative.setNativeSelectedIndex(segmentedBar, 3);
|
||||
TKUnit.assertEqual(oldIndex, 6);
|
||||
TKUnit.assertEqual(newIndex, 3);
|
||||
|
||||
segmentedBarTestsNative.setNativeSelectedIndex(segmentedBar, 9);
|
||||
TKUnit.assertEqual(oldIndex, 3);
|
||||
TKUnit.assertEqual(newIndex, 9);
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user