From e4c21258a31967c3ab9cfed5c4f67bf15e645cda Mon Sep 17 00:00:00 2001 From: Hristo Hristov Date: Mon, 31 Oct 2016 14:50:20 +0200 Subject: [PATCH] More files migrated. --- .../org.nativescript.widgets.d.ts | 48 +- .../text/formatted-string-common.ts | 197 ++++--- .../text/formatted-string.android.ts | 29 +- tns-core-modules/text/formatted-string.d.ts | 20 +- tns-core-modules/text/formatted-string.ios.ts | 25 +- .../ui/action-bar/action-bar.ios.ts | 2 +- .../activity-indicator.ios.ts | 10 +- .../ui/animation/animation.ios.ts | 5 +- .../ui/animation/keyframe-animation.d.ts | 1 - tns-core-modules/ui/border/border.ts | 14 +- .../ui/builder/binding-builder.d.ts | 1 + tns-core-modules/ui/builder/builder.d.ts | 2 +- .../ui/builder/component-builder.d.ts | 8 +- .../ui/builder/special-properties.d.ts | 6 +- tns-core-modules/ui/button/button-common.ts | 8 +- tns-core-modules/ui/button/button.android.ts | 48 +- tns-core-modules/ui/button/button.ios.ts | 517 +++++++++--------- .../ui/content-view/content-view.d.ts | 12 +- .../ui/content-view/content-view.ts | 50 +- .../ui/core/control-state-change.d.ts | 3 +- tns-core-modules/ui/core/view-common.ts | 82 ++- .../ui/date-picker/date-picker-common.ts | 75 +-- .../ui/date-picker/date-picker.android.ts | 226 ++++---- .../ui/date-picker/date-picker.d.ts | 20 +- .../ui/date-picker/date-picker.ios.ts | 190 +++---- tns-core-modules/ui/dialogs/dialogs-common.ts | 66 ++- .../ui/dialogs/dialogs.android.ts | 93 ++-- tns-core-modules/ui/dialogs/dialogs.ios.ts | 202 ++++--- .../editable-text-base-common.ts | 165 +----- .../editable-text-base.android.ts | 484 +++++++++------- .../editable-text-base.d.ts | 21 +- .../editable-text-base.ios.ts | 181 ++++-- tns-core-modules/ui/label/label.android.ts | 17 +- .../ui/text-base/text-base-common.ts | 58 +- .../ui/text-base/text-base.android.ts | 192 +++++-- tns-core-modules/ui/text-base/text-base.d.ts | 20 +- .../ui/text-base/text-base.ios.ts | 186 ++++++- .../ui/text-field/text-field.d.ts | 4 +- .../ui/text-view/text-view-common.ts | 14 +- .../ui/text-view/text-view.android.ts | 9 +- tns-core-modules/ui/text-view/text-view.d.ts | 2 +- .../ui/text-view/text-view.ios.ts | 247 ++++----- .../ui/time-picker/time-picker-common.ts | 354 ++++++------ .../ui/time-picker/time-picker.android.ts | 56 +- .../ui/time-picker/time-picker.d.ts | 23 +- .../ui/time-picker/time-picker.ios.ts | 79 +-- .../ui/transition/fade-transition.android.ts | 8 +- .../ui/transition/flip-transition.android.ts | 16 +- .../ui/transition/slide-transition.android.ts | 16 +- .../ui/transition/transition.android.ts | 4 +- .../ui/transition/transition.d.ts | 8 +- .../ui/transition/transition.ios.ts | 12 +- tns-core-modules/ui/utils.d.ts | 4 +- .../ui/web-view/web-view-common.ts | 142 ++--- .../ui/web-view/web-view.android.ts | 43 +- tns-core-modules/ui/web-view/web-view.d.ts | 27 +- tns-core-modules/ui/web-view/web-view.ios.ts | 33 +- 57 files changed, 2214 insertions(+), 2171 deletions(-) diff --git a/tns-core-modules/org.nativescript.widgets.d.ts b/tns-core-modules/org.nativescript.widgets.d.ts index 01854a137..8465d1c70 100644 --- a/tns-core-modules/org.nativescript.widgets.d.ts +++ b/tns-core-modules/org.nativescript.widgets.d.ts @@ -195,70 +195,74 @@ export class ViewHelper { public static getMinWidth(view: android.view.View): number; - public static setMinWidth(view: android.view.View, value: number); + public static setMinWidth(view: android.view.View, value: number): void; public static getMinHeight(view: android.view.View): number; - public static setMinHeight(view: android.view.View, value: number); + public static setMinHeight(view: android.view.View, value: number): void; public static getWidth(view: android.view.View): number; - public static setWidth(view: android.view.View, value: number); + public static setWidth(view: android.view.View, value: number): void; public static getHeight(view: android.view.View): number; - public static setHeight(view: android.view.View, value: number); + public static setHeight(view: android.view.View, value: number): void; public static getMargin(view: android.view.View): { left: number, top: number, right: number, bottom: number }; - public static setMargin(view: android.view.View, left: number, top: number, right: number, bottom: number); + public static setMargin(view: android.view.View, left: number, top: number, right: number, bottom: number): void; public static getMarginLeft(view: android.view.View): number; - public static setMarginLeft(view: android.view.View, value): number; + public static setMarginLeft(view: android.view.View, value: number): void; public static getMarginTop(view: android.view.View): number; - public static setMarginTop(view: android.view.View, value: number); + public static setMarginTop(view: android.view.View, value: number): void; public static getMarginRight(view: android.view.View): number; - public static setMarginRight(view: android.view.View, value: number); + public static setMarginRight(view: android.view.View, value: number): void; public static getMarginBottom(view: android.view.View): number; - public static setMarginBottom(view: android.view.View, value: number); + public static setMarginBottom(view: android.view.View, value: number): void; public static getHorizontalAlighment(view: android.view.View): string; - public static setHorizontalAlighment(view: android.view.View, value: string); + public static setHorizontalAlighment(view: android.view.View, value: string): void; public static getVerticalAlignment(view: android.view.View): string; - public static setVerticalAlignment(view: android.view.View, value: string); + public static setVerticalAlignment(view: android.view.View, value: string): void; public static getPadding(view: android.view.View): { left: number, top: number, right: number, bottom: number }; - public static setPadding(view: android.view.View, left: number, top: number, right: number, bottom: number); + public static setPadding(view: android.view.View, left: number, top: number, right: number, bottom: number): void; public static getPaddingLeft(view: android.view.View): number; - public static setPaddingLeft(view: android.view.View, value: number); + public static setPaddingLeft(view: android.view.View, value: number): void; public static getPaddingTop(view: android.view.View): number; - public static setPaddingTop(view: android.view.View, value: number); + public static setPaddingTop(view: android.view.View, value: number): void; public static getPaddingRight(view: android.view.View): number; - public static setPaddingRight(view: android.view.View, value: number); + public static setPaddingRight(view: android.view.View, value: number): void; public static getPaddingBottom(view: android.view.View): number; - public static setPaddingBottom(view: android.view.View, value: number); + public static setPaddingBottom(view: android.view.View, value: number): void; public static getRotate(view: android.view.View): number; - public static setRotate(view: android.view.View, value: number); + public static setRotate(view: android.view.View, value: number): void; public static getScaleX(view: android.view.View): number; - public static setScaleX(view: android.view.View, value): number; + public static setScaleX(view: android.view.View, value: number): void; public static getScaleY(view: android.view.View): number; - public static setScaleY(view: android.view.View, value): number; + public static setScaleY(view: android.view.View, value: number): void; public static getTranslateX(view: android.view.View): number; - public static setTranslateX(view: android.view.View, value): number; + public static setTranslateX(view: android.view.View, value: number): void; public static getTranslateY(view: android.view.View): number; - public static setTranslateY(view: android.view.View, value): number; + public static setTranslateY(view: android.view.View, value: number): void; public static getZIndex(view: android.view.View): number; - public static setZIndex(view: android.view.View, value): number; + public static setZIndex(view: android.view.View, value: number): void; + + public static getLetterspacing(view: android.view.View): number; + public static setLetterspacing(view: android.view.View, value: number): void; + } } } diff --git a/tns-core-modules/text/formatted-string-common.ts b/tns-core-modules/text/formatted-string-common.ts index 6ecc51c36..cc27a3327 100644 --- a/tns-core-modules/text/formatted-string-common.ts +++ b/tns-core-modules/text/formatted-string-common.ts @@ -1,37 +1,44 @@ -import spanModule = require("text/span"); -import observable = require("data/observable"); -import observableArray = require("data/observable-array"); -import definition = require("text/formatted-string"); -import view = require("ui/core/view"); -import types = require("utils/types"); -import colorModule = require("color"); +import { FormattedString as FormattedStringDefinition, FormattedStringView } from "text/formatted-string"; +import { Span } from "text/span"; +import { Observable, PropertyChangeData } from "data/observable"; +import { ObservableArray, ChangedData } from "data/observable-array"; +import { View, AddArrayFromBuilder, AddChildFromBuilder } from "ui/core/view"; +import { isString } from "utils/types"; +import { Color } from "color"; export module knownCollections { - export var spans = "spans"; + export let spans = "spans"; } -var CHILD_SPAN = "Span"; -var CHILD_FORMATTED_TEXT = "formattedText"; -var CHILD_FORMATTED_STRING = "FormattedString"; +let CHILD_SPAN = "Span"; +let CHILD_FORMATTED_TEXT = "formattedText"; +let CHILD_FORMATTED_STRING = "FormattedString"; -export class FormattedString extends observable.Observable implements definition.FormattedString, view.AddArrayFromBuilder { - private _spans: observableArray.ObservableArray; - public _formattedText: any; +export abstract class FormattedStringBase extends Observable implements FormattedStringDefinition, AddArrayFromBuilder, AddChildFromBuilder { + private _spans: ObservableArray; private _isDirty: boolean; private _fontFamily: string; private _fontSize: number; - private _foregroundColor: colorModule.Color; - private _backgroundColor: colorModule.Color; + private _foregroundColor: Color; + private _backgroundColor: Color; private _underline: number; private _strikethrough: number; private _fontAttributes: number; - private _parent: view.View; + private _parent: View; - get parent(): view.View { - return this._parent; + public _formattedText: any; + + constructor() { + super(); + this._spans = new ObservableArray(); + this._spans.addEventListener(ObservableArray.changeEvent, this.onSpansCollectionChanged, this); + this._isDirty = true; } - set parent(value: view.View) { + get parent(): View { + return this._parent; + } + set parent(value: View) { if (this._parent !== value) { this._parent = value; } @@ -40,7 +47,6 @@ export class FormattedString extends observable.Observable implements definition get fontFamily(): string { return this._fontFamily; } - set fontFamily(value: string) { if (this._fontFamily !== value) { this._fontFamily = value; @@ -51,8 +57,8 @@ export class FormattedString extends observable.Observable implements definition return this._fontSize; } set fontSize(value: number) { - var fSize: number; - if (types.isString(value)) { + let fSize: number; + if (isString(value)) { fSize = parseInt(value); } else { @@ -63,13 +69,13 @@ export class FormattedString extends observable.Observable implements definition } } - get foregroundColor(): colorModule.Color { + get foregroundColor(): Color { return this._foregroundColor; } - set foregroundColor(value: colorModule.Color) { - var foreColor; - if (types.isString(value)) { - foreColor = new colorModule.Color(value); + set foregroundColor(value: Color) { + let foreColor; + if (isString(value)) { + foreColor = new Color(value); } else { foreColor = value; @@ -79,13 +85,13 @@ export class FormattedString extends observable.Observable implements definition } } - get backgroundColor(): colorModule.Color { + get backgroundColor(): Color { return this._backgroundColor; } - set backgroundColor(value: colorModule.Color) { - var backColor; - if (types.isString(value)) { - backColor = new colorModule.Color(value); + set backgroundColor(value: Color) { + let backColor; + if (isString(value)) { + backColor = new Color(value); } else { backColor = value; @@ -98,10 +104,9 @@ export class FormattedString extends observable.Observable implements definition get underline(): number { return this._underline; } - set underline(value: number) { - var underlineIntValue: number; - if (types.isString(value)) { + let underlineIntValue: number; + if (isString(value)) { underlineIntValue = parseInt(value); } else { @@ -115,10 +120,9 @@ export class FormattedString extends observable.Observable implements definition get strikethrough(): number { return this._strikethrough; } - set strikethrough(value: number) { - var strikethroughIntValue: number; - if (types.isString(value)) { + let strikethroughIntValue: number; + if (isString(value)) { strikethroughIntValue = parseInt(value); } else { @@ -132,75 +136,34 @@ export class FormattedString extends observable.Observable implements definition get fontAttributes(): number { return this._fontAttributes; } - set fontAttributes(value: number) { if (this._fontAttributes !== value) { this._fontAttributes = value; } } - constructor() { - super(); - this._spans = new observableArray.ObservableArray(); - this._spans.addEventListener(observableArray.ObservableArray.changeEvent, this.onSpansCollectionChanged, this); - this._isDirty = true; - } - - get spans(): observableArray.ObservableArray { + get spans(): ObservableArray { if (!this._spans) { - this._spans = new observableArray.ObservableArray(); + this._spans = new ObservableArray(); } return this._spans; } - private onSpansCollectionChanged(eventData: observableArray.ChangedData) { - var i; - if (eventData.addedCount > 0) { - for (i = 0; i < eventData.addedCount; i++) { - var addedSpan: spanModule.Span = (>eventData.object).getItem(eventData.index + i); - addedSpan.parentFormattedString = this; - addedSpan.addEventListener(observable.Observable.propertyChangeEvent, this.onSpanChanged, this); - } - } - if (eventData.removed && eventData.removed.length > 0) { - var p; - for (p = 0; p < eventData.removed.length; p++) { - var removedSpan = eventData.removed[p]; - removedSpan.removeEventListener(observable.Observable.propertyChangeEvent, this.onSpanChanged, this); - } - } - this.updateFormattedText(true); - } + public abstract createFormattedStringCore(): void; - private onSpanChanged(eventData: observable.PropertyChangeData) { - this.updateFormattedText(true); - } - - private updateFormattedText(isDirty?: boolean) { - var shouldUpdate = isDirty || this._isDirty; - if (shouldUpdate) { - this.createFormattedStringCore(); - this._isDirty = false; - this.notify(this._createPropertyChangeData("", this)); - } - } - - public createFormattedStringCore() { - // a virtual method overriden in platform specific implementations. - } + public abstract _updateCharactersInRangeReplacementString(rangeLocation: number, rangeLength: number, replacementString: string): void; public toString(): string { - var result = ""; - var i; - for (i = 0; i < this._spans.length; i++) { + let result = ""; + for (let i = 0, length = this._spans.length; i < length; i++) { result += this._spans.getItem(i).text; } return result; } public _addArrayFromBuilder(name: string, value: Array) { - var i; - var span; + let i; + let span; if (name === knownCollections.spans) { for (i = 0; i < value.length; i++) { span = value[i]; @@ -209,25 +172,25 @@ export class FormattedString extends observable.Observable implements definition } } - public updateSpansBindingContext(newBindingContext) { - var i; - for (i = 0; i < this.spans.length; i++) { - var span = this.spans.getItem(i); - span.bindingContext = newBindingContext; - } - } - public _addChildFromBuilder(name: string, value: any): void { - if(name === CHILD_SPAN) { + if (name === CHILD_SPAN) { this.spans.push(value); } } - public static addFormattedStringToView(view: definition.FormattedStringView, name: string, value: any): void { - if(name === CHILD_SPAN) { - if (!view.formattedText) { - view.formattedText = new FormattedString(); - } + public updateSpansBindingContext(newBindingContext) { + for (let i = 0, length = this.spans.length; i < length; i++) { + let span = this.spans.getItem(i); + span.bindingContext = newBindingContext; + } + } + + public static addFormattedStringToView(view: FormattedStringView, name: string, value: any): void { + if (name === CHILD_SPAN) { + // NOTE: getter should either initialize the value or do it in the constructor. + // if (!view.formattedText) { + // view.formattedText = new FormattedString(); + // } view.formattedText.spans.push(value); } else if (name === CHILD_FORMATTED_TEXT || name === CHILD_FORMATTED_STRING) { @@ -235,7 +198,33 @@ export class FormattedString extends observable.Observable implements definition } } - public _updateCharactersInRangeReplacementString(rangeLocation: number, rangeLength: number, replacementString: string): void { - // + private onSpansCollectionChanged(eventData: ChangedData) { + if (eventData.addedCount > 0) { + for (let i = 0; i < eventData.addedCount; i++) { + let addedSpan: Span = (>eventData.object).getItem(eventData.index + i); + addedSpan.parentFormattedString = this; + addedSpan.addEventListener(Observable.propertyChangeEvent, this.onSpanChanged, this); + } + } + if (eventData.removed && eventData.removed.length > 0) { + for (let p = 0; p < eventData.removed.length; p++) { + let removedSpan = eventData.removed[p]; + removedSpan.removeEventListener(Observable.propertyChangeEvent, this.onSpanChanged, this); + } + } + this.updateFormattedText(true); + } + + private onSpanChanged(eventData: PropertyChangeData) { + this.updateFormattedText(true); + } + + private updateFormattedText(isDirty?: boolean) { + let shouldUpdate = isDirty || this._isDirty; + if (shouldUpdate) { + this.createFormattedStringCore(); + this._isDirty = false; + this.notify(this._createPropertyChangeData("", this)); + } } } \ No newline at end of file diff --git a/tns-core-modules/text/formatted-string.android.ts b/tns-core-modules/text/formatted-string.android.ts index 254d65904..0578f94ea 100644 --- a/tns-core-modules/text/formatted-string.android.ts +++ b/tns-core-modules/text/formatted-string.android.ts @@ -1,25 +1,20 @@ -import formattedStringCommon = require("./formatted-string-common"); -import spanModule = require("text/span"); -import types = require("utils/types"); +import { FormattedStringBase } from "./formatted-string-common"; +import { toUIString } from "utils/types"; -global.moduleMerge(formattedStringCommon, exports); +export * from "./formatted-string-common"; -export class FormattedString extends formattedStringCommon.FormattedString { +export class FormattedString extends FormattedStringBase { public createFormattedStringCore() { - var ssb = new android.text.SpannableStringBuilder(); - var i; - var spanStart = 0; - var spanLength = 0; - var spanText = ""; - for (i = 0; i < this.spans.length; i++) { - var span = this.spans.getItem(i); - spanText = types.toUIString(span.text); + let ssb = new android.text.SpannableStringBuilder(); + + for (let i = 0, spanStart = 0, spanLength = 0, spanText = "", length = this.spans.length; i < length; i++) { + let span = this.spans.getItem(i); + spanText = toUIString(span.text); spanLength = spanText.length; if (spanLength !== 0) { ssb.insert(spanStart, spanText); span.updateSpanModifiers(this); - var p; - for (p = 0; p < span.spanModifiers.length; p++) { + for (let p = 0, spanLength = span.spanModifiers.length; p < length; p++) { ssb.setSpan(span.spanModifiers[p], spanStart, spanStart + spanLength, android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } spanStart += spanLength; @@ -27,4 +22,8 @@ export class FormattedString extends formattedStringCommon.FormattedString { } this._formattedText = ssb; } + + public _updateCharactersInRangeReplacementString(rangeLocation: number, rangeLength: number, replacementString: string): void { + // + } } \ No newline at end of file diff --git a/tns-core-modules/text/formatted-string.d.ts b/tns-core-modules/text/formatted-string.d.ts index 755f1f4ea..e6a92d807 100644 --- a/tns-core-modules/text/formatted-string.d.ts +++ b/tns-core-modules/text/formatted-string.d.ts @@ -2,11 +2,11 @@ * Contains the FormattedString and Span classes, which are used to create a formatted (rich text) strings. */ declare module "text/formatted-string" { - import spanModule = require("text/span"); - import observable = require("data/observable"); - import observableArray = require("data/observable-array"); - import colorModule = require("color"); - import view = require("ui/core/view"); + import { Span } from "text/span"; + import { Observable } from "data/observable"; + import { ObservableArray } from "data/observable-array"; + import { View, AddArrayFromBuilder, AddChildFromBuilder } from "ui/core/view"; + import { Color } from "color"; /** * Interface that specifies View that have formattedText property (like TextBase and Button). @@ -18,11 +18,11 @@ declare module "text/formatted-string" { /** * A class used to create a formatted (rich text) string. */ - class FormattedString extends observable.Observable implements view.AddArrayFromBuilder, view.AddChildFromBuilder { + class FormattedString extends Observable implements AddArrayFromBuilder, AddChildFromBuilder { /** * An observable collection of Span objects used to define common text properties. */ - public spans: observableArray.ObservableArray; + public spans: ObservableArray; /** * Initializes a new instance of FormattedString class. @@ -52,12 +52,12 @@ declare module "text/formatted-string" { /** * Gets or sets the font foreground color which will be used for all spans that not have a specific value for font foreground color. */ - public foregroundColor: colorModule.Color; + public foregroundColor: Color; /** * Gets or sets the font background color which will be used for all spans that not have a specific value for font background color. */ - public backgroundColor: colorModule.Color; + public backgroundColor: Color; /** * Gets or sets underline which will be used for all spans that not have a specific value for underline. @@ -78,7 +78,7 @@ declare module "text/formatted-string" { /** * Gets the parent view of the formatted string. */ - public parent: view.View; + public parent: View; /** * A function that is called when an array declaration is found in xml. diff --git a/tns-core-modules/text/formatted-string.ios.ts b/tns-core-modules/text/formatted-string.ios.ts index 759cc1edf..c0f055ceb 100644 --- a/tns-core-modules/text/formatted-string.ios.ts +++ b/tns-core-modules/text/formatted-string.ios.ts @@ -1,18 +1,14 @@ -import formattedStringCommon = require("./formatted-string-common"); -import spanModule = require("text/span"); -import types = require("utils/types"); +import { FormattedStringBase } from "./formatted-string-common"; +import { toUIString } from "utils/types"; -global.moduleMerge(formattedStringCommon, exports); +export * from "./formatted-string-common"; -export class FormattedString extends formattedStringCommon.FormattedString { +export class FormattedString extends FormattedStringBase { public createFormattedStringCore() { let mas = NSMutableAttributedString.alloc().init(); - let spanStart = 0; - let spanLength = 0; - let spanText = ""; - for (let i = 0; i < this.spans.length; i++) { - let span = this.spans.getItem(i); - spanText = types.toUIString(span.text); + for (let i = 0, spanStart = 0, spanLength = 0, length = this.spans.length, spanText = ""; i < length; i++) { + let span = this.spans.getItem(i); + spanText = toUIString(span.text); spanLength = spanText.length; span.updateSpanModifiers(this); let attrDict = NSMutableDictionary.alloc().init(); @@ -29,12 +25,11 @@ export class FormattedString extends formattedStringCommon.FormattedString { public _updateCharactersInRangeReplacementString(rangeLocation: number, rangeLength: number, replacementString: string): void { let deletingText = !replacementString; let currentLocation = 0; - for (let i = 0; i < this.spans.length; i++) { - let span = this.spans.getItem(i); + for (let i = 0, length = this.spans.length; i < length; i++) { + let span = this.spans.getItem(i); if (currentLocation <= rangeLocation && rangeLocation < (currentLocation + span.text.length)){ let newText = splice(span.text, rangeLocation - currentLocation, deletingText ? rangeLength : 0, replacementString); span._setTextInternal(newText); - //console.log(`>>> ${span.text}`); return; } currentLocation += span.text.length; @@ -51,4 +46,4 @@ export class FormattedString extends formattedStringCommon.FormattedString { */ function splice(value: string, start: number, delCount: number, newSubStr: string) { return value.slice(0, start) + newSubStr + value.slice(start + Math.abs(delCount)); -}; \ No newline at end of file +} \ No newline at end of file diff --git a/tns-core-modules/ui/action-bar/action-bar.ios.ts b/tns-core-modules/ui/action-bar/action-bar.ios.ts index 91a95831f..436722268 100644 --- a/tns-core-modules/ui/action-bar/action-bar.ios.ts +++ b/tns-core-modules/ui/action-bar/action-bar.ios.ts @@ -97,7 +97,7 @@ export class ActionBar extends ActionBarBase { if (previousController) { if (this.navigationButton) { let tapHandler = TapBarItemHandlerImpl.initWithOwner(new WeakRef(this.navigationButton)); - let barButtonItem = UIBarButtonItem.alloc().initWithTitleStyleTargetAction(this.navigationButton.text + "", UIBarButtonItemStyle.UIBarButtonItemStylePlain, tapHandler, "tap"); + let barButtonItem = UIBarButtonItem.alloc().initWithTitleStyleTargetAction(this.navigationButton.text + "", UIBarButtonItemStyle.Plain, tapHandler, "tap"); previousController.navigationItem.backBarButtonItem = barButtonItem; } else { diff --git a/tns-core-modules/ui/activity-indicator/activity-indicator.ios.ts b/tns-core-modules/ui/activity-indicator/activity-indicator.ios.ts index c0b76ddcf..fd5d7caba 100644 --- a/tns-core-modules/ui/activity-indicator/activity-indicator.ios.ts +++ b/tns-core-modules/ui/activity-indicator/activity-indicator.ios.ts @@ -1,6 +1,7 @@ import {ActivityIndicatorBase, busyProperty} from "./activity-indicator-common"; import {Visibility} from "ui/enums"; import {colorProperty, visibilityProperty} from "ui/styling/style"; +import * as utils from "utils/utils"; export * from "./activity-indicator-common"; @@ -9,12 +10,17 @@ export class ActivityIndicator extends ActivityIndicatorBase { constructor() { super(); - this.nativeView = UIActivityIndicatorView.alloc().initWithActivityIndicatorStyle(UIActivityIndicatorViewStyle.UIActivityIndicatorViewStyleGray); + this.nativeView = UIActivityIndicatorView.alloc().initWithActivityIndicatorStyle(UIActivityIndicatorViewStyle.Gray); this.nativeView.hidesWhenStopped = true; } get [busyProperty.native](): boolean { - return this.nativeView.isAnimating(); + if (utils.ios.MajorVersion > 9) { + return this.nativeView.animating; + } + else { + return (this.nativeView).isAnimating(); + } } set [busyProperty.native](value: boolean) { let nativeView = this.nativeView; diff --git a/tns-core-modules/ui/animation/animation.ios.ts b/tns-core-modules/ui/animation/animation.ios.ts index ad264e69f..48df9213a 100644 --- a/tns-core-modules/ui/animation/animation.ios.ts +++ b/tns-core-modules/ui/animation/animation.ios.ts @@ -2,6 +2,7 @@ import {AnimationDefinition} from "ui/animation"; import {AnimationBase, Properties, PropertyAnimation, CubicBezierAnimationCurve, AnimationPromise} from "./animation-common"; import {View} from "ui/core/view"; import {AnimationCurve} from "ui/enums"; +import * as utils from "utils/utils"; import {opacityProperty, backgroundColorProperty, rotateProperty, translateXProperty, translateYProperty, scaleXProperty, scaleYProperty } from "ui/styling/style"; @@ -9,6 +10,8 @@ import * as trace from "trace"; export * from "./animation-common"; +let getter = utils.ios.getter; + let _transform = "_transform"; let _skip = "_skip"; @@ -271,7 +274,7 @@ export class Animation extends AnimationBase { }; originalValue = nativeView.layer.backgroundColor; if (nativeView instanceof UILabel) { - nativeView.setValueForKey(utils.ios.getter(UIColor, UIColor.clearColor), "backgroundColor"); + nativeView.setValueForKey(getter(UIColor, UIColor.clearColor), "backgroundColor"); } value = value.CGColor; break; diff --git a/tns-core-modules/ui/animation/keyframe-animation.d.ts b/tns-core-modules/ui/animation/keyframe-animation.d.ts index 93efe978c..097e91416 100644 --- a/tns-core-modules/ui/animation/keyframe-animation.d.ts +++ b/tns-core-modules/ui/animation/keyframe-animation.d.ts @@ -1,5 +1,4 @@ declare module "ui/animation/keyframe-animation" { - import {View} from "ui/core/view"; export interface KeyframeDeclaration { diff --git a/tns-core-modules/ui/border/border.ts b/tns-core-modules/ui/border/border.ts index fc86762ec..8671c80dd 100644 --- a/tns-core-modules/ui/border/border.ts +++ b/tns-core-modules/ui/border/border.ts @@ -17,15 +17,17 @@ export class Border extends ContentView implements BorderDefinition { } public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void { + View.adjustChildLayoutParams(this.layoutView, widthMeasureSpec, heightMeasureSpec); + let width = layout.getMeasureSpecSize(widthMeasureSpec); let widthMode = layout.getMeasureSpecMode(widthMeasureSpec); let height = layout.getMeasureSpecSize(heightMeasureSpec); let heightMode = layout.getMeasureSpecMode(heightMeasureSpec); - let density = utils.layout.getDisplayDensity(); + let density = layout.getDisplayDensity(); let borderWidth = 0; - if (types.isNumber(this.borderWidth)){ + if (isNumber(this.borderWidth)){ borderWidth = this.borderWidth; } let borderSize = (2 * borderWidth) * density; @@ -41,12 +43,14 @@ export class Border extends ContentView implements BorderDefinition { } public onLayout(left: number, top: number, right: number, bottom: number): void { - let density = utils.layout.getDisplayDensity(); + let density = layout.getDisplayDensity(); let borderWidth = 0; - if (types.isNumber(this.borderWidth)){ + if (isNumber(this.borderWidth)){ borderWidth = this.borderWidth; } let borderSize = borderWidth * density; - viewModule.View.layoutChild(this, this.layoutView, borderSize, borderSize, right - left - borderSize, bottom - top - borderSize); + View.layoutChild(this, this.layoutView, borderSize, borderSize, right - left - borderSize, bottom - top - borderSize); + + View.restoreChildOriginalParams(this.layoutView); } } \ No newline at end of file diff --git a/tns-core-modules/ui/builder/binding-builder.d.ts b/tns-core-modules/ui/builder/binding-builder.d.ts index 47bd7a67a..649a135ea 100644 --- a/tns-core-modules/ui/builder/binding-builder.d.ts +++ b/tns-core-modules/ui/builder/binding-builder.d.ts @@ -16,3 +16,4 @@ declare module "ui/builder/binding-builder" { export var parentsRegex: RegExp; } +//@endprivate \ No newline at end of file diff --git a/tns-core-modules/ui/builder/builder.d.ts b/tns-core-modules/ui/builder/builder.d.ts index 95bef2069..629b1a466 100644 --- a/tns-core-modules/ui/builder/builder.d.ts +++ b/tns-core-modules/ui/builder/builder.d.ts @@ -14,4 +14,4 @@ exports?: any; page?: page.Page; } -} +} \ No newline at end of file diff --git a/tns-core-modules/ui/builder/component-builder.d.ts b/tns-core-modules/ui/builder/component-builder.d.ts index 8da3f4278..3cf48e702 100644 --- a/tns-core-modules/ui/builder/component-builder.d.ts +++ b/tns-core-modules/ui/builder/component-builder.d.ts @@ -1,11 +1,11 @@ declare module "ui/builder/component-builder" { - import view = require("ui/core/view"); + import {View} from "ui/core/view"; export function getComponentModule(elementName: string, namespace: string, attributes: Object, exports: Object): ComponentModule; - export function setPropertyValue(instance: view.View, instanceModuleExports: Object, pageExports: Object, propertyName: string, propertyValue: any) : void; + export function setPropertyValue(instance: View, instanceModuleExports: Object, pageExports: Object, propertyName: string, propertyValue: any) : void; export interface ComponentModule { - component: view.View; + component: View; exports: any; } -} +} \ No newline at end of file diff --git a/tns-core-modules/ui/builder/special-properties.d.ts b/tns-core-modules/ui/builder/special-properties.d.ts index e233ae523..8b87f24f7 100644 --- a/tns-core-modules/ui/builder/special-properties.d.ts +++ b/tns-core-modules/ui/builder/special-properties.d.ts @@ -1,7 +1,7 @@ declare module "ui/builder/special-properties" { - import view = require("ui/core/view"); + import {View} from "ui/core/view"; - export type PropertySetter = (instance: view.View, propertyValue: any) => void; + export type PropertySetter = (instance: View, propertyValue: any) => void; export function registerSpecialProperty(name: string, setter: PropertySetter): void; export function getSpecialPropertySetter(name: string): PropertySetter; -} +} \ No newline at end of file diff --git a/tns-core-modules/ui/button/button-common.ts b/tns-core-modules/ui/button/button-common.ts index 48d3095d0..da735b2e5 100644 --- a/tns-core-modules/ui/button/button-common.ts +++ b/tns-core-modules/ui/button/button-common.ts @@ -1,8 +1,8 @@ -import {Button as ButtonDefinition} from "ui/button"; -import {TextBase} from "../text-base/text-base-common"; -import {WhiteSpace} from "ui/enums"; +import { Button as ButtonDefinition } from "ui/button"; +import { TextBaseCommon } from "../text-base/text-base-common"; +import { WhiteSpace } from "ui/enums"; -export class ButtonBase extends TextBase implements ButtonDefinition { +export abstract class ButtonBase extends TextBaseCommon implements ButtonDefinition { public static tapEvent = "tap"; get textWrap(): boolean { diff --git a/tns-core-modules/ui/button/button.android.ts b/tns-core-modules/ui/button/button.android.ts index 0abbae236..aa8ce9729 100644 --- a/tns-core-modules/ui/button/button.android.ts +++ b/tns-core-modules/ui/button/button.android.ts @@ -4,25 +4,33 @@ import { device } from "platform"; export * from "./button-common"; -@Implements([android.view.View.OnClickListener]) +@Interfaces([android.view.View.OnClickListener]) class ClickListener implements android.view.View.OnClickListener { constructor(public owner: WeakRef