Sha256: d36bf36fe504afaa86426b3ebc34aa17af3f06b3ad0c80ffe0913269b0686cd2

Contents?: true

Size: 1.38 KB

Versions: 15

Compression:

Stored size: 1.38 KB

Contents

window.Alchemy = {} if typeof(window.Alchemy) is 'undefined'

Alchemy.PreviewWindow =
  MIN_WIDTH: 240
  HEIGHT: 75 # Top menu height

  init: (url) ->
    $iframe = $("<iframe name=\"alchemy_preview_window\" src=\"#{url}\" id=\"alchemy_preview_window\" frameborder=\"0\"/>")
    $reload = $('#reload_preview_button')
    @_showSpinner()
    $iframe.load =>
      @_hideSpinner()
    $('body').append($iframe)
    @currentWindow = $iframe
    @_bindReloadButton()

  resize: (width) ->
    width = @MIN_WIDTH if width < @MIN_WIDTH
    @currentWidth = width
    @currentWindow.css
      width: width

  refresh: (callback) ->
    $iframe = $('#alchemy_preview_window')
    @_showSpinner()
    # We need to be sure that no load event is binded on the preview frame.
    $iframe.off('load')
    $iframe.load (e) =>
      @_hideSpinner()
      if callback
        callback.call(e, $iframe)
    $iframe.attr 'src', $iframe.attr('src')
    true

  _showSpinner: ->
    @reload = $('#reload_preview_button')
    @spinner = new Alchemy.Spinner('small')
    @reload.html @spinner.spin().el

  _hideSpinner: ->
    @spinner.stop()
    @reload.html('<i class="icon fas fa-redo fa-fw"></i>')

  _bindReloadButton: ->
    $reload = $('#reload_preview_button')
    key 'alt+r', =>
      @refresh()
    $reload.click (e) =>
      e.preventDefault()
      @refresh()

Alchemy.reloadPreview = ->
  Alchemy.PreviewWindow.refresh()

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
alchemy_cms-4.4.0 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.3.2 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.2.4 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.3.1 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.2.3 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.3.0 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.2.2 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.1.2 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.1.1 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.2.1 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.2.0 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.2.0.rc1 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.1.0 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.1.0.rc1 app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
alchemy_cms-4.1.0.beta app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee