Rewritten app.js in CoffeeScript
Ref T30
This commit is contained in:
parent
432b8d307a
commit
d50341259d
1 changed files with 91 additions and 0 deletions
91
src/coffee/app.coffee
Normal file
91
src/coffee/app.coffee
Normal file
|
@ -0,0 +1,91 @@
|
|||
###
|
||||
Rangitaki Project
|
||||
|
||||
The MIT License
|
||||
|
||||
Copyright 2015 mmk2410.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
###
|
||||
|
||||
main = () ->
|
||||
|
||||
# FAB
|
||||
fabActive = false
|
||||
$('.fabmenu').click ->
|
||||
if !fabActive
|
||||
fabFadeIn()
|
||||
fabActive = true
|
||||
else
|
||||
fabFadeOut()
|
||||
fabActive = false
|
||||
|
||||
# Navigation Drawer
|
||||
navOpen = false
|
||||
$('.nav-img, .overlay, .nav-close').click ->
|
||||
if !navOpen
|
||||
openNav()
|
||||
navOpen = true
|
||||
else
|
||||
closeNav()
|
||||
navOpen = false
|
||||
|
||||
###
|
||||
Keyhandling for the navigation drawer.
|
||||
opens the drawer on 'm' (key code: 77)
|
||||
closes the drawer on 'Esc' (key code: 27)
|
||||
###
|
||||
$(document).keyup (e) ->
|
||||
if navOpen and e.which is 27
|
||||
closeNav()
|
||||
navOpen = false
|
||||
else if !navOpen and e.which == 77
|
||||
openNav()
|
||||
navOpen = true
|
||||
|
||||
# Make every link in articles target="_blank"
|
||||
$('.articletext a').attr 'target', '_blank'
|
||||
|
||||
$(document).ready main
|
||||
|
||||
goBack = () ->
|
||||
history.go -1
|
||||
|
||||
fabFadeIn = () ->
|
||||
$('.subfab').fadeIn 125
|
||||
$('.fab-img').fadeOut 60, ->
|
||||
$('.fab-img').attr "src", "./res/img/close.svg"
|
||||
$('.fab-img').fadeIn 60
|
||||
|
||||
fabFadeOut = () ->
|
||||
$('.subfab').fadeOut 125
|
||||
$('.fab-img').fadeOut 60, ->
|
||||
$('.fab-img').attr "src", "./res/img/share.svg"
|
||||
$('.fab-img').fadeIn 60
|
||||
|
||||
openNav = () ->
|
||||
$('.nav').animate {"left": "0px"}, 125
|
||||
$('.overlay').show()
|
||||
$('.overlay').animate {"opacity": "0.4"}, 125
|
||||
|
||||
closeNav = () ->
|
||||
$('.nav').animate {"left": "-301px"}, 125
|
||||
$('.overlay').animate {"opacity": "0.0"}, 125, ->
|
||||
$('.overlay').hide
|
||||
|
Reference in a new issue