class window.MotionHybrid
@getParams: -> bridge = $('#motion_hybrid_bridge') params = {} params.title = bridge.find('h1').text() params.subtitle = bridge.find('h2').text() params.flash = parseFlash bridge.find('.flash') params.nav_bar_buttons = {} params.nav_bar_buttons.left = parseButton bridge.find('#nav_bar_left_button') params.nav_bar_buttons.right = parseButton bridge.find('#nav_bar_right_button') params.refreshable = $('[data-refreshable]').length > 0 JSON.stringify params parseFlash = (flash) -> { title: flash.find('h3').text() || flash.text().trim(), subtitle: flash.find('p').text() } if flash.length parseButton = (button) -> { id: button.attr('id'), options: button.children().map(-> this.innerText).get(), icon: button.data('icon'), if: button.data('if'), label: button.text().trim() } if button.length @clicked: (target, childIndex) -> target = $("##{target}") target = target.children().eq(childIndex) if childIndex window.location = target.attr('href') # want to simulate real click but target.get(0).click() sometimes needs to be fired twice to work..? @waitForJqueryAndDom: -> if window.$ jQuery -> document.location.href = 'motionhybrid://ready' else setTimeout MotionHybrid.waitForJqueryAndDom, 100
MotionHybrid.waitForJqueryAndDom()