Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
iv
gitlab-ce
Commits
9b561e7e
Commit
9b561e7e
authored
Dec 08, 2015
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement languages graph page
Signed-off-by:
Dmitriy Zaporozhets
<
dmitriy.zaporozhets@gmail.com
>
parent
e02940e3
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
0 deletions
+55
-0
app/controllers/projects/graphs_controller.rb
app/controllers/projects/graphs_controller.rb
+20
-0
app/views/projects/graphs/_head.html.haml
app/views/projects/graphs/_head.html.haml
+2
-0
app/views/projects/graphs/languages.html.haml
app/views/projects/graphs/languages.html.haml
+32
-0
config/routes.rb
config/routes.rb
+1
-0
No files found.
app/controllers/projects/graphs_controller.rb
View file @
9b561e7e
...
...
@@ -34,6 +34,26 @@ class Projects::GraphsController < Projects::ApplicationController
@charts
[
:build_times
]
=
Ci
::
Charts
::
BuildTime
.
new
(
ci_project
)
end
def
languages
@languages
=
Linguist
::
Repository
.
new
(
@repository
.
rugged
,
@repository
.
rugged
.
head
.
target_id
).
languages
total
=
@languages
.
map
(
&
:last
).
sum
@languages
=
@languages
.
map
do
|
language
|
name
,
share
=
language
color
=
Digest
::
SHA256
.
hexdigest
(
name
)[
0
...
6
]
{
value:
(
share
.
to_f
*
100
/
total
).
round
(
2
),
label:
name
,
color:
"#
#{
color
}
"
,
highlight:
"#
#{
color
}
"
}
end
@languages
.
sort!
do
|
x
,
y
|
y
[
:value
]
<=>
x
[
:value
]
end
end
private
def
fetch_graph
...
...
app/views/projects/graphs/_head.html.haml
View file @
9b561e7e
...
...
@@ -3,6 +3,8 @@
=
link_to
'Contributors'
,
namespace_project_graph_path
=
nav_link
(
action: :commits
)
do
=
link_to
'Commits'
,
commits_namespace_project_graph_path
=
nav_link
(
action: :languages
)
do
=
link_to
'Languages'
,
languages_namespace_project_graph_path
-
if
@project
.
builds_enabled?
=
nav_link
(
action: :ci
)
do
=
link_to
ci_namespace_project_graph_path
do
...
...
app/views/projects/graphs/languages.html.haml
0 → 100644
View file @
9b561e7e
-
page_title
"Languages"
,
"Graphs"
=
render
"header_title"
=
render
'head'
.gray-content-block.append-bottom-default
.oneline
Programming languages used in this repository
.row
.col-md-8
%canvas
#languages-chart
{
height:
400
}
.col-md-4
%ul
.bordered-list
-
@languages
.
each
do
|
language
|
%li
%span
{
style:
"color: #{language[:color]}"
}
=
icon
(
'circle'
)
=
language
[
:label
]
.pull-right
=
language
[
:value
]
\%
:javascript
var
data
=
#{
@languages
.
to_json
}
;
var
ctx
=
$
(
"
#languages-chart
"
).
get
(
0
).
getContext
(
"
2d
"
);
var
options
=
{
scaleOverlay
:
true
,
responsive
:
true
,
maintainAspectRatio
:
false
}
var
myPieChart
=
new
Chart
(
ctx
).
Pie
(
data
,
options
);
config/routes.rb
View file @
9b561e7e
...
...
@@ -500,6 +500,7 @@ Rails.application.routes.draw do
member
do
get
:commits
get
:ci
get
:languages
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment