2013-05-22 10:29:24 +00:00
_ = require ' lodash '
2013-02-17 18:58:16 +00:00
moment = require ' moment '
2013-02-06 18:59:56 +00:00
2013-01-20 22:55:45 +00:00
# ##
2013-04-09 17:20:59 +00:00
Loads JavaScript files from public / vendor / *
Use require ( ) to min / concatinate for faster page load
2013-01-20 22:55:45 +00:00
# ##
2013-02-08 07:01:48 +00:00
loadJavaScripts = (model) ->
2013-01-20 22:55:45 +00:00
2013-04-09 17:20:59 +00:00
# Turns out you can't have expressions in browserify require() statements
#vendor = '../../public/vendor'
2013-04-09 17:43:26 +00:00
#require "#{vendor}/jquery-ui-1.10.2/jquery-1.9.1"
2013-04-09 17:20:59 +00:00
# ##
Internal Scripts
# ##
2013-08-25 01:06:37 +00:00
require " ../vendor/jquery.cookie.min.js "
require " ../vendor/bootstrap/js/bootstrap.min.js "
require " ../vendor/datepicker/js/bootstrap-datepicker "
require " ../vendor/bootstrap-tour/bootstrap-tour "
2013-04-09 17:20:59 +00:00
2013-04-10 15:49:00 +00:00
unless ( model . get ( ' _mobileDevice ' ) is true )
2013-08-25 01:06:37 +00:00
require " ../vendor/sticky "
2013-04-09 17:20:59 +00:00
2013-04-10 15:49:00 +00:00
# note: external script loading is handled in app.on('render') near the bottom of this file (see https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/x8FwdTLEuXo)
2013-01-20 22:55:45 +00:00
2013-03-18 20:48:47 +00:00
# jquery sticky header on scroll, no need for position fixed
initStickyHeader = (model) ->
2013-03-19 03:42:03 +00:00
$ ( ' .header-wrap ' ) . sticky ( { topSpacing : 0 } )
2013-03-18 20:48:47 +00:00
2013-03-04 16:17:17 +00:00
module.exports.app = (appExports, model, app) ->
app . on ' render ' , (ctx) ->
#restoreRefs(model)
2013-07-06 21:18:18 +00:00
unless model . get ( ' _mobileDevice ' )
setupTooltips ( model )
initStickyHeader ( model )
setupSortable ( model )
2013-03-04 16:17:17 +00:00
$ ( ' .datepicker ' ) . datepicker ( { autoclose : true , todayBtn : true } )
. on ' changeDate ' , (ev) ->
2013-03-31 01:45:57 +00:00
#for some reason selecting a date doesn't fire a change event on the field, meaning our changes aren't saved
2013-04-18 02:51:43 +00:00
model . at ( ev . target ) . set ' date ' , moment ( ev . date ) . format ( ' MM/DD/YYYY ' )
2013-04-10 15:49:00 +00:00