Fold All / Expand All

2012年6月8日 星期五

node.js first try on Windows

Running on Windows 7, node.js v0.6.19
http://nodejs.org/dist/v0.6.19/node-v0.6.19.msi

var http = require('http'),
sys = require('sys'),
url = require('url'),
path = require('path'),
fs = require('fs');

var s = http.createServer(function(request, response) {
var uri = url.parse(request.url).pathname;
var filename = path.join(process.cwd(), uri);

path.exists(filename, function(exists) {
if (!exists) {
response.writeHead(404, {'Content-Type': 'text/plain'});
response.write('404 Not Found\n');
response.end();
return;
}

fs.readFile(filename, 'binary', function(err, file) {
if (err) {
response.writeHead(500, {'Content-Type': 'text/plain'});
response.write(err + '\n');
response.end();
return;
}

response.writeHead(200);
response.write(file, 'binary');
response.end();
});
});
});

s.listen(8080);

sys.puts('Listening on port 8080');


using Vim and press F6, rc setting is add
autocmd FileType javascript noremap :!node %

2012年6月5日 星期二

[Ext JS] Grid always shows horizontal scroll bar in Chrome 19

Issue 128511: chrome v 19 + bug in UI rendering on grids and ext.js
http://code.google.com/p/chromium/issues/detail?id=128511

Issue 124816: regression: table-layout:fixed uses incorrect box-sizing model
http://code.google.com/p/chromium/issues/detail?id=124816#c14

Grids are rendered differently in upcoming versions of Google Chrome
http://www.sencha.com/forum/showthread.php?198124&p=805437&viewfull=1#post805437

簡單地說,就是在 Chrome 19 看 Ext 3.x 的 Grid Panel,有用 forceFit: true ,但是仍會出現 horizontal scroll bar。

在 Chromium 有人回報是 bug,看來是這版把 box-sizing 行為改了。

而 Sencha forum 上有人提出了 fix 方案,在 ColumnModel 的 getTotalWidth() 裡動手腳。

不過稍微追了一下 code,發現其實把某 isWebkit 拿掉就好了
getColumnWidth : function(column) {
var columnWidth = this.cm.getColumnWidth(column),
borderWidth = this.borderWidth;

if (Ext.isNumber(columnWidth)) {
if (Ext.isBorderBox || (Ext.isWebKit && !Ext.isSafari2)) {
return columnWidth + "px";
} else {
return Math.max(columnWidth - borderWidth, 0) + "px";
}
} else {
return columnWidth;
}
},

裡面的 isWebKit 條件拿掉,在 Chrome 19 看起來就正常了。Safari 5 on Windows or Mac 看起來也沒啥問題。