mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Merge pull request #139 from NativeScript/set-observable-array-length-
missing setter for observable array added
This commit is contained in:
@@ -45,6 +45,21 @@ export var test_ObservableArray_shouldCreateArrayFromSpecifiedLength = function
|
|||||||
TKUnit.assert(array.length === 100, "ObservableArray should create array from specified length!");
|
TKUnit.assert(array.length === 100, "ObservableArray should create array from specified length!");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export var test_ObservableArray_shouldBeAbleToSetLength = function () {
|
||||||
|
// <snippet module="data/observable-array" title="observable-array">
|
||||||
|
// ### Set ObservableArray length to new value.
|
||||||
|
// ``` JavaScript
|
||||||
|
var array = new observableArrayModule.ObservableArray(100);
|
||||||
|
// <hide>
|
||||||
|
TKUnit.assert(array.length === 100, "ObservableArray should create array from specified length!");
|
||||||
|
// </hide>
|
||||||
|
array.length = 50;
|
||||||
|
// ```
|
||||||
|
// </snippet>
|
||||||
|
|
||||||
|
TKUnit.assert(array.length === 50, "ObservableArray should respect new length!");
|
||||||
|
};
|
||||||
|
|
||||||
export var test_ObservableArray_getItemShouldReturnCorrectItem = function () {
|
export var test_ObservableArray_getItemShouldReturnCorrectItem = function () {
|
||||||
// <snippet module="data/observable-array" title="observable-array">
|
// <snippet module="data/observable-array" title="observable-array">
|
||||||
// ### Get item at specified index using getItem(index) method.
|
// ### Get item at specified index using getItem(index) method.
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import observable = require("data/observable");
|
import observable = require("data/observable");
|
||||||
import observableArrayDef = require("data/observable-array");
|
import observableArrayDef = require("data/observable-array");
|
||||||
|
import types = require("utils/types");
|
||||||
|
|
||||||
export class ChangeType implements observableArrayDef.ChangeType {
|
export class ChangeType implements observableArrayDef.ChangeType {
|
||||||
static Add = "add";
|
static Add = "add";
|
||||||
@@ -66,6 +67,12 @@ export class ObservableArray<T> extends observable.Observable implements observa
|
|||||||
get length(): number {
|
get length(): number {
|
||||||
return this._array.length;
|
return this._array.length;
|
||||||
}
|
}
|
||||||
|
set length(value: number) {
|
||||||
|
if (types.isNumber(value) && this._array && this._array.length !== value) {
|
||||||
|
this._array = this._array.slice(0, value);
|
||||||
|
this._notifyLengthChange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a string representation of an array.
|
* Returns a string representation of an array.
|
||||||
|
|||||||
Reference in New Issue
Block a user