跳转到主要内容

交互式可视化图表显示事件

项目描述

License: AGPL-3

时间线视图

定义一个新的视图,以交互式可视化图表的形式显示事件。

小部件基于外部库 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’,以便调整可见窗口以适应所有项目

  • event_open_popup(可选):当设置为true时,允许在弹出窗口中编辑事件。如果没有(默认值),则通过切换到表单视图来编辑记录。

  • colors(可选):如果满足所表达的条件(JS语法),则允许设置某些特定颜色。

  • dependency_arrow(可选):将此属性设置为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键并从左到右拖动,您可以使用拖动的开始和结束日期创建新记录。

Try me on Runbot

已知问题/路线图

  • 实现记录更新后刷新时间线的更有效方法。

  • 使attrs属性工作;

  • 使操作属性(创建、编辑、删除)在表单和树视图中正常工作。

错误跟踪器

错误在GitHub Issues上跟踪。如果遇到问题,请检查是否已报告您的问题。如果您是第一个发现它的人,请帮助我们消除它,提供详细且受欢迎的反馈。

鸣谢

图片

  • Odoo社区协会:图标

贡献者

请不要直接联系贡献者寻求支持或帮助解决技术问题。

维护者

Odoo Community Association

本模块由OCA维护。

OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。

要为此模块做出贡献,请访问https://odoo-community.org

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程。

构建分发

odoo11_addon_web_timeline-11.0.1.4.3-py2.py3-none-any.whl (137.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面