mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Update jsGant lib to 2.7.3
This commit is contained in:
parent
d3ba87b09a
commit
506659a9d2
|
|
@ -52,7 +52,7 @@ jQuery jqueryFileTree 1.0.1 GPL and MIT License Yes
|
|||
jQuery jquerytreeview 1.4.1 MIT License Yes JS library for filetree
|
||||
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
|
||||
jsGanttImproved 1.7.5.4 BSD License Yes JS library (to build Gantt reports)
|
||||
jsGanttImproved 2.7.3 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
|
||||
|
||||
|
|
|
|||
|
|
@ -177,4 +177,4 @@ You can find out more detailed information about contributing in the [Documentat
|
|||
[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
|
||||
[docs]: https://github.com/jsGanttImproved/jsgantt-improved/wiki/Documentation
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
* Copyright (c) 2013-2017, Paul Geldart, Eduardo Rodrigues and Ricardo Cardoso.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2013-2018, Paul Geldart, Eduardo Rodrigues and Ricardo Cardoso.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
|
|
@ -26,7 +25,6 @@
|
|||
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:
|
||||
|
|
@ -48,4 +46,4 @@ This project is based on jsGantt 1.2, the original project license follows:
|
|||
* 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.
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
|
@ -1,21 +1,151 @@
|
|||
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.
|
||||
[](https://travis-ci.com/jsGanttImproved/jsgantt-improved)
|
||||
|
||||
You can view a live example at https://jsGanttImproved.github.io/jsgantt-improved
|
||||
|
||||
Features include:
|
||||
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.
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
Start using with including the files `jsgantt.js` and `jsgantt.css` that are inside `docs/` folder.
|
||||
|
||||
Or install and use in JS
|
||||
|
||||
`npm install jsgantt-improved`
|
||||
|
||||
Import in your JS `import {JSGantt} from 'jsgantt-improved';`
|
||||
|
||||
See the [FULL DOCUMENTATION](./Documentation.md) for more details in all features.
|
||||
|
||||
For **Angular** use the component [ng-gantt](https://github.com/jsGanttImproved/ng-gantt)
|
||||
|
||||
For **React** use the component [react-jsgantt](https://github.com/jsGanttImproved/react-jsgantt)
|
||||
|
||||
|
||||
For **Vue** , see this example: https://stackblitz.com/edit/vue-jsgantt
|
||||
|
||||
|
||||
For **.NET** , see this example: [.NET Documentation](./docs/DotNet.md)
|
||||
|
||||
|
||||
## Example
|
||||
|
||||
|
||||
You can view a Solo live example at:
|
||||
|
||||
* https://jsganttimproved.github.io/jsgantt-improved/docs/demo.html
|
||||
|
||||
Or use a live coding example at Codenpen:
|
||||
|
||||
* https://codepen.io/mariomol/pen/mQzBPV
|
||||
|
||||
|
||||
## Easy to Use
|
||||
|
||||
```html
|
||||
<link href="jsgantt.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="jsgantt.js" type="text/javascript"></script>
|
||||
|
||||
<div style="position:relative" class="gantt" id="GanttChartDIV"></div>
|
||||
|
||||
<script>
|
||||
|
||||
var g = new JSGantt.GanttChart(document.getElementById('GanttChartDIV'), 'day');
|
||||
|
||||
g.setOptions({
|
||||
vCaptionType: 'Complete', // Set to Show Caption : None,Caption,Resource,Duration,Complete,
|
||||
vQuarterColWidth: 36,
|
||||
vDateTaskDisplayFormat: 'day dd month yyyy', // Shown in tool tip box
|
||||
vDayMajorDateDisplayFormat: 'mon yyyy - Week ww',// Set format to dates in the "Major" header of the "Day" view
|
||||
vWeekMinorDateDisplayFormat: 'dd mon', // Set format to display dates in the "Minor" header of the "Week" view
|
||||
vLang: 'en',
|
||||
vShowTaskInfoLink: 1, // Show link in tool tip (0/1)
|
||||
vShowEndWeekDate: 0, // Show/Hide the date for the last day of the week in header for daily
|
||||
vAdditionalHeaders: { // Add data columns to your table
|
||||
category: {
|
||||
title: 'Category'
|
||||
},
|
||||
sector: {
|
||||
title: 'Sector'
|
||||
}
|
||||
},
|
||||
vUseSingleCell: 10000, // Set the threshold cell per table row (Helps performance for large data.
|
||||
vFormatArr: ['Day', 'Week', 'Month', 'Quarter'], // Even with setUseSingleCell using Hour format on such a large chart can cause issues in some browsers,
|
||||
|
||||
});
|
||||
|
||||
// Load from a Json url
|
||||
JSGantt.parseJSON('./fixes/data.json', g);
|
||||
|
||||
// Or Adding Manually
|
||||
g.AddTaskItemObject({
|
||||
pID: 1,
|
||||
pName: "Define Chart <strong>API</strong>",
|
||||
pStart: "2017-02-25",
|
||||
pEnd: "2017-03-17",
|
||||
pPlanStart: "2017-04-01",
|
||||
pPlanEnd: "2017-04-15 12:00",
|
||||
pClass: "ggroupblack",
|
||||
pLink: "",
|
||||
pMile: 0,
|
||||
pRes: "Brian",
|
||||
pComp: 0,
|
||||
pGroup: 0,
|
||||
pParent: 0,
|
||||
pOpen: 1,
|
||||
pDepend: "",
|
||||
pCaption: "",
|
||||
pCost: 1000,
|
||||
pNotes: "Some Notes text",
|
||||
category: "My Category",
|
||||
sector: "Finance"
|
||||
});
|
||||
|
||||
g.Draw();
|
||||
|
||||
</script>
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
* Tasks & Collapsible Task Groups
|
||||
* Dependencies
|
||||
* Dependencies and Highlight when hover a task
|
||||
* Edit data in gantt table with list of responsible
|
||||
* Task Completion
|
||||
* Task Styling
|
||||
* Table with Additional Columns
|
||||
* Task Styling or as HTML tags
|
||||
* Milestones
|
||||
* Resources
|
||||
* Costs
|
||||
* Plan Start and End Dates
|
||||
* Gantt with Planned vs Executed
|
||||
* Dynamic Loading of Tasks
|
||||
* Dynamic change of format: Hour, Day, Week, Month, Quarter
|
||||
* Load Gantt from XML
|
||||
* Load Gantt from JSON and 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)
|
||||
* Support for Internationalization
|
||||
|
||||
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).
|
||||
## Documentation
|
||||
|
||||
See the [Documentation](./Documentation.md) wiki page or the included ``docs/index.html`` file for instructions on use.
|
||||
|
||||
Project based on https://code.google.com/p/jsgantt/.
|
||||
|
||||
|
||||
## Want to Collaborate?
|
||||
|
||||
Its easy to get it set:
|
||||
|
||||
* Clone this repo
|
||||
* Install lib dependencies: `npm i`
|
||||
* Install global dependencies: `npm i -g browserify nodemon onchange`
|
||||
* Run the demo, This will start a `localhost:8080` with a live example: `npm start`.
|
||||
* Use `npm run watch` or do your change in `src` and restart this command refresh the changes.
|
||||
|
||||
For testing use `npm run test` with e2e tests.
|
||||
|
||||
Or help us donating...
|
||||
|
||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=S7B43P63C5QEN)
|
||||
|
||||
See the [Documentation](https://github.com/jsGanttImproved/jsgantt-improved/wiki/Documentation) wiki page or the included ``index.html`` file for instructions on use.
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 372 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,126 +0,0 @@
|
|||
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;
|
||||
}
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
$(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,131 +0,0 @@
|
|||
<?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>
|
||||
|
|
@ -126,9 +126,14 @@ if (g.getDivId() != null)
|
|||
$projecttmp = new Project($db);
|
||||
$projecttmp->fetch($t['task_project_id']);
|
||||
$tmpt = array(
|
||||
'task_id'=> '-'.$t['task_project_id'], 'task_alternate_id'=> '-'.$t['task_project_id'], 'task_name'=>$projecttmp->ref.' '.$projecttmp->title, 'task_resources'=>'',
|
||||
'task_start_date'=>'', 'task_end_date'=>'',
|
||||
'task_is_group'=>1, 'task_position'=>0, 'task_css'=>'ggroupblack', 'task_milestone'=> 0, 'task_parent'=>0, 'task_parent_alternate_id'=>0, 'task_notes'=>'',
|
||||
'task_id'=> '-'.$t['task_project_id'],
|
||||
'task_alternate_id'=> '-'.$t['task_project_id'],
|
||||
'task_name'=>$projecttmp->ref.' '.$projecttmp->title,
|
||||
'task_resources'=>'',
|
||||
'task_start_date'=>'',
|
||||
'task_end_date'=>'',
|
||||
'task_is_group'=>1, 'task_position'=>0, 'task_css'=>'ggroupblack', 'task_milestone'=> 0, 'task_parent'=>0, 'task_parent_alternate_id'=>0,
|
||||
'task_notes'=>'',
|
||||
'task_planned_workload'=>0
|
||||
);
|
||||
constructGanttLine($tasks, $tmpt, array(), 0, $t['task_project_id']);
|
||||
|
|
@ -180,6 +185,7 @@ function constructGanttLine($tarr, $task, $task_dependencies, $level = 0, $proje
|
|||
$end_date = dol_print_date($end_date, $dateformatinput2);
|
||||
// Resources
|
||||
$resources = $task["task_resources"];
|
||||
|
||||
// Define depend (ex: "", "4,13", ...)
|
||||
$depend = '';
|
||||
$count = 0;
|
||||
|
|
|
|||
|
|
@ -334,10 +334,11 @@ if (count($tasksarray) > 0)
|
|||
}
|
||||
}
|
||||
}
|
||||
//if ($s) $tasks[$taskcursor]['task_resources']='<a href="'.DOL_URL_ROOT.'/projet/tasks/contact.php?id='.$val->id.'&withproject=1" title="'.dol_escape_htmltag($s).'">'.$langs->trans("List").'</a>';
|
||||
|
||||
/* For JSGanttImproved */
|
||||
//if ($s) $tasks[$taskcursor]['task_resources']=implode(',',$idofusers);
|
||||
$tasks[$taskcursor]['task_resources'] = $s;
|
||||
if ($s) $tasks[$taskcursor]['task_resources'] = '<a href="'.DOL_URL_ROOT.'/projet/tasks/contact.php?id='.$val->id.'&withproject=1" title="'.dol_escape_htmltag($s).'">'.$langs->trans("List").'</a>';
|
||||
//print "xxx".$val->id.$tasks[$taskcursor]['task_resources'];
|
||||
$tasks[$taskcursor]['note'] = $task->note_public;
|
||||
$taskcursor++;
|
||||
|
|
|
|||
|
|
@ -5095,10 +5095,15 @@ td.gminorheading {
|
|||
.glistlbl, .glistgrid {
|
||||
width: 582px !important;
|
||||
}
|
||||
.gtaskname div, .gtaskname {
|
||||
/*.gtaskname div, .gtaskname {
|
||||
min-width: 250px !important;
|
||||
max-width: 250px !important;
|
||||
width: 250px !important;
|
||||
}*/
|
||||
.gtaskname div, .gtaskname {
|
||||
min-width: 250px !important;
|
||||
max-width: unset !important;
|
||||
width: unset !important;
|
||||
}
|
||||
.gpccomplete div, .gpccomplete {
|
||||
min-width: 40px !important;
|
||||
|
|
@ -5108,7 +5113,12 @@ td.gminorheading {
|
|||
td.gtaskheading.gstartdate, td.gtaskheading.genddate {
|
||||
white-space: break-spaces;
|
||||
}
|
||||
|
||||
.gtasktableh tr:nth-child(2) td:nth-child(2), .gtasktableh tr:nth-child(2) td:nth-child(3), .gtasktableh tr:nth-child(2) td:nth-child(4), .gtasktableh tr:nth-child(2) td:nth-child(5), .gtasktableh tr:nth-child(2) td:nth-child(6), .gtasktableh tr:nth-child(2) td:nth-child(7) {
|
||||
color: transparent !important;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
/* ============================================================================== */
|
||||
/* jFileTree */
|
||||
|
|
|
|||
|
|
@ -359,12 +359,41 @@ div.pagination .btnTitle:hover .btnTitle-label{
|
|||
display: block;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* rule to reduce top menu - 2nd reduction: Reduce width of top menu icons again */
|
||||
@media only screen and (max-width: <?php echo empty($conf->global->THEME_ELDY_WITDHOFFSET_FOR_REDUC2) ? round($nbtopmenuentries * 69, 0) + 130 : $conf->global->THEME_ELDY_WITDHOFFSET_FOR_REDUC2; ?>px) /* reduction 2 */
|
||||
{
|
||||
.butAction, .butActionRefused, .butActionDelete {
|
||||
font-size: 0.95em;
|
||||
}
|
||||
.btnTitle, a.btnTitle {
|
||||
display: inline-block;
|
||||
padding: 4px 4px 4px 4px;
|
||||
min-width: unset;
|
||||
}
|
||||
}
|
||||
|
||||
<?php if (!empty($conf->global->MAIN_BUTTON_HIDE_UNAUTHORIZED) && (!$user->admin)) { ?>
|
||||
.butActionRefused, .butActionNewRefused, .btnTitle.refused {
|
||||
display: none !important;
|
||||
}
|
||||
<?php }
|
||||
<?php } ?>
|
||||
|
||||
|
||||
/*
|
||||
* BTN LINK
|
||||
*/
|
||||
|
||||
.btn-link{
|
||||
margin-right: 5px;
|
||||
border: 1px solid #ddd;
|
||||
color: #333;
|
||||
padding: 5px 10px;
|
||||
border-radius:1em;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.btn-link:hover{
|
||||
background-color: #ddd;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -549,8 +549,8 @@ input.removedfile {
|
|||
}
|
||||
|
||||
input[type=file ] { background-color: transparent; border-top: none; border-left: none; border-right: none; box-shadow: none; }
|
||||
input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; }
|
||||
input[type=radio] { background-color: transparent; border: none; box-shadow: none; }
|
||||
input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; vertical-align: middle; }
|
||||
input[type=radio] { background-color: transparent; border: none; box-shadow: none; vertical-align: middle; }
|
||||
input[type=image] { background-color: transparent; border: none; box-shadow: none; }
|
||||
input:-webkit-autofill {
|
||||
background-color: #FBFFEA !important;
|
||||
|
|
@ -1899,6 +1899,11 @@ img.photoref, div.photoref {
|
|||
width: 80px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
div.photoref .fa, div.photoref .fas, div.photoref .far {
|
||||
font-size: 2.5em;
|
||||
}
|
||||
|
||||
img.fitcontain {
|
||||
object-fit: contain;
|
||||
}
|
||||
|
|
@ -4071,7 +4076,6 @@ div.titre {
|
|||
padding-bottom: 5px;
|
||||
text-transform: uppercase;
|
||||
/* text-shadow: 1px 1px 2px #FFFFFF; */
|
||||
<?php print (empty($conf->dol_optimize_smallscreen) ? '' : 'margin-top: 4px;'); ?>
|
||||
}
|
||||
div.titre {
|
||||
color: var(--colortexttitlenotab);
|
||||
|
|
@ -5000,6 +5004,12 @@ td.gminorheading {
|
|||
td.gtaskheading.gstartdate, td.gtaskheading.genddate {
|
||||
white-space: break-spaces;
|
||||
}
|
||||
.gtasktableh tr:nth-child(2) td:nth-child(2), .gtasktableh tr:nth-child(2) td:nth-child(3), .gtasktableh tr:nth-child(2) td:nth-child(4), .gtasktableh tr:nth-child(2) td:nth-child(5), .gtasktableh tr:nth-child(2) td:nth-child(6), .gtasktableh tr:nth-child(2) td:nth-child(7) {
|
||||
color: transparent !important;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
|
|
@ -6484,12 +6494,10 @@ div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before
|
|||
padding-right: 5px;
|
||||
}
|
||||
img.photoref, div.photoref {
|
||||
border: none;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
padding: 4px;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user