Sha256: 84796790a53ffc808da2554ca6bda159d6fbdde51f14ec4a0eb107847f3ac45b

Contents?: true

Size: 875 Bytes

Versions: 2

Compression:

Stored size: 875 Bytes

Contents

Dropdown.PageFactoryTriggerBehavior = Behavior.create(Dropdown.TriggerBehavior, {
  initialize: function($super) {
    $super()
    this.menu = Dropdown.Menu.findOrCreate($('add_child_dropdown'))
  },
  onclick: function($super, event) {
    if(this.menu.wrapper.visible()) {
      $super(event)
    } else {
      new Ajax.Request(this.element.href, {
        method: 'get',
        onSuccess: function(data) {
          this.menu.element.innerHTML = data.responseText
          var factories = this.menu.element.childElements($$('li'))
          if(factories.length == 1) {
            window.location = factories[0].down().href
            event.stop()
          } else {
            $super(event)
          }
        }.bind(this).bind($super).bind(event)
      })
    }
    event.stop()
  }
})

Event.addBehavior({
  'a.dropdown': Dropdown.PageFactoryTriggerBehavior()
})

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
radiant-page_factory-extension-1.0.1 public/javascripts/admin/pagefactory.js
radiant-page_factory-extension-1.0.0 public/javascripts/admin/pagefactory.js