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" /> <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> <ListView.itemTemplate>
<GridLayout columns="auto, *"> <GridLayout columns="auto, *">

View File

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

View File

@ -3,6 +3,10 @@ import common = require("ui/list-view/list-view-common");
import viewModule = require("ui/core/view"); import viewModule = require("ui/core/view");
import layout = require("ui/layouts/layout"); import layout = require("ui/layouts/layout");
import stackLayout = require("ui/layouts/stack-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 ITEMLOADING = common.knownEvents.itemLoading;
var LOADMOREITEMS = common.knownEvents.loadMoreItems; var LOADMOREITEMS = common.knownEvents.loadMoreItems;
@ -13,6 +17,21 @@ var REALIZED_INDEX = "realizedIndex";
declare var exports; declare var exports;
require("utils/module-merge").merge(common, 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 { export class ListView extends common.ListView {
private _android: android.widget.ListView; private _android: android.widget.ListView;
public _realizedItems = {}; public _realizedItems = {};
@ -161,6 +180,10 @@ class ListViewAdapter extends android.widget.BaseAdapter {
return true; return true;
} }
public areAllItemsEnabled (): boolean {
return true;
}
public getView(index: number, convertView: android.view.View, parent: any): android.view.View { public getView(index: number, convertView: android.view.View, parent: any): android.view.View {
if (!this._listView) { if (!this._listView) {
return null; return null;

View File

@ -5,6 +5,7 @@ declare module "ui/list-view" {
import observable = require("data/observable"); import observable = require("data/observable");
import dependencyObservable = require("ui/core/dependency-observable"); import dependencyObservable = require("ui/core/dependency-observable");
import view = require("ui/core/view"); import view = require("ui/core/view");
import color = require("color");
/** /**
* Known event names. * Known event names.
@ -81,6 +82,11 @@ declare module "ui/list-view" {
*/ */
itemTemplate: string; itemTemplate: string;
/**
* Gets or set the items separator line color of the ListView.
*/
separatorColor: color.Color;
/** /**
* Forces the ListView to reload all its items. * 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 common = require("ui/list-view/list-view-common");
import utils = require("utils/utils"); import utils = require("utils/utils");
import view = require("ui/core/view"); 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 CELLIDENTIFIER = "cell";
var ITEMLOADING = common.knownEvents.itemLoading; 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 { export class ListView extends common.ListView {
private _ios: UITableView; private _ios: UITableView;
private _dataSource; private _dataSource;