Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
9955dc29
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 搜索 >>
提交
9955dc29
编写于
7月 12, 2016
作者:
A
Annabel Dunstone
提交者:
Alfredo Sumaran
8月 04, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update timeago to shorter representation
上级
6df51b35
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
64 addition
and
8 deletion
+64
-8
CHANGELOG
CHANGELOG
+1
-0
app/assets/javascripts/application.js
app/assets/javascripts/application.js
+4
-2
app/assets/javascripts/lib/utils/datetime_utility.js
app/assets/javascripts/lib/utils/datetime_utility.js
+37
-1
app/helpers/application_helper.rb
app/helpers/application_helper.rb
+6
-2
app/views/projects/ci/pipelines/_pipeline.html.haml
app/views/projects/ci/pipelines/_pipeline.html.haml
+1
-1
spec/helpers/application_helper_spec.rb
spec/helpers/application_helper_spec.rb
+15
-2
未找到文件。
CHANGELOG
浏览文件 @
9955dc29
...
...
@@ -19,6 +19,7 @@ v 8.11.0 (unreleased)
- Add "No one can push" as an option for protected branches. !5081
- Improve performance of AutolinkFilter#text_parse by using XPath
- Environments have an url to link to
- Update `timeago` plugin to use multiple string/locale settings
- Remove unused images (ClemMakesApps)
- Limit git rev-list output count to one in forced push check
- Clean up unused routes (Josef Strzibny)
...
...
app/assets/javascripts/application.js
浏览文件 @
9955dc29
...
...
@@ -287,7 +287,7 @@
$
(
'
.page-with-sidebar
'
).
toggleClass
(
'
page-sidebar-collapsed page-sidebar-expanded
'
).
removeClass
(
'
page-sidebar-pinned
'
);
$
(
'
.navbar-fixed-top
'
).
removeClass
(
'
header-pinned-nav
'
);
}
return
$document
.
off
(
'
click
'
,
'
.js-nav-pin
'
).
on
(
'
click
'
,
'
.js-nav-pin
'
,
function
(
e
)
{
$document
.
off
(
'
click
'
,
'
.js-nav-pin
'
).
on
(
'
click
'
,
'
.js-nav-pin
'
,
function
(
e
)
{
var
$page
,
$pinBtn
,
$tooltip
,
$topNav
,
doPinNav
,
tooltipText
;
e
.
preventDefault
();
$pinBtn
=
$
(
e
.
currentTarget
);
...
...
@@ -315,6 +315,8 @@
$tooltip
.
find
(
'
.tooltip-inner
'
).
text
(
tooltipText
);
return
$pinBtn
.
attr
(
'
title
'
,
tooltipText
).
tooltip
(
'
fixTitle
'
);
});
});
// Custom time ago
gl
.
utils
.
shortTimeAgo
(
$
(
'
.js-short-timeago
'
));
});
}).
call
(
this
);
app/assets/javascripts/lib/utils/datetime_utility.js
浏览文件 @
9955dc29
...
...
@@ -8,13 +8,16 @@
base
.
utils
=
{};
}
w
.
gl
.
utils
.
days
=
[
'
Sunday
'
,
'
Monday
'
,
'
Tuesday
'
,
'
Wednesday
'
,
'
Thursday
'
,
'
Friday
'
,
'
Saturday
'
];
w
.
gl
.
utils
.
formatDate
=
function
(
datetime
)
{
return
dateFormat
(
datetime
,
'
mmm d, yyyy h:MMtt Z
'
);
};
w
.
gl
.
utils
.
getDayName
=
function
(
date
)
{
return
this
.
days
[
date
.
getDay
()];
};
return
w
.
gl
.
utils
.
localTimeAgo
=
function
(
$timeagoEls
,
setTimeago
)
{
w
.
gl
.
utils
.
localTimeAgo
=
function
(
$timeagoEls
,
setTimeago
)
{
if
(
setTimeago
==
null
)
{
setTimeago
=
true
;
}
...
...
@@ -31,6 +34,39 @@
});
}
};
w
.
gl
.
utils
.
shortTimeAgo
=
function
(
$el
)
{
var
shortLocale
,
tmpLocale
;
shortLocale
=
{
prefixAgo
:
null
,
prefixFromNow
:
null
,
suffixAgo
:
'
ago
'
,
suffixFromNow
:
'
from now
'
,
seconds
:
'
1 min
'
,
minute
:
'
1 min
'
,
minutes
:
'
%d mins
'
,
hour
:
'
1 hr
'
,
hours
:
'
%d hrs
'
,
day
:
'
1 day
'
,
days
:
'
%d days
'
,
month
:
'
1 month
'
,
months
:
'
%d months
'
,
year
:
'
1 year
'
,
years
:
'
%d years
'
,
wordSeparator
:
'
'
,
numbers
:
[]
};
tmpLocale
=
$
.
timeago
.
settings
.
strings
;
$el
.
each
(
function
(
el
)
{
var
$el1
;
$el1
=
$
(
this
);
return
$el1
.
attr
(
'
title
'
,
gl
.
utils
.
formatDate
(
$el
.
attr
(
'
datetime
'
)));
});
$
.
timeago
.
settings
.
strings
=
shortLocale
;
$el
.
timeago
();
$
.
timeago
.
settings
.
strings
=
tmpLocale
;
};
})(
window
);
}).
call
(
this
);
app/helpers/application_helper.rb
浏览文件 @
9955dc29
...
...
@@ -163,9 +163,13 @@ module ApplicationHelper
# `html_class` argument is provided.
#
# Returns an HTML-safe String
def
time_ago_with_tooltip
(
time
,
placement:
'top'
,
html_class:
'time_ago'
,
skip_js:
false
)
def
time_ago_with_tooltip
(
time
,
placement:
'top'
,
html_class:
''
,
skip_js:
false
,
short_format:
false
)
css_classes
=
short_format
?
'js-short-timeago'
:
'js-timeago'
css_classes
<<
"
#{
html_class
}
"
unless
html_class
.
blank?
css_classes
<<
' js-timeago-pending'
unless
skip_js
element
=
content_tag
:time
,
time
.
to_s
,
class:
"
#{
html_class
}
js-timeago
#{
"js-timeago-pending"
unless
skip_js
}
"
,
class:
css_classes
,
datetime:
time
.
to_time
.
getutc
.
iso8601
,
title:
time
.
to_time
.
in_time_zone
.
to_s
(
:medium
),
data:
{
toggle:
'tooltip'
,
placement:
placement
,
container:
'body'
}
...
...
app/views/projects/ci/pipelines/_pipeline.html.haml
浏览文件 @
9955dc29
...
...
@@ -53,7 +53,7 @@
-
if
pipeline
.
finished_at
%p
.finished-at
=
icon
(
"calendar"
)
#{
time_ago_with_tooltip
(
pipeline
.
finished_at
)
}
#{
time_ago_with_tooltip
(
pipeline
.
finished_at
,
short_format:
true
,
skip_js:
true
)
}
%td
.pipeline-actions
.controls.hidden-xs.pull-right
...
...
spec/helpers/application_helper_spec.rb
浏览文件 @
9955dc29
...
...
@@ -218,12 +218,12 @@ describe ApplicationHelper do
end
it
'includes a default js-timeago class'
do
expect
(
element
.
attr
(
'class'
)).
to
eq
'
time_ago
js-timeago js-timeago-pending'
expect
(
element
.
attr
(
'class'
)).
to
eq
'js-timeago js-timeago-pending'
end
it
'accepts a custom html_class'
do
expect
(
element
(
html_class:
'custom_class'
).
attr
(
'class'
)).
to
eq
'
custom_class js-timeago
js-timeago-pending'
to
eq
'
js-timeago custom_class
js-timeago-pending'
end
it
'accepts a custom tooltip placement'
do
...
...
@@ -244,6 +244,19 @@ describe ApplicationHelper do
it
'converts to Time'
do
expect
{
helper
.
time_ago_with_tooltip
(
Date
.
today
)
}.
not_to
raise_error
end
it
'add class for the short format and includes inline script'
do
timeago_element
=
element
(
short_format:
'short'
)
expect
(
timeago_element
.
attr
(
'class'
)).
to
eq
'js-short-timeago js-timeago-pending'
script_element
=
timeago_element
.
next_element
expect
(
script_element
.
name
).
to
eq
'script'
end
it
'add class for the short format and does not include inline script'
do
timeago_element
=
element
(
short_format:
'short'
,
skip_js:
true
)
expect
(
timeago_element
.
attr
(
'class'
)).
to
eq
'js-short-timeago'
expect
(
timeago_element
.
next_element
).
to
eq
nil
end
end
describe
'render_markup'
do
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录