アプリケーション用のクエリビルダーを作成するためにredquerybuilderバージョン0.6を使用しています。アーカイブをダウンロードし、ドキュメントに従ってスクリプトを追加しました。データベースを選択してクエリするための日付フィールドがあります。フィールド リストから日付フィールドを選択すると、値テキストには現在の日付値が自動的に入力されますが、引数はまだ null のままです。また、選択したフィールドを日付から他のフィールドに変更すると、現在のフィールドの引数が日付値で更新されます。日付フィールドのデフォルト値を「null」に設定する方法はありますか? 私のコードは以下の通りです:
enter code here
RedQueryBuilderFactory.create({
meta : {
tables : [ {
"name" : "artefacts_log2timeline",
"label" : "Log2Timeline",
"columns" : [ {
"name" : "timezone",
"label" : "Timezone",
"type" : "STRING"
}, {
"name" : "datetime",
"label" : "date",
"type" : "DATE",
"default" : "",
"size" : 10
}, {
"name" : "source",
"label" : "Source",
"type" : "STRING",
//"editor" : "SELECT"
}]
},
onSqlChange : function(sql, args) {
var out = sql + '\r\n';
var query_args = '';
for (var i = 0; i < args.length; i++) {
//console.log('Arg'+args);
//console.log('Sql'+sql);
var arg = args[i];
if (arg == null || arg == '')
arg = ''
if(i != 0){
query_args+=','
/*if(i > 0){
if(arg.toString().indexOf('GMT') > -1 || arg == '')
arg = ''
}*/
}
//console.log(sql)
out += 'arg' + i;
if (arg != null) {
out += ' type=' + Object.prototype.toString.call(arg) + ' toString=' + arg;
} else {
out += ' null';
}
out += '\r\n';
query_args+='args'+i+'='+arg
}
document.getElementById("debug").value = out;
document.getElementById("args").value= query_args;
console.log(document.getElementById("args").value)
//console.log(document.getElementById("debug").value);
},
enumerate : function(request, response) {
if (request.columnName == 'CATEGORY') {
response([{value:'A', label:'Small'}, {value:'B', label:'Medium'}]);
} else {
response([{value:'M', label:'Male'}, {value:'F', label:'Female'}]);
}
}]
},'', '');
前もって感謝します。