Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
3d2917bf
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,发现更多精彩内容 >>
提交
3d2917bf
编写于
8月 31, 2017
作者:
J
Jarka Kadlecova
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add the possibility to lock issuables from the frontend
上级
073ba05d
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
74 addition
and
1 deletion
+74
-1
app/assets/javascripts/discussion_lock.js
app/assets/javascripts/discussion_lock.js
+46
-0
app/assets/javascripts/init_issuable_sidebar.js
app/assets/javascripts/init_issuable_sidebar.js
+1
-0
app/assets/javascripts/main.js
app/assets/javascripts/main.js
+1
-0
app/assets/stylesheets/pages/notes.scss
app/assets/stylesheets/pages/notes.scss
+6
-0
app/views/shared/issuable/_sidebar.html.haml
app/views/shared/issuable/_sidebar.html.haml
+11
-0
app/views/shared/notes/_notes_with_form.html.haml
app/views/shared/notes/_notes_with_form.html.haml
+9
-1
未找到文件。
app/assets/javascripts/discussion_lock.js
0 → 100644
浏览文件 @
3d2917bf
class
DiscussionLock
{
constructor
(
containerElm
)
{
this
.
containerElm
=
containerElm
;
const
lockButton
=
containerElm
.
querySelector
(
'
.js-discussion-lock-button
'
);
console
.
log
(
lockButton
);
if
(
lockButton
)
{
// remove class so we don't bind twice
lockButton
.
classList
.
remove
(
'
js-discussion-lock-button
'
);
console
.
log
(
lockButton
);
lockButton
.
addEventListener
(
'
click
'
,
this
.
toggleDiscussionLock
.
bind
(
this
));
}
}
toggleDiscussionLock
(
event
)
{
const
button
=
event
.
currentTarget
;
const
buttonSpan
=
button
.
querySelector
(
'
span
'
);
if
(
!
buttonSpan
||
button
.
classList
.
contains
(
'
disabled
'
))
{
return
;
}
button
.
classList
.
add
(
'
disabled
'
);
const
url
=
this
.
containerElm
.
dataset
.
url
;
const
lock
=
this
.
containerElm
.
dataset
.
lock
;
const
issuableType
=
this
.
containerElm
.
dataset
.
issuableType
;
const
data
=
{}
data
[
issuableType
]
=
{}
data
[
issuableType
].
discussion_locked
=
lock
$
.
ajax
({
url
,
data
:
data
,
type
:
'
PUT
'
}).
done
((
data
)
=>
{
button
.
classList
.
remove
(
'
disabled
'
);
});
}
static
bindAll
(
selector
)
{
[].
forEach
.
call
(
document
.
querySelectorAll
(
selector
),
elm
=>
new
DiscussionLock
(
elm
));
}
}
window
.
gl
=
window
.
gl
||
{};
window
.
gl
.
DiscussionLock
=
DiscussionLock
;
app/assets/javascripts/init_issuable_sidebar.js
浏览文件 @
3d2917bf
...
...
@@ -13,6 +13,7 @@ export default () => {
new
LabelsSelect
();
new
IssuableContext
(
sidebarOptions
.
currentUser
);
gl
.
Subscription
.
bindAll
(
'
.subscription
'
);
gl
.
DiscussionLock
.
bindAll
(
'
.discussion-lock
'
);
new
gl
.
DueDateSelectors
();
window
.
sidebar
=
new
Sidebar
();
};
app/assets/javascripts/main.js
浏览文件 @
3d2917bf
...
...
@@ -80,6 +80,7 @@ import './copy_as_gfm';
import
'
./copy_to_clipboard
'
;
import
'
./create_label
'
;
import
'
./diff
'
;
import
'
./discussion_lock
'
;
import
'
./dropzone_input
'
;
import
'
./due_date_select
'
;
import
'
./files_comment_button
'
;
...
...
app/assets/stylesheets/pages/notes.scss
浏览文件 @
3d2917bf
...
...
@@ -703,6 +703,12 @@ ul.notes {
color
:
$note-disabled-comment-color
;
padding
:
90px
0
;
&
.discussion-locked
{
border
:
none
;
background-color
:
$white-light
;
}
a
{
color
:
$gl-link-color
;
}
...
...
app/views/shared/issuable/_sidebar.html.haml
浏览文件 @
3d2917bf
...
...
@@ -131,6 +131,17 @@
%button
.btn.btn-default.pull-right.js-subscribe-button.issuable-subscribe-button.hide-collapsed
{
type:
"button"
}
%span
=
subscribed
?
'Unsubscribe'
:
'Subscribe'
-
if
can_edit_issuable
-
locked
=
issuable
.
discussion_locked?
.block.light.discussion-lock
{
data:
{
lock:
(
!
locked
).
to_s
,
url:
"#{issuable_json_path(issuable)}?basic=true"
,
issuable_type:
issuable
.
class
.
to_s
.
underscore
}
}
.sidebar-collapsed-icon
=
icon
(
'rss'
,
'aria-hidden'
:
'true'
)
%span
.issuable-header-text.hide-collapsed.pull-left
Discussion Lock
-
subscribtion_status
=
locked
?
'locked'
:
'not locked'
%button
.btn.btn-default.pull-right.js-discussion-lock-button.issuable-discussion-lock-button.hide-collapsed
{
type:
"button"
}
%span
=
locked
?
'Unlock'
:
'Lock'
-
project_ref
=
cross_project_reference
(
@project
,
issuable
)
.block.project-reference
.sidebar-collapsed-icon.dont-change-state
...
...
app/views/shared/notes/_notes_with_form.html.haml
浏览文件 @
3d2917bf
-
issuable
=
@issue
||
@merge_request
-
discussion_locked
=
issuable
&
.
discussion_locked?
%ul
#notes-list
.notes.main-notes-list.timeline
=
render
"shared/notes/notes"
...
...
@@ -21,5 +24,10 @@
or
=
link_to
"sign in"
,
new_session_path
(
:user
,
redirect_to_referer:
'yes'
),
class:
'js-sign-in-link'
to comment
-
elsif
discussion_locked
.discussion_locked
%span
This
=
issuable
.
class
.
to_s
has been locked. Posting comments has been restricted to project members.
%script
.js-notes-data
{
type:
"application/json"
}=
initial_notes_data
(
autocomplete
).
to_json
.
html_safe
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录