Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
46d2b430
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
46d2b430
编写于
11月 19, 2016
作者:
A
Alfredo Sumaran
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add view to handle the case when user doesn’t have access to stage
上级
1a7cc190
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
73 addition
and
15 deletion
+73
-15
app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js
...ets/javascripts/cycle_analytics/cycle_analytics_bundle.js
+7
-1
app/assets/javascripts/cycle_analytics/cycle_analytics_store.js.es6
.../javascripts/cycle_analytics/cycle_analytics_store.js.es6
+1
-0
app/assets/stylesheets/pages/cycle_analytics.scss
app/assets/stylesheets/pages/cycle_analytics.scss
+17
-4
app/views/projects/cycle_analytics/_empty_stage.html.haml
app/views/projects/cycle_analytics/_empty_stage.html.haml
+1
-1
app/views/projects/cycle_analytics/_no_access.html.haml
app/views/projects/cycle_analytics/_no_access.html.haml
+7
-0
app/views/projects/cycle_analytics/show.html.haml
app/views/projects/cycle_analytics/show.html.haml
+15
-9
app/views/shared/icons/_icon_lock.svg
app/views/shared/icons/_icon_lock.svg
+25
-0
未找到文件。
app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js
浏览文件 @
46d2b430
...
...
@@ -76,12 +76,18 @@ $(() => {
});
},
selectDefaultStage
()
{
this
.
selectStage
(
this
.
state
.
stages
.
first
());
const
stage
=
this
.
state
.
stages
.
first
();
this
.
selectStage
(
stage
);
},
selectStage
(
stage
)
{
if
(
this
.
isLoadingStage
)
return
;
if
(
this
.
currentStage
===
stage
)
return
;
if
(
!
stage
.
isUserAllowed
)
{
cycleAnalyticsStore
.
setActiveStage
(
stage
);
return
;
}
this
.
isLoadingStage
=
true
;
cycleAnalyticsStore
.
setStageEvents
([]);
cycleAnalyticsStore
.
setActiveStage
(
stage
);
...
...
app/assets/javascripts/cycle_analytics/cycle_analytics_store.js.es6
浏览文件 @
46d2b430
...
...
@@ -25,6 +25,7 @@
newData.stages.forEach((item) => {
item.active = false;
item.isUserAllowed = true; // This should come from server
item.component = `stage-${item.title.toLowerCase()}-component`;
});
...
...
app/assets/stylesheets/pages/cycle_analytics.scss
浏览文件 @
46d2b430
...
...
@@ -247,7 +247,8 @@
padding-left
:
16px
;
}
.stage-empty
{
.stage-empty
,
.not-available
{
color
:
$gl-text-color-light
;
}
}
...
...
@@ -410,22 +411,34 @@
}
}
.empty-stage
{
.empty-stage
,
.no-access-stage
{
text-align
:
center
;
width
:
75%
;
margin
:
0
auto
;
padding-top
:
130px
;
color
:
$gl-text-color-light
;
h4
{
color
:
$gl-text-color
;
}
}
.empty-stage
{
.icon-no-data
{
height
:
36px
;
width
:
78px
;
display
:
inline-block
;
margin-bottom
:
20px
;
}
}
h4
{
color
:
$gl-text-color
;
.no-access-stage
{
.icon-lock
{
height
:
36px
;
width
:
78px
;
display
:
inline-block
;
margin-bottom
:
20px
;
}
}
}
...
...
app/views/projects/cycle_analytics/_empty_stage.html.haml
浏览文件 @
46d2b430
.empty-stage-container
.empty-stage
.icon-no-data
=
render
"shared/icons/icon_no_data.svg"
=
custom_icon
(
'icon_no_data'
)
%h4
We don’t have enough data to show this stage.
%p
The test phase measures the median time to run the entire pipeline for that project.
...
...
app/views/projects/cycle_analytics/_no_access.html.haml
0 → 100644
浏览文件 @
46d2b430
.no-access-stage-container
.no-access-stage
.icon-lock
=
custom_icon
(
'icon_lock'
)
%h4
You need permission.
%p
Want to see the data? Please ask administer for access.
app/views/projects/cycle_analytics/show.html.haml
浏览文件 @
46d2b430
...
...
@@ -72,15 +72,21 @@
.stage-name
{{ stage.title }}
.stage-median
%template
{
"v-if"
=>
"stage.
value
"
}
{{ stage.value }
}
%template
{
"v-else"
=>
true
}
%span
.stage-empty
%template
{
"v-if"
=>
"stage.
isUserAllowed
"
}
%span
{
"v-if"
=>
"stage.value"
}
{{ stage.value }
}
%span
.stage-empty
{
"v-else"
=>
true
}
No enough data
%template
{
"v-else"
=>
true
}
%span
.not-available
Not available
.section.stage-events
%template
{
"v-if"
=>
"isLoadingStage"
}
=
icon
(
"spinner spin"
,
"v-show"
=>
"isLoadingStage"
)
%template
{
"v-if"
=>
"isEmptyStage && !isLoadingStage"
}
=
render
partial:
"empty_stage"
%template
{
"v-if"
=>
"state.events.length && !isLoadingStage && !isEmptyStage"
}
%component
{
":is"
=>
"currentStage.component"
,
":stage"
=>
"currentStage"
,
":items"
=>
"state.events"
}
=
icon
(
"spinner spin"
)
%template
{
"v-if"
=>
"currentStage && !currentStage.isUserAllowed"
}
=
render
partial:
"no_access"
%template
{
"v-else"
=>
true
}
%template
{
"v-if"
=>
"isEmptyStage && !isLoadingStage"
}
=
render
partial:
"empty_stage"
%template
{
"v-if"
=>
"state.events.length && !isLoadingStage && !isEmptyStage"
}
%component
{
":is"
=>
"currentStage.component"
,
":stage"
=>
"currentStage"
,
":items"
=>
"state.events"
}
app/views/shared/icons/_icon_lock.svg
0 → 100644
浏览文件 @
46d2b430
<svg
width=
"46px"
height=
"54px"
viewBox=
"227 0 46 54"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<desc>
Created with Sketch.
</desc>
<defs>
<rect
id=
"path-1"
x=
"0"
y=
"20"
width=
"46"
height=
"34"
rx=
"8"
></rect>
<mask
id=
"mask-2"
maskContentUnits=
"userSpaceOnUse"
maskUnits=
"objectBoundingBox"
x=
"0"
y=
"0"
width=
"46"
height=
"34"
fill=
"white"
>
<use
xlink:href=
"#path-1"
></use>
</mask>
<path
d=
"M29,16 C29,8.2680135 22.7319865,2 15,2 C7.2680135,2 1,8.2680135 1,16"
id=
"path-3"
></path>
<mask
id=
"mask-4"
maskContentUnits=
"userSpaceOnUse"
maskUnits=
"objectBoundingBox"
x=
"0"
y=
"0"
width=
"28"
height=
"14"
fill=
"white"
>
<use
xlink:href=
"#path-3"
></use>
</mask>
</defs>
<g
id=
"locker"
stroke=
"none"
stroke-width=
"1"
fill=
"none"
fill-rule=
"evenodd"
transform=
"translate(227.000000, 0.000000)"
>
<g
id=
"Group-8"
>
<use
id=
"Rectangle-14"
stroke=
"#B5A7DD"
mask=
"url(#mask-2)"
stroke-width=
"6"
xlink:href=
"#path-1"
></use>
<g
id=
"Group-7"
transform=
"translate(8.000000, 0.000000)"
>
<use
id=
"Oval-3"
stroke=
"#B5A7DD"
mask=
"url(#mask-4)"
stroke-width=
"6"
xlink:href=
"#path-3"
></use>
<rect
id=
"Rectangle-13"
fill=
"#B5A7DD"
x=
"1"
y=
"16"
width=
"3"
height=
"6"
></rect>
<rect
id=
"Rectangle-13-Copy"
fill=
"#B5A7DD"
x=
"26"
y=
"16"
width=
"3"
height=
"6"
></rect>
</g>
<path
d=
"M25,37.4648712 C26.1956027,36.7732524 27,35.4805647 27,34 C27,31.790861 25.209139,30 23,30 C20.790861,30 19,31.790861 19,34 C19,35.4805647 19.8043973,36.7732524 21,37.4648712 L21,41.0026083 C21,42.1041422 21.8954305,43 23,43 C24.1122704,43 25,42.1057373 25,41.0026083 L25,37.4648712 Z"
id=
"Combined-Shape"
fill=
"#6B4FBB"
></path>
</g>
</g>
</svg>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录