// events for Outcome sync
const disableOutcomeViews = () => {
  sidebar.$sidebar.hide()
  toolbar.disable()
}

const resetOutcomeViews = () => {
  toolbar.enable()
  sidebar.resetSidebar()
  content.resetContent()
  sidebar.$sidebar.show()
}

// toolbar events
toolbar.on('goBack', sidebar.goBack)
toolbar.on('add', sidebar.addAndSelect)
toolbar.on('add', content.add)
toolbar.on('find', () => sidebar.findDialog(FindDialog))
toolbar.on('import', () => showImportOutcomesModal({toolbar}))
toolbar.on('start_sync', (file) => showOutcomesImporter({
  file,
  disableOutcomeViews,
  resetOutcomeViews,
  mount: content.$el[0],
  contextUrlRoot: ENV.CONTEXT_URL_ROOT,
}))

// sidebar events
sidebar.on('select', model => content.show(model))
sidebar.on('select', toolbar.resetBackButton)
Esempio n. 2
0
export const sidebar = new SidebarView({
  el: $el.find('.outcomes-sidebar .wrapper'),
  rootOutcomeGroup: new OutcomeGroup(ENV.ROOT_OUTCOME_GROUP),
  selectFirstItem: !renderInstructions
})
sidebar.$el.data('view', sidebar)

export const content = new ContentView({
  el: $el.find('.outcomes-content'),
  instructionsTemplate,
  renderInstructions
})

// toolbar events
toolbar.on('goBack', sidebar.goBack)
toolbar.on('add', sidebar.addAndSelect)
toolbar.on('add', content.add)
toolbar.on('find', () => sidebar.findDialog(FindDialog))

// sidebar events
sidebar.on('select', model => content.show(model))
sidebar.on('select', toolbar.resetBackButton)

// content events
content.on('addSuccess', sidebar.refreshSelection)
content.on('deleteSuccess', () => {
  const view = sidebar.$el.find('.outcome-group.selected:last').data('view')
  const model = view && view.model
  content.show(model)
})