Skip to content

Commit 2e782ae

Browse files
author
Vladimir Enchev
committed
initial commit
1 parent d5e16ec commit 2e782ae

5 files changed

Lines changed: 62 additions & 1 deletion

File tree

apps/TelerikNEXT/main-page.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545

4646
<SearchBar text="{{ search }}" style="background-color: #fac950; color: #fac950;" textFieldBackgroundColor="white" row="2" />
4747

48-
<ListView items="{{ sessions }}" row="3">
48+
<ListView items="{{ sessions }}" row="3" separatorColor="#fac950">
4949
<ListView.itemTemplate>
5050
<GridLayout columns="auto, *">
5151

ui/list-view/list-view-common.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ import definition = require("ui/list-view");
55
import dependencyObservable = require("ui/core/dependency-observable");
66
import builder = require("ui/builder");
77
import label = require("ui/label");
8+
import color = require("color");
89

910
var ITEMS = "items";
1011
var ITEMTEMPLATE = "itemTemplate";
1112
var ISSCROLLING = "isScrolling";
1213
var LISTVIEW = "ListView";
1314
var ITEMSCHANGED = "_itemsChanged";
1415
var CHANGE = "change";
16+
var SEPARATORCOLOR = "separatorColor";
1517

1618
export module knownEvents {
1719
export var itemLoading = "itemLoading";
@@ -45,6 +47,11 @@ function onItemTemplatePropertyChanged(data: dependencyObservable.PropertyChange
4547

4648
export class ListView extends view.View implements definition.ListView {
4749

50+
public static separatorColorProperty = new dependencyObservable.Property(
51+
SEPARATORCOLOR,
52+
LISTVIEW,
53+
new proxy.PropertyMetadata(undefined));
54+
4855
public static itemsProperty = new dependencyObservable.Property(
4956
ITEMS,
5057
LISTVIEW,
@@ -102,6 +109,14 @@ export class ListView extends view.View implements definition.ListView {
102109
this._setValue(ListView.isScrollingProperty, value);
103110
}
104111

112+
get separatorColor(): color.Color {
113+
return this._getValue(ListView.separatorColorProperty);
114+
}
115+
set separatorColor(value: color.Color) {
116+
this._setValue(ListView.separatorColorProperty,
117+
value instanceof color.Color ? value : new color.Color(<any>value));
118+
}
119+
105120
public refresh() {
106121
//
107122
}

ui/list-view/list-view.android.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ import common = require("ui/list-view/list-view-common");
33
import viewModule = require("ui/core/view");
44
import layout = require("ui/layouts/layout");
55
import stackLayout = require("ui/layouts/stack-layout");
6+
import proxy = require("ui/core/proxy");
7+
import dependencyObservable = require("ui/core/dependency-observable");
8+
import color = require("color");
9+
import utils = require("utils/utils");
610

711
var ITEMLOADING = common.knownEvents.itemLoading;
812
var LOADMOREITEMS = common.knownEvents.loadMoreItems;
@@ -13,6 +17,21 @@ var REALIZED_INDEX = "realizedIndex";
1317
declare var exports;
1418
require("utils/module-merge").merge(common, exports);
1519

20+
function onSeparatorColorPropertyChanged(data: dependencyObservable.PropertyChangeData) {
21+
var bar = <ListView>data.object;
22+
if (!bar.android) {
23+
return;
24+
}
25+
26+
if (data.newValue instanceof color.Color) {
27+
bar.android.setDivider(new android.graphics.drawable.ColorDrawable((<color.Color>data.newValue).android));
28+
bar.android.setDividerHeight(1);
29+
}
30+
}
31+
32+
// register the setNativeValue callbacks
33+
(<proxy.PropertyMetadata>common.ListView.separatorColorProperty.metadata).onSetNativeValue = onSeparatorColorPropertyChanged;
34+
1635
export class ListView extends common.ListView {
1736
private _android: android.widget.ListView;
1837
public _realizedItems = {};
@@ -161,6 +180,10 @@ class ListViewAdapter extends android.widget.BaseAdapter {
161180
return true;
162181
}
163182

183+
public areAllItemsEnabled (): boolean {
184+
return true;
185+
}
186+
164187
public getView(index: number, convertView: android.view.View, parent: any): android.view.View {
165188
if (!this._listView) {
166189
return null;

ui/list-view/list-view.d.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ declare module "ui/list-view" {
55
import observable = require("data/observable");
66
import dependencyObservable = require("ui/core/dependency-observable");
77
import view = require("ui/core/view");
8+
import color = require("color");
89

910
/**
1011
* Known event names.
@@ -81,6 +82,11 @@ declare module "ui/list-view" {
8182
*/
8283
itemTemplate: string;
8384

85+
/**
86+
* Gets or set the items separator line color of the ListView.
87+
*/
88+
separatorColor: color.Color;
89+
8490
/**
8591
* Forces the ListView to reload all its items.
8692
*/

ui/list-view/list-view.ios.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import definition = require("ui/list-view");
33
import common = require("ui/list-view/list-view-common");
44
import utils = require("utils/utils");
55
import view = require("ui/core/view");
6+
import proxy = require("ui/core/proxy");
7+
import dependencyObservable = require("ui/core/dependency-observable");
8+
import color = require("color");
69

710
var CELLIDENTIFIER = "cell";
811
var ITEMLOADING = common.knownEvents.itemLoading;
@@ -116,6 +119,20 @@ class UITableViewDelegateImpl extends NSObject implements UITableViewDelegate {
116119
}
117120
}
118121

122+
function onSeparatorColorPropertyChanged(data: dependencyObservable.PropertyChangeData) {
123+
var bar = <ListView>data.object;
124+
if (!bar.ios) {
125+
return;
126+
}
127+
128+
if (data.newValue instanceof color.Color) {
129+
bar.ios.separatorColor = (<color.Color>data.newValue).ios;
130+
}
131+
}
132+
133+
// register the setNativeValue callbacks
134+
(<proxy.PropertyMetadata>common.ListView.separatorColorProperty.metadata).onSetNativeValue = onSeparatorColorPropertyChanged;
135+
119136
export class ListView extends common.ListView {
120137
private _ios: UITableView;
121138
private _dataSource;

0 commit comments

Comments
 (0)