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)文章
基于Ionic3實現(xiàn)選項卡切換并重新加載echarts
這篇文章主要介紹了基于Ionic3實現(xiàn)選項卡切換并重新加載echarts,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09
JavaScript中數(shù)字計算時丟失精度問題解決方法
在前端開發(fā)中,精度丟失是一個常見的問題,特別是在涉及到浮點數(shù)計算時,下面這篇文章主要給大家介紹了關(guān)于JavaScript中數(shù)字計算時丟失精度問題的解決方法,需要的朋友可以參考下2024-09-09
isArray()函數(shù)(JavaScript中對象類型判斷的幾種方法)
我們知道,JavaScript中檢測對象類型的運算符有:typeof、instanceof,還有對象的constructor屬性2009-11-11
Javascript中this關(guān)鍵字指向問題的測試與詳解
this是Javascript中一個非常容易理解錯,進而用錯的特性。所以下面這篇文章主要給大家介紹了關(guān)于Javascript中this關(guān)鍵字指向問題的相關(guān)資料,文中通過測試的題目考驗大家對this的熟悉程度,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08

