Merge pull request #771 from hdeshev/typescript-1.6

Typescript 1.6
This commit is contained in:
Hristo Deshev
2015-09-18 13:11:02 +03:00
19 changed files with 68 additions and 46 deletions

View File

@ -50,9 +50,9 @@ export function setUpModule() {
export function tearDownModule() { export function tearDownModule() {
navHelper.goBack(); navHelper.goBack();
delete testPage; testPage = null;
delete rootLayout; rootLayout = null;
delete tmp; tmp = null;
} }
export function setUp() { export function setUp() {

View File

@ -52,9 +52,9 @@ export function setUpModule() {
export function tearDownModule() { export function tearDownModule() {
navHelper.goBack(); navHelper.goBack();
delete tmp; tmp = null;
delete newPage; newPage = null;
delete rootLayout; rootLayout = null;
} }
export function setUp() { export function setUp() {

View File

@ -29,11 +29,11 @@ export function setUpModule() {
export function tearDownModule() { export function tearDownModule() {
navHelper.goBack(); navHelper.goBack();
delete tmp; tmp = null;
delete newPage; newPage = null;
delete rootLayout; rootLayout = null;
delete btn1; btn1 = null;
delete btn2; btn2 = null;
} }
export function setUp() { export function setUp() {

View File

@ -49,9 +49,9 @@ export function setUpModule() {
export function tearDownModule() { export function tearDownModule() {
helper.goBack(); helper.goBack();
delete tmp; tmp = null;
delete newPage; newPage = null;
delete scrollView; scrollView = null;
} }
export function setUp() { export function setUp() {

View File

@ -25,8 +25,8 @@ export function setUpModule() {
export function tearDownModule() { export function tearDownModule() {
helper.goBack(); helper.goBack();
delete testBtn; testBtn = null;
delete testPage; testPage = null;
} }
export function tearDown() { export function tearDown() {

View File

@ -97,7 +97,7 @@ declare module "data/observable" {
* Notifies all the registered listeners for the event provided in the data.eventName. * Notifies all the registered listeners for the event provided in the data.eventName.
* @param data The data associated with the event. * @param data The data associated with the event.
*/ */
notify(data: EventData): void; notify<T extends EventData>(data: T): void;
/** /**
* Notifies all the registered listeners for the property change event. * Notifies all the registered listeners for the property change event.

View File

@ -118,7 +118,7 @@ export class Observable implements definition.Observable {
this[data.propertyName] = data.value; this[data.propertyName] = data.value;
} }
public notify(data: definition.EventData) { public notify<T extends definition.EventData>(data: T) {
var observers = this._getEventList(data.eventName); var observers = this._getEventList(data.eventName);
if (!observers) { if (!observers) {
return; return;

View File

@ -309,6 +309,12 @@ module.exports = function(grunt) {
outDir: localCfg.outModulesDir, outDir: localCfg.outModulesDir,
options: { options: {
fast: 'never', fast: 'never',
// Resolve non-relative modules like "ui/styling/style"
// based on the project root (not on node_modules which
// is the typescript 1.6+ default)
additionalFlags: '--moduleResolution classic',
module: "commonjs", module: "commonjs",
target: "es5", target: "es5",
sourceMap: false, sourceMap: false,

View File

@ -19,12 +19,12 @@
"grunt-exec": "0.4.6", "grunt-exec": "0.4.6",
"grunt-multi-dest": "1.0.0", "grunt-multi-dest": "1.0.0",
"grunt-shell": "1.1.2", "grunt-shell": "1.1.2",
"grunt-ts": "4.2.0", "grunt-ts": "5.0.0-beta.5",
"grunt-tslint": "2.4.0", "grunt-tslint": "2.4.0",
"mocha": "2.2.5", "mocha": "2.2.5",
"grunt-simple-mocha": "0.4.0", "grunt-simple-mocha": "0.4.0",
"grunt-env": "0.4.4", "grunt-env": "0.4.4",
"chai": "3.2.0", "chai": "3.2.0",
"typescript": "1.5.3" "typescript": "1.6.2"
} }
} }

View File

@ -272,8 +272,7 @@ export class Animation extends common.Animation implements definition.Animation
value: Animation._affineTransform(CGAffineTransformIdentity, propertyAnimations[i].property, propertyAnimations[i].value), value: Animation._affineTransform(CGAffineTransformIdentity, propertyAnimations[i].property, propertyAnimations[i].value),
duration: propertyAnimations[i].duration, duration: propertyAnimations[i].duration,
delay: propertyAnimations[i].delay, delay: propertyAnimations[i].delay,
iterations: propertyAnimations[i].iterations, iterations: propertyAnimations[i].iterations
iosUIViewAnimationCurve: propertyAnimations[i].curve
}; };
trace.write("Created new transform animation: " + common.Animation._getAnimationInfo(newTransformAnimation), trace.categories.Animation); trace.write("Created new transform animation: " + common.Animation._getAnimationInfo(newTransformAnimation), trace.categories.Animation);

View File

@ -1,5 +1,4 @@
import view = require("ui/core/view"); import view = require("ui/core/view");
import bindable = require("ui/core/bindable");
import types = require("utils/types"); import types = require("utils/types");
import definition = require("ui/builder/component-builder"); import definition = require("ui/builder/component-builder");
import fs = require("file-system"); import fs = require("file-system");
@ -101,8 +100,6 @@ export function getComponentModule(elementName: string, namespace: string, attri
} }
if (instance && instanceModule) { if (instance && instanceModule) {
var bindings = new Array<bindable.BindingOptions>();
for (var attr in attributes) { for (var attr in attributes) {
var attrValue = <string>attributes[attr]; var attrValue = <string>attributes[attr];
@ -136,7 +133,7 @@ export function getComponentModule(elementName: string, namespace: string, attri
} }
} }
componentModule = { component: instance, exports: instanceModule, bindings: bindings }; componentModule = {component: instance, exports: instanceModule};
} }
return componentModule; return componentModule;

View File

@ -1,4 +1,5 @@
import common = require("ui/button/button-common"); import common = require("ui/button/button-common");
import utils = require("utils/utils")
global.moduleMerge(common, exports); global.moduleMerge(common, exports);
@ -22,7 +23,8 @@ export class Button extends common.Button {
this._android = new android.widget.Button(this._context); this._android = new android.widget.Button(this._context);
this._android.setOnClickListener(new android.view.View.OnClickListener({ this._android.setOnClickListener(new android.view.View.OnClickListener(
<utils.Owned & android.view.View.IOnClickListener>{
get owner() { get owner() {
return that.get(); return that.get();
}, },

View File

@ -2,6 +2,7 @@
import dependencyObservable = require("ui/core/dependency-observable"); import dependencyObservable = require("ui/core/dependency-observable");
import proxy = require("ui/core/proxy"); import proxy = require("ui/core/proxy");
import types = require("utils/types"); import types = require("utils/types");
import utils = require("utils/utils")
function onYearPropertyChanged(data: dependencyObservable.PropertyChangeData) { function onYearPropertyChanged(data: dependencyObservable.PropertyChangeData) {
var picker = <DatePicker>data.object; var picker = <DatePicker>data.object;
@ -78,7 +79,8 @@ export class DatePicker extends common.DatePicker {
var that = new WeakRef(this); var that = new WeakRef(this);
this._listener = new android.widget.DatePicker.OnDateChangedListener({ this._listener = new android.widget.DatePicker.OnDateChangedListener(
<utils.Owned & android.widget.DatePicker.IOnDateChangedListener>{
get owner() { get owner() {
return that.get(); return that.get();
}, },

View File

@ -1,6 +1,7 @@
import common = require("ui/list-picker/list-picker-common"); import common = require("ui/list-picker/list-picker-common");
import dependencyObservable = require("ui/core/dependency-observable"); import dependencyObservable = require("ui/core/dependency-observable");
import types = require("utils/types"); import types = require("utils/types");
import utils = require("utils/utils")
global.moduleMerge(common, exports); global.moduleMerge(common, exports);
@ -28,7 +29,8 @@ export class ListPicker extends common.ListPicker {
var that = new WeakRef(this); var that = new WeakRef(this);
this._formatter = new android.widget.NumberPicker.Formatter({ this._formatter = new android.widget.NumberPicker.Formatter(
<utils.Owned & android.widget.NumberPicker.IFormatter>{
get owner(): ListPicker { get owner(): ListPicker {
return that.get(); return that.get();
}, },
@ -43,7 +45,7 @@ export class ListPicker extends common.ListPicker {
}); });
this._android.setFormatter(this._formatter); this._android.setFormatter(this._formatter);
this._valueChangedListener = new android.widget.NumberPicker.OnValueChangeListener({ this._valueChangedListener = new android.widget.NumberPicker.OnValueChangeListener(<utils.Owned & android.widget.NumberPicker.IOnValueChangeListener>{
get owner() { get owner() {
return that.get(); return that.get();
}, },

View File

@ -7,6 +7,7 @@ import proxy = require("ui/core/proxy");
import dependencyObservable = require("ui/core/dependency-observable"); import dependencyObservable = require("ui/core/dependency-observable");
import color = require("color"); import color = require("color");
import definition = require("ui/list-view"); import definition = require("ui/list-view");
import utils = require("utils/utils")
var ITEMLOADING = common.ListView.itemLoadingEvent; var ITEMLOADING = common.ListView.itemLoadingEvent;
var LOADMOREITEMS = common.ListView.loadMoreItemsEvent; var LOADMOREITEMS = common.ListView.loadMoreItemsEvent;
@ -50,7 +51,7 @@ export class ListView extends common.ListView {
var that = new WeakRef(this); var that = new WeakRef(this);
// TODO: This causes many marshalling calls, rewrite in Java and generate bindings // TODO: This causes many marshalling calls, rewrite in Java and generate bindings
this.android.setOnScrollListener(new android.widget.AbsListView.OnScrollListener({ this.android.setOnScrollListener(new android.widget.AbsListView.OnScrollListener(<utils.Owned & android.widget.AbsListView.IOnScrollListener>{
onScrollStateChanged: function (view: android.widget.AbsListView, scrollState: number) { onScrollStateChanged: function (view: android.widget.AbsListView, scrollState: number) {
var owner: ListView = this.owner; var owner: ListView = this.owner;
if (!owner) { if (!owner) {

View File

@ -3,6 +3,7 @@ import dependencyObservable = require("ui/core/dependency-observable");
import proxy = require("ui/core/proxy"); import proxy = require("ui/core/proxy");
import color = require("color"); import color = require("color");
import types = require("utils/types"); import types = require("utils/types");
import utils = require("utils/utils")
var SEARCHTEXT = "searchText"; var SEARCHTEXT = "searchText";
var QUERY = "query"; var QUERY = "query";
@ -101,7 +102,7 @@ export class SearchBar extends common.SearchBar {
this._android.setIconified(false); this._android.setIconified(false);
var that = new WeakRef(this); var that = new WeakRef(this);
this._android.setOnQueryTextListener(new android.widget.SearchView.OnQueryTextListener({ this._android.setOnQueryTextListener(new android.widget.SearchView.OnQueryTextListener(<utils.Owned & android.widget.SearchView.IOnQueryTextListener>{
get owner() { get owner() {
return that.get(); return that.get();
}, },
@ -132,7 +133,7 @@ export class SearchBar extends common.SearchBar {
} }
})); }));
this._android.setOnCloseListener(new android.widget.SearchView.OnCloseListener({ this._android.setOnCloseListener(new android.widget.SearchView.OnCloseListener(<utils.Owned & android.widget.SearchView.IOnCloseListener>{
get owner() { get owner() {
return that.get(); return that.get();
}, },

View File

@ -1,6 +1,7 @@
import common = require("ui/switch/switch-common"); import common = require("ui/switch/switch-common");
import dependencyObservable = require("ui/core/dependency-observable"); import dependencyObservable = require("ui/core/dependency-observable");
import proxy = require("ui/core/proxy"); import proxy = require("ui/core/proxy");
import utils = require("utils/utils")
function onCheckedPropertyChanged(data: dependencyObservable.PropertyChangeData) { function onCheckedPropertyChanged(data: dependencyObservable.PropertyChangeData) {
var swtch = <Switch>data.object; var swtch = <Switch>data.object;
@ -28,7 +29,7 @@ export class Switch extends common.Switch {
var that = new WeakRef(this); var that = new WeakRef(this);
this._android.setOnCheckedChangeListener(new android.widget.CompoundButton.OnCheckedChangeListener({ this._android.setOnCheckedChangeListener(new android.widget.CompoundButton.OnCheckedChangeListener(<utils.Owned & android.widget.CompoundButton.IOnCheckedChangeListener>{
get owner() { get owner() {
return that.get(); return that.get();
}, },

View File

@ -1,6 +1,7 @@
import common = require("ui/time-picker/time-picker-common"); import common = require("ui/time-picker/time-picker-common");
import dependencyObservable = require("ui/core/dependency-observable"); import dependencyObservable = require("ui/core/dependency-observable");
import proxy = require("ui/core/proxy"); import proxy = require("ui/core/proxy");
import utils = require("utils/utils")
function onHourPropertyChanged(data: dependencyObservable.PropertyChangeData) { function onHourPropertyChanged(data: dependencyObservable.PropertyChangeData) {
var picker = <TimePicker>data.object; var picker = <TimePicker>data.object;
@ -32,7 +33,8 @@ export class TimePicker extends common.TimePicker {
var that = new WeakRef(this); var that = new WeakRef(this);
this._listener = new android.widget.TimePicker.OnTimeChangedListener({ this._listener = new android.widget.TimePicker.OnTimeChangedListener(
<utils.Owned & android.widget.TimePicker.IOnTimeChangedListener>{
get owner() { get owner() {
return that.get(); return that.get();
}, },

9
utils/utils.d.ts vendored
View File

@ -3,6 +3,15 @@
export var RESOURCE_PREFIX: string; export var RESOURCE_PREFIX: string;
//@private
/**
* Used by various android event listener implementations
*/
interface Owned {
owner: any;
}
//@endprivate
/** /**
* Utility module related to layout. * Utility module related to layout.
*/ */