Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
gitlab-ce
Commits
567d87d9
Commit
567d87d9
authored
Jan 04, 2016
by
Robert Speicher
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Restructure logo JS to use `setInterval`
parent
9f46ca44
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
25 deletions
+21
-25
app/assets/javascripts/logo.js.coffee
app/assets/javascripts/logo.js.coffee
+21
-25
No files found.
app/assets/javascripts/logo.js.coffee
View file @
567d87d9
NProgress
.
configure
(
showSpinner
:
false
)
delay
=
150
defaultClass
=
'tanuki-shape'
pieces
=
[
'path#tanuki-right-cheek'
,
...
...
@@ -9,39 +8,36 @@ pieces = [
'path#tanuki-left-eye, path#tanuki-left-ear'
,
'path#tanuki-left-cheek'
,
]
pieceIndex
=
0
firstPiece
=
pieces
[
0
]
timeout
=
null
currentTimer
=
null
delay
=
150
clearHighlights
=
->
$
(
".
#{
defaultClass
}
.highlight"
).
attr
(
'class'
,
defaultClass
)
start
=
->
clearHighlights
()
pieceIndex
=
0
pieces
.
reverse
()
unless
pieces
[
0
]
==
firstPiece
work
(
0
)
currentTimer
=
setInterval
(
work
,
delay
)
stop
=
->
window
.
clearTimeout
(
timeout
)
clearInterval
(
currentTimer
)
clearHighlights
()
work
=
(
pieceIndex
)
->
# jQuery's addClass won't work on an SVG. Who knew!
$piece
=
$
(
pieces
[
pieceIndex
])
$piece
.
attr
(
'class'
,
"
#{
defaultClass
}
highlight"
)
timeout
=
setTimeout
(
->
$piece
.
attr
(
'class'
,
defaultClass
)
# If we hit the last piece, reset the index and then reverse the array to
# get a nice back-and-forth sweeping look
if
pieceIndex
+
1
>=
pieces
.
length
nextIndex
=
0
pieces
.
reverse
()
else
nextIndex
=
pieceIndex
+
1
work
(
nextIndex
)
,
delay
)
$
(
document
).
on
'page:fetch'
,
start
$
(
document
).
on
'page:change'
,
stop
work
=
->
clearHighlights
()
$
(
pieces
[
pieceIndex
]).
attr
(
'class'
,
"
#{
defaultClass
}
highlight"
)
# If we hit the last piece, reset the index and then reverse the array to
# get a nice back-and-forth sweeping look
if
pieceIndex
==
pieces
.
length
-
1
pieceIndex
=
0
pieces
.
reverse
()
else
pieceIndex
++
$
(
document
).
on
(
'page:fetch'
,
start
)
$
(
document
).
on
(
'page:change'
,
stop
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment