Skip to content

Commit d8a7a14

Browse files
committed
Merge branch 'StefansArya-master'
2 parents 64128f8 + c335857 commit d8a7a14

File tree

10 files changed

+98
-76
lines changed

10 files changed

+98
-76
lines changed
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
{
2-
"presets" : [ "babel-preset-es2015"]
2+
"presets": [
3+
["@babel/preset-env", {
4+
"targets": {
5+
"browsers": ["last 1 chrome versions"]
6+
}
7+
}]
8+
],
9+
"plugins": []
310
}

frameworks/keyed/scarletsframe/index.html

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,7 @@ <h1>ScarletsFrame-"keyed"</h1>
3737
</div>
3838
</div>
3939
<table class="table table-hover table-striped test-data">
40-
<tbody id="tbody">
41-
<tr sf-repeat-this="x in list" class="{{ x.status }}">
42-
<td class="col-md-1">{{ x.id }}</td>
43-
<td class="col-md-4">
44-
<a class="lbl" sf-click="b_select(this)">{{ x.label }}</a>
45-
</td>
46-
<td class="col-md-1">
47-
<a class="remove" sf-click="b_remove(this)">
48-
<span class="remove glyphicon glyphicon-remove" aria-hidden="true"></span>
49-
</a>
50-
</td>
51-
<td class="col-md-6"></td>
52-
</tr>
40+
<tbody class="sf-keyed-list" id="tbody">
5341
</tbody>
5442
</table>
5543
<span class="preloadicon glyphicon glyphicon-remove" aria-hidden="true"></span>

frameworks/keyed/scarletsframe/package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@
2121
"url": "https://github.com/krausest/js-framework-benchmark.git"
2222
},
2323
"dependencies": {
24-
"scarletsframe": "0.9.13"
24+
"scarletsframe": "0.10.6",
25+
"webpack": "^4.29.2"
2526
},
2627
"devDependencies": {
27-
"babel-core": "6.24.1",
28-
"babel-loader": "7.0.0",
29-
"babel-preset-es2015": "6.24.1",
30-
"webpack": "2.5.1"
28+
"@babel/core": "^7.3.3",
29+
"@babel/preset-env": "^7.3.1",
30+
"babel-loader": "^8.0.5",
31+
"webpack-cli": "^3.2.3"
3132
}
3233
}

frameworks/keyed/scarletsframe/src/main.js

