npm 包 ganttjs 使用教程

阅读时长 9 分钟读完

前言

Gantt 图表是一种流行的项目计划工具,通常用于跟踪进度和任务时间线。而 Ganttjs 就是一种专门用于制作 Gantt 图表的 JavaScript 库,为了方便大家使用,本文将介绍如何使用 npm 包 ganttjs 制作 Gantt 图表。

安装

在使用 ganttjs 之前,我们需要先安装它。如果您的项目已经使用了 npm 或 yarn 等包管理工具,则可以直接使用以下命令进行安装:

或者

如果您还没有安装 npm,可以参考官方文档进行安装:https://docs.npmjs.com/about-npm

基础使用

在安装了 ganttjs 包之后,我们就可以在项目中引入它:

接着,在需要使用 Gantt 图表的位置,可以创建一个空的 DOM 节点作为容器,并通过 JavaScript 实例化一个 Gantt 对象:

至此,我们已经创建了一个空的 Gantt 图表,接下来就可以通过使用不同的方法来添加数据和设置配置选项。

添加数据

添加数据是制作 Gantt 的关键步骤之一。Ganttjs 提供了多种方式用于添加数据,包括从 JSON 数据中读取、从 CSV 文件中读取,以及从 JavaScript 对象中读取。

从 JSON 中读取

我们可以创建一个 JSON 文件来表示我们的数据。例如,在下面的示例中,我们创建了一个名为 data.json 的文件,并添加了包含任务名称、开始和结束时间、和进度百分比等信息的数据:

-- -------------------- ---- -------
-
  ------- -
    -
      ----- ----
      ------- ------
      -------- -------------
      ------ -------------
      ----------- --
    --
    -
      ----- ----
      ------- ------
      -------- -------------
      ------ -------------
      ----------- -
    --
    -
      ----- ----
      ------- ------
      -------- -------------
      ------ -------------
      ----------- --
    --
    -
      ----- ----
      ------- ------
      -------- -------------
      ------ -------------
      ----------- -
    --
    -
      ----- ----
      ------- ------
      -------- -------------
      ------ -------------
      ----------- -
    -
  -
-

接着,我们可以利用 fetch 方法来异步获取数据,并通过 setData 方法将数据添加到 Gantt 图表中:

-- -------------------- ---- -------
------ ----- ---- ----------

----- ----- - --- ----------------------

------------------
  ----------- -- -----------
  ------------ -- -
    -------------------------
  ---

可以看到,我们使用 setData 方法将获取到的 JSON 数据 data.data 添加到了 Gantt 图表中。

从 CSV 文件中读取

除了从 JSON 中读取数据之外,我们也可以从 CSV 文件中读取数据。在下面的示例中,我们创建了一个名为 data.csv 的文件,并添加了与上述 JSON 文件中相同的数据:

我们可以使用 fetch 方法异步获取 CSV 文件,并利用 csvtojson 库将 CSV 数据转换成 JSON 数据:

-- -------------------- ---- -------
------ ----- ---- ----------
------ --------- ---- ------------

----- ----- - --- ----------------------

-----------------
  ----------- -- -----------
  ------------ -- -
    -----------
      -----------------
      ------------ -- -
        --------------------
      ---
  ---

可以看到,我们将 CSV 文件的文本内容作为参数传递给了 csvtojson() 方法,将 CSV 数据转换成了 JSON 数据,并将其添加到了 Gantt 图表中。

从 JavaScript 对象中读取

除了从文件中读取数据之外,我们也可以从 JavaScript 对象中读取数据。在下面的示例中,我们创建了一个名为 data.js 的文件,并添加了与前面示例相同的数据:

-- -------------------- ---- -------
----- ---- - -
  -
    --- ----
    ----- ------
    ------ -------------
    ---- -------------
    --------- ---
  --
  -
    --- ----
    ----- ------
    ------ -------------
    ---- -------------
    --------- --
  --
  -
    --- ----
    ----- ------
    ------ -------------
    ---- -------------
    --------- ---
  --
  -
    --- ----
    ----- ------
    ------ -------------
    ---- -------------
    --------- --
  --
  -
    --- ----
    ----- ------
    ------ -------------
    ---- -------------
    --------- --
  --
--

------ ------- -----

然后,我们可以直接在 JavaScript 代码中引入这个文件,并将其中的数据添加到 Gantt 图表中:

可以看到,我们直接通过 gantt.setData(data) 将数据添加到了 Gantt 图表中。

配置选项

除了添加数据之外,Ganttjs 还提供了多种配置选项,可以用于设置 Gantt 图表的样式、布局、内部结构等方面的内容。下面是一些常见的配置选项及其用法:

任务条颜色

我们可以通过 setTaskColor 方法来设置任务条的颜色。下面的示例代码将任务条的颜色设置为蓝色:

任务条高度

我们可以通过 setTaskHeight 方法来设置任务条的高度。下面的示例代码将任务条的高度设置为 30 像素:

日期格式

我们可以通过 setDateFormatter 方法来设置日期格式。下面的示例代码将日期格式设置为“年-月-日”:

横轴间隔

我们可以通过 setStep 方法来设置横轴上的间隔,以控制横轴上的日期显示数量。下面的示例代码将横轴间隔设置为 2 天:

自定义样式

最后,我们也可以利用 CSS 来自定义 Gantt 图表的样式。下面的示例代码将调整任务条的颜色和高度:

示例

下面是一个完整的例子,将从 JSON 文件中读取数据,配置 Gantt 图表的样式,最终生成一个带有任务列表、日期列、横轴日期间隔、任务条颜色和高度等选项的 Gantt 图表。

-- -------------------- ---- -------
--------- -----
------
  ------
    -------------- ----------
    -------
      ------------ -
        ------- ------
      -

      ----------- -
        ----------------- --------
        ------- -----
      -
    --------
  -------
  ------
    ---- -----------------------
    ------- --------------
      ------ ----- ---- ----------------------------------------

      ----- ----- - --- ----------------------

      ------------------
        ----------- -- -----------
        ------------ -- -
          -------------------------
        ---

      ------------------------------
      ------------------------
      -----------------
      ------------------------------- ------ -
        ------ --- ---------------------------------------
      ---
    ---------
  -------
-------

结语

通过 npm 包 ganttjs,我们可以很容易地在自己的项目中创建 Gantt 图表,展示任务的时间线和进度情况,方便进行项目管理和时间规划。本文介绍了 Ganttjs 的基本使用方法和常见配置选项,可以帮助大家更快地上手制作 Gantt 图表,并加深对其原理和技术细节的理解。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005575581e8991b448d44e6

纠错
反馈