Update jsgantt to 1.7.5.4
This commit is contained in:
parent
7f85d73001
commit
a818422302
@ -50,7 +50,7 @@ jQuery jquerytreeview 1.4.1 MIT License Yes
|
||||
jQuery TableDnD 0.6 GPL and MIT License Yes JS library plugin TableDnD (to reorder table rows)
|
||||
jQuery Timepicker 1.1.0 GPL and MIT License Yes JS library Timepicker addon for Datepicker
|
||||
jQuery Tiptip 1.3 GPL and MIT License Yes JS library for tooltips
|
||||
jsGanttImproved 1.7.5.2 BSD License Yes JS library (to build Gantt reports)
|
||||
jsGanttImproved 1.7.5.4 BSD License Yes JS library (to build Gantt reports)
|
||||
JsTimezoneDetect 1.0.6 MIT License Yes JS library to detect user timezone
|
||||
SwaggerUI 2.0.24 GPL-2+ Yes JS library to offer the REST API explorer
|
||||
Ace 1.2.8 BSD Yes JS library to get code syntaxique coloration in a textarea.
|
||||
|
||||
@ -82,8 +82,14 @@ with
|
||||
// LDR To open in same window
|
||||
//var OpenWindow=window.open(pRef, "newwin", "height="+vHeight+",width="+vWidth);
|
||||
window.location.href=pRef
|
||||
* Replace hard coded string with i18n["String"];
|
||||
|
||||
* Replace
|
||||
vTmpDiv=this.newNode(vTmpCell, 'div', null, null, vTaskList[i].getResource());
|
||||
with
|
||||
var vTmpNode=this.newNode(vTmpCell, 'div', null, '');
|
||||
vTmpNode=this.newNode(vTmpNode, 'a', null, '', vLangs[vLang]['moreinfo']);
|
||||
vTmpNode.setAttribute('href',vTaskList[i].getLink());
|
||||
|
||||
|
||||
JCROP:
|
||||
------
|
||||
|
||||
180
htdocs/includes/jsgantt/CONTRIBUTING.md
Normal file
180
htdocs/includes/jsgantt/CONTRIBUTING.md
Normal file
@ -0,0 +1,180 @@
|
||||
# Contributing to jsGanttImproved
|
||||
|
||||
We'd love for you to contribute to our source code and to make jsGanttImproved even better than it is
|
||||
today! Here are the guidelines we'd like you to follow:
|
||||
|
||||
- [Issues and Bugs](#issue)
|
||||
- [Feature Requests](#feature)
|
||||
- [Submission Guidelines](#submit)
|
||||
- [Coding Rules](#rules)
|
||||
- [Commit Message Guidelines](#commit)
|
||||
- [Further Info](#info)
|
||||
|
||||
## <a name="issue"></a> Found an Issue?
|
||||
|
||||
If you find a bug in the source code or a mistake in the documentation, you can help us by
|
||||
submitting an issue to our [GitHub Repository][github]. Even better you can submit a Pull Request
|
||||
with a fix.
|
||||
|
||||
**Please see the [Submission Guidelines](#submit) below.**
|
||||
|
||||
## <a name="feature"></a> Want a Feature?
|
||||
|
||||
You can request a new feature by submitting an issue to our [GitHub Repository][github]. If you
|
||||
would like to implement a new feature then it can be crafted and submitted as a Pull Request.
|
||||
|
||||
## <a name="submit"></a> Submission Guidelines
|
||||
|
||||
### Submitting an Issue
|
||||
Before you submit your issue search the archive, maybe your question was already answered.
|
||||
|
||||
If your issue appears to be a bug, and hasn't been reported, open a new issue. Help us to maximize
|
||||
the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.
|
||||
Providing the following information will increase the chances of your issue being dealt with
|
||||
quickly:
|
||||
|
||||
* **Overview of the Issue** - if an error is being thrown a non-minified stack trace helps
|
||||
* **Motivation for or Use Case** - explain why this is a bug for you
|
||||
* **Version(s)** - what is the version(s) being used?
|
||||
* **Browsers and Operating System** - is this a problem with all browsers or only specific ones?
|
||||
* **Reproduce the Error** - provide a live example (using [Plunker][plunker] or
|
||||
[JSFiddle][jsfiddle]) or an unambiguous set of steps.
|
||||
* **Related Issues** - has a similar issue been reported before?
|
||||
* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be
|
||||
causing the problem (line of code or commit)
|
||||
|
||||
### Submitting a Pull Request
|
||||
Before you submit your pull request consider the following guidelines:
|
||||
|
||||
* Search [GitHub](https://github.com/jsGanttImproved/jsgantt-improved/pulls) for an open or closed Pull Request
|
||||
that relates to your submission. You don't want to duplicate effort.
|
||||
* Make your changes in a new git branch:
|
||||
|
||||
```shell
|
||||
git checkout -b my-fix-branch master
|
||||
```
|
||||
|
||||
* Create your patch.
|
||||
* Follow our [Coding Rules](#rules).
|
||||
* Commit your changes using a descriptive commit message that follows our
|
||||
[commit message conventions](#commit).
|
||||
|
||||
```shell
|
||||
git commit -a
|
||||
```
|
||||
Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files.
|
||||
|
||||
* Push your branch to GitHub:
|
||||
|
||||
```shell
|
||||
git push origin my-fix-branch
|
||||
```
|
||||
|
||||
In GitHub, send a pull request to `master`.
|
||||
If we suggest changes, then:
|
||||
|
||||
* Make the required updates.
|
||||
* Commit your changes to your branch (e.g. `my-fix-branch`).
|
||||
* Push the changes to your GitHub repository (this will update your Pull Request).
|
||||
|
||||
If the PR gets too outdated we may ask you to rebase and force push to update the PR:
|
||||
|
||||
```shell
|
||||
git rebase master -i
|
||||
git push origin my-fix-branch -f
|
||||
```
|
||||
|
||||
_WARNING: Squashing or reverting commits and force-pushing thereafter may remove GitHub comments
|
||||
on code that were previously made by you or others in your commits. Avoid any form of rebasing
|
||||
unless necessary._
|
||||
|
||||
That's it! Thank you for your contribution!
|
||||
|
||||
#### After your pull request is merged
|
||||
|
||||
After your pull request is merged, you can safely delete your branch and pull the changes
|
||||
from the main (upstream) repository:
|
||||
|
||||
* Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:
|
||||
|
||||
```shell
|
||||
git push origin --delete my-fix-branch
|
||||
```
|
||||
|
||||
* Check out the master branch:
|
||||
|
||||
```shell
|
||||
git checkout master -f
|
||||
```
|
||||
|
||||
* Delete the local branch:
|
||||
|
||||
```shell
|
||||
git branch -D my-fix-branch
|
||||
```
|
||||
|
||||
* Update your master with the latest upstream version:
|
||||
|
||||
```shell
|
||||
git pull --ff upstream master
|
||||
```
|
||||
|
||||
## <a name="rules"></a> Coding Rules
|
||||
|
||||
To ensure consistency throughout the source code, keep these rules in mind as you are working:
|
||||
|
||||
* With the exceptions listed below, we follow the rules contained in
|
||||
[Google's JavaScript Style Guide][js-style-guide]:
|
||||
* Wrap all code at **100 characters**.
|
||||
|
||||
## <a name="commit"></a> Git Commit Guidelines
|
||||
|
||||
We have very precise rules over how our git commit messages can be formatted. This leads to **more
|
||||
readable messages** that are easy to follow when looking through the **project history**.
|
||||
|
||||
### Commit Message Format
|
||||
Each commit message consists of a **subject**, a **body** and a **footer**:
|
||||
|
||||
```
|
||||
<subject>
|
||||
<BLANK LINE>
|
||||
<body>
|
||||
<BLANK LINE>
|
||||
<footer>
|
||||
```
|
||||
|
||||
The **subject** is mandatory.
|
||||
|
||||
Any line of the commit message cannot be longer 100 characters! This allows the message to be easier
|
||||
to read on GitHub as well as in various git tools.
|
||||
|
||||
### Revert
|
||||
If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit.
|
||||
In the body it should say: `This reverts commit <hash>.`, where the hash is the SHA of the commit being reverted.
|
||||
|
||||
### Subject
|
||||
The subject contains succinct description of the change:
|
||||
|
||||
* use the imperative, present tense: "change" not "changed" nor "changes"
|
||||
* don't capitalize first letter
|
||||
* no dot (.) at the end
|
||||
|
||||
### Body
|
||||
Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes".
|
||||
The body should include the motivation for the change and contrast this with previous behavior.
|
||||
|
||||
### Footer
|
||||
The footer should contain any information about **Breaking Changes** and is also the place to
|
||||
[reference GitHub issues that this commit closes][closing-issues].
|
||||
|
||||
**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines.
|
||||
The rest of the commit message is then used for this.
|
||||
|
||||
## <a name="info"></a> Further Information
|
||||
You can find out more detailed information about contributing in the [Documentation][docs].
|
||||
|
||||
|
||||
[github]: https://github.com/jsGanttImproved/jsgantt-improved
|
||||
[js-style-guide]: https://google.github.io/styleguide/jsguide.html
|
||||
[closing-issues]: https://help.github.com/articles/closing-issues-via-commit-messages/
|
||||
[docs]: https://github.com/jsGanttImproved/jsgantt-improved/wiki/Documentation
|
||||
51
htdocs/includes/jsgantt/LICENSE
Normal file
51
htdocs/includes/jsgantt/LICENSE
Normal file
@ -0,0 +1,51 @@
|
||||
* Copyright (c) 2013-2017, Paul Geldart, Eduardo Rodrigues and Ricardo Cardoso.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Paul Geldart, Eduardo Rodrigues and Ricardo Cardoso nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY PAUL GELDART, EDUARDO RODRIGUES AND RICARDO CARDOSO ''AS IS'' AND ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL PAUL GELDART, EDUARDO RODRIGUES AND RICARDO CARDOSO BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
This project is based on jsGantt 1.2, the original project license follows:
|
||||
|
||||
* Copyright (c) 2008, Shlomy Gantz/BlueBrick Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
21
htdocs/includes/jsgantt/README.md
Normal file
21
htdocs/includes/jsgantt/README.md
Normal file
@ -0,0 +1,21 @@
|
||||
A fully featured gantt chart component built entirely in Javascript, CSS and AJAX. It is lightweight and there is no need of external libraries or additional images.
|
||||
|
||||
You can view a live example at https://jsGanttImproved.github.io/jsgantt-improved
|
||||
|
||||
Features include:
|
||||
* Tasks & Collapsible Task Groups
|
||||
* Dependencies
|
||||
* Task Completion
|
||||
* Task Styling
|
||||
* Milestones
|
||||
* Resources
|
||||
* Dynamic Loading of Tasks
|
||||
* Dynamic change of format: Hour, Day, Week, Month, Quarter
|
||||
* Load Gantt from XML
|
||||
* From external files (including experimental support for MS Project XML files)
|
||||
* From JavaScript Strings
|
||||
* Support for Internationalization (all hard coded strings can be overridden)
|
||||
|
||||
Project forked as I was unable to contact the original maintainers. This work was done to support a personal project that didn't warrant a more heavyweight system (e.g. the dojo toolkit gantt chart features).
|
||||
|
||||
See the [Documentation](https://github.com/jsGanttImproved/jsgantt-improved/wiki/Documentation) wiki page or the included ``index.html`` file for instructions on use.
|
||||
BIN
htdocs/includes/jsgantt/home-bg.jpg
Normal file
BIN
htdocs/includes/jsgantt/home-bg.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 372 KiB |
@ -1,564 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="jsgantt.css"/>
|
||||
<script language="javascript" src="jsgantt.js"></script>
|
||||
<script language="javascript" src="graphics.js"></script>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
.style1 {color: #0000FF}
|
||||
|
||||
.roundedCorner{display:block}
|
||||
.roundedCorner *{
|
||||
display:block;
|
||||
height:1px;
|
||||
overflow:hidden;
|
||||
font-size:.01em;
|
||||
background:#0061ce}
|
||||
.roundedCorner1{
|
||||
margin-left:3px;
|
||||
margin-right:3px;
|
||||
padding-left:1px;
|
||||
padding-right:1px;
|
||||
border-left:1px solid #91bbe9;
|
||||
border-right:1px solid #91bbe9;
|
||||
background:#3f88da}
|
||||
.roundedCorner2{
|
||||
margin-left:1px;
|
||||
margin-right:1px;
|
||||
padding-right:1px;
|
||||
padding-left:1px;
|
||||
border-left:1px solid #e5effa;
|
||||
border-right:1px solid #e5effa;
|
||||
background:#307fd7}
|
||||
.roundedCorner3{
|
||||
margin-left:1px;
|
||||
margin-right:1px;
|
||||
border-left:1px solid #307fd7;
|
||||
border-right:1px solid #307fd7;}
|
||||
.roundedCorner4{
|
||||
border-left:1px solid #91bbe9;
|
||||
border-right:1px solid #91bbe9}
|
||||
.roundedCorner5{
|
||||
border-left:1px solid #3f88da;
|
||||
border-right:1px solid #3f88da}
|
||||
.roundedCornerfg{
|
||||
background:#0061ce;}
|
||||
|
||||
|
||||
-->
|
||||
</style>
|
||||
<title>FREE javascript gantt - JSGantt HTML and CSS only</title></head>
|
||||
<body>
|
||||
|
||||
<!-- content goes here -->
|
||||
<TABLE width="100%" cellpadding="0" cellspacing="0" style="position:absolute; top:0; left:0;">
|
||||
<TBODY><TR>
|
||||
|
||||
<TD bgcolor="#298eff" style="height:3px;"></TD></TR>
|
||||
|
||||
|
||||
<TR>
|
||||
<TD bgcolor="#0061ce" style="padding-top:5px; padding-bottom:5px;"><FONT face="Arial,Helvetica" size="5" color="#FFFFFF"><I><STRONG> jsGantt - 1.2</STRONG></I></FONT></TD>
|
||||
|
||||
</TR>
|
||||
<TR><TD bgcolor="#CFCFCF" style="height:3px;"></TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD bgcolor="#ffffff" style="color:#444444; text-decoration:none;"><FONT face="Arial,Helvetica" size="3" color="#FFFFFF"><I><STRONG> <a href="#tBugs">Bugs/Issues</a> <a href="#tDownload">Download</a> <a href="#tLicense">License</a> <a href="#tUsage">Usage</a> <a href="#tExamples">Examples</a> <a href="http://www.jsgantt.com/docs/index.html">Documenation</a> <a href="#tSubscribe">Subscribe</a> <a href="#tCredits">Credits</a> </STRONG></I></FONT></TD>
|
||||
|
||||
</TR>
|
||||
<TR><TD bgcolor="#FFFFFF" style="height:2px;"></TD></TR>
|
||||
|
||||
<TR><TD bgcolor="#CFCFCF" style="height:1px;"></TD></TR>
|
||||
|
||||
</TBODY>
|
||||
|
||||
</TABLE>
|
||||
<BR><BR>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
|
||||
<FONT face="Arial,Helvetica" size="3"> 100% Free Javascript / CSS/ HTML Gantt chart control. Completely buzzword compliant including AJAX !</FONT><BR><BR>
|
||||
|
||||
|
||||
<div style="position:relative" class="gantt" id="GanttChartDIV"></div>
|
||||
<script>
|
||||
|
||||
|
||||
// here's all the html code neccessary to display the chart object
|
||||
|
||||
// Future idea would be to allow XML file name to be passed in and chart tasks built from file.
|
||||
|
||||
var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
|
||||
|
||||
g.setShowRes(1); // Show/Hide Responsible (0/1)
|
||||
g.setShowDur(1); // Show/Hide Duration (0/1)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setCaptionType('Resource'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
|
||||
|
||||
|
||||
//var gr = new Graphics();
|
||||
|
||||
if( g ) {
|
||||
|
||||
// Parameters (pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption)
|
||||
|
||||
// You can also use the XML file parser JSGantt.parseXML('project.xml',g)
|
||||
|
||||
g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(11, 'Chart Object', '7/20/2008', '7/20/2008', 'ff00ff', 'http://www.yahoo.com', 1, 'Shlomy', 100, 0, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(12, 'Task Objects', '', '', '00ff00', '', 0, 'Shlomy', 40, 1, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(121, 'Constructor Proc', '7/21/2008', '8/9/2008', '00ffff', 'http://www.yahoo.com', 0, 'Brian T.', 60, 0, 12, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(122, 'Task Variables', '8/6/2008', '8/11/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 12, 1,121));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(123, 'Task by Minute/Hour', '8/6/2008', '8/11/2008 12:00', 'ffff00', 'http://help.com', 0, 'Ilan', 60, 0, 12, 1,121));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(124, 'Task Functions', '8/9/2008', '8/29/2008', 'ff0000', 'http://help.com', 0, 'Anyone', 60, 0, 12, 1, 0, 'This is another caption'));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(2, 'Create HTML Shell', '8/24/2008', '8/25/2008', 'ffff00', 'http://help.com', 0, 'Brian', 20, 0, 0, 1,122));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(3, 'Code Javascript', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1 ));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(31, 'Define Variables', '7/25/2008', '8/17/2008', 'ff00ff', 'http://help.com', 0, 'Brian', 30, 0, 3, 1, '','Caption 1'));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(32, 'Calculate Chart Size', '8/15/2008', '8/24/2008', '00ff00', 'http://help.com', 0, 'Shlomy', 40, 0, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(33, 'Draw Taks Items', '', '', '00ff00', 'http://help.com', 0, 'Someone', 40, 1, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(332, 'Task Label Table', '8/6/2008', '8/11/2008', '0000ff', 'http://help.com', 0, 'Brian', 60, 0, 33, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(333, 'Task Scrolling Grid', '8/9/2008', '8/20/2008', '0000ff', 'http://help.com', 0, 'Brian', 60, 0, 33, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(34, 'Draw Task Bars', '', '', '990000', 'http://help.com', 0, 'Anybody', 60, 1, 3, 0));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(341, 'Loop each Task', '8/26/2008', '9/11/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(342, 'Calculate Start/Stop', '9/12/2008', '10/18/2008', 'ff6666', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(343, 'Draw Task Div', '10/13/2008', '10/17/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(344, 'Draw Completion Div', '10/17/2008', '11/04/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1,"342,343"));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(35, 'Make Updates', '12/17/2008','2/04/2009','f600f6', 'http://help.com', 0, 'Brian', 30, 0, 3, 1));
|
||||
|
||||
|
||||
|
||||
g.Draw();
|
||||
g.DrawDependencies();
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
{
|
||||
|
||||
alert("not defined");
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<BR>
|
||||
<FONT face="Arial,Helvetica" size="3">
|
||||
<strong>Basic Features</strong><BR>
|
||||
<ul>
|
||||
<li>Tasks & Collapsible Task Groups</li>
|
||||
<li>Multiple Dependencies</li>
|
||||
<li>Task Completion</li>
|
||||
<li>Task Color</li>
|
||||
<li>Milestones</li>
|
||||
<li>Resources</li>
|
||||
<li>No images needed</li>
|
||||
</ul>
|
||||
|
||||
<strong>Advanced Features</strong><BR>
|
||||
</FONT><ul>
|
||||
<li><font size="3" face="Arial,Helvetica">Dynamic Loading of Tasks</font></li>
|
||||
<li><font size="3" face="Arial,Helvetica">Dynamic change of format </font>
|
||||
<ul>
|
||||
<li>Day</li>
|
||||
<li>Week</li>
|
||||
<li>Month</li>
|
||||
<li>Quarter</li>
|
||||
<li>Hour</li>
|
||||
<li>Minute</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><font size="3" face="Arial,Helvetica">Load Gantt from XML file</font></li>
|
||||
</ul>
|
||||
<FONT face="Arial,Helvetica" size="3"><BR>
|
||||
</FONT>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg">
|
||||
<a name="tBugs" />
|
||||
<table width="50%" >
|
||||
<tr><td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> BUGS/ISSUES</b></i></font>
|
||||
</td></tr></table>
|
||||
</div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
<br>
|
||||
Current Issues:
|
||||
<ol>
|
||||
<li>Currently only one gantt chart is allowed per page. </li>
|
||||
|
||||
</ol><br>
|
||||
New in 1.2:
|
||||
<ul>
|
||||
<li>Support for half-days</li>
|
||||
<li>Hour/Minute format</li>
|
||||
</ul>
|
||||
<BR>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"> <a name="tDownload" />
|
||||
<table width="50%"><tr><td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> DOWNLOAD</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
<a href="http://www.jsgantt.com/zip/">Click here to download the jsgantt</a> <br>
|
||||
You can download the latest bleeding edge version, request features and report issues at <a href="http://code.google.com/p/jsgantt/">http://code.google.com/p/jsgantt/</a>
|
||||
<br><br>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tLicense" />
|
||||
<table width="50%"><tr><td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> LICENSE</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
JSGantt is released under BSD license. If you require another license please contact <a href="mailto:shlomygantz@hotmail.com">shlomygantz@hotmail.com</a><br>
|
||||
If you plan to use it in a commercial product please consider donating the first sale to charity.
|
||||
<br><br>
|
||||
<textarea cols="80" rows="5">
|
||||
* Copyright (c) 2008, Shlomy Gantz/BlueBrick Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
</textarea><br><br>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tUsage" />
|
||||
<table width="50%"><tr>
|
||||
<td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> USAGE</b></i></font>
|
||||
</td>
|
||||
</tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
<p>1. Include JSGantt CSS and Javascript</p>
|
||||
<pre class="style1">
|
||||
<link rel="stylesheet" type="text/css" href="jsgantt.css" />
|
||||
<script language="javascript" src="jsgantt.js"></script>
|
||||
</pre>
|
||||
|
||||
<p>2. Create a div element to hold the gantt chart</p>
|
||||
<pre class="style1"><div style="position:relative" class="gantt" id="GanttChartDIV"></div></pre>
|
||||
<p>3. Start a <script> block</p>
|
||||
<pre class="style1"><script language="javascript"></pre>
|
||||
<p>4. Instantiate JSGantt using GanttChart()</p>
|
||||
<pre class="style1">var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
|
||||
|
||||
</pre>
|
||||
|
||||
<p>GanttChart(<em>pGanttVar, pDiv, pFormat</em>)<br>
|
||||
<em>pGanttVar</em>: (required) name of the variable assigned<br>
|
||||
<em>pDiv</em>: (required) this is a DIV object created in HTML<br>
|
||||
<em>pFormat</em>: (required) - used to indicate whether chart should be drawn in "day", "week", "month", or "quarter" format</p>
|
||||
<p>Customize the look and feel using the following setters<br><br>
|
||||
<pre class="style1">g.setShowRes(1); // Show/Hide Responsible (0/1)
|
||||
g.setShowDur(1); // Show/Hide Duration (0/1)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setCaptionType('Resource'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
|
||||
g.setShowStartDate(1); // Show/Hide Start Date(0/1)
|
||||
g.setShowEndDate(1); // Show/Hide End Date(0/1)
|
||||
g.setDateInputFormat('mm/dd/yyyy') // Set format of input dates ('mm/dd/yyyy', 'dd/mm/yyyy', 'yyyy-mm-dd')
|
||||
g.setDateDisplayFormat('mm/dd/yyyy') // Set format to display dates ('mm/dd/yyyy', 'dd/mm/yyyy', 'yyyy-mm-dd')
|
||||
g.setFormatArr("day","week","month","quarter") // Set format options (up to 4 : "minute","hour","day","week","month","quarter")
|
||||
</pre>
|
||||
|
||||
</p>
|
||||
<p>5. Add Tasks using AddTaskItem()</p>
|
||||
<pre class="style1">
|
||||
g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(11, 'Chart Object', '2/10/2008', '2/10/2008', 'ff00ff', 'http://www.yahoo.com', 1, 'Shlomy', 100, 0, 1, 1, "121,122", "My Caption"));
|
||||
</pre>
|
||||
|
||||
TaskItem(<em>pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend</em>)<br>
|
||||
<em>pID</em>: (required) is a unique ID used to identify each row for parent functions and for setting dom id for hiding/showing<br>
|
||||
<em>pName</em>: (required) is the task Label<br>
|
||||
<em>pStart</em>: (required) the task start date, can enter empty date ('') for groups. You can also enter specific time (2/10/2008 12:00) for additional percision or half days.<br>
|
||||
<em>pEnd</em>: (required) the task end date, can enter empty date ('') for groups<br>
|
||||
<em>pColor</em>: (required) the html color for this task; e.g. '00ff00'<br>
|
||||
<em>pLink</em>: (optional) any http link navigated to when task bar is clicked.<br>
|
||||
<em>pMile</em>:(optional) represent a milestone<br>
|
||||
<em>pRes</em>: (optional) resource name<br>
|
||||
<em>pComp</em>: (required) completion percent<br>
|
||||
<em>pGroup</em>: (optional) indicates whether this is a group(parent) - 0=NOT Parent; 1=IS Parent<br>
|
||||
<em>pParent</em>: (required) identifies a parent pID, this causes this task to be a child of identified task<br>
|
||||
<em>pOpen</em>: can be initially set to close folder when chart is first drawn<br>
|
||||
<em>pDepend</em>: optional list of id's this task is dependent on ... line drawn from dependent to this item<br>
|
||||
<em>pCaption</em>: optional caption that will be added after task bar if CaptionType set to "Caption"<br>
|
||||
|
||||
*You should be able to add items to the chart in realtime via javascript and issuing "g.Draw()" command.
|
||||
|
||||
<p>5a. Another way to add tasks is to use an external XML file with parseXML()</p>
|
||||
<pre class="style1">
|
||||
JSGantt.parseXML("project.xml",g);
|
||||
</pre>
|
||||
The structure of the XML file:<br>
|
||||
<textarea name="textarea" cols="150" rows="10">
|
||||
<project>
|
||||
<task>
|
||||
<pID>10</pID>
|
||||
<pName>WCF Changes</pName>
|
||||
<pStart></pStart>
|
||||
<pEnd></pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes></pRes>
|
||||
<pComp>0</pComp>
|
||||
<pGroup>1</pGroup>
|
||||
<pParent>0</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend />
|
||||
</task>
|
||||
<task>
|
||||
<pID>20</pID>
|
||||
<pName>Move to WCF from remoting</pName>
|
||||
<pStart>8/11/2008</pStart>
|
||||
<pEnd>8/15/2008</pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Rich</pRes>
|
||||
<pComp>10</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend></pDepend>
|
||||
</task>
|
||||
<task>
|
||||
<pID>30</pID>
|
||||
<pName>add Auditing</pName>
|
||||
<pStart>8/19/2008</pStart>
|
||||
<pEnd>8/21/2008</pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Mal</pRes>
|
||||
<pComp>50</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend>20</pDepend>
|
||||
</task>
|
||||
</project>
|
||||
</textarea>
|
||||
|
||||
<p>6. Call Draw() and DrawDependencies()</p>
|
||||
<pre class="style1">
|
||||
|
||||
g.Draw();
|
||||
g.DrawDependencies();
|
||||
|
||||
</pre>
|
||||
|
||||
<br>
|
||||
<p>7. Close the <script> block</p>
|
||||
<pre class="style1"></script></pre>
|
||||
|
||||
<br><br>
|
||||
Final code should look like
|
||||
<textarea name="textarea2" cols="150" rows="20">
|
||||
<link rel="stylesheet" type="text/css" href="jsgantt.css" />
|
||||
<script language="javascript" src="jsgantt.js"></script>
|
||||
<div style="position:relative" class="gantt" id="GanttChartDIV"></div>
|
||||
<script>
|
||||
|
||||
var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
|
||||
g.setShowRes(1); // Show/Hide Responsible (0/1)
|
||||
g.setShowDur(1); // Show/Hide Duration (0/1)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setCaptionType('Resource'); // Set to Show Caption
|
||||
|
||||
if( g ) {
|
||||
|
||||
g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(11, 'Chart Object', '2/20/2008', '2/20/2008', 'ff00ff', 'http://www.yahoo.com', 1, 'Shlomy', 100, 0, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(12, 'Task Objects', '', '', '00ff00', '', 0, 'Shlomy', 40, 1, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(121, 'Constructor Proc', '2/21/2008', '3/9/2008', '00ffff', 'http://www.yahoo.com', 0, 'Brian T.', 60, 0, 12, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(122, 'Task Variables', '3/6/2008', '3/11/2008', 'ff0000', 'http://help.com', 0, '', 60, 0, 12, 1,121));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(123, 'Task Functions', '3/9/2008', '3/29/2008', 'ff0000', 'http://help.com', 0, 'Anyone', 60, 0, 12, 1, 0, 'This is another caption'));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(2, 'Create HTML Shell', '3/24/2008', '3/25/2008', 'ffff00', 'http://help.com', 0, 'Brian', 20, 0, 0, 1,122));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(3, 'Code Javascript', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1 ));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(31, 'Define Variables', '2/25/2008', '3/17/2008', 'ff00ff', 'http://help.com', 0, 'Brian', 30, 0, 3, 1, ,'Caption 1'));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(32, 'Calculate Chart Size', '3/15/2008', '3/24/2008', '00ff00', 'http://help.com', 0, 'Shlomy', 40, 0, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(33, 'Draw Taks Items', '', '', '00ff00', 'http://help.com', 0, 'Someone', 40, 1, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(332, 'Task Label Table', '3/6/2008', '3/11/2008', '0000ff', 'http://help.com', 0, 'Brian', 60, 0, 33, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(333, 'Task Scrolling Grid', '3/9/2008', '3/20/2008', '0000ff', 'http://help.com', 0, 'Brian', 60, 0, 33, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(34, 'Draw Task Bars', '', '', '990000', 'http://help.com', 0, 'Anybody', 60, 1, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(341, 'Loop each Task', '3/26/2008', '4/11/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1, "332,333"));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(342, 'Calculate Start/Stop', '4/12/2008', '5/18/2008', 'ff6666', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(343, 'Draw Task Div', '5/13/2008', '5/17/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(344, 'Draw Completion Div', '5/17/2008', '6/04/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(35, 'Make Updates', '10/17/2008','12/04/2008','f600f6', 'http://help.com', 0, 'Brian', 30, 0, 3, 1));
|
||||
|
||||
|
||||
|
||||
g.Draw();
|
||||
g.DrawDependencies();
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("not defined");
|
||||
}
|
||||
|
||||
</script>
|
||||
</textarea>
|
||||
</p>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tExamples"/>
|
||||
<table width="50%">
|
||||
<tr><td><font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> ADDITIONAL DEMOS</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li><a href="index.htm">jsGantt</a></li>
|
||||
<li><a href="jsgantt_exExternalXML.html">jsGantt with external XML file</a></li>
|
||||
<li><a href="jsgantt_Minutes.html">jsGantt by minutes</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tSubscribe"/>
|
||||
<table width="50%">
|
||||
<tr><td><font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> SUBSCRIBE</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Enter your email address to receive JSGantt announcements<br />
|
||||
<form action="http://www.jsgantt.com/subscribe/?subsribe" method="post">
|
||||
<input type="text" name="email" size="20" />
|
||||
<input type="submit" value="Subscribe" />
|
||||
</form><br />
|
||||
</p>
|
||||
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tCredits"/>
|
||||
<table width="50%">
|
||||
<tr><td><font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> CREDITS</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
|
||||
<p>Developed by Shlomy Gantz and Brian Twidt<br>
|
||||
Contributed: Paul Labuschagne, Kevin Badgett, Ilan Admon<br>
|
||||
</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
1167
htdocs/includes/jsgantt/index.html
Normal file
1167
htdocs/includes/jsgantt/index.html
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
/* Sample CSS for jsGanttImproved v1.7.3 */
|
||||
div.gantt { font-family:tahoma, arial, verdana, Sans-serif; font-size:10px; color: #2F2F2F; }
|
||||
/* Sample CSS for jsGanttImproved v1.7.5.4 */
|
||||
div.gantt { font-family:tahoma, arial, verdana, Sans-serif; font-size:10px; color: #656565; }
|
||||
|
||||
.gantt table { border-collapse: collapse; }
|
||||
.gantt td { padding: 0px; }
|
||||
@ -42,7 +42,7 @@ td.gspanning { border-left: none; border-right: none; }
|
||||
.genddate { text-align: center; min-width: 70px; max-width: 70px; width: 70px; font-size: 10px; }
|
||||
.gtaskheading { text-align: center; }
|
||||
.gtaskname div, /* needed for IE8 */
|
||||
.gtaskname { min-width: 170px; max-width: 170px; width: 170px;/* font-size: 9px;*/ border-left: none; }
|
||||
.gtaskname { min-width: 170px; max-width: 170px; width: 170px; font-size: 9px; border-left: none; }
|
||||
|
||||
.gselector { text-align: left; white-space: nowrap; min-width: 170px; max-width: 170px; width: 170px; }
|
||||
|
||||
@ -62,7 +62,7 @@ span.gfoldercollapse { color:#000000; cursor:pointer; font-weight:bold; font-si
|
||||
.glineitem { background-color: #ffffff; }
|
||||
|
||||
/* highlight row (applied to row) */
|
||||
.gitemhighlight td { background-image: none; background-color: #fffaaa;}
|
||||
.gitemhighlight td { background-image: none; background-color: #fffde5;}
|
||||
|
||||
/* task bar caption text styles */
|
||||
.gmilecaption,
|
||||
@ -98,34 +98,34 @@ span.gfoldercollapse { color:#000000; cursor:pointer; font-weight:bold; font-si
|
||||
.ggroupblackendpointright { overflow: hidden; width:0px; height:0px; top: 2px; border-top: 4px solid black; border-left: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 4px solid transparent; float: right; }
|
||||
.ggroupblackcomplete { float:left; overflow: hidden; height:3px; filter: alpha(opacity=80); opacity:0.8; background-color:#777777; margin-top:2px; margin-bottom: 2px; }
|
||||
.gtaskblue {
|
||||
background: rgb(58,132,195); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(58,132,195,1) 0%,rgba(65,154,214,1) 20%,rgba(75,184,240,1) 40%,rgba(58,139,194,1) 70%,rgba(38,85,139,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bb8f0', endColorstr='#3a84c3',GradientType=0 ); /* IE6-9 */
|
||||
background: rgb(58,132,195); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(58,132,195,1) 0%,rgba(65,154,214,1) 20%,rgba(75,184,240,1) 40%,rgba(58,139,194,1) 70%,rgba(38,85,139,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bb8f0', endColorstr='#3a84c3',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
.gtaskred {
|
||||
background: rgb(196,58,58); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(196,58,58,1) 0%,rgba(211,65,65,1) 20%,rgba(239,76,76,1) 40%,rgba(196,58,58,1) 70%,rgba(135,37,37,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4c4c', endColorstr='#c43a3a',GradientType=0 ); /* IE6-9 */
|
||||
background: rgb(196,58,58); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(196,58,58,1) 0%,rgba(211,65,65,1) 20%,rgba(239,76,76,1) 40%,rgba(196,58,58,1) 70%,rgba(135,37,37,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4c4c', endColorstr='#c43a3a',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
.gtaskgreen {
|
||||
background: rgb(80,193,58); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(80,193,58,1) 0%,rgba(88,209,64,1) 20%,rgba(102,237,75,1) 40%,rgba(80,193,58,1) 70%,rgba(53,132,37,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66ED4B', endColorstr='#50c13a',GradientType=0 ); /* IE6-9 */
|
||||
background: rgb(80,193,58); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(80,193,58,1) 0%,rgba(88,209,64,1) 20%,rgba(102,237,75,1) 40%,rgba(80,193,58,1) 70%,rgba(53,132,37,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66ED4B', endColorstr='#50c13a',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
.gtaskyellow {
|
||||
background: rgb(247,228,56); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(247,228,56,1) 0%,rgba(239,239,55,1) 20%,rgba(255,255,58,1) 40%,rgba(242,236,55,1) 70%,rgba(241,218,54,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffff3a', endColorstr='#f7e438',GradientType=0 ); /* IE6-9 */
|
||||
background: rgb(247,228,56); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(247,228,56,1) 0%,rgba(239,239,55,1) 20%,rgba(255,255,58,1) 40%,rgba(242,236,55,1) 70%,rgba(241,218,54,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffff3a', endColorstr='#f7e438',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
.gtaskpurple {
|
||||
background: rgb(193,58,193); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(193,58,193,1) 0%,rgba(211,65,211,1) 20%,rgba(239,76,239,1) 40%,rgba(193,58,193,1) 70%,rgba(137,38,137,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4cef', endColorstr='#892689',GradientType=0 ); /* IE6-9 */
|
||||
background: rgb(193,58,193); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(193,58,193,1) 0%,rgba(211,65,211,1) 20%,rgba(239,76,239,1) 40%,rgba(193,58,193,1) 70%,rgba(137,38,137,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4cef', endColorstr='#892689',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
.gtaskpink {
|
||||
background: rgb(249,177,245); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(249,177,245,1) 0%,rgba(247,192,243,1) 20%,rgba(247,202,244,1) 40%,rgba(249,192,246,1) 70%,rgba(252,174,247,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7caf4', endColorstr='#fcaef7',GradientType=0 ); /* IE6-9 */
|
||||
background: rgb(249,177,245); /* Old browsers */
|
||||
background: linear-gradient(to bottom, rgba(249,177,245,1) 0%,rgba(247,192,243,1) 20%,rgba(247,202,244,1) 40%,rgba(249,192,246,1) 70%,rgba(252,174,247,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7caf4', endColorstr='#fcaef7',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
.gtaskbluecomplete,
|
||||
.gtaskredcomplete,
|
||||
@ -137,21 +137,21 @@ span.gfoldercollapse { color:#000000; cursor:pointer; font-weight:bold; font-si
|
||||
/* Printer friendly styles - we could use these all the time but they are not as pretty! */
|
||||
/* note that "@media print" is not supported in IE6 or 7. Fully patched IE8 should be OK */
|
||||
@media print {
|
||||
.ggroupblack { height:0px; border-top: 7px solid; border-color: #000000; }
|
||||
.gtaskblue { height:0px; border-top: 13px solid; border-color: rgb(58,132,195); }
|
||||
.gtaskred { height:0px; border-top: 13px solid; border-color: rgb(196,58,58); }
|
||||
.gtaskgreen { height:0px; border-top: 13px solid; border-color: rgb(80,193,58); }
|
||||
.gtaskyellow { height:0px; border-top: 13px solid; border-color: rgb(247,228,56); }
|
||||
.gtaskpurple { height:0px; border-top: 13px solid; border-color: rgb(193,58,193); }
|
||||
.gtaskpink { height:0px; border-top: 13px solid; border-color: rgb(249,177,245); }
|
||||
.ggroupblack { height:0px; border-top: 7px solid; border-color: #000000; }
|
||||
.gtaskblue { height:0px; border-top: 13px solid; border-color: rgb(58,132,195); }
|
||||
.gtaskred { height:0px; border-top: 13px solid; border-color: rgb(196,58,58); }
|
||||
.gtaskgreen { height:0px; border-top: 13px solid; border-color: rgb(80,193,58); }
|
||||
.gtaskyellow { height:0px; border-top: 13px solid; border-color: rgb(247,228,56); }
|
||||
.gtaskpurple { height:0px; border-top: 13px solid; border-color: rgb(193,58,193); }
|
||||
.gtaskpink { height:0px; border-top: 13px solid; border-color: rgb(249,177,245); }
|
||||
|
||||
.gtaskbluecomplete,
|
||||
.gtaskredcomplete,
|
||||
.gtaskgreencomplete,
|
||||
.gtaskyellowcomplete,
|
||||
.gtaskpurplecomplete,
|
||||
.gtaskpinkcomplete { height:0px; filter: alpha(opacity=40); opacity:0.4; margin-top: -9px; border-top: 5px solid; border-color: #000000; }
|
||||
.ggroupblackcomplete { height: 0px; filter: alpha(opacity=80); opacity:0.8; margin-top:-5px; border-top:3px solid; border-color:#777777; }
|
||||
.gtaskbluecomplete,
|
||||
.gtaskredcomplete,
|
||||
.gtaskgreencomplete,
|
||||
.gtaskyellowcomplete,
|
||||
.gtaskpurplecomplete,
|
||||
.gtaskpinkcomplete { height:0px; filter: alpha(opacity=40); opacity:0.4; margin-top: -9px; border-top: 5px solid; border-color: #000000; }
|
||||
.ggroupblackcomplete { height: 0px; filter: alpha(opacity=80); opacity:0.8; margin-top:-5px; border-top:3px solid; border-color:#777777; }
|
||||
}
|
||||
|
||||
/* END Task bar styles */
|
||||
@ -161,11 +161,11 @@ span.gfoldercollapse { color:#000000; cursor:pointer; font-weight:bold; font-si
|
||||
.gDepFS,
|
||||
.gDepSS,
|
||||
.gDepSF,
|
||||
.gDepFF { border-color: #26558b; }
|
||||
.gDepFF { border-color: #ff0000; }
|
||||
.gDepFSArw,
|
||||
.gDepSSArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid #26558b; border-top: 4px solid transparent; border-right: 4px solid transparent;}
|
||||
.gDepSSArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid #ff0000; border-top: 4px solid transparent; border-right: 4px solid transparent;}
|
||||
.gDepFFArw,
|
||||
.gDepSFArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid transparent; border-top: 4px solid transparent; border-right: 4px solid #26558b;}
|
||||
.gDepSFArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid transparent; border-top: 4px solid transparent; border-right: 4px solid #ff0000;}
|
||||
.gCurDate { border-color: #0000ff; }
|
||||
|
||||
|
||||
@ -180,29 +180,30 @@ div.gtaskbarcontainer { z-index: 1; position: absolute; top: 0px }
|
||||
.gTaskNotes {font-size: 11px; font-weight: normal; color: #323232; padding: 0 15px; display: block;}
|
||||
.gTIn {padding-top: 10px;}
|
||||
|
||||
.gantt { min-width: 1064px; /* 2x LC width */ }
|
||||
.gchartcontainer { padding-left: 532px; /* LC width */ }
|
||||
.gcontainercol { position: relative; float: left; } /* Add a max-height value here if wanted */
|
||||
.glistgrid { width: 532px; /* LC width */ margin-left: -100%; right: 532px; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; }
|
||||
.glistlbl { width: 532px; /* LC width */ margin-left: -100%; right: 532px; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; }
|
||||
.gantt { min-width: 632px; /* 2x LC width */ }
|
||||
.gchartcontainer { /* padding-left: 532px; LC width */ line-height: 1; /* Overrides inherited CSS (e.g. from Bootstrap) */ }
|
||||
.gcontainercol { position: relative; } /* Add a max-height value here if wanted */
|
||||
.glistgrid { width: 532px; /* LC width */ float: left; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; }
|
||||
.glistlbl { width: 532px; /* LC width */ float: left; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; }
|
||||
.glabelfooter { clear: both; }
|
||||
.ggridfooter { clear: both; }
|
||||
|
||||
/*.rhscrpad { width: 150px; position: absolute; top: 0px; height: 1px; }*/
|
||||
.rhscrpad { width: 150px; position: absolute; top: 0px; height: 1px; }
|
||||
|
||||
.gchartgrid { width: 100%; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: auto; min-height: 0%; }
|
||||
.gchartlbl { width: 100%; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: hidden; }
|
||||
.gchartgrid { padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: auto; min-height: 0%; }
|
||||
.gchartlbl { padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: hidden; }
|
||||
|
||||
/* Old Internet Explorer version hacks */
|
||||
.gantt { _height: 100% } /* otherwise the chart disappears! */
|
||||
div .gantt { _width: 1064px; } /* ie6 fixed width */
|
||||
div .gantt { /* _width: 1064px; ie6 fixed width */ }
|
||||
div.gchartlbl,
|
||||
div.gchartgrid { _width: 532px; } /* ie6 fixed width */
|
||||
div.gchartgrid {/* _width: 532px; */} /* ie6 fixed width */
|
||||
div.glistlbl,
|
||||
div.glistgrid {
|
||||
*right: 0px; /* ie7 pulls the content too far left with the negative margin */
|
||||
_right: 532px; /* but ie6 fixed width needs this */
|
||||
_margin-left: -532px; /* ie6 fixed width */
|
||||
*right: 0px; /* ie7 pulls the content too far left with the negative margin */
|
||||
_right: 532px; /* but ie6 fixed width needs this */
|
||||
_margin-left: -532px; /* ie6 fixed width */
|
||||
float: left;
|
||||
}
|
||||
div.gchartgrid { *padding-bottom: 20px; *overflow-y: hidden; } /* variable height design, no need for vertical scroll */
|
||||
td.gmajorheading div { *overflow: hidden; } /* stops resizing fixed width columns if the text is too wide */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
2
htdocs/includes/jsgantt/jsgantt.min.js
vendored
2
htdocs/includes/jsgantt/jsgantt.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,548 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="jsgantt.css"/>
|
||||
<script language="javascript" src="jsgantt.js"></script>
|
||||
<script language="javascript" src="graphics.js"></script>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
.style1 {color: #0000FF}
|
||||
|
||||
.roundedCorner{display:block}
|
||||
.roundedCorner *{
|
||||
display:block;
|
||||
height:1px;
|
||||
overflow:hidden;
|
||||
font-size:.01em;
|
||||
background:#0061ce}
|
||||
.roundedCorner1{
|
||||
margin-left:3px;
|
||||
margin-right:3px;
|
||||
padding-left:1px;
|
||||
padding-right:1px;
|
||||
border-left:1px solid #91bbe9;
|
||||
border-right:1px solid #91bbe9;
|
||||
background:#3f88da}
|
||||
.roundedCorner2{
|
||||
margin-left:1px;
|
||||
margin-right:1px;
|
||||
padding-right:1px;
|
||||
padding-left:1px;
|
||||
border-left:1px solid #e5effa;
|
||||
border-right:1px solid #e5effa;
|
||||
background:#307fd7}
|
||||
.roundedCorner3{
|
||||
margin-left:1px;
|
||||
margin-right:1px;
|
||||
border-left:1px solid #307fd7;
|
||||
border-right:1px solid #307fd7;}
|
||||
.roundedCorner4{
|
||||
border-left:1px solid #91bbe9;
|
||||
border-right:1px solid #91bbe9}
|
||||
.roundedCorner5{
|
||||
border-left:1px solid #3f88da;
|
||||
border-right:1px solid #3f88da}
|
||||
.roundedCornerfg{
|
||||
background:#0061ce;}
|
||||
|
||||
|
||||
-->
|
||||
</style>
|
||||
<title>FREE javascript gantt - JSGantt HTML and CSS only</title></head>
|
||||
<body>
|
||||
|
||||
<!-- content goes here -->
|
||||
<TABLE width="100%" cellpadding="0" cellspacing="0" style="position:absolute; top:0; left:0;">
|
||||
<TBODY><TR>
|
||||
|
||||
<TD bgcolor="#298eff" style="height:3px;"></TD></TR>
|
||||
|
||||
|
||||
<TR>
|
||||
<TD bgcolor="#0061ce" style="padding-top:5px; padding-bottom:5px;"><FONT face="Arial,Helvetica" size="5" color="#FFFFFF"><I><STRONG> jsGantt - 1.2</STRONG></I></FONT></TD>
|
||||
|
||||
</TR>
|
||||
<TR><TD bgcolor="#CFCFCF" style="height:3px;"></TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD bgcolor="#ffffff" style="color:#444444; text-decoration:none;"><FONT face="Arial,Helvetica" size="3" color="#FFFFFF"><I><STRONG> <a href="#tBugs">Bugs/Issues</a> <a href="#tDownload">Download</a> <a href="#tLicense">License</a> <a href="#tUsage">Usage</a> <a href="#tExamples">Examples</a> <a href="http://www.jsgantt.com/docs/index.html">Documenation</a> <a href="#tSubscribe">Subscribe</a> <a href="#tCredits">Credits</a> </STRONG></I></FONT></TD>
|
||||
|
||||
</TR>
|
||||
<TR><TD bgcolor="#FFFFFF" style="height:2px;"></TD></TR>
|
||||
|
||||
<TR><TD bgcolor="#CFCFCF" style="height:1px;"></TD></TR>
|
||||
|
||||
</TBODY>
|
||||
|
||||
</TABLE>
|
||||
<BR><BR>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
|
||||
<FONT face="Arial,Helvetica" size="3"> 100% Free Javascript / CSS/ HTML Gantt chart control. Completely buzzword compliant including AJAX !</FONT><BR><BR>
|
||||
|
||||
|
||||
<div style="position:relative" class="gantt" id="GanttChartDIV"></div>
|
||||
<script>
|
||||
|
||||
|
||||
// here's all the html code neccessary to display the chart object
|
||||
|
||||
// Future idea would be to allow XML file name to be passed in and chart tasks built from file.
|
||||
|
||||
var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'hour');
|
||||
|
||||
g.setShowRes(1); // Show/Hide Responsible (0/1)
|
||||
g.setShowDur(1); // Show/Hide Duration (0/1)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setCaptionType('Resource'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
|
||||
g.setFormatArr("hours","minutes")
|
||||
|
||||
//var gr = new Graphics();
|
||||
|
||||
if( g ) {
|
||||
|
||||
// Parameters (pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen)
|
||||
|
||||
// You can also use the XML file parser JSGantt.parseXML('project.xml',g)
|
||||
|
||||
g.AddTaskItem(new JSGantt.TaskItem(1, 'Add minutes/hours', '', '', 'ff0000', 'http://help.com', 0, 'Ilan', 0, 1, 0, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(11, 'Add support for half days', '5/14/2009 14:00', '5/14/2009 15:30', 'ff00ff', 'http://www.jsgantt.com', 0, 'Ilan', 100, 0, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(12, 'Add minute view', '5/14/2009 16:00', '5/14/2009 17:00', '00ff00', '', 0, 'Ilan', 40, 0, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(13, 'Add hours view', '5/14/2009 16:00', '5/14/2009 17:00', '00ffff', 'http://www.yahoo.com', 0, 'Ilan', 60, 0, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(14, 'Add support for format options', '5/14/2009 18:00', '5/14/2009 19:00', '00ffff', 'http://www.yahoo.com', 0, 'Shlomy', 60, 0, 14, 1));
|
||||
|
||||
|
||||
g.Draw();
|
||||
g.DrawDependencies();
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
{
|
||||
|
||||
alert("not defined");
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<BR>
|
||||
<FONT face="Arial,Helvetica" size="3">
|
||||
<strong>Basic Features</strong><BR>
|
||||
<ul>
|
||||
<li>Tasks & Collapsible Task Groups</li>
|
||||
<li>Multiple Dependencies</li>
|
||||
<li>Task Completion</li>
|
||||
<li>Task Color</li>
|
||||
<li>Milestones</li>
|
||||
<li>Resources</li>
|
||||
<li>No images needed</li>
|
||||
</ul>
|
||||
|
||||
<strong>Advanced Features</strong><BR>
|
||||
</FONT><ul>
|
||||
<li><font size="3" face="Arial,Helvetica">Dynamic Loading of Tasks</font></li>
|
||||
<li><font size="3" face="Arial,Helvetica">Dynamic change of format </font>
|
||||
<ul>
|
||||
<li>Day</li>
|
||||
<li>Week</li>
|
||||
<li>Month</li>
|
||||
<li>Quarter</li>
|
||||
<li>Hour</li>
|
||||
<li>Minute</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><font size="3" face="Arial,Helvetica">Load Gantt from XML file</font></li>
|
||||
</ul>
|
||||
<FONT face="Arial,Helvetica" size="3"><BR>
|
||||
</FONT>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg">
|
||||
<a name="tBugs" />
|
||||
<table width="50%" >
|
||||
<tr><td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> BUGS/ISSUES</b></i></font>
|
||||
</td></tr></table>
|
||||
</div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
<br>
|
||||
Current Issues:
|
||||
<ol>
|
||||
<li>Currently only one gantt chart is allowed per page. </li>
|
||||
|
||||
</ol><br>
|
||||
New in 1.2:
|
||||
<ul>
|
||||
<li>Support for half-days</li>
|
||||
<li>Hour/Minute format</li>
|
||||
</ul>
|
||||
<BR>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"> <a name="tDownload" />
|
||||
<table width="50%"><tr><td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> DOWNLOAD</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
<a href="http://www.jsgantt.com/zip/">Click here to download the jsgantt</a> <br>
|
||||
You can download the latest bleeding edge version, request features and report issues at <a href="http://code.google.com/p/jsgantt/">http://code.google.com/p/jsgantt/</a>
|
||||
<br><br>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tLicense" />
|
||||
<table width="50%"><tr><td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> LICENSE</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
JSGantt is released under BSD license. If you require another license please contact <a href="mailto:shlomygantz@hotmail.com">shlomygantz@hotmail.com</a><br>
|
||||
If you plan to use it in a commercial product please consider donating the first sale to charity.
|
||||
<br><br>
|
||||
<textarea cols="80" rows="5">
|
||||
* Copyright (c) 2008, Shlomy Gantz/BlueBrick Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
</textarea><br><br>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tUsage" />
|
||||
<table width="50%"><tr>
|
||||
<td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> USAGE</b></i></font>
|
||||
</td>
|
||||
</tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
<p>1. Include JSGantt CSS and Javascript</p>
|
||||
<pre class="style1">
|
||||
<link rel="stylesheet" type="text/css" href="jsgantt.css" />
|
||||
<script language="javascript" src="jsgantt.js"></script>
|
||||
</pre>
|
||||
|
||||
<p>2. Create a div element to hold the gantt chart</p>
|
||||
<pre class="style1"><div style="position:relative" class="gantt" id="GanttChartDIV"></div></pre>
|
||||
<p>3. Start a <script> block</p>
|
||||
<pre class="style1"><script language="javascript"></pre>
|
||||
<p>4. Instantiate JSGantt using GanttChart()</p>
|
||||
<pre class="style1">var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
|
||||
|
||||
</pre>
|
||||
|
||||
<p>GanttChart(<em>pGanttVar, pDiv, pFormat</em>)<br>
|
||||
<em>pGanttVar</em>: (required) name of the variable assigned<br>
|
||||
<em>pDiv</em>: (required) this is a DIV object created in HTML<br>
|
||||
<em>pFormat</em>: (required) - used to indicate whether chart should be drawn in "day", "week", "month", or "quarter" format</p>
|
||||
<p>Customize the look and feel using the following setters<br><br>
|
||||
<pre class="style1">g.setShowRes(1); // Show/Hide Responsible (0/1)
|
||||
g.setShowDur(1); // Show/Hide Duration (0/1)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setCaptionType('Resource'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
|
||||
g.setShowStartDate(1); // Show/Hide Start Date(0/1)
|
||||
g.setShowEndDate(1); // Show/Hide End Date(0/1)
|
||||
g.setDateInputFormat('mm/dd/yyyy') // Set format of input dates ('mm/dd/yyyy', 'dd/mm/yyyy', 'yyyy-mm-dd')
|
||||
g.setDateDisplayFormat('mm/dd/yyyy') // Set format to display dates ('mm/dd/yyyy', 'dd/mm/yyyy', 'yyyy-mm-dd')
|
||||
g.setFormatArr("day","week","month","quarter") // Set format options (up to 4 : "minute","hour","day","week","month","quarter")
|
||||
</pre>
|
||||
|
||||
</p>
|
||||
<p>5. Add Tasks using AddTaskItem()</p>
|
||||
<pre class="style1">
|
||||
g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(11, 'Chart Object', '2/10/2008', '2/10/2008', 'ff00ff', 'http://www.yahoo.com', 1, 'Shlomy', 100, 0, 1, 1, "121,122", "My Caption"));
|
||||
</pre>
|
||||
|
||||
TaskItem(<em>pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend</em>)<br>
|
||||
<em>pID</em>: (required) is a unique ID used to identify each row for parent functions and for setting dom id for hiding/showing<br>
|
||||
<em>pName</em>: (required) is the task Label<br>
|
||||
<em>pStart</em>: (required) the task start date, can enter empty date ('') for groups. You can also enter specific time (2/10/2008 12:00) for additional percision or half days.<br>
|
||||
<em>pEnd</em>: (required) the task end date, can enter empty date ('') for groups<br>
|
||||
<em>pColor</em>: (required) the html color for this task; e.g. '00ff00'<br>
|
||||
<em>pLink</em>: (optional) any http link navigated to when task bar is clicked.<br>
|
||||
<em>pMile</em>:(optional) represent a milestone<br>
|
||||
<em>pRes</em>: (optional) resource name<br>
|
||||
<em>pComp</em>: (required) completion percent<br>
|
||||
<em>pGroup</em>: (optional) indicates whether this is a group(parent) - 0=NOT Parent; 1=IS Parent<br>
|
||||
<em>pParent</em>: (required) identifies a parent pID, this causes this task to be a child of identified task<br>
|
||||
<em>pOpen</em>: can be initially set to close folder when chart is first drawn<br>
|
||||
<em>pDepend</em>: optional list of id's this task is dependent on ... line drawn from dependent to this item<br>
|
||||
<em>pCaption</em>: optional caption that will be added after task bar if CaptionType set to "Caption"<br>
|
||||
|
||||
*You should be able to add items to the chart in realtime via javascript and issuing "g.Draw()" command.
|
||||
|
||||
<p>5a. Another way to add tasks is to use an external XML file with parseXML()</p>
|
||||
<pre class="style1">
|
||||
JSGantt.parseXML("project.xml",g);
|
||||
</pre>
|
||||
The structure of the XML file:<br>
|
||||
<textarea name="textarea" cols="150" rows="10">
|
||||
<project>
|
||||
<task>
|
||||
<pID>10</pID>
|
||||
<pName>WCF Changes</pName>
|
||||
<pStart></pStart>
|
||||
<pEnd></pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes></pRes>
|
||||
<pComp>0</pComp>
|
||||
<pGroup>1</pGroup>
|
||||
<pParent>0</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend />
|
||||
</task>
|
||||
<task>
|
||||
<pID>20</pID>
|
||||
<pName>Move to WCF from remoting</pName>
|
||||
<pStart>8/11/2008</pStart>
|
||||
<pEnd>8/15/2008</pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Rich</pRes>
|
||||
<pComp>10</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend></pDepend>
|
||||
</task>
|
||||
<task>
|
||||
<pID>30</pID>
|
||||
<pName>add Auditing</pName>
|
||||
<pStart>8/19/2008</pStart>
|
||||
<pEnd>8/21/2008</pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Mal</pRes>
|
||||
<pComp>50</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend>20</pDepend>
|
||||
</task>
|
||||
</project>
|
||||
</textarea>
|
||||
|
||||
<p>6. Call Draw() and DrawDependencies()</p>
|
||||
<pre class="style1">
|
||||
|
||||
g.Draw();
|
||||
g.DrawDependencies();
|
||||
|
||||
</pre>
|
||||
|
||||
<br>
|
||||
<p>7. Close the <script> block</p>
|
||||
<pre class="style1"></script></pre>
|
||||
|
||||
<br><br>
|
||||
Final code should look like
|
||||
<textarea name="textarea2" cols="150" rows="20">
|
||||
<link rel="stylesheet" type="text/css" href="jsgantt.css" />
|
||||
<script language="javascript" src="jsgantt.js"></script>
|
||||
<div style="position:relative" class="gantt" id="GanttChartDIV"></div>
|
||||
<script>
|
||||
|
||||
var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
|
||||
g.setShowRes(1); // Show/Hide Responsible (0/1)
|
||||
g.setShowDur(1); // Show/Hide Duration (0/1)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setCaptionType('Resource'); // Set to Show Caption
|
||||
|
||||
if( g ) {
|
||||
|
||||
g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(11, 'Chart Object', '2/20/2008', '2/20/2008', 'ff00ff', 'http://www.yahoo.com', 1, 'Shlomy', 100, 0, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(12, 'Task Objects', '', '', '00ff00', '', 0, 'Shlomy', 40, 1, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(121, 'Constructor Proc', '2/21/2008', '3/9/2008', '00ffff', 'http://www.yahoo.com', 0, 'Brian T.', 60, 0, 12, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(122, 'Task Variables', '3/6/2008', '3/11/2008', 'ff0000', 'http://help.com', 0, '', 60, 0, 12, 1,121));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(123, 'Task Functions', '3/9/2008', '3/29/2008', 'ff0000', 'http://help.com', 0, 'Anyone', 60, 0, 12, 1, 0, 'This is another caption'));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(2, 'Create HTML Shell', '3/24/2008', '3/25/2008', 'ffff00', 'http://help.com', 0, 'Brian', 20, 0, 0, 1,122));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(3, 'Code Javascript', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1 ));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(31, 'Define Variables', '2/25/2008', '3/17/2008', 'ff00ff', 'http://help.com', 0, 'Brian', 30, 0, 3, 1, ,'Caption 1'));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(32, 'Calculate Chart Size', '3/15/2008', '3/24/2008', '00ff00', 'http://help.com', 0, 'Shlomy', 40, 0, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(33, 'Draw Taks Items', '', '', '00ff00', 'http://help.com', 0, 'Someone', 40, 1, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(332, 'Task Label Table', '3/6/2008', '3/11/2008', '0000ff', 'http://help.com', 0, 'Brian', 60, 0, 33, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(333, 'Task Scrolling Grid', '3/9/2008', '3/20/2008', '0000ff', 'http://help.com', 0, 'Brian', 60, 0, 33, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(34, 'Draw Task Bars', '', '', '990000', 'http://help.com', 0, 'Anybody', 60, 1, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(341, 'Loop each Task', '3/26/2008', '4/11/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1, "332,333"));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(342, 'Calculate Start/Stop', '4/12/2008', '5/18/2008', 'ff6666', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(343, 'Draw Task Div', '5/13/2008', '5/17/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(344, 'Draw Completion Div', '5/17/2008', '6/04/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(35, 'Make Updates', '10/17/2008','12/04/2008','f600f6', 'http://help.com', 0, 'Brian', 30, 0, 3, 1));
|
||||
|
||||
|
||||
|
||||
g.Draw();
|
||||
g.DrawDependencies();
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("not defined");
|
||||
}
|
||||
|
||||
</script>
|
||||
</textarea>
|
||||
</p>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tExamples"/>
|
||||
<table width="50%">
|
||||
<tr><td><font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> ADDITIONAL DEMOS</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li><a href="index.htm">jsGantt</a></li>
|
||||
<li><a href="jsgantt_exExternalXML.html">jsGantt with external XML file</a></li>
|
||||
<li><a href="jsgantt_Minutes.html">jsGantt by minutes</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tSubscribe"/>
|
||||
<table width="50%">
|
||||
<tr><td><font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> SUBSCRIBE</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Enter your email address to receive JSGantt announcements<br />
|
||||
<form action="http://www.jsgantt.com/subscribe/?subsribe" method="post">
|
||||
<input type="text" name="email" size="20" />
|
||||
<input type="submit" value="Subscribe" />
|
||||
</form><br />
|
||||
</p>
|
||||
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tCredits"/>
|
||||
<table width="50%">
|
||||
<tr><td><font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> CREDITS</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
|
||||
<p>Developed by Shlomy Gantz and Brian Twidt<br>
|
||||
Contributed: Paul Labuschagne, Kevin Badgett, Ilan Admon<br>
|
||||
</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -1,533 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="jsgantt.css"/>
|
||||
<script language="javascript" src="jsgantt.js"></script>
|
||||
<script language="javascript" src="graphics.js"></script>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
.style1 {color: #0000FF}
|
||||
|
||||
.roundedCorner{display:block}
|
||||
.roundedCorner *{
|
||||
display:block;
|
||||
height:1px;
|
||||
overflow:hidden;
|
||||
font-size:.01em;
|
||||
background:#0061ce}
|
||||
.roundedCorner1{
|
||||
margin-left:3px;
|
||||
margin-right:3px;
|
||||
padding-left:1px;
|
||||
padding-right:1px;
|
||||
border-left:1px solid #91bbe9;
|
||||
border-right:1px solid #91bbe9;
|
||||
background:#3f88da}
|
||||
.roundedCorner2{
|
||||
margin-left:1px;
|
||||
margin-right:1px;
|
||||
padding-right:1px;
|
||||
padding-left:1px;
|
||||
border-left:1px solid #e5effa;
|
||||
border-right:1px solid #e5effa;
|
||||
background:#307fd7}
|
||||
.roundedCorner3{
|
||||
margin-left:1px;
|
||||
margin-right:1px;
|
||||
border-left:1px solid #307fd7;
|
||||
border-right:1px solid #307fd7;}
|
||||
.roundedCorner4{
|
||||
border-left:1px solid #91bbe9;
|
||||
border-right:1px solid #91bbe9}
|
||||
.roundedCorner5{
|
||||
border-left:1px solid #3f88da;
|
||||
border-right:1px solid #3f88da}
|
||||
.roundedCornerfg{
|
||||
background:#0061ce;}
|
||||
|
||||
|
||||
-->
|
||||
</style>
|
||||
<title>FREE javascript gantt - JSGantt HTML and CSS only</title></head>
|
||||
<body>
|
||||
|
||||
<!-- content goes here -->
|
||||
<TABLE width="100%" cellpadding="0" cellspacing="0" style="position:absolute; top:0; left:0;">
|
||||
<TBODY><TR>
|
||||
|
||||
<TD bgcolor="#298eff" style="height:3px;"></TD></TR>
|
||||
|
||||
|
||||
<TR>
|
||||
<TD bgcolor="#0061ce" style="padding-top:5px; padding-bottom:5px;"><FONT face="Arial,Helvetica" size="5" color="#FFFFFF"><I><STRONG> jsGantt - 1.2</STRONG></I></FONT></TD>
|
||||
|
||||
</TR>
|
||||
<TR><TD bgcolor="#CFCFCF" style="height:3px;"></TD></TR>
|
||||
|
||||
<TR>
|
||||
<TD bgcolor="#ffffff" style="color:#444444; text-decoration:none;"><FONT face="Arial,Helvetica" size="3" color="#FFFFFF"><I><STRONG> <a href="#tBugs">Bugs/Issues</a> <a href="#tDownload">Download</a> <a href="#tLicense">License</a> <a href="#tUsage">Usage</a> <a href="#tExamples">Examples</a> <a href="http://www.jsgantt.com/docs/index.html">Documenation</a> <a href="#tSubscribe">Subscribe</a> <a href="#tCredits">Credits</a> </STRONG></I></FONT></TD>
|
||||
|
||||
</TR>
|
||||
<TR><TD bgcolor="#FFFFFF" style="height:2px;"></TD></TR>
|
||||
|
||||
<TR><TD bgcolor="#CFCFCF" style="height:1px;"></TD></TR>
|
||||
|
||||
</TBODY>
|
||||
|
||||
</TABLE>
|
||||
<BR><BR>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
|
||||
<FONT face="Arial,Helvetica" size="3"> 100% Free Javascript / CSS/ HTML Gantt chart control. Completely buzzword compliant including AJAX !</FONT><BR><BR>
|
||||
|
||||
|
||||
<div style="position:relative" class="gantt" id="GanttChartDIV"></div>
|
||||
<script>
|
||||
// here's all the html code neccessary to display the chart object
|
||||
// Future idea would be to allow XML file name to be passed in and chart tasks built from file.
|
||||
|
||||
var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
|
||||
|
||||
g.setShowRes(1); // Show/Hide Responsible (0/1)
|
||||
g.setShowDur(1); // Show/Hide Duration (0/1)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setCaptionType('Resource'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
|
||||
if( g ) {
|
||||
|
||||
// Parameters (pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen)
|
||||
// use the XML file parser
|
||||
JSGantt.parseXML('project.xml',g)
|
||||
g.Draw();
|
||||
g.DrawDependencies();
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
|
||||
{
|
||||
|
||||
alert("not defined");
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<BR>
|
||||
<FONT face="Arial,Helvetica" size="3">
|
||||
<strong>Basic Features</strong><BR>
|
||||
<ul>
|
||||
<li>Tasks & Collapsible Task Groups</li>
|
||||
<li>Multiple Dependencies</li>
|
||||
<li>Task Completion</li>
|
||||
<li>Task Color</li>
|
||||
<li>Milestones</li>
|
||||
<li>Resources</li>
|
||||
<li>No images needed</li>
|
||||
</ul>
|
||||
|
||||
<strong>Advanced Features</strong><BR>
|
||||
</FONT><ul>
|
||||
<li><font size="3" face="Arial,Helvetica">Dynamic Loading of Tasks</font></li>
|
||||
<li><font size="3" face="Arial,Helvetica">Dynamic change of format </font>
|
||||
<ul>
|
||||
<li>Day</li>
|
||||
<li>Week</li>
|
||||
<li>Month</li>
|
||||
<li>Quarter</li>
|
||||
<li>Hour</li>
|
||||
<li>Minute</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><font size="3" face="Arial,Helvetica">Load Gantt from XML file</font></li>
|
||||
</ul>
|
||||
<FONT face="Arial,Helvetica" size="3"><BR>
|
||||
</FONT>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg">
|
||||
<a name="tBugs" />
|
||||
<table width="50%" >
|
||||
<tr><td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> BUGS/ISSUES</b></i></font>
|
||||
</td></tr></table>
|
||||
</div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
<br>
|
||||
Current Issues:
|
||||
<ol>
|
||||
<li>Currently only one gantt chart is allowed per page. </li>
|
||||
|
||||
</ol><br>
|
||||
New in 1.2:
|
||||
<ul>
|
||||
<li>Support for half-days</li>
|
||||
<li>Hour/Minute format</li>
|
||||
</ul>
|
||||
<BR>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"> <a name="tDownload" />
|
||||
<table width="50%"><tr><td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> DOWNLOAD</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
<a href="http://www.jsgantt.com/zip/">Click here to download the jsgantt</a> <br>
|
||||
You can download the latest bleeding edge version, request features and report issues at <a href="http://code.google.com/p/jsgantt/">http://code.google.com/p/jsgantt/</a>
|
||||
<br><br>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tLicense" />
|
||||
<table width="50%"><tr><td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> LICENSE</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
JSGantt is released under BSD license. If you require another license please contact <a href="mailto:shlomygantz@hotmail.com">shlomygantz@hotmail.com</a><br>
|
||||
If you plan to use it in a commercial product please consider donating the first sale to charity.
|
||||
<br><br>
|
||||
<textarea cols="80" rows="5">
|
||||
* Copyright (c) 2008, Shlomy Gantz/BlueBrick Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
</textarea><br><br>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tUsage" />
|
||||
<table width="50%"><tr>
|
||||
<td>
|
||||
<font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> USAGE</b></i></font>
|
||||
</td>
|
||||
</tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
<p>1. Include JSGantt CSS and Javascript</p>
|
||||
<pre class="style1">
|
||||
<link rel="stylesheet" type="text/css" href="jsgantt.css" />
|
||||
<script language="javascript" src="jsgantt.js"></script>
|
||||
</pre>
|
||||
|
||||
<p>2. Create a div element to hold the gantt chart</p>
|
||||
<pre class="style1"><div style="position:relative" class="gantt" id="GanttChartDIV"></div></pre>
|
||||
<p>3. Start a <script> block</p>
|
||||
<pre class="style1"><script language="javascript"></pre>
|
||||
<p>4. Instantiate JSGantt using GanttChart()</p>
|
||||
<pre class="style1">var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
|
||||
|
||||
</pre>
|
||||
|
||||
<p>GanttChart(<em>pGanttVar, pDiv, pFormat</em>)<br>
|
||||
<em>pGanttVar</em>: (required) name of the variable assigned<br>
|
||||
<em>pDiv</em>: (required) this is a DIV object created in HTML<br>
|
||||
<em>pFormat</em>: (required) - used to indicate whether chart should be drawn in "day", "week", "month", or "quarter" format</p>
|
||||
<p>Customize the look and feel using the following setters<br><br>
|
||||
<pre class="style1">g.setShowRes(1); // Show/Hide Responsible (0/1)
|
||||
g.setShowDur(1); // Show/Hide Duration (0/1)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setCaptionType('Resource'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
|
||||
g.setShowStartDate(1); // Show/Hide Start Date(0/1)
|
||||
g.setShowEndDate(1); // Show/Hide End Date(0/1)
|
||||
g.setDateInputFormat('mm/dd/yyyy') // Set format of input dates ('mm/dd/yyyy', 'dd/mm/yyyy', 'yyyy-mm-dd')
|
||||
g.setDateDisplayFormat('mm/dd/yyyy') // Set format to display dates ('mm/dd/yyyy', 'dd/mm/yyyy', 'yyyy-mm-dd')
|
||||
g.setFormatArr("day","week","month","quarter") // Set format options (up to 4 : "minute","hour","day","week","month","quarter")
|
||||
</pre>
|
||||
|
||||
</p>
|
||||
<p>5. Add Tasks using AddTaskItem()</p>
|
||||
<pre class="style1">
|
||||
g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(11, 'Chart Object', '2/10/2008', '2/10/2008', 'ff00ff', 'http://www.yahoo.com', 1, 'Shlomy', 100, 0, 1, 1, "121,122", "My Caption"));
|
||||
</pre>
|
||||
|
||||
TaskItem(<em>pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend</em>)<br>
|
||||
<em>pID</em>: (required) is a unique ID used to identify each row for parent functions and for setting dom id for hiding/showing<br>
|
||||
<em>pName</em>: (required) is the task Label<br>
|
||||
<em>pStart</em>: (required) the task start date, can enter empty date ('') for groups. You can also enter specific time (2/10/2008 12:00) for additional percision or half days.<br>
|
||||
<em>pEnd</em>: (required) the task end date, can enter empty date ('') for groups<br>
|
||||
<em>pColor</em>: (required) the html color for this task; e.g. '00ff00'<br>
|
||||
<em>pLink</em>: (optional) any http link navigated to when task bar is clicked.<br>
|
||||
<em>pMile</em>:(optional) represent a milestone<br>
|
||||
<em>pRes</em>: (optional) resource name<br>
|
||||
<em>pComp</em>: (required) completion percent<br>
|
||||
<em>pGroup</em>: (optional) indicates whether this is a group(parent) - 0=NOT Parent; 1=IS Parent<br>
|
||||
<em>pParent</em>: (required) identifies a parent pID, this causes this task to be a child of identified task<br>
|
||||
<em>pOpen</em>: can be initially set to close folder when chart is first drawn<br>
|
||||
<em>pDepend</em>: optional list of id's this task is dependent on ... line drawn from dependent to this item<br>
|
||||
<em>pCaption</em>: optional caption that will be added after task bar if CaptionType set to "Caption"<br>
|
||||
|
||||
*You should be able to add items to the chart in realtime via javascript and issuing "g.Draw()" command.
|
||||
|
||||
<p>5a. Another way to add tasks is to use an external XML file with parseXML()</p>
|
||||
<pre class="style1">
|
||||
JSGantt.parseXML("project.xml",g);
|
||||
</pre>
|
||||
The structure of the XML file:<br>
|
||||
<textarea name="textarea" cols="150" rows="10">
|
||||
<project>
|
||||
<task>
|
||||
<pID>10</pID>
|
||||
<pName>WCF Changes</pName>
|
||||
<pStart></pStart>
|
||||
<pEnd></pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes></pRes>
|
||||
<pComp>0</pComp>
|
||||
<pGroup>1</pGroup>
|
||||
<pParent>0</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend />
|
||||
</task>
|
||||
<task>
|
||||
<pID>20</pID>
|
||||
<pName>Move to WCF from remoting</pName>
|
||||
<pStart>8/11/2008</pStart>
|
||||
<pEnd>8/15/2008</pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Rich</pRes>
|
||||
<pComp>10</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend></pDepend>
|
||||
</task>
|
||||
<task>
|
||||
<pID>30</pID>
|
||||
<pName>add Auditing</pName>
|
||||
<pStart>8/19/2008</pStart>
|
||||
<pEnd>8/21/2008</pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Mal</pRes>
|
||||
<pComp>50</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend>20</pDepend>
|
||||
</task>
|
||||
</project>
|
||||
</textarea>
|
||||
|
||||
<p>6. Call Draw() and DrawDependencies()</p>
|
||||
<pre class="style1">
|
||||
|
||||
g.Draw();
|
||||
g.DrawDependencies();
|
||||
|
||||
</pre>
|
||||
|
||||
<br>
|
||||
<p>7. Close the <script> block</p>
|
||||
<pre class="style1"></script></pre>
|
||||
|
||||
<br><br>
|
||||
Final code should look like
|
||||
<textarea name="textarea2" cols="150" rows="20">
|
||||
<link rel="stylesheet" type="text/css" href="jsgantt.css" />
|
||||
<script language="javascript" src="jsgantt.js"></script>
|
||||
<div style="position:relative" class="gantt" id="GanttChartDIV"></div>
|
||||
<script>
|
||||
|
||||
var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
|
||||
g.setShowRes(1); // Show/Hide Responsible (0/1)
|
||||
g.setShowDur(1); // Show/Hide Duration (0/1)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setCaptionType('Resource'); // Set to Show Caption
|
||||
|
||||
if( g ) {
|
||||
|
||||
g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(11, 'Chart Object', '2/20/2008', '2/20/2008', 'ff00ff', 'http://www.yahoo.com', 1, 'Shlomy', 100, 0, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(12, 'Task Objects', '', '', '00ff00', '', 0, 'Shlomy', 40, 1, 1, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(121, 'Constructor Proc', '2/21/2008', '3/9/2008', '00ffff', 'http://www.yahoo.com', 0, 'Brian T.', 60, 0, 12, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(122, 'Task Variables', '3/6/2008', '3/11/2008', 'ff0000', 'http://help.com', 0, '', 60, 0, 12, 1,121));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(123, 'Task Functions', '3/9/2008', '3/29/2008', 'ff0000', 'http://help.com', 0, 'Anyone', 60, 0, 12, 1, 0, 'This is another caption'));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(2, 'Create HTML Shell', '3/24/2008', '3/25/2008', 'ffff00', 'http://help.com', 0, 'Brian', 20, 0, 0, 1,122));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(3, 'Code Javascript', '', '', 'ff0000', 'http://help.com', 0, 'Brian', 0, 1, 0, 1 ));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(31, 'Define Variables', '2/25/2008', '3/17/2008', 'ff00ff', 'http://help.com', 0, 'Brian', 30, 0, 3, 1, ,'Caption 1'));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(32, 'Calculate Chart Size', '3/15/2008', '3/24/2008', '00ff00', 'http://help.com', 0, 'Shlomy', 40, 0, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(33, 'Draw Taks Items', '', '', '00ff00', 'http://help.com', 0, 'Someone', 40, 1, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(332, 'Task Label Table', '3/6/2008', '3/11/2008', '0000ff', 'http://help.com', 0, 'Brian', 60, 0, 33, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(333, 'Task Scrolling Grid', '3/9/2008', '3/20/2008', '0000ff', 'http://help.com', 0, 'Brian', 60, 0, 33, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(34, 'Draw Task Bars', '', '', '990000', 'http://help.com', 0, 'Anybody', 60, 1, 3, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(341, 'Loop each Task', '3/26/2008', '4/11/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1, "332,333"));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(342, 'Calculate Start/Stop', '4/12/2008', '5/18/2008', 'ff6666', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(343, 'Draw Task Div', '5/13/2008', '5/17/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(344, 'Draw Completion Div', '5/17/2008', '6/04/2008', 'ff0000', 'http://help.com', 0, 'Brian', 60, 0, 34, 1));
|
||||
g.AddTaskItem(new JSGantt.TaskItem(35, 'Make Updates', '10/17/2008','12/04/2008','f600f6', 'http://help.com', 0, 'Brian', 30, 0, 3, 1));
|
||||
|
||||
|
||||
|
||||
g.Draw();
|
||||
g.DrawDependencies();
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("not defined");
|
||||
}
|
||||
|
||||
</script>
|
||||
</textarea>
|
||||
</p>
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tExamples"/>
|
||||
<table width="50%">
|
||||
<tr><td><font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> ADDITIONAL DEMOS</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li><a href="index.htm">jsGantt</a></li>
|
||||
<li><a href="jsgantt_exExternalXML.html">jsGantt with external XML file</a></li>
|
||||
<li><a href="jsgantt_Minutes.html">jsGantt by minutes</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tSubscribe"/>
|
||||
<table width="50%">
|
||||
<tr><td><font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> SUBSCRIBE</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Enter your email address to receive JSGantt announcements<br />
|
||||
<form action="http://www.jsgantt.com/subscribe/?subsribe" method="post">
|
||||
<input type="text" name="email" size="20" />
|
||||
<input type="submit" value="Subscribe" />
|
||||
</form><br />
|
||||
</p>
|
||||
|
||||
<div style="width:400px;">
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner1"><b></b></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner5"></b></b>
|
||||
|
||||
<div class="roundedCornerfg"><a name="tCredits"/>
|
||||
<table width="50%">
|
||||
<tr><td><font face="Arial,Helvetica" size="3" color="#FFFFFF"><i><b> CREDITS</b></i></font>
|
||||
</td></tr></table></div>
|
||||
|
||||
<b class="roundedCorner">
|
||||
<b class="roundedCorner5"></b>
|
||||
<b class="roundedCorner4"></b>
|
||||
<b class="roundedCorner3"></b>
|
||||
<b class="roundedCorner2"><b></b></b>
|
||||
<b class="roundedCorner1"><b></b></b></b>
|
||||
</div>
|
||||
|
||||
<p>Developed by Shlomy Gantz and Brian Twidt<br>
|
||||
Contributed: Paul Labuschagne, Kevin Badgett, Ilan Admon<br>
|
||||
</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
126
htdocs/includes/jsgantt/main.css
Normal file
126
htdocs/includes/jsgantt/main.css
Normal file
@ -0,0 +1,126 @@
|
||||
body {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.product-name {
|
||||
font-family: Satisfy;
|
||||
}
|
||||
|
||||
#my-navbar-nav {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#my-nav-brand {
|
||||
font-size: 24px;
|
||||
margin: 2px 40px 0 10px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#home {
|
||||
background: #323232 url(home-bg.jpg) center 0 no-repeat;
|
||||
background-attachment: fixed;
|
||||
background-size: cover;
|
||||
min-height: 660px;
|
||||
color: #ffffff;
|
||||
}
|
||||
#home-title {
|
||||
font-size: 70px;
|
||||
margin-top: 180px;
|
||||
}
|
||||
#home-subtitle {
|
||||
font-size: 36px;
|
||||
margin-top: 40px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
#learn-more {
|
||||
padding: 0;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
font-size: 38px;
|
||||
margin-top: 60px;
|
||||
}
|
||||
@media screen and (max-width: 991px) {
|
||||
#learn-more {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.section {
|
||||
margin: 0 15vw;
|
||||
padding: 5px 0 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: Kelly Slab;
|
||||
font-size: 56px;
|
||||
margin: 50px 0 20px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: Kelly Slab;
|
||||
margin: 20px 0 10px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-family: Kelly Slab;
|
||||
}
|
||||
#embedded-Gantt, #external-Gantt {
|
||||
}
|
||||
|
||||
.code-block {
|
||||
background-color: #222222;
|
||||
}
|
||||
|
||||
.contact-card {
|
||||
max-width: 200px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.contact-link {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin-top: 10px;
|
||||
padding-top: 10px;
|
||||
border-top: solid #bbbbbb 1px;
|
||||
}
|
||||
|
||||
#slide-card {
|
||||
background: transparent;
|
||||
border: none;
|
||||
margin: 180px 50px 50px;
|
||||
}
|
||||
#slide-dots {
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
.dot {
|
||||
cursor:pointer;
|
||||
height: 13px;
|
||||
width: 13px;
|
||||
margin: 0 2px;
|
||||
background-color: #ffffff;
|
||||
opacity: 0.3;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
-webkit-transition: all .5s; /* Safari */
|
||||
transition: all .5s;
|
||||
}
|
||||
.dot:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
.dot.active {
|
||||
opacity: 1;
|
||||
}
|
||||
.slide {
|
||||
width: 100%;
|
||||
height: 150px;
|
||||
font-size: 20px;
|
||||
display: none;
|
||||
opacity: 0;
|
||||
}
|
||||
.slide-icon {
|
||||
font-size: 60px;
|
||||
}
|
||||
85
htdocs/includes/jsgantt/main.js
Normal file
85
htdocs/includes/jsgantt/main.js
Normal file
@ -0,0 +1,85 @@
|
||||
$(document).ready(function() {
|
||||
|
||||
// Scrollspy changes navbar active links
|
||||
$("body").scrollspy({target:"#my-navbar-nav", offset:50});
|
||||
|
||||
// Smooth scroll
|
||||
$("a").click(function(event) {
|
||||
if (this.hash !== "") {
|
||||
event.preventDefault();
|
||||
var linkOffset = 0;
|
||||
if ($.inArray(this.hash,["#options","#xmlExport","#optionsLanguage","#setDayMajorDateDisplayFormat"]) != -1) {
|
||||
linkOffset = -25;
|
||||
}
|
||||
$("html, body").animate({
|
||||
scrollTop: $(this.hash).offset().top - $(".navbar").height() + linkOffset
|
||||
}, 600);
|
||||
}
|
||||
});
|
||||
|
||||
// Demo buttons
|
||||
$("#embedded-Gantt").hide(0);
|
||||
$("#external-Gantt").hide(0);
|
||||
|
||||
$(".btn-demo").click(function() {
|
||||
if ($(this).html().indexOf("Embedded Code") != -1) {
|
||||
if ($("#external-Gantt").is(":visible")) {
|
||||
$("#external-Gantt").animate({
|
||||
height: "toggle",
|
||||
opacity: "toggle"}, 300, function () {
|
||||
$("#embedded-Gantt").animate({
|
||||
height: "toggle",
|
||||
opacity: "toggle"}, 600
|
||||
);
|
||||
}
|
||||
);
|
||||
$(".btn-demo:nth-child(2)").removeClass("active");
|
||||
} else {
|
||||
$("#embedded-Gantt").animate({
|
||||
height: "toggle",
|
||||
opacity: "toggle"}, 600
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if ($("#embedded-Gantt").is(":visible")) {
|
||||
$("#embedded-Gantt").animate({
|
||||
height: "toggle",
|
||||
opacity: "toggle"}, 300, function() {
|
||||
$("#external-Gantt").animate({
|
||||
height: "toggle",
|
||||
opacity: "toggle"}, 600
|
||||
);
|
||||
}
|
||||
);
|
||||
$(".btn-demo:nth-child(1)").removeClass("active");
|
||||
} else {
|
||||
$("#external-Gantt").animate({
|
||||
height: "toggle",
|
||||
opacity: "toggle"}, 600
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Slideshow
|
||||
var slideIndex = 0;
|
||||
carousel();
|
||||
|
||||
function carousel() {
|
||||
var i;
|
||||
var x = document.getElementsByClassName("slide");
|
||||
var d = document.getElementsByClassName("dot");
|
||||
for (i = 0; i < x.length; i++) {
|
||||
x[i].style.display = "none";
|
||||
}
|
||||
slideIndex++;
|
||||
if (slideIndex > x.length) {slideIndex = 1}
|
||||
x[slideIndex-1].style.display = "inline-block";
|
||||
$(".slide:nth-child(" + (slideIndex).toString() + ")").animate({
|
||||
opacity: 1
|
||||
}, 500);
|
||||
$(".dot").removeClass("active");
|
||||
$(".dot:nth-child(" + (slideIndex).toString() + ")").addClass("active");
|
||||
setTimeout(carousel, 2000); // Change image every 2 seconds
|
||||
}
|
||||
});
|
||||
@ -1,65 +1,131 @@
|
||||
<project>
|
||||
<task>
|
||||
<pID>10</pID>
|
||||
<pName>WCF Changes</pName>
|
||||
<pStart></pStart>
|
||||
<pEnd></pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes></pRes>
|
||||
<pComp>0</pComp>
|
||||
<pGroup>1</pGroup>
|
||||
<pParent>0</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend />
|
||||
</task>
|
||||
<task>
|
||||
<pID>20</pID>
|
||||
<pName>Move to WCF from remoting</pName>
|
||||
<pStart>9/11/2008</pStart>
|
||||
<pEnd>9/15/2008</pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Rich</pRes>
|
||||
<pComp>10</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend></pDepend>
|
||||
<pCaption>Brian</pCaption>
|
||||
</task>
|
||||
<task>
|
||||
<pID>30</pID>
|
||||
<pName>add Auditing</pName>
|
||||
<pStart>9/19/2008</pStart>
|
||||
<pEnd>9/21/2008</pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Shlomy</pRes>
|
||||
<pComp>50</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend>20</pDepend>
|
||||
<pCaption>Shlomy</pCaption>
|
||||
</task>
|
||||
<task>
|
||||
<pID>40</pID>
|
||||
<pName>Yet another task</pName>
|
||||
<pStart>9/23/2008</pStart>
|
||||
<pEnd>9/24/2008</pEnd>
|
||||
<pColor>0000ff</pColor>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Shlomy</pRes>
|
||||
<pComp>30</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>0</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend>20,30</pDepend>
|
||||
<pCaption>Shlomy</pCaption>
|
||||
</task>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<task>
|
||||
<pID>10</pID>
|
||||
<pName>WCF Changes</pName>
|
||||
<pStart></pStart>
|
||||
<pEnd></pEnd>
|
||||
<pClass>ggroupblack</pClass>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes></pRes>
|
||||
<pComp>0</pComp>
|
||||
<pGroup>1</pGroup>
|
||||
<pParent>0</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend />
|
||||
</task>
|
||||
<task>
|
||||
<pID>20</pID>
|
||||
<pName>Move to WCF from remoting</pName>
|
||||
<pStart>2017-05-11 09:00</pStart>
|
||||
<pEnd>2017-05-15</pEnd>
|
||||
<pClass>gtaskblue</pClass>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Paul</pRes>
|
||||
<pComp>10</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend></pDepend>
|
||||
<pCaption>Paul</pCaption>
|
||||
<pNotes>This text is only available in tool tips</pNotes>
|
||||
</task>
|
||||
<task>
|
||||
<pID>30</pID>
|
||||
<pName>add Auditing</pName>
|
||||
<pStart>2017-05-18 10:30</pStart>
|
||||
<pEnd>2017-05-20 12:00</pEnd>
|
||||
<pClass>gtaskblue</pClass>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Eduardo</pRes>
|
||||
<pComp>50</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>10</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend>20</pDepend>
|
||||
<pCaption>Eduardo</pCaption>
|
||||
</task>
|
||||
<task>
|
||||
<pID>40</pID>
|
||||
<pName>Yet another task</pName>
|
||||
<pStart>2017-05-24</pStart>
|
||||
<pEnd>2017-05-25</pEnd>
|
||||
<pClass>gtaskblue</pClass>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Ricardo</pRes>
|
||||
<pComp>30</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>0</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend>20,30</pDepend>
|
||||
<pCaption>Ricardo</pCaption>
|
||||
</task>
|
||||
<task>
|
||||
<pID>50</pID>
|
||||
<pName>Another Group</pName>
|
||||
<pStart></pStart>
|
||||
<pEnd></pEnd>
|
||||
<pClass>ggroupblack</pClass>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes></pRes>
|
||||
<pComp>0</pComp>
|
||||
<pGroup>1</pGroup>
|
||||
<pParent>0</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend />
|
||||
</task>
|
||||
<task>
|
||||
<pID>60</pID>
|
||||
<pName>Move to GitHub</pName>
|
||||
<pStart>2017-05-14 09:00</pStart>
|
||||
<pEnd>2017-05-16</pEnd>
|
||||
<pClass>gtaskblue</pClass>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Ricardo</pRes>
|
||||
<pComp>10</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>50</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend></pDepend>
|
||||
<pCaption>Ricardo</pCaption>
|
||||
<pNotes>This text is only available in tool tips</pNotes>
|
||||
</task>
|
||||
<task>
|
||||
<pID>70</pID>
|
||||
<pName>Updating files</pName>
|
||||
<pStart>2017-05-18 10:30</pStart>
|
||||
<pEnd>2017-05-21 12:00</pEnd>
|
||||
<pClass>gtaskred</pClass>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Paul</pRes>
|
||||
<pComp>50</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>50</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend>60</pDepend>
|
||||
<pCaption>Paul</pCaption>
|
||||
</task>
|
||||
<task>
|
||||
<pID>80</pID>
|
||||
<pName>Yet another task</pName>
|
||||
<pStart>2017-05-23</pStart>
|
||||
<pEnd>2017-05-25</pEnd>
|
||||
<pClass>gtaskyellow</pClass>
|
||||
<pLink></pLink>
|
||||
<pMile>0</pMile>
|
||||
<pRes>Eduardo</pRes>
|
||||
<pComp>30</pComp>
|
||||
<pGroup>0</pGroup>
|
||||
<pParent>50</pParent>
|
||||
<pOpen>1</pOpen>
|
||||
<pDepend>60,70</pDepend>
|
||||
<pCaption>Eduardo</pCaption>
|
||||
</task>
|
||||
</project>
|
||||
|
||||
@ -99,9 +99,14 @@ if (g.getDivId() != null)
|
||||
g.setShowComp(1); // Show/Hide % Complete(0/1)
|
||||
g.setShowStartDate(1); // Show/Hide % Complete(0/1)
|
||||
g.setShowEndDate(1); // Show/Hide % Complete(0/1)
|
||||
g.setFormatArr("day","week","month","quarter") // Set format options (up to 4 : "minute","hour","day","week","month","quarter")
|
||||
g.setShowTaskInfoLink(1);
|
||||
g.setFormatArr("day","week","month") // Set format options (up to 4 : "minute","hour","day","week","month","quarter")
|
||||
g.setCaptionType('Caption'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
|
||||
g.setUseFade(0);
|
||||
g.setDayColWidth(20);
|
||||
/* g.setShowTaskInfoLink(1) */
|
||||
g.addLang('<?php print $langs->getDefaultLang(1);?>', vLangs['<?php print $langs->getDefaultLang(1);?>']);
|
||||
g.setLang('<?php print $langs->getDefaultLang(1);?>');
|
||||
|
||||
<?php
|
||||
$level=0;
|
||||
@ -208,7 +213,7 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_
|
||||
$s = "\n// Add taks id=".$task["task_id"]." level = ".$level."\n";
|
||||
// $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', '".$task['task_color']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));";
|
||||
// For JSGanttImproved
|
||||
$s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js(trim($name))."','".$start_date."', '".$end_date."', '".$task['task_css']."', '".$link."', ".$task['task_milestone'].", '".dol_escape_js($resources)."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]).", '".$parent."', 1, '".($depend?$depend:$parent."SS")."', '".($percent >= 0 ? $percent.'%' : '0%')."','".dol_escape_js($task['note'])."'));";
|
||||
$s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js(trim($name))."','".$start_date."', '".$end_date."', '".$task['task_css']."', '".$link."', ".$task['task_milestone'].", '".dol_escape_js($resources)."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]).", ".$parent.", 1, '".($depend?$depend:$parent."SS")."', '".($percent >= 0 ? $percent.'%' : '0%')."','".dol_escape_js($task['note'])."', g));";
|
||||
echo $s;
|
||||
|
||||
|
||||
|
||||
@ -322,7 +322,7 @@ if (count($tasksarray)>0)
|
||||
|
||||
print '<div class="div-table-responsive">';
|
||||
|
||||
print '<div id="tabs" class="gantt" style="width: 80vw; border: 1px solid #ACACAC;">'."\n";
|
||||
print '<div id="tabs" class="gantt" style="width: 80vw;">'."\n";
|
||||
include_once DOL_DOCUMENT_ROOT.'/projet/ganttchart.inc.php';
|
||||
print '</div>'."\n";
|
||||
|
||||
|
||||
@ -42,7 +42,7 @@ global $langs;
|
||||
|
||||
var vLangs={'<?php print $langs->getDefaultLang(1);?>':
|
||||
{
|
||||
'format':'<?php print $langs->transnoentities('Period');?>','hour':'"<?php print $langs->transnoentities('Hour'); ?>','day':'<?php print $langs->transnoentities('Day'); ?>',
|
||||
'format':'<?php print '-';?>','hour':'"<?php print $langs->transnoentities('Hour'); ?>','day':'<?php print $langs->transnoentities('Day'); ?>',
|
||||
'week':'<?php print $langs->transnoentities('Week'); ?>','month':'<?php print $langs->transnoentities('Month'); ?>','quarter':'<?php print $langs->transnoentities('Quadri'); ?>',
|
||||
'hours':'<?php print $langs->transnoentities('Hours'); ?>','days':'<?php print $langs->transnoentities('Days'); ?>','weeks':'<?php print $langs->transnoentities('Weeks');?>',
|
||||
'months':'<?php print $langs->transnoentities('Months'); ?>','quarters':'<?php print $langs->transnoentities('Quadri'); ?>','hr':'Hr','dy':'<?php print $langs->transnoentities('Day'); ?>','wk':'<?php print $langs->transnoentities('Week'); ?>','mth':'<?php print $langs->transnoentities('Month'); ?>','qtr':'<?php print $langs->transnoentities('Quadri'); ?>','hrs':'<?php print $langs->transnoentities('Hours'); ?>',
|
||||
|
||||
@ -3530,21 +3530,6 @@ table.cal_event td.cal_event_right { padding: 4px 4px !important; }
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
/* ============================================================================== */
|
||||
/* Gantt
|
||||
/* ============================================================================== */
|
||||
|
||||
div.gTaskInfo {
|
||||
background: #f0f0f0 !important;
|
||||
}
|
||||
.gtaskblue {
|
||||
background: rgb(108,152,185) !important;
|
||||
}
|
||||
td.gtaskname {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* jQuery - jeditable */
|
||||
@ -3914,6 +3899,26 @@ div.scroll2 {
|
||||
width: <?php print isset($_SESSION['dol_screenwidth'])?max($_SESSION['dol_screenwidth']-830,450):'450'; ?>px !important;
|
||||
}
|
||||
|
||||
.gtaskname div, .gtaskname {
|
||||
font-size: unset !important;
|
||||
}
|
||||
div.gantt, .gtaskheading, .gmajorheading, .gminorheading, .gminorheadingwkend {
|
||||
font-size: unset !important;
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
div.gTaskInfo {
|
||||
background: #f0f0f0 !important;
|
||||
}
|
||||
.gtaskblue {
|
||||
background: rgb(108,152,185) !important;
|
||||
}
|
||||
td.gtaskname {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* jFileTree */
|
||||
|
||||
Loading…
Reference in New Issue
Block a user