Skip to content

Commit f41866a

Browse files
committed
ios core 3 impl
1 parent abe67f3 commit f41866a

19 files changed

+894
-839
lines changed

.vscode/tasks.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
"taskName": "build",
1212
"args": [],
1313
"isBuildCommand": true,
14-
"problemMatcher": ["$tsc"]
14+
"problemMatcher": ["$tsc", {
15+
"base": "$tslint5",
16+
"fileLocation": "relative"
17+
}]
1518
}
1619
]
1720
}

demo/.vscode/launch.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Launch on iOS",
6+
"type": "nativescript",
7+
"request": "launch",
8+
"platform": "ios",
9+
"appRoot": "${workspaceRoot}",
10+
"sourceMaps": true,
11+
"watch": true
12+
},
13+
{
14+
"name": "Attach on iOS",
15+
"type": "nativescript",
16+
"request": "attach",
17+
"platform": "ios",
18+
"appRoot": "${workspaceRoot}",
19+
"sourceMaps": true,
20+
"watch": false
21+
},
22+
{
23+
"name": "Launch on Android",
24+
"type": "nativescript",
25+
"request": "launch",
26+
"platform": "android",
27+
"appRoot": "${workspaceRoot}",
28+
"sourceMaps": true,
29+
"watch": true
30+
},
31+
{
32+
"name": "Attach on Android",
33+
"type": "nativescript",
34+
"request": "attach",
35+
"platform": "android",
36+
"appRoot": "${workspaceRoot}",
37+
"sourceMaps": true,
38+
"watch": false
39+
}
40+
]
41+
}

demo/app/App_Resources/iOS/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<key>CFBundleInfoDictionaryVersion</key>
1212
<string>6.0</string>
1313
<key>CFBundleName</key>
14-
<string>${PRODUCT_NAME}</string>
14+
<string>GridView</string>
1515
<key>CFBundlePackageType</key>
1616
<string>APPL</string>
1717
<key>CFBundleShortVersionString</key>

