Sha256: 8b7ff03fc8d0c76a32ff90376f25739f0f20d669d33ad0031b6a96a383efb40f

Contents?: true

Size: 1.2 KB

Versions: 2

Compression:

Stored size: 1.2 KB

Contents

#= require 'mixins/hideable'

class OverlayMe.Overlays.ImagesDirectory extends Backbone.View

  tagName: 'div'
  className: 'images_dir'

  initialize: (dirname) ->
    @dirname = dirname
    @contentBlock = @make 'div', { id: @dirname, class: 'sub-block' }
    _.extend @contentBlock, OverlayMe.Mixin.Hideable
    _.extend @contentBlock, OverlayMe.Mixin.Storable
    @contentBlock.css_attributes_to_save = ['display']
    @contentBlock.loadCss(@contentBlock)
    $o(@el).append @checkbox()
    $o(@el).append @label()
    $o(@el).append @contentBlock
    $o(@el).bind 'click', (e) =>
      e.stopPropagation()
      @checkbox.click()

  checkbox: ->
    @checkbox = @make 'input', { type: "checkbox" }
    if @contentBlock.isDisplayed()
      @checkbox.checked = true
    $o(@checkbox).bind 'click', (e) =>
      e.stopPropagation()
      @flickVisibility()
    @checkbox

  flickVisibility: ->
    if @checkbox.checked
      @contentBlock.show()
    else
      @contentBlock.hide()
    $o(window).trigger "overlay_me:toggle_#{@dirname}_container_display", { show: @checkbox.checked }

  label: ->
    @label = @make 'label', {}, '/'+@dirname+'/'

  append: (block) ->
    @contentBlock.appendChild block

  render: ->
    this.el

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
overlay_me-0.13.4 javascripts/coffeescripts/overlays/images_directory.js.coffee
overlay_me-0.13.0 javascripts/overlays/images_directory.js.coffee