overleaf/services/web/public/coffee/app/ide/directives/layout.coffee

31 lines
788 B
CoffeeScript
Raw Normal View History

2014-06-21 17:20:37 -04:00
define [
"base"
], (App) ->
App.directive "layout", () ->
return {
link: (scope, element, attrs) ->
name = attrs.layout
options =
spacing_open: 24
spacing_closed: 24
onresize: () =>
console.log "Triggering", "layout:#{name}:resize", name
scope.$broadcast "layout:#{name}:resize"
#maskIframesOnResize: true
2014-06-21 17:20:37 -04:00
# Restore previously recorded state
if (state = $.localStorage("layout.#{name}"))?
2014-06-21 17:20:37 -04:00
options.west = state.west
options.east = state.east
element.layout options
element.layout().resizeAll()
if attrs.resizeOn?
scope.$on attrs.resizeOn, () -> element.layout().resizeAll()
2014-06-21 17:20:37 -04:00
# Save state when exiting
$(window).unload () ->
$.localStorage("layout.#{name}", element.layout().readState())
}