demo/app/app.css

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
1-
.title {
2-
font-size: 30;
3-
horizontal-align: center;
4-
margin:20;
1+
.default {
2+
background-color: red;
3+
padding: 10;
54
}
65

7-
button {
8-
font-size: 42;
9-
horizontal-align: center;
10-
}
11-
12-
.message {
13-
font-size: 20;
14-
color: #284848;
15-
horizontal-align: center;
16-
}
6+
.changed {
7+
background-color: yellow;
8+
padding: 0 15;
9+
}

demo/app/app.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
import application = require("application");
2-
application.mainModule = "main-page";
32

4-
// Remove this in the AppBuilder templates
5-
application.cssFile = "./app.css";
6-
7-
application.start();
3+
application.start({ moduleName: "main-page" });

demo/app/main-page.ts

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,45 @@
1-
/// <reference path="../node_modules/nativescript-grid-view/grid-view.d.ts" />
2-
import observable = require("data/observable");
3-
import observableArray = require("data/observable-array");
4-
import pages = require("ui/page");
5-
import gridView = require("nativescript-grid-view");
1+
import { EventData, Observable } from "data/observable";
2+
import { ObservableArray } from "data/observable-array";
3+
import { Page } from "ui/page";
64

7-
let viewModel: observable.Observable;
5+
import { GridItemEventData } from "nativescript-grid-view";
86

9-
export function pageLoaded(args: observable.EventData) {
10-
let page = <pages.Page>args.object;
11-
let items = new observableArray.ObservableArray();
7+
let viewModel: Observable;
8+
9+
export function pageLoaded(args: EventData) {
10+
const page = args.object as Page;
11+
const items = new ObservableArray();
1212

1313
for (let loop = 0; loop < 200; loop++) {
1414
items.push({ value: "test " + loop.toString() });
1515
}
16-
viewModel = new observable.Observable();
16+
viewModel = new Observable();
1717
viewModel.set("items", items);
18+
viewModel.set("rowHeight", 75);
19+
viewModel.set("colWidth", 100);
20+
viewModel.set("verticalSpacing", 5);
21+
viewModel.set("horizontalSpacing", 5);
22+
viewModel.set("cssClass", "default");
1823

1924
page.bindingContext = viewModel;
2025
}
2126

22-
export function gridViewItemTap(args: gridView.GridItemEventData) {
27+
export function gridViewItemTap(args: GridItemEventData) {
2328
console.log("tap index " + args.index.toString());
2429
}
2530

26-
export function gridViewItemLoading(args: gridView.GridItemEventData) {
31+
export function gridViewItemLoading(args: GridItemEventData) {
2732
console.log("item loading " + args.index.toString());
2833
}
2934

30-
export function gridViewLoadMoreItems(args: observable.EventData) {
35+
export function gridViewLoadMoreItems(args: EventData) {
3136
console.log("load more items");
37+
}
38+
39+
export function changeStyles() {
40+
viewModel.set("rowHeight", 100);
41+
viewModel.set("colWidth", 125);
42+
viewModel.set("verticalSpacing", 10);
43+
viewModel.set("horizontalSpacing", 10);
44+
viewModel.set("cssClass", "changed");
3245
}

demo/app/main-page.xml

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
<Page xmlns="http://schemas.nativescript.org/tns.xsd" xmlns:gv="nativescript-grid-view" loaded="pageLoaded">
2-
<GridLayout>
3-
<gv:GridView items="{{ items }}" verticalSpacing="5" horizontalSpacing="5" colWidth="100" rowHeight="75" style="padding: 5;"
4-
itemTap="gridViewItemTap" itemLoading="gridViewItemLoading" loadMoreItems="gridViewLoadMoreItems">
5-
<gv:GridView.itemTemplate>
6-
<GridLayout backgroundColor="#33ffff">
7-
<Label text="{{ value }}" verticalAlignment="center"/>
8-
</GridLayout>
9-
</gv:GridView.itemTemplate>
10-
</gv:GridView>
11-
</GridLayout>
2+
<GridLayout rows="*, auto">
3+
<gv:GridView row="0" class="{{ cssClass }}" items="{{ items }}" verticalSpacing="{{ verticalSpacing }}" horizontalSpacing="{{ horizontalSpacing }}"
4+
colWidth="{{ colWidth }}" rowHeight="{{ rowHeight }}"
5+
itemTap="gridViewItemTap" itemLoading="gridViewItemLoading" loadMoreItems="gridViewLoadMoreItems">
6+
<gv:GridView.itemTemplate>
7+
<GridLayout backgroundColor="#33ffff">
8+
<Label text="{{ value }}" verticalAlignment="center"/>
9+
</GridLayout>
10+
</gv:GridView.itemTemplate>
11+
</gv:GridView>
12+
<!--<ListView row="0" class="default" items="{{ items }}" verticalSpacing="5" horizontalSpacing="5" colWidth="100" rowHeight="75"
13+
itemTap="gridViewItemTap" itemLoading="gridViewItemLoading" loadMoreItems="gridViewLoadMoreItems">
14+
<ListView.itemTemplate>
15+
<GridLayout backgroundColor="#33ffff">
16+
<Label text="{{ value }}" verticalAlignment="center"/>
17+
</GridLayout>
18+
</ListView.itemTemplate>
19+
</ListView> -->
20+
<Button row="1" text="Change Styles" tap="changeStyles" style="font-size: 25;" />
21+
</GridLayout>
1222
</Page>

demo/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"nativescript": {
3-
"id": "net.tangrainc.gridviewsample",
4-
"tns-ios": {
5-
"version": "2.5.0"
6-
},
3+
"id": "com.tangrainc.gridviewsample",
74
"tns-android": {
85
"version": "2.5.0"
6+
},
7+
"tns-ios": {
8+
"version": "3.0.0-rc.1"
99
}
1010
},
1111
"scripts": {
@@ -14,14 +14,14 @@
1414
},
1515
"dependencies": {
1616
"nativescript-grid-view": "file:../bin/dist",
17-
"tns-core-modules": "^2.5.0"
17+
"tns-core-modules": "rc"
1818
},
1919
"devDependencies": {
2020
"babel-traverse": "6.21.0",
2121
"babel-types": "6.21.0",
2222
"babylon": "6.14.1",
2323
"lazy": "1.0.11",
24-
"nativescript-dev-typescript": "0.3.5",
25-
"typescript": "2.1.4"
24+
"nativescript-dev-typescript": "0.4.2",
25+
"typescript": "2.2.2"
2626
}
2727
}

demo/tsconfig.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,19 @@
22
"compilerOptions": {
33
"module": "commonjs",
44
"target": "es5",
5-
"sourceMap": true,
65
"experimentalDecorators": true,
7-
"noEmitHelpers": true
6+
"noEmitHelpers": true,
7+
"lib": [
8+
"es6",
9+
"dom"
10+
],
11+
"baseUrl": ".",
12+
"paths": {
13+
"*": [
14+
"./node_modules/tns-core-modules/*",
15+
"./node_modules/*"
16+
]
17+
}
818
},
919
"exclude": [
1020
"node_modules",

0 commit comments

Comments
 (0)