diff --git a/apps/app/cuteness.io/app-root.xml b/apps/app/cuteness.io/app-root.xml
deleted file mode 100644
index 06509ce17..000000000
--- a/apps/app/cuteness.io/app-root.xml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/app/cuteness.io/app.css b/apps/app/cuteness.io/app.css
deleted file mode 100644
index b17ea2773..000000000
--- a/apps/app/cuteness.io/app.css
+++ /dev/null
@@ -1 +0,0 @@
-/* Add app css here */
diff --git a/apps/app/cuteness.io/app.ts b/apps/app/cuteness.io/app.ts
deleted file mode 100644
index 35bc0cc08..000000000
--- a/apps/app/cuteness.io/app.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import * as application from "tns-core-modules/application";
-
-// Start the application
-global.registerModule("cuteness.io/app.css", () => require("~/cuteness.io/app.css"));
-application.setCssFileName("cuteness.io/app.css");
-application.run({ moduleName: "cuteness.io/app-root" });
diff --git a/apps/app/cuteness.io/details-page.css b/apps/app/cuteness.io/details-page.css
deleted file mode 100644
index 57988b016..000000000
--- a/apps/app/cuteness.io/details-page.css
+++ /dev/null
@@ -1,14 +0,0 @@
-Page {
- background-color: #363940;
-}
-
-.detailsTitle {
- color: #FFFFFF;
- font-size: 30;
- margin: 10;
-}
-
-ActivityIndicator {
- width: 50;
- height: 50;
-}
diff --git a/apps/app/cuteness.io/details-page.xml b/apps/app/cuteness.io/details-page.xml
deleted file mode 100644
index e07ab4e1d..000000000
--- a/apps/app/cuteness.io/details-page.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/app/cuteness.io/main-page.css b/apps/app/cuteness.io/main-page.css
deleted file mode 100644
index 115f58fbc..000000000
--- a/apps/app/cuteness.io/main-page.css
+++ /dev/null
@@ -1,29 +0,0 @@
-.title {
- font-size: 20;
- margin: 3;
-}
-
-.author {
- font-size: 14;
- horizontal-align: left;
- vertical-align: bottom;
- margin: 3;
-}
-
-.comments {
- color: #10C2B0;
- font-size: 14;
- vertical-align: bottom;
- margin: 3;
-}
-
-.thumbnail {
- width: 72;
- height: 72;
- margin: 3;
- vertical-align: top;
-}
-
-TabView {
- background-color: white;
-}
\ No newline at end of file
diff --git a/apps/app/cuteness.io/main-page.ts b/apps/app/cuteness.io/main-page.ts
deleted file mode 100644
index b2a89b2c3..000000000
--- a/apps/app/cuteness.io/main-page.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { EventData as ObservableEventData } from "tns-core-modules/data/observable";
-import { Page } from "tns-core-modules/ui/page";
-import { ItemEventData as ListViewItemEventData } from "tns-core-modules/ui/list-view";
-import { topmost as topmostFrame } from "tns-core-modules/ui/frame";
-import { AppViewModel } from "./reddit-app-view-model";
-
-var appViewModel = new AppViewModel();
-
-// Event handler for Page "loaded" event attached in main-page.xml
-export function pageLoaded(args: ObservableEventData) {
- // Get the event sender
- var page = args.object;
-
- page.bindingContext = appViewModel;
-}
-
-export function listViewItemTap(args: ListViewItemEventData) {
- // Navigate to the details page with context set to the data item for specified index
- topmostFrame().navigate({
- moduleName: "cuteness.io/details-page",
- bindingContext: appViewModel.redditItems.getItem(args.index)
- });
-}
-
-export function listViewLoadMoreItems(args: ObservableEventData) {
- // Increase model items length with model items loadSize property value
- //appViewModel.redditItems.length += appViewModel.redditItems.loadSize;
-}
diff --git a/apps/app/cuteness.io/main-page.xml b/apps/app/cuteness.io/main-page.xml
deleted file mode 100644
index d36d902ab..000000000
--- a/apps/app/cuteness.io/main-page.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/app/cuteness.io/reddit-app-view-model.ts b/apps/app/cuteness.io/reddit-app-view-model.ts
deleted file mode 100644
index f6b985309..000000000
--- a/apps/app/cuteness.io/reddit-app-view-model.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { ImageSource, fromFile as imageSourceFromFile } from "tns-core-modules/image-source";
-import { VirtualArray, ItemsLoading as virtualArrayItemsLoadingData } from "tns-core-modules/data/virtual-array";
-import { Observable } from "tns-core-modules/data/observable";
-import { Cache as ImageCache } from "tns-core-modules/ui/image-cache";
-
-import { Data as RedditData } from "./reddit-model";
-import { RedditViewModel } from "./reddit-item-view-model";
-
-var aboutText = "Cuteness is a proof of concept app demonstrating the Telerik's NativeScript for writing native mobile applications using JavaScript.";
-export var defaultThumbnailImageSource = imageSourceFromFile("~/cuteness.io/res/reddit-logo.png");
-export var defaultNoThumbnailImageSource = imageSourceFromFile("~/cuteness.io/res/no-image.png");
-
-var redditUrl = "https://www.reddit.com/r/aww.json?limit=";
-var after: string;
-var ISSCROLLING = "isLoading";
-
-// initialize the image cache for the main list
-export var cache = new ImageCache();
-cache.placeholder = defaultThumbnailImageSource;
-cache.maxRequests = 5;
-
-export class AppViewModel extends Observable {
-
- private _redditItems: VirtualArray;
- get redditItems(): VirtualArray {
- if (!this._redditItems) {
- this._redditItems = new VirtualArray(1000);
- this._redditItems.loadSize = 50;
- this._redditItems.on(VirtualArray.itemsLoadingEvent, (args: virtualArrayItemsLoadingData) => {
-
- fetch(redditUrl + args.count + (after ? "&after=" + after : "")).then(response => response.json()).then(result => {
-
- var itemsToLoad = result.data.children.map(i => {
- return new RedditViewModel(i.data);
- });
-
- this._redditItems.load(args.index, itemsToLoad);
-
- var lastItem = itemsToLoad[itemsToLoad.length - 1];
- if (lastItem) {
- after = itemsToLoad[itemsToLoad.length - 1].source.name;
- }
- });
- });
- }
-
- return this._redditItems;
- }
-
- private _isScrolling = false;
- get isScrolling(): boolean {
- return this._isScrolling;
- }
- set isScrolling(value: boolean) {
- if (this._isScrolling !== value) {
- this._isScrolling = value;
-
- if (value) {
- cache.disableDownload();
- }
- else {
- cache.enableDownload();
- }
-
- this.notify({ object: this, eventName: Observable.propertyChangeEvent, propertyName: ISSCROLLING, value: value });
- }
- }
-
- get aboutText(): string {
- return aboutText;
- }
-
- get defaultThumbnailImageSource(): ImageSource {
- return defaultThumbnailImageSource;
- }
-
- get defaultNoThumbnailImageSource(): ImageSource {
- return defaultNoThumbnailImageSource;
- }
-}
diff --git a/apps/app/cuteness.io/reddit-item-view-model.ts b/apps/app/cuteness.io/reddit-item-view-model.ts
deleted file mode 100644
index 08600c9ed..000000000
--- a/apps/app/cuteness.io/reddit-item-view-model.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-import { Observable } from "tns-core-modules/data/observable";
-import { ImageSource, fromFile as imageSourceFromFile, fromUrl as imageSourceFromUrl } from "tns-core-modules/image-source";
-
-import { ItemData } from "./reddit-model";
-import { defaultThumbnailImageSource, defaultNoThumbnailImageSource, cache } from "./reddit-app-view-model";
-
-var firstThumbnailImageSource = imageSourceFromFile("~/cuteness.io/res/first-image.png");
-var defaultImageSource = imageSourceFromFile("~/cuteness.io/res/reddit-logo-transparent.png");
-
-var ISLOADING = "isLoading";
-var THUMBNAIL_IMAGE = "thumbnailImage";
-var IMAGE_SOURCE = "imageSource";
-
-export class RedditViewModel extends Observable {
-
- private _source: ItemData;
- constructor(source: ItemData) {
- super();
-
- this._source = source;
-
- if (this._source) {
- var property: string;
- for (property in this._source) {
- this.set(property, this._source[property]);
- }
- }
- }
-
- get source(): ItemData {
- return this._source;
- }
-
- private _isLoading = false;
- get isLoading(): boolean {
- return this._isLoading;
- }
- set isLoading(value: boolean) {
- if (this._isLoading !== value) {
- this._isLoading = value;
- this.notify({ object: this, eventName: Observable.propertyChangeEvent, propertyName: ISLOADING, value: value });
- }
- }
-
- get thumbnailImage(): ImageSource {
- if (!this._source) {
- return defaultThumbnailImageSource;
- }
-
- if (this._source.title === "reddit 101") {
- return firstThumbnailImageSource;
- }
-
- var url = this._source.thumbnail;
-
- if (!_isValidImageUrl(url)) {
- return defaultNoThumbnailImageSource
- }
-
- var image = cache.get(url);
- if (image) {
- return image;
- }
-
- this.isLoading = true;
- cache.push({
- key: url,
- url: url,
- completed: (image: any, key: string) => {
- if (url === key) {
- this.isLoading = false;
- this.notify({ object: this, eventName: Observable.propertyChangeEvent, propertyName: THUMBNAIL_IMAGE, value: image });
- }
- }
- });
-
- return defaultThumbnailImageSource;
- }
-
- get imageSource(): ImageSource {
- if (this._source) {
- var url;
- try {
- url = (this._source).preview.images[0].source.url;
- }
- catch (e) {
- url = this._source.url;
- }
-
- if (_isValidImageUrl(url)) {
-
- this.isLoading = true;
-
- imageSourceFromUrl(url).then(result => {
- this.isLoading = false;
- this.notify({ object: this, eventName: Observable.propertyChangeEvent, propertyName: IMAGE_SOURCE, value: result });
- });
- }
- }
-
- return defaultImageSource;
- }
-}
-
-function _isValidImageUrl(url: string): boolean {
- return url && (url.indexOf(".png") !== -1 || url.indexOf(".jpg") !== -1);
-}
diff --git a/apps/app/cuteness.io/reddit-model.d.ts b/apps/app/cuteness.io/reddit-model.d.ts
deleted file mode 100644
index 776f77867..000000000
--- a/apps/app/cuteness.io/reddit-model.d.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-export interface Data {
- kind: string;
- data: Items;
-}
-
-export interface Items {
- modhash: string;
- children: Array- ;
-}
-
-export interface Item {
- kind: string;
- data: ItemData;
-}
-
-export interface ItemData {
- domain: any;
- banned_by: any;
- media_embed: any;
- subreddit: any;
- selftext_html: any;
- selftext: any;
- likes: any;
- secure_media: any;
- link_flair_text: any;
- id: string;
- gilded: any;
- secure_media_embed: any;
- clicked: boolean;
- stickied: boolean;
- author: any;
- media: any;
- score: number;
- approved_by: any;
- over_18: boolean;
- hidden: boolean;
- thumbnail: string;
- subreddit_id: any;
- edited: boolean;
- link_flair_css_class: any;
- author_flair_css_class: any;
- downs: number;
- saved: boolean;
- is_self: boolean;
- permalink: string;
- name: string;
- created: number;
- url: string;
- author_flair_text: string;
- title: string;
- created_utc: number;
- ups: number;
- num_comments: number;
- visited: boolean;
- num_reports: any;
- distinguished: any
-}
\ No newline at end of file
diff --git a/apps/app/cuteness.io/res/first-image.png b/apps/app/cuteness.io/res/first-image.png
deleted file mode 100644
index 8d322529c..000000000
Binary files a/apps/app/cuteness.io/res/first-image.png and /dev/null differ
diff --git a/apps/app/cuteness.io/res/no-image.png b/apps/app/cuteness.io/res/no-image.png
deleted file mode 100644
index 9c215b192..000000000
Binary files a/apps/app/cuteness.io/res/no-image.png and /dev/null differ
diff --git a/apps/app/cuteness.io/res/reddit-logo-transparent.png b/apps/app/cuteness.io/res/reddit-logo-transparent.png
deleted file mode 100644
index 6936ebd19..000000000
Binary files a/apps/app/cuteness.io/res/reddit-logo-transparent.png and /dev/null differ
diff --git a/apps/app/cuteness.io/res/reddit-logo.png b/apps/app/cuteness.io/res/reddit-logo.png
deleted file mode 100644
index de99da231..000000000
Binary files a/apps/app/cuteness.io/res/reddit-logo.png and /dev/null differ
diff --git a/apps/app/cuteness.io/res/telerik-logo.png b/apps/app/cuteness.io/res/telerik-logo.png
deleted file mode 100644
index 880af63d6..000000000
Binary files a/apps/app/cuteness.io/res/telerik-logo.png and /dev/null differ
diff --git a/apps/app/package.json b/apps/app/package.json
index 711929cac..275d90e72 100644
--- a/apps/app/package.json
+++ b/apps/app/package.json
@@ -1,4 +1,4 @@
{
"name": "tns-samples-apps",
- "main": "ui-tests-app/app.js"
+ "main": "perf-app/app.js"
}
diff --git a/apps/app/perf-app/app-root.xml b/apps/app/perf-app/app-root.xml
new file mode 100644
index 000000000..297f7a921
--- /dev/null
+++ b/apps/app/perf-app/app-root.xml
@@ -0,0 +1 @@
+
diff --git a/apps/app/perf-app/app.ts b/apps/app/perf-app/app.ts
index b3250bf2d..32b7e7fa8 100644
--- a/apps/app/perf-app/app.ts
+++ b/apps/app/perf-app/app.ts
@@ -1,3 +1,3 @@
import * as application from "tns-core-modules/application";
-application.start({ moduleName: "perf-app/main-page" });
+application.run({ moduleName: "perf-app/app-root" });
diff --git a/apps/app/perf-app/main-page.xml b/apps/app/perf-app/main-page.xml
index 33306f0d0..79cc23991 100644
--- a/apps/app/perf-app/main-page.xml
+++ b/apps/app/perf-app/main-page.xml
@@ -3,4 +3,4 @@
-
\ No newline at end of file
+
diff --git a/apps/app/ui-tests-app/action-bar/action-item-position-page.ts b/apps/app/ui-tests-app/action-bar/action-item-position-page.ts
deleted file mode 100644
index e1b48be3c..000000000
--- a/apps/app/ui-tests-app/action-bar/action-item-position-page.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { EventData } from "tns-core-modules/data/observable";
-import { Page } from "tns-core-modules/ui/page";
-import * as observable from "tns-core-modules/data/observable";
-
-export function navigatingTo(args: EventData) {
- let page = args.object;
- page.bindingContext = new ActionItemPostitionView();
-}
-
-export class ActionItemPostitionView extends observable.Observable {
- private _values = ["-i---", "---i---", "---i-"];
- private _count: number;
- private _text: string;
-
- constructor() {
- super();
- this._count = 0;
- }
-
- get text(): string {
- return this._text;
- }
-
- set text(value: string) {
- if (this._text !== value) {
- this._text = value;
- this.notifyPropertyChange("text", value)
- }
- }
-
- public onTap() {
- this.change();
- }
-
- public change() {
- let index = this._count++ % 3;
- this.text = this._values[index];
- }
-}
diff --git a/apps/app/ui-tests-app/action-bar/action-item-position-page.xml b/apps/app/ui-tests-app/action-bar/action-item-position-page.xml
deleted file mode 100644
index 8272a576d..000000000
--- a/apps/app/ui-tests-app/action-bar/action-item-position-page.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/app/ui-tests-app/action-bar/action-view-page.ts b/apps/app/ui-tests-app/action-bar/action-view-page.ts
deleted file mode 100644
index bd3aab248..000000000
--- a/apps/app/ui-tests-app/action-bar/action-view-page.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as frame from "tns-core-modules/ui/frame";
-
-export function navigate(args) {
- frame.topmost().navigate("ui-tests-app/action-bar/clean-page");
-}
diff --git a/apps/app/ui-tests-app/action-bar/action-view-page.xml b/apps/app/ui-tests-app/action-bar/action-view-page.xml
deleted file mode 100644
index 1b7bdd152..000000000
--- a/apps/app/ui-tests-app/action-bar/action-view-page.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/app/ui-tests-app/action-bar/all-page.ts b/apps/app/ui-tests-app/action-bar/all-page.ts
deleted file mode 100644
index 0064b757c..000000000
--- a/apps/app/ui-tests-app/action-bar/all-page.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as frame from "tns-core-modules/ui/frame";
-
-export function navigate() {
- frame.topmost().navigate("ui-tests-app/action-bar/clean-page");
-}
diff --git a/apps/app/ui-tests-app/action-bar/all-page.xml b/apps/app/ui-tests-app/action-bar/all-page.xml
deleted file mode 100644
index c85946305..000000000
--- a/apps/app/ui-tests-app/action-bar/all-page.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/app/ui-tests-app/action-bar/background-css-page.css b/apps/app/ui-tests-app/action-bar/background-css-page.css
deleted file mode 100644
index fe3eceae4..000000000
--- a/apps/app/ui-tests-app/action-bar/background-css-page.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.action {
- background-color: red;
-}
diff --git a/apps/app/ui-tests-app/action-bar/background-css-page.ts b/apps/app/ui-tests-app/action-bar/background-css-page.ts
deleted file mode 100644
index bd3aab248..000000000
--- a/apps/app/ui-tests-app/action-bar/background-css-page.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as frame from "tns-core-modules/ui/frame";
-
-export function navigate(args) {
- frame.topmost().navigate("ui-tests-app/action-bar/clean-page");
-}
diff --git a/apps/app/ui-tests-app/action-bar/background-css-page.xml b/apps/app/ui-tests-app/action-bar/background-css-page.xml
deleted file mode 100644
index 317736b57..000000000
--- a/apps/app/ui-tests-app/action-bar/background-css-page.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/app/ui-tests-app/action-bar/background-page.ts b/apps/app/ui-tests-app/action-bar/background-page.ts
deleted file mode 100644
index 0064b757c..000000000
--- a/apps/app/ui-tests-app/action-bar/background-page.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as frame from "tns-core-modules/ui/frame";
-
-export function navigate() {
- frame.topmost().navigate("ui-tests-app/action-bar/clean-page");
-}
diff --git a/apps/app/ui-tests-app/action-bar/background-page.xml b/apps/app/ui-tests-app/action-bar/background-page.xml
deleted file mode 100644
index c03793a64..000000000
--- a/apps/app/ui-tests-app/action-bar/background-page.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/app/ui-tests-app/action-bar/clean-page.ts b/apps/app/ui-tests-app/action-bar/clean-page.ts
deleted file mode 100644
index ebd7473b1..000000000
--- a/apps/app/ui-tests-app/action-bar/clean-page.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as frame from "tns-core-modules/ui/frame";
-
-export function navigate(args) {
- frame.topmost().goBack();
-}
diff --git a/apps/app/ui-tests-app/action-bar/clean-page.xml b/apps/app/ui-tests-app/action-bar/clean-page.xml
deleted file mode 100644
index 4319ac687..000000000
--- a/apps/app/ui-tests-app/action-bar/clean-page.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/app/ui-tests-app/action-bar/color-page.ts b/apps/app/ui-tests-app/action-bar/color-page.ts
deleted file mode 100644
index 0064b757c..000000000
--- a/apps/app/ui-tests-app/action-bar/color-page.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as frame from "tns-core-modules/ui/frame";
-
-export function navigate() {
- frame.topmost().navigate("ui-tests-app/action-bar/clean-page");
-}
diff --git a/apps/app/ui-tests-app/action-bar/color-page.xml b/apps/app/ui-tests-app/action-bar/color-page.xml
deleted file mode 100644
index 1224561be..000000000
--- a/apps/app/ui-tests-app/action-bar/color-page.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/app/ui-tests-app/action-bar/flat-layout.xml b/apps/app/ui-tests-app/action-bar/flat-layout.xml
deleted file mode 100644
index f7f64f965..000000000
--- a/apps/app/ui-tests-app/action-bar/flat-layout.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/app/ui-tests-app/action-bar/flat-page.ts b/apps/app/ui-tests-app/action-bar/flat-page.ts
deleted file mode 100644
index 5ca8b56c0..000000000
--- a/apps/app/ui-tests-app/action-bar/flat-page.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Label } from "tns-core-modules/ui/label";
-import { Page } from "tns-core-modules/ui/page";
-
-export function onNavigateTo(args) {
- updateText(args.object);
-}
-
-export function changeFlatPropertyValue(args) {
- const page = args.object.page;
- page.actionBar.flat = !page.actionBar.flat;
- updateText(page);
-}
-
-function updateText(page: Page) {
- const label =