交互式可视化图表以显示时间事件
项目描述
定义一个新的视图,以交互式可视化图表显示事件。
小部件基于外部库http://visjs.org/timeline_examples.html
目录
配置
您需要定义一个带有标签 <timeline> 的视图,作为基本元素。以下是该标签的可能属性
属性 |
必需? |
描述 |
---|---|---|
date_start |
是 |
定义包含事件开始日期的字段名称。 |
date_stop |
否 |
定义包含事件结束日期的字段名称。date_stop 可以与 date_start 相等,以在时间轴上显示事件为“点”(瞬时事件)。 |
date_delay |
否 |
定义包含事件持续时间的字段名称,单位为小时,默认为 1。 |
default_group_by |
是 |
定义在访问视图或未选择其他分组时作为默认分组的字段名称。 |
zoomKey |
否 |
指定是否只有按下额外键时时间线才能缩放。可用的值是“”(不适用)、“altKey”、“ctrlKey”或“metaKey”。如果您想能够在事件很多的情况下使用滚动来垂直导航视图,请设置此选项。 |
模式 |
否 |
指定初始可见窗口。可用的值有:“day”(显示当前日)、“week”(显示当前周)、“month”(显示当前月)和“fit”(调整可见窗口以适合所有项)。默认值为“fit”。 |
边距 |
否 |
指定项周围的边距。应遵循JSON格式。例如:‘{“item”:{“horizontal”:-10}}’。可用的值有:‘{“axis”:<数字>}’(项与时间轴之间的最小像素边距)、‘{“item”:<数字>}’(水平和垂直方向上项之间的最小像素边距)、‘{“item”:{“horizontal”:<数字>}’(项之间的最小水平像素边距)、‘{“item”:{“vertical”:<数字>}’(项之间的最小垂直像素边距)、‘{“item”:{“horizontal”:<数字>,”vertical”:<数字>}’(项之间的水平和垂直像素边距组合)。 |
事件打开弹出窗口 |
否 |
当设置为true时,允许在弹出窗口中编辑事件。如果不设置(默认值),则通过更改到表单视图来编辑记录。 |
堆叠 |
否 |
当设置为false时,项将不会堆叠在一起,因此它们不会重叠。 |
颜色 |
否 |
如果满足表达的条件(JS语法),则允许设置某些特定颜色。 |
颜色字段 |
否 |
允许设置一个字段(在当前模型上),该字段包含HTML颜色(例如:#FFFFFF)。此选项优先于“颜色”。 |
依赖箭头 |
否 |
将此属性设置为一个x2many字段,以在x2many字段引用的记录之间绘制箭头。 |
您可以声明一个自定义模板,该模板将用于渲染时间线项。您必须将模板命名为“timeline-item”。以下是模板渲染中可用的变量:
record:访问在时间线定义中选择的字段值。
field_utils:用于格式化和解析值(请参阅web.field_utils中可用的函数)。
您还需要在涉及模型的动作窗口中声明视图。
示例
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_task_timeline" model="ir.ui.view">
<field name="model">project.task</field>
<field name="type">timeline</field>
<field name="arch" type="xml">
<timeline date_start="date_start"
date_stop="date_end"
string="Tasks"
default_group_by="user_id"
event_open_popup="true"
zoomKey="ctrlKey"
colors="#ec7063:user_id == false;#2ecb71:kanban_state=='done';"
dependency_arrow="task_dependency_ids">
<field name="user_id"/>
<templates>
<div t-name="timeline-item">
<div t-esc="record.display_name"/>
Assigned to:
<span t-esc="record.user_id[1]"/>
</div>
</templates>
</timeline>
</field>
</record>
<record id="project.action_view_task" model="ir.actions.act_window">
<field name="view_mode">kanban,tree,form,calendar,gantt,timeline,graph</field>
</record>
</odoo>
使用
要访问时间线视图,您必须单击视图切换器中的带有时钟图标的按钮。第一次访问时,时间线窗口将缩放以适合所有当前元素,这与执行搜索、筛选或按组操作时相同。
您可以使用鼠标滚动来在时间线上放大或缩小,并单击任何空闲区域然后拖动以在该方向上平移视图。
您的模型记录将显示为矩形,其宽度根据我们的定义表示事件持续时间。您可以单击此矩形来选择它们。您还可以使用Ctrl或Shift键进行离散或范围选择。所选记录将以不同颜色突出显示(但与背景颜色相关的差异将更加明显)。一旦选择,您就可以拖动并移动所选记录穿过时间线。
当记录被选择时,在左上角出现一个红色交叉按钮,允许删除该记录。这对于多记录不适用,即使它们已被选择。
根据所选的按组操作标准,记录被分组到不同的块中(如果没有指定,则应用默认的按组)。将记录从一块拖动到另一块会更改相应的字段为表示该块的值。您还可以单击组名称直接编辑涉及的记录。
双击记录进行编辑。在空白区域双击,可以创建与点击区域关联的新记录,并设置起始日期。通过按住Ctrl键并向右拖动,可以创建一个包含拖动开始和结束日期的新记录。
已知问题/路线图
实现记录更新后刷新时间轴的更高效方式;
使 attrs 属性正常工作;
使动作属性(创建、编辑、删除)在表单和树视图中正常工作。
错误追踪器
在 GitHub Issues 上跟踪错误。如果遇到问题,请检查是否已报告您的问题。如果是首次发现,请提供详细且受欢迎的 反馈 以帮助我们解决问题。
请不要直接联系贡献者以获取支持或技术问题的帮助。
致谢
贡献者
Laurent Mignon <laurent.mignon@acsone.eu>
Adrien Peiffer <adrien.peiffer@acsone.eu>
Pedro M. Baeza <pedro.baeza@tecnativa.com>
Leonardo Donelli <donelli@webmonks.it>
Adrien Didenot <adrien.didenot@horanet.com>
Dennis Sluijk <d.sluijk@onestein.nl>
其他致谢
图片
Odoo 社区协会:图标。
维护者
本模块由 OCA 维护。
OCA(Odoo 社区协会)是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛应用。
当前 维护者
本模块是 GitHub 上的 OCA/web 项目的组成部分。
欢迎您贡献力量。有关如何贡献的详细信息,请访问 https://odoo-community.org/page/Contribute。
项目详情
哈希值 for odoo12_addon_web_timeline-12.0.1.1.2-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c98b2b1c2bf7d7100a6cac0ac947e4d0dc85553f3d5a14c9cbcb5138ac150111 |
|
MD5 | 2e3bd8dd1ea8cfcfb679501cd8a4ba6c |
|
BLAKE2b-256 | 24d5c2ada2f0adb9f845d61d923279d8a3696babf14df5418164aedcbcee8c8a |