欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript多功能甘特圖組件jsGantt詳解

 更新時間:2023年07月06日 08:58:04   作者:杭州程序員張張  
jsGantt是一個可定制的、靈活的、多語言的甘特圖組件,由原生 JavaScript構(gòu)建,它使用客戶端渲染以獲得快速的性能和動態(tài)的交互性,非常適用于任何需要交互式時間線或時間表顯示的項目,本文就給大家介紹一下JavaScript多功能甘特圖組件jsGantt

更多特點

  • 多語言支持: 通過對多語言的支持,使您的甘特圖可以在全球范圍內(nèi)使用。

  • 任務和可折疊的任務組: 以有組織的方式構(gòu)建你的任務,并輕松瀏覽它們。

  • 依賴關(guān)系和突出顯示: 可視化任務的依賴性,并通過簡單的懸停獲得任務細節(jié)。

  • 數(shù)據(jù)可編輯性: 通過內(nèi)嵌的責任方列表,隨時更新你的甘特表。

  • 附加列: 使用附加列來豐富你的甘特表,使其具有更多的數(shù)據(jù)。

  • 動態(tài)加載和格式變化: 動態(tài)加載任務,并在小時、日、周、月和季度格式之間毫不費力地切換。

  • 遠程或本地數(shù)據(jù): 從本地JS對象或遠程JSON/XML數(shù)據(jù)源獲取你的甘特圖數(shù)據(jù)。

  • 也可與Angular、React、Vue和.Net合作

如何使用它

1.安裝并導入jsGantt。

# NPM
$ npm i jsgantt-improved
import {JSGantt} from 'jsgantt-improved';

2.或者直接在文檔中加載所需的JS/CSS文件。

<!-- OR -->
<link rel="stylesheet" href="dist/jsgantt.css" rel="external nofollow"  />
<script src="dist/jsgantt.js"></script>

3.創(chuàng)建一個空的容器來放置甘特圖。

<div style="position:relative" class="gantt" id="example"></div>

4.創(chuàng)建一個新的甘特圖實例。

  • pDiv: 圖表容器的選擇器

  • pFormat: "小時"、"日"、"周"、"月 "或 "季度"

// JSGantt.GanttChart(pDiv, pFormat);
const myChart = new JSGantt.GanttChart(document.getElementById('GanttChartDIV'), 'day');

5.從JS對象、JS字符串、JSON或XML加載任務數(shù)據(jù)。

// object
myChart.AddTaskItemObject({
  pID: 1,
  pName: "Name 1",
  pStart: "2023-02-25",
  pEnd: "2023-03-17",
  pPlanStart: "2023-04-01",
  pPlanEnd: "2023-04-15 12:00",
  pClass: "",
  pPlanClass: ""
  pLink: "",
  pMile: 0,
  pRes: "Brian", // resource name
  pComp: 0,
  pGroup: 0, // 0 = normal task, 1 = standard group task, 2 = combined group task
  pParent: 0, // parent ID
  pOpen: 1, // 1 = open, 0 = closed
  pDepend: "", // comma separated list of ids this task is dependent on
  pCaption: "",
  pCost: 1000,
  pNotes: "Some Notes text",
  pBarText: "ex. bar text",
  category: "My Category",
  sector: "Finance"
});
// JSON
JSGantt.parseJSON('./data.json', myChart);
// XML
JSGantt.parseXML("./data.xml", myChart);

6.在頁面上畫出圖表。

myChart.Draw();

7.按ID刪除一個任務項目。

myChart.RemoveTaskItem(5);

8.清除所有任務。

myChart.ClearTasks()

9.設(shè)置選項。

g.setOptions({
  vCaptionType: 'Complete',  // Set to Show Caption : None,Caption,Resource,Duration,Complete,     
  vQuarterColWidth: 36,
  vDateTaskDisplayFormat: 'day dd month yyyy', // Shown in tooltip box
  vDayMajorDateDisplayFormat: 'mon yyyy - Week ww',// Set format to display dates in the "Major" header of the "Day" view
  vWeekMinorDateDisplayFormat: 'dd mon', // Set format to display dates in the "Minor" header of the "Week" view
  vLang: lang,
  vAdditionalHeaders: { // Add data columns to your table
    category: {
      title: 'Category'
    },
    sector: {
      title: 'Sector'
    }
  },
  vShowTaskInfoLink: 1, // Show link in tool tip (0/1)
  vShowEndWeekDate: 0,  // Show/Hide the date for the last day of the week in header for daily view (1/0)
  vUseSingleCell: 10000, // Set the threshold at which we will only use one cell per table row (0 disables).  Helps with rendering performance for large charts.
  vFormatArr: ['Day', 'Week', 'Month', 'Quarter'], // Even with setUseSingleCell using Hour format on such a large chart can cause issues in some browsers
  vScrollTo: new Date(),
  // EVENTS
  // OnChangee
  vEventsChange: {
    taskname: console.log,
    res: console.log,
  },
  // EventsClickCell
  vEvents: {
    taskname: console.log,
    res: console.log,
    dur: console.log,
    comp: console.log,
    start: console.log,
    end: console.log,
    planstart: console.log,
    planend: console.log,
    cost: console.log,
    additional_category: console.log, // for additional fields
    beforeDraw: ()=>console.log('before draw listener'),
    afterDraw: ()=>console.log('before after listener')
  },
  vEventClickRow: console.log,
  vEventClickCollapse: console.log
});

到此這篇關(guān)于JavaScript多功能甘特圖組件jsGantt詳解的文章就介紹到這了,更多相關(guān)JavaScript 甘特圖組件jsGantt內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論