Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
35faecb0
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,发现更多精彩内容 >>
未验证
提交
35faecb0
编写于
11月 06, 2018
作者:
P
Phil Hughes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Restored width & height properties
上级
f7df9ddb
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
74 addition
and
9 deletion
+74
-9
app/assets/javascripts/diffs/components/diff_content.vue
app/assets/javascripts/diffs/components/diff_content.vue
+2
-0
app/assets/javascripts/diffs/components/image_diff_overlay.vue
...ssets/javascripts/diffs/components/image_diff_overlay.vue
+26
-2
app/assets/javascripts/diffs/store/utils.js
app/assets/javascripts/diffs/store/utils.js
+2
-0
lib/gitlab/diff/formatters/image_formatter.rb
lib/gitlab/diff/formatters/image_formatter.rb
+1
-1
spec/javascripts/diffs/components/diff_content_spec.js
spec/javascripts/diffs/components/diff_content_spec.js
+9
-1
spec/javascripts/diffs/components/image_diff_overlay_spec.js
spec/javascripts/diffs/components/image_diff_overlay_spec.js
+30
-5
spec/javascripts/diffs/mock_data/diff_discussions.js
spec/javascripts/diffs/mock_data/diff_discussions.js
+4
-0
未找到文件。
app/assets/javascripts/diffs/components/diff_content.vue
浏览文件 @
35faecb0
...
...
@@ -57,6 +57,8 @@ export default {
positionType
:
IMAGE_DIFF_POSITION_TYPE
,
x
:
this
.
diffFileCommentForm
.
x
,
y
:
this
.
diffFileCommentForm
.
y
,
width
:
this
.
diffFileCommentForm
.
width
,
height
:
this
.
diffFileCommentForm
.
height
,
},
});
},
...
...
app/assets/javascripts/diffs/components/image_diff_overlay.vue
浏览文件 @
35faecb0
...
...
@@ -50,15 +50,39 @@ export default {
methods
:
{
...
mapActions
([
'
toggleDiscussion
'
]),
...
mapActions
(
'
diffs
'
,
[
'
openDiffFileCommentForm
'
]),
getImageDimensions
()
{
return
{
width
:
this
.
$parent
.
width
,
height
:
this
.
$parent
.
height
,
};
},
getPositionForObject
(
meta
)
{
const
{
x
,
y
,
width
,
height
}
=
meta
;
const
imageWidth
=
this
.
getImageDimensions
().
width
;
const
imageHeight
=
this
.
getImageDimensions
().
height
;
const
widthRatio
=
imageWidth
/
width
;
const
heightRatio
=
imageHeight
/
height
;
return
{
x
:
Math
.
round
(
x
*
widthRatio
),
y
:
Math
.
round
(
y
*
heightRatio
),
};
},
getPosition
(
discussion
)
{
const
{
x
,
y
}
=
this
.
getPositionForObject
(
discussion
.
position
);
return
{
left
:
`
${
discussion
.
position
.
x
}
px`
,
top
:
`
${
discussion
.
position
.
y
}
px`
,
left
:
`
${
x
}
px`
,
top
:
`
${
y
}
px`
,
};
},
clickedImage
(
x
,
y
)
{
const
{
width
,
height
}
=
this
.
getImageDimensions
();
this
.
openDiffFileCommentForm
({
fileHash
:
this
.
fileHash
,
width
,
height
,
x
,
y
,
});
...
...
app/assets/javascripts/diffs/store/utils.js
浏览文件 @
35faecb0
...
...
@@ -49,6 +49,8 @@ export function getFormData(params) {
new_line
:
noteTargetLine
?
noteTargetLine
.
newLine
:
null
,
x
:
params
.
x
,
y
:
params
.
y
,
width
:
params
.
width
,
height
:
params
.
height
,
});
const
postData
=
{
...
...
lib/gitlab/diff/formatters/image_formatter.rb
浏览文件 @
35faecb0
...
...
@@ -21,7 +21,7 @@ module Gitlab
end
def
complete?
x
&&
y
x
&&
y
&&
width
&&
height
end
def
to_h
...
...
spec/javascripts/diffs/components/diff_content_spec.js
浏览文件 @
35faecb0
...
...
@@ -62,7 +62,13 @@ describe('DiffContent', () => {
vm
.
diffFile
.
oldSha
=
'
ABC
'
;
vm
.
diffFile
.
viewPath
=
''
;
vm
.
diffFile
.
discussions
=
[{
...
discussionsMockData
}];
vm
.
$store
.
state
.
diffs
.
commentForms
.
push
({
fileHash
:
vm
.
diffFile
.
fileHash
,
x
:
10
,
y
:
20
});
vm
.
$store
.
state
.
diffs
.
commentForms
.
push
({
fileHash
:
vm
.
diffFile
.
fileHash
,
x
:
10
,
y
:
20
,
width
:
100
,
height
:
200
,
});
vm
.
$nextTick
(
done
);
});
...
...
@@ -96,6 +102,8 @@ describe('DiffContent', () => {
positionType
:
'
image
'
,
x
:
10
,
y
:
20
,
width
:
100
,
height
:
200
,
},
});
});
...
...
spec/javascripts/diffs/components/image_diff_overlay_spec.js
浏览文件 @
35faecb0
import
Vue
from
'
vue
'
;
import
ImageDiffOverlay
from
'
~/diffs/components/image_diff_overlay.vue
'
;
import
{
createStore
}
from
'
~/mr_notes/stores
'
;
import
{
mount
ComponentWithStore
}
from
'
spec/helpers/vue_mount_component_helper
'
;
import
{
create
ComponentWithStore
}
from
'
spec/helpers/vue_mount_component_helper
'
;
import
{
imageDiffDiscussions
}
from
'
../mock_data/diff_discussions
'
;
describe
(
'
Diffs image diff overlay component
'
,
()
=>
{
const
dimensions
=
{
width
:
100
,
height
:
200
,
};
let
Component
;
let
vm
;
...
...
@@ -13,9 +17,10 @@ describe('Diffs image diff overlay component', () => {
extendStore
(
store
);
vm
=
mountComponentWithStore
(
Component
,
{
store
,
props
:
{
discussions
:
[...
imageDiffDiscussions
],
fileHash
:
'
ABC
'
,
...
props
},
vm
=
createComponentWithStore
(
Component
,
store
,
{
discussions
:
[...
imageDiffDiscussions
],
fileHash
:
'
ABC
'
,
...
props
,
});
}
...
...
@@ -29,12 +34,16 @@ describe('Diffs image diff overlay component', () => {
it
(
'
renders comment badges
'
,
()
=>
{
createComponent
();
spyOn
(
vm
,
'
getImageDimensions
'
).
and
.
returnValue
(
dimensions
);
vm
.
$mount
();
expect
(
vm
.
$el
.
querySelectorAll
(
'
.js-image-badge
'
).
length
).
toBe
(
2
);
});
it
(
'
renders index of discussion in badge
'
,
()
=>
{
createComponent
();
spyOn
(
vm
,
'
getImageDimensions
'
).
and
.
returnValue
(
dimensions
);
vm
.
$mount
();
expect
(
vm
.
$el
.
querySelectorAll
(
'
.js-image-badge
'
)[
0
].
textContent
.
trim
()).
toBe
(
'
1
'
);
expect
(
vm
.
$el
.
querySelectorAll
(
'
.js-image-badge
'
)[
1
].
textContent
.
trim
()).
toBe
(
'
2
'
);
...
...
@@ -42,12 +51,16 @@ describe('Diffs image diff overlay component', () => {
it
(
'
renders icon when showCommentIcon is true
'
,
()
=>
{
createComponent
({
showCommentIcon
:
true
});
spyOn
(
vm
,
'
getImageDimensions
'
).
and
.
returnValue
(
dimensions
);
vm
.
$mount
();
expect
(
vm
.
$el
.
querySelector
(
'
.js-image-badge svg
'
)).
not
.
toBe
(
null
);
});
it
(
'
sets badge comment positions
'
,
()
=>
{
createComponent
();
spyOn
(
vm
,
'
getImageDimensions
'
).
and
.
returnValue
(
dimensions
);
vm
.
$mount
();
expect
(
vm
.
$el
.
querySelectorAll
(
'
.js-image-badge
'
)[
0
].
style
.
left
).
toBe
(
'
10px
'
);
expect
(
vm
.
$el
.
querySelectorAll
(
'
.js-image-badge
'
)[
0
].
style
.
top
).
toBe
(
'
10px
'
);
...
...
@@ -62,12 +75,16 @@ describe('Diffs image diff overlay component', () => {
...
imageDiffDiscussions
[
0
],
},
});
spyOn
(
vm
,
'
getImageDimensions
'
).
and
.
returnValue
(
dimensions
);
vm
.
$mount
();
expect
(
vm
.
$el
.
querySelectorAll
(
'
.js-image-badge
'
).
length
).
toBe
(
1
);
});
it
(
'
dispatches openDiffFileCommentForm when clcking overlay
'
,
()
=>
{
it
(
'
dispatches openDiffFileCommentForm when cl
i
cking overlay
'
,
()
=>
{
createComponent
({
canComment
:
true
});
spyOn
(
vm
,
'
getImageDimensions
'
).
and
.
returnValue
(
dimensions
);
vm
.
$mount
();
spyOn
(
vm
.
$store
,
'
dispatch
'
).
and
.
stub
();
...
...
@@ -77,18 +94,24 @@ describe('Diffs image diff overlay component', () => {
fileHash
:
'
ABC
'
,
x
:
0
,
y
:
0
,
width
:
100
,
height
:
200
,
});
});
describe
(
'
toggle discussion
'
,
()
=>
{
it
(
'
disables buttons when shouldToggleDiscussion is false
'
,
()
=>
{
createComponent
({
shouldToggleDiscussion
:
false
});
spyOn
(
vm
,
'
getImageDimensions
'
).
and
.
returnValue
(
dimensions
);
vm
.
$mount
();
expect
(
vm
.
$el
.
querySelector
(
'
.js-image-badge
'
).
hasAttribute
(
'
disabled
'
)).
toBe
(
true
);
});
it
(
'
dispatches toggleDiscussion when clicking image badge
'
,
()
=>
{
createComponent
();
spyOn
(
vm
,
'
getImageDimensions
'
).
and
.
returnValue
(
dimensions
);
vm
.
$mount
();
spyOn
(
vm
.
$store
,
'
dispatch
'
).
and
.
stub
();
...
...
@@ -107,6 +130,8 @@ describe('Diffs image diff overlay component', () => {
y
:
10
,
});
});
spyOn
(
vm
,
'
getImageDimensions
'
).
and
.
returnValue
(
dimensions
);
vm
.
$mount
();
});
it
(
'
renders comment form badge
'
,
()
=>
{
...
...
spec/javascripts/diffs/mock_data/diff_discussions.js
浏览文件 @
35faecb0
...
...
@@ -499,6 +499,8 @@ export const imageDiffDiscussions = [
position
:
{
x
:
10
,
y
:
10
,
width
:
100
,
height
:
200
,
},
},
{
...
...
@@ -506,6 +508,8 @@ export const imageDiffDiscussions = [
position
:
{
x
:
5
,
y
:
5
,
width
:
100
,
height
:
200
,
},
},
];
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录