- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 openerp
的网络开发新手,希望得到一些帮助。我想创建计数计时器小部件,例如在 textbox
中,带有开始和停止按钮(包括在我的新自定义字段中或单独)。
我做了一个小的 javascript
函数来计算时间。
我应该通过扩展基本的 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
文档也是如此。
提前致谢
这是我所在的地方:模块: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>
最佳答案
我设法将我的计时器作为一个 openerp Action 进行试用,计时器开始计数,显示更新等...
现在我希望它成为我可以在表单中使用的 openerp 字段:
我快要成功了,但按钮不再起作用了。
这是我的代码:
模块名称是 web_example:
src/js/first_module.js:
openerp.web_example = function (openerp) {
openerp.web.form.widgets.add('FieldUpTimer', 'openerp.web.form.FieldUpTimer');
openerp.web.form.FieldUpTimer = openerp.web.form.FieldChar.extend({
template: 'web_example.action',
init: function () {
this._super.apply(this, arguments);
this._start = null;
this._watch = null;
},
start: function() {
this.$element.find('button#bstart').click(_.bind(this.mystart, this));
this.$element.find('button#bstart').click(this.mystart);
this._start = null;
},
countUP: function (counter,minutes,hours,timer,todisplay,h2disp,m2disp,s2disp)
{
var h, m, s;
// Subtracting javascript dates returns the difference in milliseconds
var diff = new Date() - this._start;
s = diff / 1000;
m = Math.floor(s / 60);
s -= 60*m;
h = Math.floor(m / 60);
m -= 60*h;
todisplay = _.str.sprintf("%02d:%02d:%02d", h, m, s);
document.getElementById("extimer").innerHTML = todisplay;
},
mystart: function () {
alert('pffff ça marche');
this.$element.addClass('oe_web_example_started')
.removeClass('oe_web_example_stopped');
//timer=setInterval(this.countUP(counter,minutes,hours,timer,todisplay,h2disp,m2disp,s2disp), 1000 );
this._start = new Date();
this._watch = setInterval(this.proxy('countUP'),33);
},
destroy: function () {
if (this._watch) {
clearInterval(this._watch);
}
this._super();
}
});
};
src/css/web_example.css:
.openerp .oe_web_example {
color: black;
background-color: white;
height: 100%;
}
.openerp .oe_web_example h4 {
margin: 0;
font-size: 100%;
}
.openerp .oe_web_example.oe_web_example_started .oe_web_example_start button,
.openerp .oe_web_example.oe_web_example_stopped .oe_web_example_stop button { display: none },
src/xml/web_example.xml:我删除了 < 因为我没有(快速)找到正确显示 html 代码的方法
templates>
div t-name="web_example.action" class="oe_web_example">
p>
button type="button" id="bstart">start</button>
h4 class="oe_web_example_timer" id="extimer">00:00:00</h4>
/p>
button type="button" id="bstop">Stop</button>
/div>
/templates>
/web_example.xml
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.actions.act_window" id="action_web_example_form">
<field name="name">web_example_class</field>
<field name="res_model">web_example_class</field>
</record>
<record model="ir.ui.view" id="action_web_example_form_view">
<field name="name">web_example.form</field>
<field name="model">web_example_class</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Web Example View">
<field name="test2" widget="FieldUpTimer"/>
</form>
</field>
</record>
<menuitem name="WEB EXAMPLE" action="action_web_example_form" id="web_example_menu"/>
</data>
</openerp>
关于javascript - openerp web 客户端如何自定义字段(扩展基本字段小部件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14258046/
我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我的第一个想法如下: 我在服务器上创建了一个中央 ServerSocket,所有应用程序都可以连接到该服务器。
我正在 Unity 中构建多人游戏。为此,我必须将一些值从客户端发送到两个或多个通过服务器连接的客户端。我想将其构建为服务器真实游戏。客户端将使用 Android,他们的数据将通过服务器同步(可能是一
练习 C 网络编程:我正在编写一个简单的 TCP 客户端-服务器应用程序,它应该将消息(在每个客户端的单独线程中)作为字符串从服务器发送到客户端并在客户端(稍后将成为控制台商店应用程序)。我首先发送消
我使用证书身份验证设置了 AWS Client VPN。我正在为客户端-客户端访问系统进行设置,基本上如 this AWS scenario/example 中所述.一切正常,如果我知道他们的 IP
我正在开发一个小型客户端1/客户端2、服务器(线程)TCP 游戏。在尝试处理延迟问题时,我意识到我的 transmitState() 中存在缺陷。它强制将不必要的信息传递到通讯流中,从而造成迟缓,将汽
来自文档:Configurable token lifetimes in Azure Active Directory (Public Preview) 它提到“ secret 客户端”,刷新 tok
Apollo 客户端开发工具无法连接到我的应用程序。我已在 ApolloClient 构造函数中将 connectToDevTools 传递为 true,但没有任何 react 。我也试过this p
我想在 Pod 内使用 Fabric8 kubernetes 客户端 (java)。如何获取部署集群的 kubernetes 客户端? 我可以使用该集群的 kubeconfig 文件获取任何集群的配置
我正在阅读 the security issue with Log4j我了解此产品受此漏洞影响。但是 Oracle 客户端 11.2 和 12 是否受此问题影响? 我找不到这些产品是否使用任何 Log
Eureka 服务器设置 pom.xml 1.8 Hoxton.SR1 org.springframework.cloud spring
我有一个点对点(客户端/服务器)设置(通过本地 LAN),它使用 Netty,一个 Java 网络框架。我使用原始 TCP/IP(例如,没有 HTTP)进行通信和传输。现在,根据要求,我们希望转向 T
上一篇已经实现了ModbusTcp服务器和8个主要的功能码,只是还没有实现错误处理功能。 但是在测试客户端时却发现了上一篇的一个错误,那就是写数据成功,服务器不需要响应。 接下来要做的就是实现Modb
有没有办法将二维十六进制代码数组转换为 png 图像? 数组看起来像这样(只是更大) [ [ '#FF0000', '#00FF00' ], [ '#0000FF'
我是套接字编程的新手。每次我运行客户端程序时,它都会说“无法连接到服务器”。谁能告诉我我在哪里犯了错误。任何帮助将不胜感激。 这是client.c #include #include #inclu
我们在UNIX环境下制作了简单的client.c和server.c程序。我们使用它来传输一个简单的文本文件,首先打开它,然后读取它并使用 open、read 和 send 系统调用发送;在客户端,我接
当我的程序来自 my previous question正在响应客户端,它应该发送加密消息。 当客户端连接时,它会发送一条类似“YourMessage”的消息。现在我想做的是,当客户端连接时,应该以某
我正在使用 C 和 putty 编写客户端/服务器程序。两个 c 文件位于同一系统上。 我目前在向客户端写回其正在使用的框架以及打印我的框架时遇到问题。它打印出 3 0 9 8,但随后开始打印 134
我正在使用 C 中的 select() 制作一个模拟快餐或其他任何东西的客户端服务器。 我有客户随机点 1-5 种“食物”。服务器每 30 秒决定一次。所有客户最喜欢的食物是什么?他为那些客户提供服务
对于单机游戏,基本的游戏循环是(来源:维基百科) while( user doesn't exit ) check for user input run AI move enemies
1、CentOS安装TortoiseSVN 复制代码 代码如下: yum install -y subversion 2、SVN客户端命令
我是一名优秀的程序员,十分优秀!