Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
f76a3f3d
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,体验更适合开发者的 AI 搜索 >>
提交
f76a3f3d
编写于
5月 21, 2015
作者:
R
Robert Speicher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add ZenMode javascript specs
上级
79aac2c1
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
79 addition
and
4 deletion
+79
-4
app/assets/javascripts/zen_mode.js.coffee
app/assets/javascripts/zen_mode.js.coffee
+9
-3
app/assets/stylesheets/generic/zen.scss
app/assets/stylesheets/generic/zen.scss
+9
-1
spec/javascripts/fixtures/zen_mode.html.haml
spec/javascripts/fixtures/zen_mode.html.haml
+9
-0
spec/javascripts/zen_mode_spec.js.coffee
spec/javascripts/zen_mode_spec.js.coffee
+52
-0
未找到文件。
app/assets/javascripts/zen_mode.js.coffee
浏览文件 @
f76a3f3d
#= require dropzone
#= require mousetrap
#= require mousetrap/pause
class
@
ZenMode
constructor
:
->
@
active_zen_area
=
null
...
...
@@ -26,7 +30,7 @@ class @ZenMode
@
exitZenMode
()
$
(
document
).
on
'keydown'
,
(
e
)
=>
if
e
.
keyCode
is
$
.
ui
.
keyCode
.
ESCAPE
if
e
.
keyCode
is
27
# Esc
@
exitZenMode
()
e
.
preventDefault
()
...
...
@@ -42,7 +46,9 @@ class @ZenMode
@
active_checkbox
.
prop
(
'checked'
,
false
)
@
active_zen_area
=
null
@
active_checkbox
=
null
window
.
location
.
hash
=
''
window
.
scrollTo
(
window
.
pageXOffset
,
@
scroll_position
)
@
restoreScroll
(
@
scroll_position
)
# Enable dropzone when leaving ZEN mode
Dropzone
.
forElement
(
'.div-dropzone'
).
enable
()
restoreScroll
:
(
y
)
->
window
.
scrollTo
(
window
.
pageXOffset
,
y
)
app/assets/stylesheets/generic/zen.scss
浏览文件 @
f76a3f3d
.zennable
{
position
:
relative
;
inpu
t
{
.zen-toggle-commen
t
{
display
:
none
;
}
...
...
@@ -26,10 +26,12 @@
}
}
// Hide the Enter link when we're in Zen mode
input
:checked
~
.zen-backdrop
.zen-enter-link
{
display
:
none
;
}
// Show the Leave link when we're in Zen mode
input
:checked
~
.zen-backdrop
.zen-leave-link
{
display
:
block
;
position
:
absolute
;
...
...
@@ -62,6 +64,9 @@
}
}
// Make the placeholder text in the standard textarea the same color as the
// background, effectively hiding it
.
zen-backdrop
textarea
:
:-
webkit-input-placeholder
{
color
:
white
;
}
...
...
@@ -78,6 +83,9 @@
color
:
white
;
}
// Make the color of the placeholder text in the Zenned-out textarea darker,
// so it becomes visible
input
:checked
~
.zen-backdrop
textarea
::-webkit-input-placeholder
{
color
:
#999
;
}
...
...
spec/javascripts/fixtures/zen_mode.html.haml
0 → 100644
浏览文件 @
f76a3f3d
.zennable
%input
#zen-toggle-comment
.zen-toggle-comment
{
tabindex:
'-1'
,
type:
'checkbox'
}
.zen-backdrop
%textarea
#note_note
.js-gfm-input.markdown-area
{
placeholder:
'Leave a comment'
}
%a
.zen-enter-link
{
tabindex:
'-1'
}
%i
.fa.fa-expand
Edit in fullscreen
%a
.zen-leave-link
%i
.fa.fa-compress
spec/javascripts/zen_mode_spec.js.coffee
0 → 100644
浏览文件 @
f76a3f3d
#= require zen_mode
describe
'ZenMode'
,
->
fixture
.
preload
(
'zen_mode.html'
)
beforeEach
->
fixture
.
load
(
'zen_mode.html'
)
# Stub Dropzone.forElement(...).enable()
spyOn
(
Dropzone
,
'forElement'
).
and
.
callFake
->
enable
:
->
true
@
zen
=
new
ZenMode
()
# Set this manually because we can't actually scroll the window
@
zen
.
scroll_position
=
456
# Ohmmmmmmm
enterZen
=
->
$
(
'.zen-toggle-comment'
).
prop
(
'checked'
,
true
).
trigger
(
'change'
)
# Wh- what was that?!
exitZen
=
->
$
(
'.zen-toggle-comment'
).
prop
(
'checked'
,
false
).
trigger
(
'change'
)
describe
'on enter'
,
->
it
'pauses Mousetrap'
,
->
spyOn
(
Mousetrap
,
'pause'
)
enterZen
()
expect
(
Mousetrap
.
pause
).
toHaveBeenCalled
()
describe
'in use'
,
->
beforeEach
->
enterZen
()
it
'exits on Escape'
,
->
$
(
document
).
trigger
(
jQuery
.
Event
(
'keydown'
,
{
keyCode
:
27
}))
expect
(
$
(
'.zen-toggle-comment'
).
prop
(
'checked'
)).
toBe
(
false
)
describe
'on exit'
,
->
beforeEach
->
enterZen
()
it
'unpauses Mousetrap'
,
->
spyOn
(
Mousetrap
,
'unpause'
)
exitZen
()
expect
(
Mousetrap
.
unpause
).
toHaveBeenCalled
()
it
'restores the scroll position'
,
->
spyOn
(
@
zen
,
'restoreScroll'
)
exitZen
()
expect
(
@
zen
.
restoreScroll
).
toHaveBeenCalledWith
(
456
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录