initial commit

This commit is contained in:
Vladimir Enchev
2015-03-13 15:23:04 +02:00
parent d5e16ec119
commit 2e782aecc5
5 changed files with 62 additions and 1 deletions

View File

@ -45,7 +45,7 @@
<SearchBar text="{{ search }}" style="background-color: #fac950; color: #fac950;" textFieldBackgroundColor="white" row="2" />
<ListView items="{{ sessions }}" row="3">
<ListView items="{{ sessions }}" row="3" separatorColor="#fac950">
<ListView.itemTemplate>
<GridLayout columns="auto, *">

View File

@ -5,6 +5,7 @@ import definition = require("ui/list-view");
import dependencyObservable = require("ui/core/dependency-observable");
import builder = require("ui/builder");
import label = require("ui/label");
import color = require("color");
var ITEMS = "items";
var ITEMTEMPLATE = "itemTemplate";
@ -12,6 +13,7 @@ var ISSCROLLING = "isScrolling";
var LISTVIEW = "ListView";
var ITEMSCHANGED = "_itemsChanged";
var CHANGE = "change";
var SEPARATORCOLOR = "separatorColor";
export module knownEvents {
export var itemLoading = "itemLoading";
@ -45,6 +47,11 @@ function onItemTemplatePropertyChanged(data: dependencyObservable.PropertyChange
export class ListView extends view.View implements definition.ListView {
public static separatorColorProperty = new dependencyObservable.Property(
SEPARATORCOLOR,
LISTVIEW,
new proxy.PropertyMetadata(undefined));
public static itemsProperty = new dependencyObservable.Property(
ITEMS,
LISTVIEW,
@ -102,6 +109,14 @@ export class ListView extends view.View implements definition.ListView {
this._setValue(ListView.isScrollingProperty, value);
}
get separatorColor(): color.Color {
return this._getValue(ListView.separatorColorProperty);
}
set separatorColor(value: color.Color) {
this._setValue(ListView.separatorColorProperty,
value instanceof color.Color ? value : new color.Color(<any>value));
}
public refresh() {
//
}

View File

@ -3,6 +3,10 @@ import common = require("ui/list-view/list-view-common");
import viewModule = require("ui/core/view");
import layout = require("ui/layouts/layout");
import stackLayout = require("ui/layouts/stack-layout");
import proxy = require("ui/core/proxy");
import dependencyObservable = require("ui/core/dependency-observable");
import color = require("color");
import utils = require("utils/utils");
var ITEMLOADING = common.knownEvents.itemLoading;
var LOADMOREITEMS = common.knownEvents.loadMoreItems;
@ -13,6 +17,21 @@ var REALIZED_INDEX = "realizedIndex";
declare var exports;
require("utils/module-merge").merge(common, exports);
function onSeparatorColorPropertyChanged(data: dependencyObservable.PropertyChangeData) {
var bar = <ListView>data.object;
if (!bar.android) {
return;
}
if (data.newValue instanceof color.Color) {
bar.android.setDivider(new android.graphics.drawable.ColorDrawable((<color.Color>data.newValue).android));
bar.android.setDividerHeight(1);
}
}
// register the setNativeValue callbacks
(<proxy.PropertyMetadata>common.ListView.separatorColorProperty.metadata).onSetNativeValue = onSeparatorColorPropertyChanged;
export class ListView extends common.ListView {
private _android: android.widget.ListView;
public _realizedItems = {};
@ -161,6 +180,10 @@ class ListViewAdapter extends android.widget.BaseAdapter {
return true;
}
public areAllItemsEnabled (): boolean {
return true;
}
public getView(index: number, convertView: android.view.View, parent: any): android.view.View {
if (!this._listView) {
return null;

View File

@ -5,6 +5,7 @@ declare module "ui/list-view" {
import observable = require("data/observable");
import dependencyObservable = require("ui/core/dependency-observable");
import view = require("ui/core/view");
import color = require("color");
/**
* Known event names.
@ -81,6 +82,11 @@ declare module "ui/list-view" {
*/
itemTemplate: string;
/**
* Gets or set the items separator line color of the ListView.
*/
separatorColor: color.Color;
/**
* Forces the ListView to reload all its items.
*/

View File

@ -3,6 +3,9 @@ import definition = require("ui/list-view");
import common = require("ui/list-view/list-view-common");
import utils = require("utils/utils");
import view = require("ui/core/view");
import proxy = require("ui/core/proxy");
import dependencyObservable = require("ui/core/dependency-observable");
import color = require("color");
var CELLIDENTIFIER = "cell";
var ITEMLOADING = common.knownEvents.itemLoading;
@ -116,6 +119,20 @@ class UITableViewDelegateImpl extends NSObject implements UITableViewDelegate {
}
}
function onSeparatorColorPropertyChanged(data: dependencyObservable.PropertyChangeData) {
var bar = <ListView>data.object;
if (!bar.ios) {
return;
}
if (data.newValue instanceof color.Color) {
bar.ios.separatorColor = (<color.Color>data.newValue).ios;
}
}
// register the setNativeValue callbacks
(<proxy.PropertyMetadata>common.ListView.separatorColorProperty.metadata).onSetNativeValue = onSeparatorColorPropertyChanged;
export class ListView extends common.ListView {
private _ios: UITableView;
private _dataSource;