File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -45,6 +45,21 @@ export var test_ObservableArray_shouldCreateArrayFromSpecifiedLength = function
4545 TKUnit . assert ( array . length === 100 , "ObservableArray should create array from specified length!" ) ;
4646} ;
4747
48+ export var test_ObservableArray_shouldBeAbleToSetLength = function ( ) {
49+ // <snippet module="data/observable-array" title="observable-array">
50+ // ### Set ObservableArray length to new value.
51+ // ``` JavaScript
52+ var array = new observableArrayModule . ObservableArray ( 100 ) ;
53+ // <hide>
54+ TKUnit . assert ( array . length === 100 , "ObservableArray should create array from specified length!" ) ;
55+ // </hide>
56+ array . length = 50 ;
57+ // ```
58+ // </snippet>
59+
60+ TKUnit . assert ( array . length === 50 , "ObservableArray should respect new length!" ) ;
61+ } ;
62+
4863export var test_ObservableArray_getItemShouldReturnCorrectItem = function ( ) {
4964 // <snippet module="data/observable-array" title="observable-array">
5065 // ### Get item at specified index using getItem(index) method.
Original file line number Diff line number Diff line change 11import observable = require( "data/observable" ) ;
22import observableArrayDef = require( "data/observable-array" ) ;
3+ import types = require( "utils/types" ) ;
34
45export class ChangeType implements observableArrayDef . ChangeType {
56 static Add = "add" ;
@@ -66,6 +67,12 @@ export class ObservableArray<T> extends observable.Observable implements observa
6667 get length ( ) : number {
6768 return this . _array . length ;
6869 }
70+ set length ( value : number ) {
71+ if ( types . isNumber ( value ) && this . _array && this . _array . length !== value ) {
72+ this . _array = this . _array . slice ( 0 , value ) ;
73+ this . _notifyLengthChange ( ) ;
74+ }
75+ }
6976
7077 /**
7178 * Returns a string representation of an array.
You can’t perform that action at this time.
0 commit comments