Merge pull request #632 from NativeScript/view-setStyle

setInlineStyle implementation + test
This commit is contained in:
Vladimir Enchev
2015-08-28 13:50:16 +03:00
3 changed files with 28 additions and 0 deletions

View File

@@ -613,6 +613,20 @@ export var testIsVisible = function () {
});
}
export var testSetInlineStyle = function () {
var lbl = new label.Label();
var expectedColor = "#ff0000";
var expectedBackgroundColor = "#ff0000";
lbl.setInlineStyle(`color: ${expectedColor};background-color: ${expectedBackgroundColor};`);
helper.buildUIAndRunTest(lbl, function (views: Array<viewModule.View>) {
TKUnit.assertEqual(lbl.color.hex, expectedColor);
TKUnit.assertEqual(lbl.backgroundColor.hex, expectedBackgroundColor);
});
}
export var testBorderWidth = function () {
helper.buildUIAndRunTest(_createLabelWithBorder(), function (views: Array<viewModule.View>) {
var lbl = <label.Label>views[0];

View File

@@ -923,6 +923,14 @@ export class View extends proxy.ProxyObject implements definition.View {
return false;
}
public setInlineStyle(style: string): void {
if (!types.isString(style)) {
throw new Error("Parameter should be valid CSS string!");
}
this._applyInlineStyle(style);
}
public _updateLayout() {
// needed for iOS.
}

6
ui/core/view.d.ts vendored
View File

@@ -356,6 +356,12 @@ declare module "ui/core/view" {
*/
public focus(): boolean;
/**
* Sets in-line CSS string as style.
* @param style - In-line CSS string.
*/
public setInlineStyle(style: string) : void;
public getGestureObservers(type: gestures.GestureTypes): Array<gestures.GesturesObserver>;
/**