Lines changed: 37 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ sf.controller.run('bench-mark', function(self, root){
2626
for (var i = 0; i < count; i++)
2727
data.push({
2828
id: nextId++,
29-
status:'',
29+
isSelected:'',
3030
label: adjectives[_random(adjectives.length)] + " " + colours[_random(colours.length)] + " " + nouns[_random(nouns.length)]
3131
});
3232

@@ -37,7 +37,7 @@ sf.controller.run('bench-mark', function(self, root){
3737
if(self.selected === -1) return;
3838

3939
if(self.list[self.selected] !== undefined){
40-
self.list[self.selected].status = '';
40+
self.list[self.selected].isSelected = false;
4141
self.list.softRefresh(self.selected);
4242
}
4343

@@ -46,64 +46,64 @@ sf.controller.run('bench-mark', function(self, root){
4646

4747
// Handle button
4848
self.b_run = function(){
49-
Measurer.start("run");
49+
// Measurer.start("run");
5050
self.list = self.buildData();
5151
self.selected = -1;
52-
Measurer.stop();
52+
// Measurer.stop();
5353
}
5454

5555
self.b_runlots = function(){
56-
Measurer.start("runLots");
56+
// Measurer.start("runLots");
5757
self.list = self.buildData(10000);
5858
self.selected = -1;
59-
Measurer.stop();
59+
// Measurer.stop();
6060
}
6161

6262
self.b_add = function(){
63-
Measurer.start("add");
63+
// Measurer.start("add");
6464
self.list = self.list.concat(self.buildData(1000));
65-
Measurer.stop();
65+
// Measurer.stop();
6666
}
6767

6868
self.b_update = function(){
69-
Measurer.start("update");
69+
// Measurer.start("update");
7070
for (var i = 0; i < self.list.length; i += 10) {
7171
self.list[i].label += ' !!!';
7272
self.list.softRefresh(i);
7373
}
74-
Measurer.stop();
74+
// Measurer.stop();
7575
}
7676

7777
self.b_clear = function(){
78-
Measurer.start("clear");
78+
// Measurer.start("clear");
7979
self.list.splice(0);
8080
self.selected = -1;
81-
Measurer.stop();
81+
// Measurer.stop();
8282
}
8383

8484
self.b_swaprows = function(){
85-
Measurer.start("swapRows");
85+
// Measurer.start("swapRows");
8686

8787
if(self.list.length > 998)
8888
self.list.swap(1, 998);
8989

90-
Measurer.stop();
90+
// Measurer.stop();
9191
}
9292

9393
self.b_select = function(el){
94-
Measurer.start("select");
94+
// Measurer.start("select");
9595
self.unselect();
9696

9797
var rowIndex = $.parent(el, '[sf-bind-list]');
9898
self.selected = rowIndex = sf.model.index(rowIndex);
9999

100-
self.list[rowIndex].status = 'danger';
100+
self.list[rowIndex].isSelected = true;
101101
self.list.softRefresh(rowIndex);
102-
Measurer.stop();
102+
// Measurer.stop();
103103
}
104104

105105
self.b_remove = function(el){
106-
Measurer.start("delete");
106+
// Measurer.start("delete");
107107

108108
var rowIndex = $.parent(el, '[sf-bind-list]');
109109
rowIndex = sf.model.index(rowIndex);
@@ -113,7 +113,7 @@ sf.controller.run('bench-mark', function(self, root){
113113
if(rowIndex === self.selected)
114114
self.selected = -1;
115115

116-
Measurer.stop();
116+
// Measurer.stop();
117117
}
118118
});
119119

@@ -139,5 +139,21 @@ sf.controller.run('measurer', function(self){
139139
}
140140
});
141141

142-
// We're not using dynamic resource loader
143-
sf.loader.off();
142+
// Fix for (https://github.com/krausest/js-framework-benchmark/pull/519#issuecomment-464855788)
143+
sf(function(){
144+
tbody.innerHTML =
145+
`<tr sf-repeat-this="x in list" class="{{ x.isSelected ? 'danger' : '' }}">
146+
<td class="col-md-1">{{ x.id }}</td>
147+
<td class="col-md-4">
148+
<a class="lbl" sf-click="b_select(this)">{{ x.label }}</a>
149+
</td>
150+
<td class="col-md-1">
151+
<a class="remove" sf-click="b_remove(this)">
152+
<span class="remove glyphicon glyphicon-remove" aria-hidden="true"></span>
153+
</a>
154+
</td>
155+
<td class="col-md-6"></td>
156+
</tr>`;
157+
158+
sf.model.init(tbody);
159+
});

frameworks/keyed/scarletsframe/webpack.config.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,22 @@ var cache = {};
44
var loaders = [
55
{
66
test: /\.js$/,
7-
loader: 'babel-loader'
7+
loader: 'babel-loader',
8+
exclude: /node_modules/
89
},
910
{
1011
test: /\.css$/,
1112
loader: 'style-loader!css-loader'
1213
}
1314
];
1415
var extensions = [
15-
'.js', '.jsx', '.es6.js'
16+
'.js', '.jsx', '.es6.js', '.msx'
1617
];
1718

1819
module.exports = [{
1920
cache: cache,
2021
module: {
21-
loaders: loaders
22+
rules: loaders
2223
},
2324
entry: {
2425
main: './src/main.js',
@@ -28,13 +29,11 @@ module.exports = [{
2829
filename: '[name].js'
2930
},
3031
resolve: {
31-
extensions: extensions,
3232
modules: [
3333
__dirname,
3434
path.resolve(__dirname, "src"),
3535
"node_modules"
3636
],
37-
alias: {
38-
}
39-
}
37+
extensions: extensions
38+
},
4039
}];
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
{
2-
"presets" : [ "babel-preset-es2015"]
2+
"presets": [
3+
["@babel/preset-env", {
4+
"targets": {
5+
"browsers": ["last 1 chrome versions"]
6+
}
7+
}]
8+
],
9+
"plugins": []
310
}

frameworks/non-keyed/scarletsframe/index.html

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8"/>
5-
<title>ScarletsFrame-"keyed"</title>
5+
<title>ScarletsFrame-"non-keyed"</title>
66
<link href="/css/currentStyle.css" rel="stylesheet"/>
77
</head>
88
<body>
99
<div class="container" sf-controller="bench-mark">
1010
<div class="jumbotron">
1111
<div class="row">
1212
<div class="col-md-6">
13-
<h1>ScarletsFrame-"keyed"</h1>
13+
<h1>ScarletsFrame-"non-keyed"</h1>
1414
</div>
1515
<div class="col-md-6">
1616
<div class="row">
@@ -38,18 +38,6 @@ <h1>ScarletsFrame-"keyed"</h1>
3838
</div>
3939
<table class="table table-hover table-striped test-data">
4040
<tbody id="tbody">
41-
<tr sf-repeat-this="x in list" class="{{ x.isSelected ? 'danger' : '' }}">
42-
<td class="col-md-1">{{ x.id }}</td>
43-
<td class="col-md-4">
44-
<a class="lbl" sf-click="b_select(this)">{{ x.label }}</a>
45-
</td>
46-
<td class="col-md-1">
47-
<a class="remove" sf-click="b_remove(this)">
48-
<span class="remove glyphicon glyphicon-remove" aria-hidden="true"></span>
49-
</a>
50-
</td>
51-
<td class="col-md-6"></td>
52-
</tr>
5341
</tbody>
5442
</table>
5543
<span class="preloadicon glyphicon glyphicon-remove" aria-hidden="true"></span>

frameworks/non-keyed/scarletsframe/package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@
2121
"url": "https://github.com/krausest/js-framework-benchmark.git"
2222
},
2323
"dependencies": {
24-
"scarletsframe": "0.10.4"
24+
"scarletsframe": "0.10.6",
25+
"webpack": "^4.29.2"
2526
},
2627
"devDependencies": {
27-
"babel-core": "6.24.1",
28-
"babel-loader": "7.0.0",
29-
"babel-preset-es2015": "6.24.1",
30-
"webpack": "2.5.1"
28+
"@babel/core": "^7.3.3",
29+
"@babel/preset-env": "^7.3.1",
30+
"babel-loader": "^8.0.5",
31+
"webpack-cli": "^3.2.3"
3132
}
3233
}

frameworks/non-keyed/scarletsframe/src/main.js

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,5 +140,21 @@ sf.controller.run('measurer', function(self){
140140
}
141141
});
142142

143-
// We're not using dynamic resource loader
144-
sf.loader.off();
143+
// Fix for (https://github.com/krausest/js-framework-benchmark/pull/519#issuecomment-464855788)
144+
sf(function(){
145+
tbody.innerHTML =
146+
`<tr sf-repeat-this="x in list" class="{{ x.isSelected ? 'danger' : '' }}">
147+
<td class="col-md-1">{{ x.id }}</td>
148+
<td class="col-md-4">
149+
<a class="lbl" sf-click="b_select(this)">{{ x.label }}</a>
150+
</td>
151+
<td class="col-md-1">
152+
<a class="remove" sf-click="b_remove(this)">
153+
<span class="remove glyphicon glyphicon-remove" aria-hidden="true"></span>
154+
</a>
155+
</td>
156+
<td class="col-md-6"></td>
157+
</tr>`;
158+
159+
sf.model.init(tbody);
160+
});

frameworks/non-keyed/scarletsframe/webpack.config.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,22 @@ var cache = {};
44
var loaders = [
55
{
66
test: /\.js$/,
7-
loader: 'babel-loader'
7+
loader: 'babel-loader',
8+
exclude: /node_modules/
89
},
910
{
1011
test: /\.css$/,
1112
loader: 'style-loader!css-loader'
1213
}
1314
];
1415
var extensions = [
15-
'.js', '.jsx', '.es6.js'
16+
'.js', '.jsx', '.es6.js', '.msx'
1617
];
1718

1819
module.exports = [{
1920
cache: cache,
2021
module: {
21-
loaders: loaders
22+
rules: loaders
2223
},
2324
entry: {
2425
main: './src/main.js',
@@ -28,13 +29,11 @@ module.exports = [{
2829
filename: '[name].js'
2930
},
3031
resolve: {
31-
extensions: extensions,
3232
modules: [
3333
__dirname,
3434
path.resolve(__dirname, "src"),
3535
"node_modules"
3636
],
37-
alias: {
38-
}
39-
}
37+
extensions: extensions
38+
},
4039
}];

0 commit comments

Comments
 (0)