Skip to content

Commit 60e565a

Browse files
committed
move to basis.js 1.3
1 parent 0296206 commit 60e565a

24 files changed

+4005
-4051
lines changed

.bowerrc

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"directory": "lib/"
3+
}

bower.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"name": "file-graph-viewer",
3+
"version": "0.0",
4+
"dependencies": {
5+
"basisjs": "1.3.0"
6+
}
7+
}

src/app.js

+19-17
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
1-
basis.require('basis.ui');
2-
;;;basis.require('basis.devpanel');
1+
require('basis.ui');
2+
require('basis.app');
3+
/** @cut */ require('basis.devpanel');
34

4-
basis.ready(function(){
5-
var view = resource('module/view/index.js').fetch();
6-
new basis.ui.Node({
7-
container: document.body,
8-
template: resource('app/template/layout.tmpl'),
9-
binding: {
10-
view: view
11-
},
12-
action: {
13-
loadDefault: function(){
14-
view.dataType.loadMap(resource('data/file-map.json').fetch());
5+
module.exports = basis.app.create({
6+
init: function(){
7+
var view = require('./module/view/index.js');
8+
return new basis.ui.Node({
9+
template: resource('./app/template/layout.tmpl'),
10+
binding: {
11+
view: view
1512
},
16-
loadDocs: function(){
17-
view.dataType.loadMap(resource('data/file-map.docs.json').fetch());
13+
action: {
14+
loadDefault: function(){
15+
view.dataType.loadMap(require('./data/file-map.json'));
16+
},
17+
loadDocs: function(){
18+
view.dataType.loadMap(require('./data/file-map.docs.json'));
19+
}
1820
}
19-
}
20-
});
21+
});
22+
}
2123
});

src/app/template/layout.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<b:resource src="layout.css" />
1+
<b:style src="./layout.css" />
22

33
<div id="layout">
44
<div style="position: absolute; bottom: 10px; right: 10px; z-index: 10000">

src/module/view/index.js

+5-14
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,16 @@
1-
basis.require('basis.ui');
1+
require('basis.ui');
22

3-
var type = resource('type.js').fetch();
4-
5-
//var list = resource('module/list/index.js').fetch();
6-
//var details = resource('module/details/index.js').fetch();
7-
8-
/*list.selection.addHandler({
9-
itemsChanged: function(sender){
10-
details.setDelegate(sender.pick());
11-
}
12-
}, details);*/
3+
var type = require('./type.js');
134

145
module.exports = new basis.ui.Node({
156
dataType: type,
167

17-
template: resource('template/view.tmpl'),
8+
template: resource('./template/view.tmpl'),
189
binding: {
1910
//list: list,
2011
//details: details,
21-
fileStat: resource('module/fileStat/index.js').fetch(),
22-
graph: resource('module/graph/index.js').fetch()
12+
fileStat: require('./module/fileStat/index.js'),
13+
graph: require('./module/graph/index.js')
2314
}
2415
});
2516

Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
<b:style src="fileList.css" />
12

2-
<b:resource src="fileList.css" />
3-
4-
<div class="details-file-list details-file-list-{hasChildren}">
5-
<h3>{name}</h3>
6-
<ul{childNodesElement}/>
7-
</div>
3+
<div class="details-file-list details-file-list-{hasChildren}">
4+
<h3>{name}</h3>
5+
<ul{childNodesElement}/>
6+
</div>
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1+
<b:style src="layout.css" />
12

2-
<b:resource src="layout.css" />
3+
<div id="details-layout" class="{hasModel}">
4+
<h2>{filename}</h2>
35

4-
<div id="details-layout" class="{hasModel}">
5-
<h2>{filename}</h2>
6+
<!--{linkFrom}-->
67

7-
<!--{linkFrom}-->
8-
9-
<!--{linkTo}-->
10-
</div>
8+
<!--{linkTo}-->
9+
</div>
+18-31
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
basis.require('basis.ui');
2-
basis.require('basis.data.dataset');
3-
4-
var type = resource('../../type.js').fetch();
1+
require('basis.data.dataset');
2+
require('basis.data.index');
3+
require('basis.ui');
54

5+
var type = require('../../type.js');
6+
var countIndex = basis.data.index.count;
67
var fileByType = new basis.data.dataset.Split({
78
source: type.files,
89
rule: 'data.type'
910
});
1011

11-
var view = new basis.ui.Node({
12+
module.exports = new basis.ui.Node({
1213
dataSource: fileByType,
1314

14-
template: resource('template/fileStat.tmpl'),
15+
template: resource('./template/fileStat.tmpl'),
1516
binding: {
16-
totalCount: function(){
17-
return type.files.itemCount;
18-
},
19-
noSelected: 'selection.itemCount == 0'
17+
totalCount: countIndex(type.files),
18+
noSelected: function(node){
19+
return countIndex(node.selection).as(basis.bool.invert);
20+
}
2021
},
2122
action: {
2223
resetSelection: function(){
@@ -27,37 +28,23 @@ var view = new basis.ui.Node({
2728
listen: {
2829
selection: {
2930
itemsChanged: function(selection){
30-
this.updateBind('noSelected');
31-
type.matched.setSources(selection.getItems().map(function(node){
32-
return node.delegate;
33-
}));
31+
var selected = selection.pick();
32+
type.matched.setDataset(selected ? selected.delegate : null);
3433
}
3534
}
3635
},
3736

3837
selection: true,
3938
childClass: {
40-
template: resource('template/type.tmpl'),
39+
template: resource('./template/type.tmpl'),
4140
binding: {
4241
type: 'data:title',
43-
count: function(node){
44-
return node.delegate && node.delegate.itemCount;
45-
}
46-
},
47-
listen: {
48-
delegate: {
49-
itemsChanged: function(){
50-
this.updateBind('count');
42+
count: {
43+
events: 'delegateChanged',
44+
getter: function(node){
45+
return node.delegate ? countIndex(node.delegate) : 0;
5146
}
5247
}
5348
}
5449
}
5550
});
56-
57-
type.files.addHandler({
58-
itemsChanged: function(){
59-
view.updateBind('totalCount');
60-
}
61-
});
62-
63-
module.exports = view;

src/module/view/module/fileStat/template/fileStat.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<b:style src="fileStat.css" />
1+
<b:style src="./fileStat.css" />
22

33
<div class="file-stat file-stat-{noSelected}">
44
<div class="header">File type statistics</div>
55
<!--{childNodesHere}-->
6-
<b:include src="type.tmpl">
6+
<b:include src="./type.tmpl">
77
<b:class value="file-type-all file-type-all-{noSelected}"/>
88
<b:set-attr name="event-click" value="resetSelection"/>
99
<b:replace ref="type">all files</b:replace>
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
<b:style src="./type.css" />
12

2-
<b:resource src="type.css" />
3-
4-
<div class="file-type file-type_{selected}" event-click="select">
5-
<span class="file-type-count">{count}</span>
6-
<span class="file-type-title">{type}</span>
7-
</div>
3+
<div class="file-type file-type_{selected}" event-click="select">
4+
<span class="file-type-count">{count}</span>
5+
<span class="file-type-title">{type}</span>
6+
</div>

0 commit comments

Comments
 (0)