diff --git a/CrossPlatformModules.csproj b/CrossPlatformModules.csproj index 454f62a88..e12936e20 100644 --- a/CrossPlatformModules.csproj +++ b/CrossPlatformModules.csproj @@ -78,6 +78,9 @@ data-binding.xml + + + main-page.xml @@ -94,6 +97,12 @@ + + Designer + + + Designer + @@ -1675,6 +1684,9 @@ + + PreserveNewest + diff --git a/apps/list-view-demo/another-page.xml b/apps/list-view-demo/another-page.xml new file mode 100644 index 000000000..60b450211 --- /dev/null +++ b/apps/list-view-demo/another-page.xml @@ -0,0 +1,3 @@ + + diff --git a/apps/list-view-demo/app.ts b/apps/list-view-demo/app.ts new file mode 100644 index 000000000..cb572300b --- /dev/null +++ b/apps/list-view-demo/app.ts @@ -0,0 +1,3 @@ +import application = require("application"); +application.mainModule = "main-page"; +application.start(); diff --git a/apps/list-view-demo/main-page.ts b/apps/list-view-demo/main-page.ts new file mode 100644 index 000000000..715473101 --- /dev/null +++ b/apps/list-view-demo/main-page.ts @@ -0,0 +1,87 @@ +import frame = require("ui/frame"); +import observableArray = require("data/observable-array"); + +var loaded = 0; +var unloaded = 0; + +var listView; +var textField; + +export function onNavigatedTo(args) { + print(); +} + +export function onTextFieldLoaded(args) { + textField = args.object; +} + +export function onListViewLoaded(args) { + listView = args.object; + console.log("ListView LOADED."); + print(); + onBind(); +} + +export function onListViewUnloaded(args) { + console.log("ListView UNLOADED."); + print(); +} + +export function onBind() { + var length = textField.text; + console.log("Bind to " + length + " items"); + var items = new observableArray.ObservableArray(); + var i = 0; + for (; i < length; i++) { + items.push("Item " + i); + } + listView.items = items; + print(); +} + +export function onAdd() { + var length = textField.text; + console.log("Add " + length + " items"); + var i = 0; + for (; i < length; i++) { + var newItem = "Item " + (>listView.items).length; + (>listView.items).push(newItem); + } + print(); +} + +export function onRemove(s) { + var length = textField.text; + console.log("Remove " + length + " items"); + var i = 0; + for (; i < length; i++) { + (>listView.items).splice((>listView.items).length - 1); + } + print(); +} + +export function onRefresh() { + console.log("Refresh"); + listView.refresh(); + print(); +} + +export function onNavigate() { + console.log("Navigate"); + frame.topmost().navigate({ moduleName: "./another-page" }); + print(); +} + +export function onViewLoaded(args) { + loaded++; + console.log(args.object.id + args.object._domId + " LOADED"); +} + +export function onViewUnloaded(args) { + unloaded++; + console.log(args.object.id + args.object._domId + " UNLOADED"); +} + +export function print() { + console.log("L/U: " + loaded + "/" + unloaded); +} \ No newline at end of file diff --git a/apps/list-view-demo/main-page.xml b/apps/list-view-demo/main-page.xml new file mode 100644 index 000000000..e62369edd --- /dev/null +++ b/apps/list-view-demo/main-page.xml @@ -0,0 +1,15 @@ + + + +