Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
大大大太阳yt
driver.js
提交
10f92b36
D
driver.js
项目概览
大大大太阳yt
/
driver.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
driver.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
10f92b36
编写于
3月 11, 2018
作者:
K
Kamran Ahmed
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Additional methods and fixes
上级
b69e4676
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
61 addition
and
16 deletion
+61
-16
src/core/element.js
src/core/element.js
+34
-11
src/core/popover.js
src/core/popover.js
+2
-1
src/index.js
src/index.js
+25
-4
未找到文件。
src/core/element.js
浏览文件 @
10f92b36
...
...
@@ -21,6 +21,8 @@ export default class Element {
this
.
options
=
options
;
this
.
overlay
=
overlay
;
this
.
popover
=
popover
;
this
.
highlightFinished
=
false
;
// To track when the element has fully highlighted
}
/**
...
...
@@ -114,11 +116,12 @@ export default class Element {
* i.e. when moving the focus to next element of closing
*/
onDeselected
()
{
if
(
!
this
.
popover
)
{
return
;
}
this
.
hidePopover
();
this
.
highlightFinished
=
false
;
this
.
popover
.
hide
();
if
(
this
.
options
.
onDeselected
)
{
this
.
options
.
onDeselected
(
this
);
}
}
/**
...
...
@@ -127,20 +130,24 @@ export default class Element {
* this element of has just decided to highlight it
*/
onHighlightStarted
()
{
if
(
!
this
.
popover
)
{
return
;
}
this
.
showPopover
();
// Because element has just started highlighting
// and hasn't completely highlighted
this
.
highlightFinished
=
false
;
if
(
this
.
options
.
onHighlightStarted
)
{
this
.
options
.
onHighlightStarted
(
this
);
}
}
/**
* Is called when the element has been successfully highlighted
*/
onHighlighted
()
{
if
(
this
.
popover
)
{
this
.
showPopover
();
}
this
.
showPopover
();
this
.
highlightFinished
=
true
;
const
highlightedElement
=
this
;
const
lastHighlightedElement
=
this
.
overlay
.
getLastHighlightedElement
();
...
...
@@ -160,12 +167,28 @@ export default class Element {
highlightedElement
.
bringInView
();
}
}
if
(
this
.
options
.
onHighlighted
)
{
this
.
options
.
onHighlighted
(
this
);
}
}
hidePopover
()
{
if
(
!
this
.
popover
)
{
return
;
}
this
.
popover
.
hide
();
}
/**
* Shows the popover on the current element
*/
showPopover
()
{
if
(
!
this
.
popover
)
{
return
;
}
const
position
=
this
.
getCalculatedPosition
();
this
.
popover
.
show
(
position
);
...
...
src/core/popover.js
浏览文件 @
10f92b36
...
...
@@ -27,6 +27,7 @@ export default class Popover extends Element {
isLast
:
true
,
totalCount
:
1
,
currentIndex
:
0
,
showButtons
:
true
,
doneBtnText
:
'
Done
'
,
closeBtnText
:
'
Close
'
,
nextBtnText
:
'
Next →
'
,
...
...
@@ -145,7 +146,7 @@ export default class Popover extends Element {
this
.
closeBtnNode
.
innerHTML
=
this
.
options
.
closeBtnText
;
// If there was only one item, hide the buttons
if
(
!
this
.
options
.
totalCount
||
this
.
options
.
totalCount
===
1
)
{
if
(
!
this
.
options
.
showButtons
||
!
this
.
options
.
totalCount
||
this
.
options
.
totalCount
===
1
)
{
this
.
footerNode
.
style
.
display
=
'
none
'
;
return
;
}
...
...
src/index.js
浏览文件 @
10f92b36
...
...
@@ -27,6 +27,12 @@ export default class Sholo {
animate
:
OVERLAY_ANIMATE
,
// Whether to animate or not
opacity
:
OVERLAY_OPACITY
,
// Overlay opacity
padding
:
OVERLAY_PADDING
,
// Spacing around the element from the overlay
onHighlightStarted
:
()
=>
{
// When element is about to be highlighted
},
onHighlighted
:
()
=>
{
// When element has been highlighted
},
onDeselected
:
()
=>
{
// When the element has been deselected
},
},
options
);
this
.
document
=
document
;
...
...
@@ -144,7 +150,6 @@ export default class Sholo {
reset
()
{
this
.
currentStep
=
0
;
this
.
isActivated
=
false
;
this
.
steps
=
[];
this
.
overlay
.
clear
();
}
...
...
@@ -154,7 +159,23 @@ export default class Sholo {
*/
hasHighlightedElement
()
{
const
highlightedElement
=
this
.
overlay
.
getHighlightedElement
();
return
highlightedElement
&&
highlightedElement
.
node
;
return
highlightedElement
&&
highlightedElement
.
node
&&
highlightedElement
.
highlightFinished
;
}
/**
* Gets the currently highlighted element in overlay
* @returns {Element}
*/
getHighlightedElement
()
{
return
this
.
overlay
.
getHighlightedElement
();
}
/**
* Gets the element that was highlighted before currently highlighted element
* @returns {Element}
*/
getLastHighlightedElement
()
{
return
this
.
overlay
.
getLastHighlightedElement
();
}
/**
...
...
@@ -195,9 +216,9 @@ export default class Sholo {
if
(
event
.
keyCode
===
ESC_KEY_CODE
)
{
this
.
reset
();
}
else
if
(
event
.
keyCode
===
RIGHT_KEY_CODE
&&
this
.
hasNextStep
()
)
{
}
else
if
(
event
.
keyCode
===
RIGHT_KEY_CODE
)
{
this
.
moveNext
();
}
else
if
(
event
.
keyCode
===
LEFT_KEY_CODE
&&
this
.
hasPreviousStep
()
)
{
}
else
if
(
event
.
keyCode
===
LEFT_KEY_CODE
)
{
this
.
movePrevious
();
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录