forked from Laess3r/noPlan
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Collapse view, gantchart, fullcalendar
- Loading branch information
Showing
923 changed files
with
126,781 additions
and
2,314 deletions.
There are no files selected for viewing
1,221 changes: 1,221 additions & 0 deletions
1,221
...noPlan-webapp/src/main/webapp/application/bower_components/angular-gantt/angular-gantt.js
Large diffs are not rendered by default.
Oops, something went wrong.
63 changes: 63 additions & 0 deletions
63
...lan-webapp/src/main/webapp/application/bower_components/angular-gantt/demo_sample_data.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
function getSampleData() { | ||
|
||
return { | ||
"data1": [ | ||
// Order is optional. If not specified it will be assigned automatically | ||
{"id": "2f85dbeb-0845-404e-934e-218bf39750c0", "description": "Milestones", "order": 0, "tasks": [ | ||
// Dates can be specified as string, timestamp or javascript date object. The data attribute can be used to attach a custom object | ||
{"id": "f55549b5-e449-4b0c-9f4b-8b33381f7d76", "subject": "Kickoff", "color": "#93C47D", "from": "2013-10-07T09:00:00", "to": 1381129200000, "data": "Can contain any custom data or object"}, | ||
{"id": "5e997eb3-4311-46b1-a1b4-7e8663ea8b0b", "subject": "Concept approval", "color": "#93C47D", "from": new Date(2013,9,18,18,0,0), "to": new Date(2013,9,18,18,0,0)}, | ||
{"id": "b6a1c25c-85ae-4991-8502-b2b5127bc47c", "subject": "Development finished", "color": "#93C47D", "from": new Date(2013,10,15,18,0,0), "to": new Date(2013,10,15,18,0,0)}, | ||
{"id": "6fdfd775-7b22-42ec-a12c-21a64c9e7a9e", "subject": "Shop is running", "color": "#93C47D", "from": new Date(2013,10,22,12,0,0), "to": new Date(2013,10,22,12,0,0)}, | ||
{"id": "c112ee80-82fc-49ba-b8de-f8efba41b5b4", "subject": "Go-live", "color": "#93C47D", "from": new Date(2013,10,29,16,0,0), "to": new Date(2013,10,29,16,0,0)} | ||
], "data": "Can contain any custom data or object"}, | ||
{"id": "b8d10927-cf50-48bd-a056-3554decab824", "description": "Status meetings", "order": 1, "tasks": [ | ||
{"id": "301d781f-1ef0-4c35-8398-478b641c0658", "subject": "Demo", "color": "#9FC5F8", "from": new Date(2013,9,25,15,0,0), "to": new Date(2013,9,25,18,30,0)}, | ||
{"id": "0fbf344a-cb43-4b20-8003-a789ba803ad8", "subject": "Demo", "color": "#9FC5F8", "from": new Date(2013,10,1,15,0,0), "to": new Date(2013,10,1,18,0,0)}, | ||
{"id": "12af138c-ba21-4159-99b9-06d61b1299a2", "subject": "Demo", "color": "#9FC5F8", "from": new Date(2013,10,8,15,0,0), "to": new Date(2013,10,8,18,0,0)}, | ||
{"id": "73294eca-de4c-4f35-aa9b-ae25480967ba", "subject": "Demo", "color": "#9FC5F8", "from": new Date(2013,10,15,15,0,0), "to": new Date(2013,10,15,18,0,0)}, | ||
{"id": "75c3dc51-09c4-44fb-ac40-2f4548d0728e", "subject": "Demo", "color": "#9FC5F8", "from": new Date(2013,10,24,9,0,0), "to": new Date(2013,10,24,10,0,0)} | ||
]}, | ||
{"id": "c65c2672-445d-4297-a7f2-30de241b3145", "description": "Kickoff", "order": 2, "tasks": [ | ||
{"id": "4e197e4d-02a4-490e-b920-4881c3ba8eb7", "subject": "Day 1", "color": "#9FC5F8", "from": new Date(2013,9,7,9,0,0), "to": new Date(2013,9,7,17,0,0)}, | ||
{"id": "451046c0-9b17-4eaf-aee0-4e17fcfce6ae", "subject": "Day 2", "color": "#9FC5F8", "from": new Date(2013,9,8,9,0,0), "to": new Date(2013,9,8,17,0,0)}, | ||
{"id": "fcc568c5-53b0-4046-8f19-265ebab34c0b", "subject": "Day 3", "color": "#9FC5F8", "from": new Date(2013,9,9,8,30,0), "to": new Date(2013,9,9,12,0,0)} | ||
]}, | ||
{"id": "dd2e7a97-1622-4521-a807-f29960218785", "description": "Create concept", "order": 3, "tasks": [ | ||
{"id": "9c17a6c8-ce8c-4426-8693-a0965ff0fe69", "subject": "Create concept", "color": "#F1C232", "from": new Date(2013,9,10,8,0,0), "to": new Date(2013,9,16,18,0,0)} | ||
]}, | ||
{"id": "eede0c9a-6777-4b55-9359-1eada309404e", "description": "Finalize concept", "order": 4, "tasks": [ | ||
{"id": "30b8f544-5a45-4357-9a72-dd0181fba49f", "subject": "Finalize concept", "color": "#F1C232", "from": new Date(2013,9,17,8,0,0), "to": new Date(2013,9,18,18,0,0)} | ||
]}, | ||
{"id": "b5318fd9-5d70-4eb1-9c05-65647b9aefe6", "description": "Sprint 1", "order": 5, "tasks": [ | ||
{"id": "d1fdf100-534c-4198-afb9-7bcaef0696f0", "subject": "Product list view", "color": "#F1C232", "from": new Date(2013,9,21,8,0,0), "to": new Date(2013,9,25,15,0,0)} | ||
]}, | ||
{"id": "cfb29cd5-1737-4027-9778-bb3058fbed9c", "description": "Sprint 2", "order": 6, "tasks": [ | ||
{"id": "57638ba3-dfff-476d-ab9a-30fda1e44b50", "subject": "Order basket", "color": "#F1C232", "from": new Date(2013,9,28,8,0,0), "to": new Date(2013,10,1,15,0,0)} | ||
]}, | ||
{"id": "df9bb83f-e9de-4cbe-944e-36aec6db53cc", "description": "Sprint 3", "order": 7, "tasks": [ | ||
{"id": "192adc6e-ab17-4cd1-82d8-4a5e7525b169", "subject": "Checkout", "color": "#F1C232", "from": new Date(2013,10,4,8,0,0), "to": new Date(2013,10,8,15,0,0)} | ||
]}, | ||
{"id": "48cbc052-1fd5-4262-a05f-97dad7337876", "description": "Sprint 4", "order": 8, "tasks": [ | ||
{"id": "431dc7be-b61b-49a0-b26d-7ab5dfcadd41", "subject": "Login&Singup and admin view", "color": "#F1C232", "from": new Date(2013,10,11,8,0,0), "to": new Date(2013,10,15,15,0,0)} | ||
]}, | ||
{"id": "34473cc4-5ee5-4953-8289-98779172129e", "description": "Setup server", "order": 9, "tasks": [ | ||
{"id": "43eb6d19-6402-493c-a281-20e59a6fab6e", "subject": "HW", "color": "#F1C232", "from": new Date(2013,10,18,8,0,0), "to": new Date(2013,10,18,12,0,0)} | ||
]}, | ||
{"id": "73cae585-5b2c-46b6-aeaf-8cf728c894f7", "description": "Config server", "order": 10, "tasks": [ | ||
{"id": "8dbfda29-e775-4fa3-87c1-103b085d52ee", "subject": "SW / DNS/ Backups", "color": "#F1C232", "from": new Date(2013,10,18,12,0,0), "to": new Date(2013,10,21,18,0,0)} | ||
]}, | ||
{"id": "41cae585-ad2c-46b6-aeaf-8cf728c894f7", "description": "Deployment", "order": 11, "tasks": [ | ||
{"id": "2dbfda09-e775-4fa3-87c1-103b085d52ee", "subject": "Depl. & Final testing", "color": "#F1C232", "from": new Date(2013,10,21,8,0,0), "to": new Date(2013,10,22,12,0,0)} | ||
]}, | ||
{"id": "33e1af55-52c6-4ccd-b261-1f4484ed5773", "description": "Workshop", "order": 12, "tasks": [ | ||
{"id": "656b9240-00da-42ff-bfbd-dfe7ba393528", "subject": "On-side education", "color": "#F1C232", "from": new Date(2013,10,24,9,0,0), "to": new Date(2013,10,25,15,0,0)} | ||
]}, | ||
{"id": "bffa16c6-c134-4443-8e6e-b09410c37c9f", "description": "Content", "order": 13, "tasks": [ | ||
{"id": "2f4ec0f1-cd7a-441a-8288-e788ec112af9", "subject": "Supervise content creation", "color": "#F1C232", "from": new Date(2013,10,26,9,0,0), "to": new Date(2013,10,29,16,0,0)} | ||
]}, | ||
{"id": "ec0c5e31-449f-42d0-9e81-45c66322b640", "description": "Documentation", "order": 14, "tasks": [ | ||
{"id": "edf2cece-2d17-436f-bead-691edbc7386b", "subject": "Technical/User documentation", "color": "#F1C232", "from": new Date(2013,10,26,8,0,0), "to": new Date(2013,10,28,18,0,0)} | ||
]} | ||
]}; | ||
} |
216 changes: 216 additions & 0 deletions
216
...parent/noPlan-webapp/src/main/webapp/application/bower_components/angular-gantt/gantt.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,216 @@ | ||
.gantt { | ||
width: 100%; | ||
line-height: 1; | ||
} | ||
|
||
.gantt-labels { | ||
float: left; | ||
border-right: 1px solid #dddddd; | ||
} | ||
|
||
.gantt-labels-header { | ||
border-bottom: 1px solid #dddddd; | ||
} | ||
|
||
.gantt-labels-body { | ||
overflow: hidden; | ||
} | ||
|
||
.gantt-header { | ||
overflow: hidden; | ||
border-bottom: 1px solid #dddddd; | ||
} | ||
|
||
.gantt-scrollable { | ||
overflow-y: hidden; | ||
overflow-x: scroll; | ||
} | ||
|
||
.gantt-header-height { | ||
box-sizing:border-box; | ||
-moz-box-sizing:border-box; | ||
-webkit-box-sizing:border-box; | ||
height: 2em; | ||
} | ||
|
||
.gantt-header-hour, .gantt-header-day, .gantt-header-week, .gantt-header-month { | ||
white-space: nowrap; | ||
} | ||
|
||
.gantt-header-hour span, .gantt-header-day span, .gantt-header-week span, .gantt-header-month span { | ||
position: absolute; | ||
} | ||
|
||
.gantt-header-month { | ||
border-top: 1px solid #dddddd; | ||
border-bottom: 1px solid #dddddd; | ||
} | ||
|
||
.gantt-header-row, .gant-labels-row { | ||
cursor: pointer; | ||
} | ||
|
||
.gantt-labels-desc span, .gantt-header-row span, .gantt-labels-row span { | ||
padding-left: 12px; | ||
padding-right: 12px; | ||
} | ||
|
||
.gantt-labels-desc span, .gantt-header-hour span, .gantt-header-day span, .gantt-header-week span, .gantt-header-month span { | ||
box-sizing:border-box; | ||
-moz-box-sizing:border-box; | ||
-webkit-box-sizing:border-box; | ||
display: inline-block; | ||
height: 2em; | ||
text-align: center; | ||
padding-top: 0.5em; | ||
} | ||
|
||
.gantt-header-row span, .gantt-labels-row span { | ||
box-sizing:border-box; | ||
-moz-box-sizing:border-box; | ||
-webkit-box-sizing:border-box; | ||
display: inline-block; | ||
padding-top: 0.5em; | ||
} | ||
|
||
.gantt-header-hour span, .gantt-header-day span, .gantt-header-week span, .gantt-header-month span { | ||
border-right: 1px solid #dddddd; | ||
} | ||
|
||
.gantt-body { | ||
position: relative; | ||
width: 100%; | ||
} | ||
|
||
.gantt-body-background { | ||
position: absolute; | ||
width: 100%; | ||
} | ||
|
||
.gantt-body-foreground { | ||
position: absolute; | ||
height: 100%; | ||
} | ||
|
||
.gantt-grid-foreground-col, .gantt-grid-foreground-col-weekend, .gantt-grid-foreground-col-nonworkhour { | ||
box-sizing:border-box; | ||
-moz-box-sizing:border-box; | ||
-webkit-box-sizing:border-box; | ||
display: inline-block; | ||
height: 100%; | ||
border-right: 1px solid #dddddd; | ||
} | ||
|
||
.gantt-grid-foreground-col-weekend, .gantt-grid-foreground-col-nonworkhour { | ||
background-color: rgba(200, 200, 200, 0.3); | ||
} | ||
|
||
.gantt-body-column { | ||
position: absolute; | ||
} | ||
|
||
|
||
.gantt-grid-background-row, .gantt-grid-background-row-alt { | ||
|
||
} | ||
|
||
.gantt-grid-background-row-alt { | ||
background-color: #EFEFEF; | ||
} | ||
|
||
.gantt-body-content { | ||
} | ||
|
||
.gantt-row { | ||
position: relative; | ||
} | ||
|
||
.gantt-row-height { | ||
height: 2em; | ||
} | ||
|
||
.gantt-task { | ||
position: absolute; | ||
margin: auto; | ||
top: 0; bottom: 0; | ||
height: 80%; | ||
background-color: grey; | ||
border-radius: 2px; | ||
} | ||
|
||
.gantt-task-milestone { | ||
position: absolute; | ||
margin: auto; | ||
top: 0; bottom: 0; | ||
width: 0.6em !important; | ||
height: 80%; | ||
background-color: grey; | ||
border-radius: 0.3em; | ||
} | ||
|
||
.gantt-task-content { | ||
margin-left: 5px; | ||
margin-right: 5px; | ||
margin-top: 0.3em; | ||
overflow: hidden; | ||
} | ||
|
||
.gantt-task-content span { | ||
display: inline-block; | ||
white-space: nowrap; | ||
/*text-overflow: ellipsis;*/ | ||
} | ||
|
||
.gantt-task-info { | ||
position: fixed; | ||
background: #ffffff; | ||
border: 1px solid rgba(0, 0, 0, 0.2); | ||
border-radius: 4px; | ||
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | ||
padding: 9px 12px; | ||
opacity: 0; | ||
z-index: 999; | ||
} | ||
|
||
.gantt-task-info-content { | ||
line-height: 1.1; | ||
overflow: hidden; | ||
text-overflow: ellipsis; | ||
white-space: nowrap; | ||
} | ||
|
||
.gantt-task-infoArrow:before, .gantt-task-infoArrowR:before { | ||
position: absolute; | ||
top: 100%; | ||
width: 0px; height: 0px; | ||
border-top: 8px solid rgba(0, 0, 0, 0.1); | ||
border-right: 8px solid transparent; | ||
border-left: 8px solid transparent; | ||
content: ''; | ||
} | ||
|
||
.gantt-task-infoArrow:before { | ||
left: 10px; | ||
} | ||
|
||
.gantt-task-infoArrowR:before { | ||
right: 10px; | ||
} | ||
|
||
.gantt-task-infoArrow:after, .gantt-task-infoArrowR:after { | ||
position: absolute; | ||
top: 100%; | ||
width: 0px; height: 0px; | ||
border-top: 7px solid #ffffff; | ||
border-right: 7px solid transparent; | ||
border-left: 7px solid transparent; | ||
content: ''; | ||
} | ||
|
||
.gantt-task-infoArrow:after { | ||
left: 11px; | ||
} | ||
|
||
.gantt-task-infoArrowR:after { | ||
right: 11px; | ||
} |
95 changes: 95 additions & 0 deletions
95
...src/main/webapp/application/bower_components/angular-gantt/template/gantt.gantt.tmpl.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
<div class="gantt"> | ||
<div class="gantt-labels"> | ||
<div class="gantt-labels-header" | ||
ng-show="gantt.columns.hours.length > 0"> | ||
<div class="gantt-labels-desc gantt-header-height" | ||
ng-style="{'margin-top': (viewScale === 'hour' && (3*2) || (2*2))+'em'}"> | ||
<span>Description</span> | ||
</div> | ||
</div> | ||
<div class="gantt-labels-body" | ||
ng-style="(maxHeight > 0 && {'max-height': maxHeight+'px'} || {})" | ||
ng-show="gantt.columns.hours.length > 0"> | ||
<div gantt-vertical-scroll-receiver | ||
ng-style="{'position': 'relative'}"> | ||
<div class="gantt-labels-row gantt-row-height" | ||
ng-class-odd="'gantt-grid-background-row'" | ||
ng-class-even="'gantt-grid-background-row-alt'" | ||
ng-repeat="row in gantt.rows"> | ||
<gantt-sortable swap="swapRows(a,b)" ng-model="row"> | ||
<span>{{ row.description }}</span> | ||
</gantt-sortable> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<div class="gantt-header" | ||
ng-show="gantt.columns.hours.length > 0"> | ||
<div gantt-horizontal-scroll-receiver | ||
ng-style="{'position': 'relative', 'width': ganttInnerWidth+'em'}"> | ||
<div class="gantt-header-month gantt-header-height"> | ||
<span ng-style="{'width': c.width+'em', 'left': c.left+'em'}" | ||
ng-repeat="c in gantt.columns.months | ganttColumnLimit:scroll_start:scroll_width"> | ||
{{ c.date | date:'MMMM yyyy' }} | ||
</span> | ||
</div> | ||
<div class="gantt-header-week gantt-header-height"> | ||
<span ng-style="{'width': c.width+'em', 'left': c.left+'em'}" | ||
ng-repeat="c in gantt.columns.weeks | ganttColumnLimit:scroll_start:scroll_width"> | ||
{{ c.date | ganttDateWeek }} | ||
</span> | ||
</div> | ||
<div class="gantt-header-day gantt-header-height"> | ||
<span ng-style="{'width': c.width+'em', 'left': c.left+'em'}" | ||
ng-repeat="c in gantt.columns.days | ganttColumnLimit:scroll_start:scroll_width"> | ||
{{ viewScale === "day" && (c.date | date:'dd') || (c.date | date:'dd EEEE') }} | ||
</span> | ||
</div> | ||
<div class="gantt-header-hour gantt-header-height" | ||
ng-show="viewScale === 'hour'"> | ||
<span ng-style="{'width': c.width+'em', 'left': c.left+'em'}" | ||
ng-repeat="c in gantt.columns.hours | ganttColumnLimit:scroll_start:scroll_width:viewScale !== 'hour'"> | ||
{{ c.date | date:'HH' }} | ||
</span> | ||
</div> | ||
</div> | ||
</div> | ||
<div class="gantt-scrollable" | ||
gantt-scroll-sender | ||
gantt-limit-updater | ||
ng-style="(maxHeight > 0 && {'max-height': maxHeight+'px', 'overflow-y': 'scroll'} || {'overflow-y': 'hidden'})" | ||
ng-style="{'overflow-x': (gantt.rows.length == 0 && 'hidden' || 'scroll')}"> | ||
<div class="gantt-body" | ||
ng-style="{'width': ganttInnerWidth+'em'}"> | ||
<div class="gantt-body-background"> | ||
<div class="gantt-row-height" | ||
ng-class-odd="'gantt-grid-background-row'" | ||
ng-class-even="'gantt-grid-background-row-alt'" | ||
ng-repeat="row in gantt.rows"> | ||
</div> | ||
</div> | ||
<div class="gantt-body-foreground"> | ||
<div class="gantt-body-column" | ||
ng-class="(viewScale === 'hour' && !c.isWorkHour && 'gantt-grid-foreground-col-nonworkhour' || (c.isWeekend && 'gantt-grid-foreground-col-weekend' || 'gantt-grid-foreground-col'))" | ||
ng-style="{'width': c.width+'em', 'left': c.left+'em'}" | ||
ng-repeat="c in getBodyColumns() | ganttColumnLimit:scroll_start:scroll_width"> | ||
</div> | ||
</div> | ||
<div class="gantt-body-content"> | ||
<div class="gantt-row gantt-row-height" | ||
ng-click="raiseRowClicked($event, row)" | ||
ng-repeat="row in gantt.rows"> | ||
<!--a task will override the row event --> | ||
<div ng-class="(task.to-task.from === 0 && 'gantt-task-milestone' || 'gantt-task')" | ||
ng-style="{'left': (task.to-task.from === 0 && (task.left-0.3) || task.left)+'em', 'width': task.width+'em', 'background-color': task.color}" | ||
ng-click="raiseTaskClicked($event, row, task)" | ||
ng-repeat="task in row.tasks | ganttTaskLimit:scroll_start:scroll_width"> | ||
<gantt-tooltip ng-model="task"> | ||
<div class="gantt-task-content"><span>{{ (task.to-task.from === 0 && ' ' || task.subject) }}</span></div> | ||
</gantt-tooltip> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> |
Oops, something went wrong.