私はopenerp
の Web 開発に不慣れです。助けていただければ幸いです。たとえば、textbox
開始ボタンと停止ボタンを備えたカウントアップタイマーウィジェットを作成したい(新しいカスタムフィールドに含めるか、個別に)。
javascript
時間をカウントする小さな関数を作成しました。
basic を拡張して新しいウィジェットを作成する必要がありますFieldChar
か? 新しいタイプのフィールドを作成しますか?
カウンター コードをどこに配置し、それをchar
フィールド (または新しいタイプのフィールド)に表示する方法を教えてください。
次のようなもので拡張する方法に関するドキュメントを見つけましたopenerp.web.form.FieldChar
:
openerp.web_mymodule = function(openerp) {
openerp.web.form.Field.include({
init: function(view, node) {
console.log('mine');
this._super(view, node);
}
});
}
openerp's
インターフェイスがどのように機能するかについてのドキュメントであっても、これらすべてをまとめるためのガイダンスが必要です。
前もって感謝します
これが私がいる場所です: Module : web_uptimer
web_uptimer.js:
openerp.web_uptimer = function (openerp)
{
openerp.web.form.widgets.add('uptimer', 'openerp.web_uptimer.CountUp');
openerp.web_uptimer.CountUp = openerp.web.form.FieldChar.extend(
{
template : "uptimer.template",
init: function (view, code) {
this._super(view, code);
console.log('counting...');
alert('counting...');
}
});
}
web_uptimer.xml:
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-name="uptimer.template">
<html>
</html>
</t>
</templates>
私のクイックカウントアップタイマーテスト:
<html>
<head>
<title></title>
<script type="text/javascript">
var counter = 0;
var minutes = 0;
var hours = 0;
var timer;
var todisplay;
var h2disp;
var m2disp;
var s2disp;
function countUP ()
{
counter = counter + 1;//increment the counter by 1
if(counter == 60)
{
counter = 0;
minutes = minutes + 1;
if(minutes == 60)
{
minutes = 0;
hours = hours + 1
}
}
if(counter < 10)
{
s2disp = "0" + counter;
}
else
{
s2disp = counter;
}
if(minutes < 10)
{
m2disp = "0" + minutes;
}
else
{
m2disp = minutes;
}
if(hours < 10)
{
h2disp = "0" + hours;
}
else
{
h2disp = hours;
}
todisplay = h2disp + ":" + m2disp + ":" + s2disp;
document.getElementById("timer_container").innerHTML = todisplay;
}
</script>
</head>
<body onload='timer=setInterval("countUP()", 1000 );'>
<div id="timer_container">00:00:00</div>
<div>
<button onclick='clearInterval(timer);'>Stop Timer</button>
<button onclick='timer=setInterval("countUP()", 1000 );'>Continue Timer</button>
</div>
</body>
</html>